]> gcc.gnu.org Git - gcc.git/commitdiff
Handle anonymous unions at the tree level.
authorJason Merrill <jason@gcc.gnu.org>
Thu, 19 Dec 2002 17:43:54 +0000 (12:43 -0500)
committerJason Merrill <jason@gcc.gnu.org>
Thu, 19 Dec 2002 17:43:54 +0000 (12:43 -0500)
        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.

From-SVN: r60315

gcc/testsuite/g++.old-deja/g++.brendan/union1.C

index ca781469e3d852b9e51f47374a42141560a03654..6ae06055057214c3699e3a49e4d4192d06638479 100644 (file)
@@ -3,7 +3,6 @@
 // the DECL_SIZE of the decls, instead of comparing the DECL_SIZE nodes.
 
 // The compiler currently fails to allocate space for the static union.
-// excess errors test - XFAIL *-*-*
 
      unsigned
      hash(const double d)
This page took 0.057329 seconds and 5 git commands to generate.