# HG changeset patch
# Parent 7eebbf02cdbac34362d53d0bfa39b375afefb2e3
Fix g++.dg/tls/thread_local* on Solaris 9

diff --git a/gcc/testsuite/g++.dg/tls/thread_local-cse.C b/gcc/testsuite/g++.dg/tls/thread_local-cse.C
--- a/gcc/testsuite/g++.dg/tls/thread_local-cse.C
+++ b/gcc/testsuite/g++.dg/tls/thread_local-cse.C
@@ -1,7 +1,8 @@
 // Test for CSE of the wrapper function: we should only call it once
 // for the two references to ir.
-// { dg-do run { xfail *-*-solaris2.9 } }
+// { dg-do run }
 // { dg-options "-std=c++11 -O -fno-inline -save-temps" }
+// { dg-add-options tls }
 // { dg-require-effective-target tls_runtime }
 // { dg-require-alias }
 // { dg-final { scan-assembler-times "call *_ZTW2ir" 1 { xfail *-*-* } } }
diff --git a/gcc/testsuite/g++.dg/tls/thread_local-order1.C b/gcc/testsuite/g++.dg/tls/thread_local-order1.C
--- a/gcc/testsuite/g++.dg/tls/thread_local-order1.C
+++ b/gcc/testsuite/g++.dg/tls/thread_local-order1.C
@@ -1,5 +1,6 @@
 // { dg-do run }
 // { dg-options "-std=c++11" }
+// { dg-add-options tls }
 // { dg-require-effective-target tls_runtime }
 // { dg-require-alias }
 // { dg-require-cxa-atexit "" }
diff --git a/gcc/testsuite/g++.dg/tls/thread_local-order2.C b/gcc/testsuite/g++.dg/tls/thread_local-order2.C
--- a/gcc/testsuite/g++.dg/tls/thread_local-order2.C
+++ b/gcc/testsuite/g++.dg/tls/thread_local-order2.C
@@ -4,6 +4,7 @@
 
 // { dg-do run { xfail *-*-* } }
 // { dg-options "-std=c++11" }
+// { dg-add-options tls }
 // { dg-require-effective-target tls_runtime }
 // { dg-require-alias }
 
diff --git a/gcc/testsuite/g++.dg/tls/thread_local2.C b/gcc/testsuite/g++.dg/tls/thread_local2.C
--- a/gcc/testsuite/g++.dg/tls/thread_local2.C
+++ b/gcc/testsuite/g++.dg/tls/thread_local2.C
@@ -1,5 +1,6 @@
-// { dg-do run { xfail *-*-solaris2.9 } }
+// { dg-do run }
 // { dg-options "-std=c++11" }
+// { dg-add-options tls }
 // { dg-require-effective-target tls_runtime }
 
 extern "C" void abort();
diff --git a/gcc/testsuite/g++.dg/tls/thread_local2g.C b/gcc/testsuite/g++.dg/tls/thread_local2g.C
--- a/gcc/testsuite/g++.dg/tls/thread_local2g.C
+++ b/gcc/testsuite/g++.dg/tls/thread_local2g.C
@@ -1,5 +1,6 @@
-// { dg-do run { xfail *-*-solaris2.9 } }
+// { dg-do run }
 // { dg-options "-std=c++11" }
+// { dg-add-options tls }
 // { dg-require-effective-target tls_runtime }
 // { dg-require-alias }
 
diff --git a/gcc/testsuite/g++.dg/tls/thread_local3.C b/gcc/testsuite/g++.dg/tls/thread_local3.C
--- a/gcc/testsuite/g++.dg/tls/thread_local3.C
+++ b/gcc/testsuite/g++.dg/tls/thread_local3.C
@@ -3,6 +3,7 @@
 // { dg-require-effective-target tls_runtime }
 // { dg-require-effective-target pthread }
 // { dg-options -pthread }
+// { dg-add-options tls }
 
 int c;
 int d;
