re PR debug/32610 (ICE in gen_tagged_type_instantiation_die, at dwarf2out.c:12762)
PR debug/32610 * dwarf2out.c (gen_decl_die): Don't call gen_tagged_type_instantiation_die if decl doesn't have tagged type. * gcc.dg/debug/pr32610.c: New test. From-SVN: r127669
This commit is contained in:
parent
af9fc1dd63
commit
d6b3c79757
4 changed files with 25 additions and 1 deletions
|
@ -1,3 +1,9 @@
|
|||
2007-08-21 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR debug/32610
|
||||
* dwarf2out.c (gen_decl_die): Don't call
|
||||
gen_tagged_type_instantiation_die if decl doesn't have tagged type.
|
||||
|
||||
2007-08-21 Paul Brook <paul@codesourcery.com>
|
||||
Nathan Sidwell <nathan@codesourcery.com>
|
||||
Mark Mitchell <mark@codesourcery.com>
|
||||
|
|
|
@ -13622,7 +13622,8 @@ gen_decl_die (tree decl, dw_die_ref context_die)
|
|||
was generated within the original definition of an inline function) we
|
||||
have to generate a special (abbreviated) DW_TAG_structure_type,
|
||||
DW_TAG_union_type, or DW_TAG_enumeration_type DIE here. */
|
||||
if (TYPE_DECL_IS_STUB (decl) && decl_ultimate_origin (decl) != NULL_TREE)
|
||||
if (TYPE_DECL_IS_STUB (decl) && decl_ultimate_origin (decl) != NULL_TREE
|
||||
&& is_tagged_type (TREE_TYPE (decl)))
|
||||
{
|
||||
gen_tagged_type_instantiation_die (TREE_TYPE (decl), context_die);
|
||||
break;
|
||||
|
|
|
@ -1,5 +1,8 @@
|
|||
2007-08-21 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR debug/32610
|
||||
* gcc.dg/debug/pr32610.c: New test.
|
||||
|
||||
* g++.dg/init/new24.C: New test.
|
||||
|
||||
PR middle-end/32912
|
||||
|
|
14
gcc/testsuite/gcc.dg/debug/pr32610.c
Normal file
14
gcc/testsuite/gcc.dg/debug/pr32610.c
Normal file
|
@ -0,0 +1,14 @@
|
|||
/* PR debug/32610 */
|
||||
/* { dg-do compile } */
|
||||
|
||||
inline void
|
||||
foo (int x)
|
||||
{
|
||||
double (*arr)[x];
|
||||
}
|
||||
|
||||
void
|
||||
bar (void)
|
||||
{
|
||||
foo (1);
|
||||
}
|
Loading…
Add table
Reference in a new issue