It looks like an unintended consequence of r211434 wast that given template <typename T> struct foo { foo(); }; template <typename T> foo<T>::foo() {} template class foo<int>; gcc now prints .section .text._ZN3fooIiEC2Ev,"axG",@progbits,_ZN3fooIiEC2Ev,comdat before it did .section .text._ZN3fooIiEC2Ev,"axG",@progbits,_ZN3fooIiEC5Ev,comdat Note the change in comdat.
Author: jason Date: Sun Aug 31 21:06:08 2014 New Revision: 214770 URL: https://gcc.gnu.org/viewcvs?rev=214770&root=gcc&view=rev Log: PR c++/62302 * optimize.c (cdtor_comdat_group): Just look at the DECL_ASSEMBLER_NAME of the 'tors. Added: trunk/gcc/testsuite/g++.dg/abi/comdat1.C Modified: trunk/gcc/cp/ChangeLog trunk/gcc/cp/optimize.c
Fixed.