https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94616
Jonathan Wakely <redi at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |paolo at gcc dot gnu.org --- Comment #3 from Jonathan Wakely <redi at gcc dot gnu.org> --- The regression started with Paolo's r186058: re PR c++/50043 ([C++0x] Implement core/1123) PR c++/50043 * class.c (deduce_noexcept_on_destructor, deduce_noexcept_on_destructors): New. (check_bases_and_members): Call the latter. * decl.c (grokfndecl): Call the former. * method.c (implicitly_declare_fn): Not static. * cp-tree.h (deduce_noexcept_on_destructor, implicitly_declare_fn): Declare For gcc-4.8 and gcc-4.9 using -fPIC makes it pass, but then since gcc-5 it fails even with -fPIC, due to Jason's r213307: re PR lto/53808 (Undefined symbol when building a library with lto) PR lto/53808 PR c++/61659 * pt.c (push_template_decl_real): Set DECL_COMDAT on templates. (check_explicit_specialization): Clear it on specializations. * decl.c (duplicate_decls, start_decl): Likewise. (grokmethod, grokfndecl): Set DECL_COMDAT on inlines. * method.c (implicitly_declare_fn): Set DECL_COMDAT. Determine linkage after setting the appropriate flags. * tree.c (decl_linkage): Don't check DECL_COMDAT. * decl2.c (mark_needed): Mark clones. (import_export_decl): Not here.