From b52933ce61ef3ddfaa5f5b6dc0592f820aa2c1f1 Mon Sep 17 00:00:00 2001 From: jakub Date: Tue, 21 Aug 2007 17:11:20 +0000 Subject: [PATCH] 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127669 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 6 ++++++ gcc/dwarf2out.c | 3 ++- gcc/testsuite/ChangeLog | 3 +++ gcc/testsuite/gcc.dg/debug/pr32610.c | 14 ++++++++++++++ 4 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 gcc/testsuite/gcc.dg/debug/pr32610.c diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 4724e16..82b7685 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2007-08-21 Jakub Jelinek + + 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 Nathan Sidwell Mark Mitchell diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c index ec6e121..a03b81a 100644 --- a/gcc/dwarf2out.c +++ b/gcc/dwarf2out.c @@ -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; diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 4fc50ce..002f824 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,5 +1,8 @@ 2007-08-21 Jakub Jelinek + PR debug/32610 + * gcc.dg/debug/pr32610.c: New test. + * g++.dg/init/new24.C: New test. PR middle-end/32912 diff --git a/gcc/testsuite/gcc.dg/debug/pr32610.c b/gcc/testsuite/gcc.dg/debug/pr32610.c new file mode 100644 index 0000000..d1dae1d --- /dev/null +++ b/gcc/testsuite/gcc.dg/debug/pr32610.c @@ -0,0 +1,14 @@ +/* PR debug/32610 */ +/* { dg-do compile } */ + +inline void +foo (int x) +{ + double (*arr)[x]; +} + +void +bar (void) +{ + foo (1); +} -- 2.7.4