re PR debug/51650 (LTO ICE in dwarf2out_finish, at dwarf2out.c:22501 while building libxul)
2012-01-03 Richard Guenther <rguenther@suse.de> PR debug/51650 * dwarf2out.c (dwarf2out_finish): Always create a DIE for the context of a limbo DIE when it does not already exist. * g++.dg/lto/pr51650-3_0.C: New testcase. From-SVN: r182835
This commit is contained in:
parent
da89f7f38e
commit
f3321fd715
4 changed files with 33 additions and 9 deletions
|
@ -1,3 +1,9 @@
|
|||
2012-01-03 Richard Guenther <rguenther@suse.de>
|
||||
|
||||
PR debug/51650
|
||||
* dwarf2out.c (dwarf2out_finish): Always create a DIE for
|
||||
the context of a limbo DIE when it does not already exist.
|
||||
|
||||
2012-01-03 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR tree-optimization/51719
|
||||
|
|
|
@ -22501,15 +22501,8 @@ dwarf2out_finish (const char *filename)
|
|||
else if (TYPE_P (node->created_for))
|
||||
context = TYPE_CONTEXT (node->created_for);
|
||||
|
||||
gcc_assert (context
|
||||
&& (TREE_CODE (context) == FUNCTION_DECL
|
||||
|| TREE_CODE (context) == NAMESPACE_DECL));
|
||||
|
||||
origin = lookup_decl_die (context);
|
||||
if (origin)
|
||||
add_child_die (origin, die);
|
||||
else
|
||||
add_child_die (comp_unit_die (), die);
|
||||
origin = get_context_die (context);
|
||||
add_child_die (origin, die);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
2012-01-03 Richard Guenther <rguenther@suse.de>
|
||||
|
||||
PR debug/51650
|
||||
* g++.dg/lto/pr51650-3_0.C: New testcase.
|
||||
|
||||
2012-01-03 Paolo Carlini <paolo.carlini@oracle.com>
|
||||
|
||||
PR c++/15867
|
||||
|
|
20
gcc/testsuite/g++.dg/lto/pr51650-3_0.C
Normal file
20
gcc/testsuite/g++.dg/lto/pr51650-3_0.C
Normal file
|
@ -0,0 +1,20 @@
|
|||
// { dg-lto-do link }
|
||||
// { dg-lto-options { { -flto -g } } }
|
||||
|
||||
struct T;
|
||||
struct C
|
||||
{
|
||||
typedef ::T T;
|
||||
virtual void E();
|
||||
static T *m ()
|
||||
{
|
||||
static T *d;
|
||||
return d;
|
||||
}
|
||||
};
|
||||
int
|
||||
fn ()
|
||||
{
|
||||
C::m ();
|
||||
}
|
||||
int main() {}
|
Loading…
Add table
Reference in a new issue