diff --git a/gcc/testsuite/g++.dg/tls/thread_local3g.C b/gcc/testsuite/g++.dg/tls/thread_local3g.C
--- a/gcc/testsuite/g++.dg/tls/thread_local3g.C
+++ b/gcc/testsuite/g++.dg/tls/thread_local3g.C
@@ -5,6 +5,7 @@
 // { dg-require-alias }
 // { dg-require-cxa-atexit "" }
 // { dg-options -pthread }
+// { dg-add-options tls }
 
 int c;
 int d;
diff --git a/gcc/testsuite/g++.dg/tls/thread_local4.C b/gcc/testsuite/g++.dg/tls/thread_local4.C
--- a/gcc/testsuite/g++.dg/tls/thread_local4.C
+++ b/gcc/testsuite/g++.dg/tls/thread_local4.C
@@ -5,6 +5,7 @@
 // { dg-require-effective-target tls_runtime }
 // { dg-require-effective-target pthread }
 // { dg-options -pthread }
+// { dg-add-options tls }
 
 #include <pthread.h>
 #include <unistd.h>
diff --git a/gcc/testsuite/g++.dg/tls/thread_local4g.C b/gcc/testsuite/g++.dg/tls/thread_local4g.C
--- a/gcc/testsuite/g++.dg/tls/thread_local4g.C
+++ b/gcc/testsuite/g++.dg/tls/thread_local4g.C
@@ -7,6 +7,7 @@
 // { dg-require-alias }
 // { dg-require-cxa-atexit "" }
 // { dg-options -pthread }
+// { dg-add-options tls }
 
 #include <pthread.h>
 #include <unistd.h>
diff --git a/gcc/testsuite/g++.dg/tls/thread_local5.C b/gcc/testsuite/g++.dg/tls/thread_local5.C
--- a/gcc/testsuite/g++.dg/tls/thread_local5.C
+++ b/gcc/testsuite/g++.dg/tls/thread_local5.C
@@ -5,6 +5,7 @@
 // { dg-require-effective-target tls_runtime }
 // { dg-require-effective-target pthread }
 // { dg-options -pthread }
+// { dg-add-options tls }
 
 #include <pthread.h>
 #include <unistd.h>
diff --git a/gcc/testsuite/g++.dg/tls/thread_local5g.C b/gcc/testsuite/g++.dg/tls/thread_local5g.C
--- a/gcc/testsuite/g++.dg/tls/thread_local5g.C
+++ b/gcc/testsuite/g++.dg/tls/thread_local5g.C
@@ -7,6 +7,7 @@
 // { dg-require-alias }
 // { dg-require-cxa-atexit "" }
 // { dg-options -pthread }
+// { dg-add-options tls }
 
 #include <pthread.h>
 #include <unistd.h>
diff --git a/gcc/testsuite/g++.dg/tls/thread_local6.C b/gcc/testsuite/g++.dg/tls/thread_local6.C
--- a/gcc/testsuite/g++.dg/tls/thread_local6.C
+++ b/gcc/testsuite/g++.dg/tls/thread_local6.C
@@ -1,7 +1,8 @@
 // Test for cleanups in the main thread without -pthread.
 
-// { dg-do run { xfail *-*-solaris2.9 } }
+// { dg-do run }
 // { dg-options "-std=c++11" }
+// { dg-add-options tls }
 // { dg-require-effective-target tls_runtime }
 
 extern "C" void _exit (int);
diff --git a/gcc/testsuite/g++.dg/tls/thread_local6g.C b/gcc/testsuite/g++.dg/tls/thread_local6g.C
--- a/gcc/testsuite/g++.dg/tls/thread_local6g.C
+++ b/gcc/testsuite/g++.dg/tls/thread_local6g.C
@@ -2,6 +2,7 @@
 
 // { dg-do run }
 // { dg-options "-std=c++11" }
+// { dg-add-options tls }
 // { dg-require-effective-target tls_runtime }
 // { dg-require-cxa-atexit "" }
 // { dg-require-alias }
