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?