diff options
author | Jason Merrill <jason@gcc.gnu.org> | 2010-12-03 11:56:53 -0500 |
---|---|---|
committer | Jason Merrill <jason@gcc.gnu.org> | 2010-12-03 11:56:53 -0500 |
commit | 9c60a01a9c238e216af7cd952c7b785842b6a6a4 (patch) | |
tree | 41053c3354b7bd808d0be7b86cf81ce684cf82d7 /gcc/dwarf2out.c | |
parent | 3ee353e956beac249a08337099ec885ae28bba04 (diff) | |
download | gcc-9c60a01a9c238e216af7cd952c7b785842b6a6a4.zip gcc-9c60a01a9c238e216af7cd952c7b785842b6a6a4.tar.gz gcc-9c60a01a9c238e216af7cd952c7b785842b6a6a4.tar.bz2 |
re PR debug/46123 (ICE: in output_aranges, at dwarf2out.c:11531 with -feliminate-dwarf2-dups -g)
PR debug/46123
* dwarf2out.c (gen_tagged_type_die): Don't put local types in
a declaration DIE.
From-SVN: r167436
Diffstat (limited to 'gcc/dwarf2out.c')
-rw-r--r-- | gcc/dwarf2out.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c index 75faec5..acb70ed 100644 --- a/gcc/dwarf2out.c +++ b/gcc/dwarf2out.c @@ -20212,6 +20212,10 @@ gen_tagged_type_die (tree type, out yet, use a NULL context for now; it will be fixed up in decls_for_scope. */ context_die = lookup_decl_die (TYPE_CONTEXT (type)); + /* A declaration DIE doesn't count; nested types need to go in the + specification. */ + if (context_die && is_declaration_die (context_die)) + context_die = NULL; need_pop = 0; } else |