[Bug c++/56237] [4.6/4.7/4.8 regression] ICE in lang_* check: failed in push_local_name, at cp/decl.c:924
jakub at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Thu Feb 7 11:11:00 GMT 2013
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.
More information about the Gcc-bugs
mailing list