This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/79176] [6/7 Regression] ICE in mangle_decl with LTO and Os
- From: "jason at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Wed, 25 Jan 2017 17:13:13 +0000
- Subject: [Bug c++/79176] [6/7 Regression] ICE in mangle_decl with LTO and Os
- Auto-submitted: auto-generated
- References: <bug-79176-4@http.gcc.gnu.org/bugzilla/>
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.