https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71968
Markus Trippelsdorf <trippels at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |trippels at gcc dot gnu.org --- Comment #1 from Markus Trippelsdorf <trippels at gcc dot gnu.org> --- icpc and g++: markus@x4 /tmp % icpc -c b.cc && nm -C b.o U abort U __gxx_personality_v0 0000000000000000 T bar() 0000000000000000 V void foo<int>(char (*) [sizeof (((anonymous namespace)::A)((int)(0)))])::cnt markus@x4 /tmp % g++ -c b.cc && nm -C b.o U abort 0000000000000000 T bar() 0000000000000000 W void foo<int>(char (*) [sizeof (((anonymous namespace)::A)((int)(0)))]) 0000000000000000 u void foo<int>(char (*) [sizeof (((anonymous namespace)::A)((int)(0)))])::cnt clang mangles differently and therefore avoids the issue: markus@x4 /tmp % clang++ -c b.cc && nm -C b.o U abort 0000000000000000 T bar() 0000000000000000 W void foo<int>(char (*) [2]) 0000000000000000 V void foo<int>(char (*) [2])::cnt