https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62306
Bug ID: 62306 Summary: [4.9/5 Regression?] Change in the comdat used for constructors Product: gcc Version: 5.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: rafael.espindola at gmail dot com CC: jason at redhat dot com Given struct Option { virtual ~Option() {} }; template <class DataType> class opt : public Option {}; template class opt<int>; before r206182 gcc would print .section .text._ZN3optIiED0Ev,"axG",@progbits,_ZN3optIiED0Ev,comdat now it prints .section .text._ZN3optIiED0Ev,"axG",@progbits,_ZN3optIiED5Ev,comdat It looks reasonable to use D5, but it is not clear if that was intentional and there are no tests for this change in behaviour.