The solution for initialising global TLS variables does not apply to platforms using emulated TLS. On later branches this test requires native TLS. Rather than make that change (especially late on gcc-7) I’ve XFAILed the test for this on Darwin.
tested on x86_64-darwin16, powerpc-darwin9, x86_64-linux-gnu applied to gcc-8 and gcc-7 branches thanks Iain gcc/testsuite/ 2019-11-03 Iain Sandoe <i...@sandoe.co.uk> PR c++/79274 * g++.dg/tls/pr77285-2.C: XFAIL test for Darwin. diff --git a/gcc/testsuite/g++.dg/tls/pr77285-2.C b/gcc/testsuite/g++.dg/tls/pr77285-2.C index bac273a4d6..459ecc6555 100644 --- a/gcc/testsuite/g++.dg/tls/pr77285-2.C +++ b/gcc/testsuite/g++.dg/tls/pr77285-2.C @@ -3,7 +3,7 @@ // { dg-require-effective-target tls } // { dg-final { scan-assembler "_Z4var1B3tag" } } // { dg-final { scan-assembler "_Z4var2B3tag" } } -// { dg-final { scan-assembler "_ZTH4var1B3tag" } } +// { dg-final { scan-assembler "_ZTH4var1B3tag" { xfail *-*-darwin* } } } // { dg-final { scan-assembler "_ZTW4var1B3tag" } } struct __attribute__((abi_tag("tag"))) X { ~X () {} int i = 0; };