[Bug c++/79176] [6/7 Regression] ICE in mangle_decl with LTO and Os

jason at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Wed Jan 25 17:13:00 GMT 2017


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

Jason Merrill <jason at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED
                 CC|                            |jason at gcc dot gnu.org
          Component|middle-end                  |c++
           Assignee|unassigned at gcc dot gnu.org      |jason at gcc dot gnu.org

--- Comment #4 from Jason Merrill <jason at gcc dot gnu.org> ---
(In reply to Jakub Jelinek from comment #2)
> To me this sounds like a mismatch between the middle-end type_with_linkage_p
> and the C++ FE no_linkage_check.  Perhaps the former should call the latter
> using a langhook?

no_linkage_check is wrong here.

It decides that the lambda has no linkage because ~Item is !TREE_PUBLIC, so it
doesn't have "vague linkage".  ~Item is !TREE_PUBLIC because it's the
maybe-in-charge constructor which is internal to its comdat group, but it can
appear in multiple translation units so it really does have vague linkage. 
I'll fix.


More information about the Gcc-bugs mailing list