https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71767
--- Comment #13 from Dominique d'Humieres <dominiq at lps dot ens.fr> --- Test failures with the patch in comment 4 FAIL: g++.old-deja/g++.pt/static11.C -std=c++11 (test for excess errors) FAIL: g++.old-deja/g++.pt/static11.C -std=c++14 (test for excess errors) FAIL: g++.old-deja/g++.pt/static11.C -std=c++98 (test for excess errors) -m32 only FAIL: obj-c++.dg/qual-types-1.mm -fgnu-runtime (test for excess errors) for both -m32 and -m64 FAIL: libgomp.c++/taskloop-6.C (test for excess errors) -m32 only === libstdc++ tests === Running target unix/-m32 FAIL: 20_util/scoped_allocator/1.cc (test for excess errors) FAIL: 20_util/scoped_allocator/2.cc (test for excess errors) FAIL: 21_strings/basic_string/allocator/char/copy.cc (test for excess errors) ... FAIL: tr1/6_containers/unordered_set/swap/1.cc (test for excess errors) FAIL: tr1/6_containers/unordered_set/swap/2.cc (test for excess errors) === libstdc++ Summary for unix/-m32 === # of expected passes 9965 # of unexpected failures 426 # of expected failures 65 # of unsupported tests 663 Running target unix/-m64 === libstdc++ Summary for unix/-m64 === # of expected passes 10389 # of expected failures 65 # of unsupported tests 664 === libstdc++ Summary === # of expected passes 20354 # of unexpected failures 426 # of expected failures 130 # of unsupported tests 1327 The failures are of the kind [Book15] f90/bug% /opt/gcc/gcc7w/bin/g++ /opt/gcc/_clean/gcc/testsuite/g++.old-deja/g++.pt/static11.C -std=c++98 -m32 ld: warning: direct access in function '__static_initialization_and_destruction_0(int, int)' from file '/var/folders/8q/sh_swgz96r7f5vnn08f7fxr00000gn/T//ccPdDjOW.o' to global weak symbol 'guard variable for C<int>::a' from file '/var/folders/8q/sh_swgz96r7f5vnn08f7fxr00000gn/T//ccPdDjOW.o' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.