This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Re: debug/9039: [3.4 regression] ICE, anonymous union, gen_decl_die, dwarf2out.c:11974
- From: Michael Elizabeth Chastain <mec at shout dot net>
- To: ehrhardt at mathematik dot uni-ulm dot de, gcc-bugs at gcc dot gnu dot org, gcc-gnats at gcc dot gnu dot org, gcc-prs at gcc dot gnu dot org, nobody at gcc dot gnu dot org
- Date: Wed, 1 Jan 2003 19:39:00 -0600
- Subject: Re: debug/9039: [3.4 regression] ICE, anonymous union, gen_decl_die, dwarf2out.c:11974
It did not happen for me with gcc gcc-3_3-branch checked out on
2002-12-18 or 2002-12-24 or 2002-12-31 (native i686-pc-linux-gnu
with -gdwarf-2).
It started happening for me on the trunk between 2002-12-18
and 2002-12-24.
I suspect the patch below but I haven't done that cool binary
search regression build trick.
Michael C
2002-12-18 Jason Merrill <jason@redhat.com>
Handle anonymous unions at the tree level.
C++ ABI change: Mangle anonymous unions using the name of their
first named field (by depth-first search). Should not cause
binary compatibility problems, though, as the compiler previously
didn't emit anything for affected unions.
* cp-tree.def (ALIAS_DECL): New tree code.
* decl2.c (build_anon_union_vars): Build ALIAS_DECLs. Return the
first field, not the largest.
(finish_anon_union): Don't mess with RTL. Do set DECL_ASSEMBLER_NAME,
push the decl, and write it out at namespace scope.
* decl.c (lookup_name_real): See through an ALIAS_DECL.
(pushdecl): Add namespace bindings for ALIAS_DECLs.
* rtti.c (unemitted_tinfo_decl_p): Don't try to look at the name
of a decl which doesn't have one.
* typeck.c (build_class_member_access_expr): Don't recurse if
we already have the type we want.