re PR debug/82630 (Bogus DW_AT_GNU_call_site_value)
authorJakub Jelinek <jakub@redhat.com>
Mon, 23 Oct 2017 20:39:59 +0000 (22:39 +0200)
committerJakub Jelinek <jakub@gcc.gnu.org>
Mon, 23 Oct 2017 20:39:59 +0000 (22:39 +0200)
commit6b10f1741a1d79c9e32e8790fb98ba93c864b219
tree6be0cd9642ffdeb173e3fdad8079590f6f59e342
parentb367de5dc31371f88b59e165aa6b8be4ed9ee070
re PR debug/82630 (Bogus DW_AT_GNU_call_site_value)

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.

From-SVN: r254025
gcc/ChangeLog
gcc/config/arm/arm.c
gcc/config/i386/i386.c
gcc/config/powerpcspe/powerpcspe.c
gcc/config/rs6000/rs6000.c
gcc/dwarf2out.c
gcc/target.def
gcc/targhooks.c
gcc/targhooks.h
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/guality/pr82630.C [new file with mode: 0644]