http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56237
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |ASSIGNED
AssignedTo|unassigned at gcc dot |jakub at gcc dot gnu.org
|gnu.org |
--- Comment #3 from Jakub Jelinek <jakub at gcc dot gnu.org> 2013-02-07
11:11:12 UTC ---
Created attachment 29383
--> http://gcc.gnu.org/bugzilla/attachment.cgi?id=29383
gcc48-pr56237.patch
Untested fix. For -std=c++0x and the anon union,
7839 if (cxx_dialect > cxx98
7840 && decl_linkage (decl) != lk_none
7841 && DECL_LANG_SPECIFIC (decl) == NULL
7842 && !DECL_EXTERN_C_P (decl)
7843 && no_linkage_check (TREE_TYPE (decl), /*relaxed_p=*/false))
7844 retrofit_lang_decl (decl);
creates the DECL_LANG_SPECIFIC for the first decl, but apparently
push_local_name wasn't expecting there could be other reason why
DECL_LANG_SPECIFIC could be created.