diff options
author | jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4> | 2017-10-23 20:39:59 +0000 |
---|---|---|
committer | jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4> | 2017-10-23 20:39:59 +0000 |
commit | c68c23aba227fe6d449414adf262fc4683445164 (patch) | |
tree | 6be0cd9642ffdeb173e3fdad8079590f6f59e342 /gcc/config/arm | |
parent | 95f39a983a595ff5892459b6338fe2d05a159cbc (diff) | |
download | gcc-c68c23aba227fe6d449414adf262fc4683445164.tar.gz |
PR debug/82630
* target.def (const_not_ok_for_debug_p): Default to
default_const_not_ok_for_debug_p instead of hook_bool_rtx_false.
* targhooks.h (default_const_not_ok_for_debug_p): New declaration.
* targhooks.c (default_const_not_ok_for_debug_p): New function.
* dwarf2out.c (const_ok_for_output_1): Only reject UNSPECs for
which targetm.const_not_ok_for_debug_p returned true.
* config/arm/arm.c (arm_const_not_ok_for_debug_p): Return true
for UNSPECs.
* config/powerpcspe/powerpcspe.c (rs6000_const_not_ok_for_debug_p):
Likewise.
* config/rs6000/rs6000.c (rs6000_const_not_ok_for_debug_p): Likewise.
* config/i386/i386.c (ix86_delegitimize_address_1): Don't delegitimize
UNSPEC_GOTOFF with addend into addend - _GLOBAL_OFFSET_TABLE_ + symbol
if !base_term_p.
(ix86_const_not_ok_for_debug_p): New function.
(i386_asm_output_addr_const_extra): Handle UNSPEC_GOTOFF.
(TARGET_CONST_NOT_OK_FOR_DEBUG_P): Redefine.
* g++.dg/guality/pr82630.C: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@254025 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/arm')
-rw-r--r-- | gcc/config/arm/arm.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c index 6f01021a351..22e169318ad 100644 --- a/gcc/config/arm/arm.c +++ b/gcc/config/arm/arm.c @@ -30391,6 +30391,8 @@ arm_const_not_ok_for_debug_p (rtx p) tree decl_op0 = NULL; tree decl_op1 = NULL; + if (GET_CODE (p) == UNSPEC) + return true; if (GET_CODE (p) == MINUS) { if (GET_CODE (XEXP (p, 1)) == SYMBOL_REF) |