[Bug lto/83720] [8 Regression] ICE: in mangle_decl, at cp/mangle.c:3847

jakub at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Mon Jan 8 16:55:00 GMT 2018


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83720

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |hubicka at gcc dot gnu.org,
                   |                            |jakub at gcc dot gnu.org,
                   |                            |jamborm at gcc dot gnu.org

--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Seems this is caused by mismatch between type_with_linkage_p in the middle-end,
which for this lambda type says that the __lambda* type in question has
linkage, and the mangler, which has:
3846          gcc_assert (TREE_CODE (decl) != TYPE_DECL
3847                      || !no_linkage_check (TREE_TYPE (decl), true));
and in this case, no_linkage_check returns non-NULL (the TREE_TYPE (decl)
itself).

SO, shall type_with_linkage_p use a langhook and the C++ FE call
no_linkage_check in that case?


More information about the Gcc-bugs mailing list