summaryrefslogtreecommitdiffstats
path: root/libjava/classpath/java/sql/Connection.java
diff options
context:
space:
mode:
authormshawcroft <mshawcroft@138bc75d-0d04-0410-961f-82ee72b054a4>2014-03-27 10:13:50 +0000
committermshawcroft <mshawcroft@138bc75d-0d04-0410-961f-82ee72b054a4>2014-03-27 10:13:50 +0000
commit743de8ed93b48297eb34a8c00e663f1425e874dd (patch)
treeb37b071828298af9a484d41c16d102e23e430568 /libjava/classpath/java/sql/Connection.java
parent0bc23e2b01de030683d65e27a539ec169b25e2c6 (diff)
downloadppe42-gcc-743de8ed93b48297eb34a8c00e663f1425e874dd.tar.gz
ppe42-gcc-743de8ed93b48297eb34a8c00e663f1425e874dd.zip
[PR 60580, AArch64] Fix __attribute__ ((optimize("no-omit-frame-pointer")))
The implementation of -m[no-]omit-leaf-frame-pointer and -f[no-]omit-frame-pointer in the AArch64 target does not behave correctly in the presence of __attribute__ optimize. This patch adjusts the implementation to work in a similar fashion to the same functionality in the i386 target. The problem occurs because the current implementation uses a global 'faked_omit_frame_pointer' to retain the original value of flag_omit_frame_pointer. The global does not form part of the optimization save state. This solution removes the global and instead tracks required behaviour using only flag_omit_frame_pointer and flag_omit_leaf_frame_pointer. These two form part of the optimziation save state and target save state respectively. The additional complication for AArch64 is that the PCS requires that given -fno-omit-frame-pointer -momit-leave-frame-pointer, a leaf function that kills LR must create a frame record. This is readily handled in aarch64_frame_pointer_required(). I've dropped logic in aarch64_can_eliminate() that attempts to detect this scenario since it git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208862 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/classpath/java/sql/Connection.java')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud