diff options
author | Jason Merrill <jason@redhat.com> | 2012-05-03 12:18:51 -0400 |
---|---|---|
committer | Jason Merrill <jason@gcc.gnu.org> | 2012-05-03 12:18:51 -0400 |
commit | 63aaf27c3bf9ac859f5db5ae9774e2751695a2f9 (patch) | |
tree | a86f9e91c0181c8efc7912195970d288d3013452 /gcc | |
parent | 29f31724efd80a8f337946238487a392ac37675b (diff) | |
download | gcc-63aaf27c3bf9ac859f5db5ae9774e2751695a2f9.zip gcc-63aaf27c3bf9ac859f5db5ae9774e2751695a2f9.tar.gz gcc-63aaf27c3bf9ac859f5db5ae9774e2751695a2f9.tar.bz2 |
i386.c (ix86_code_end): Set DECL_IGNORED_P on the pc thunk.
* config/i386/i386.c (ix86_code_end): Set DECL_IGNORED_P on the
pc thunk.
* dwarf2out.c (output_aranges): Skip DECL_IGNORED_P functions.
(dwarf2out_finish): Likewise.
From-SVN: r187105
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/config/i386/i386.c | 1 | ||||
-rw-r--r-- | gcc/dwarf2out.c | 4 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/debug/dwarf2/thunk1.C | 11 |
5 files changed, 27 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c7eb3b0..0068c33 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2012-05-03 Jason Merrill <jason@redhat.com> + + * config/i386/i386.c (ix86_code_end): Set DECL_IGNORED_P on the + pc thunk. + * dwarf2out.c (output_aranges): Skip DECL_IGNORED_P functions. + (dwarf2out_finish): Likewise. + 2012-05-03 Martin Jambor <mjambor@suse.cz> * builtins.c (get_object_alignment_1): Return whether we can determine diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index 46daee1..ea37347 100644 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -8619,6 +8619,7 @@ ix86_code_end (void) NULL_TREE, void_type_node); TREE_PUBLIC (decl) = 1; TREE_STATIC (decl) = 1; + DECL_IGNORED_P (decl) = 1; #if TARGET_MACHO if (TARGET_MACHO) diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c index 10a53894..10e1ece 100644 --- a/gcc/dwarf2out.c +++ b/gcc/dwarf2out.c @@ -8085,6 +8085,8 @@ output_aranges (unsigned long aranges_length) FOR_EACH_VEC_ELT (dw_fde_ref, fde_vec, fde_idx, fde) { + if (DECL_IGNORED_P (fde->decl)) + continue; if (!fde->in_std_section) { dw2_asm_output_addr (DWARF2_ADDR_SIZE, fde->dw_fde_begin, @@ -21897,6 +21899,8 @@ dwarf2out_finish (const char *filename) FOR_EACH_VEC_ELT (dw_fde_ref, fde_vec, fde_idx, fde) { + if (DECL_IGNORED_P (fde->decl)) + continue; if (!fde->in_std_section) add_ranges_by_labels (comp_unit_die (), fde->dw_fde_begin, fde->dw_fde_end, &range_list_added); diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 1378ff4..79a53d3 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2012-05-03 Jason Merrill <jason@redhat.com> + + * g++.dg/debug/dwarf2/thunk1.C: New. + 2012-05-03 Paolo Carlini <paolo.carlini@oracle.com> PR c++/53186 diff --git a/gcc/testsuite/g++.dg/debug/dwarf2/thunk1.C b/gcc/testsuite/g++.dg/debug/dwarf2/thunk1.C new file mode 100644 index 0000000..c34373e --- /dev/null +++ b/gcc/testsuite/g++.dg/debug/dwarf2/thunk1.C @@ -0,0 +1,11 @@ +// Test that we don't add the x86 PC thunk to .debug_ranges +// { dg-do compile { target i?86-*-* } } +// { dg-options "-g -fpic" } +// { dg-final { scan-assembler-times "LFB3" 1 } } + +template <class T> void f(T t) { } + +int main() +{ + f(42); +} |