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
This commit is contained in:
Jason Merrill 2012-05-03 12:18:51 -04:00 committed by Jason Merrill
parent 29f31724ef
commit 63aaf27c3b
5 changed files with 27 additions and 0 deletions

View File

@ -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

View File

@ -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)

View File

@ -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);

View File

@ -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

View File

@ -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);
}