diff options
Diffstat (limited to 'gcc/testsuite/g++.dg/tls/diag-1.C')
-rw-r--r-- | gcc/testsuite/g++.dg/tls/diag-1.C | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.dg/tls/diag-1.C b/gcc/testsuite/g++.dg/tls/diag-1.C new file mode 100644 index 000000000..af538719d --- /dev/null +++ b/gcc/testsuite/g++.dg/tls/diag-1.C @@ -0,0 +1,31 @@ +// Valid __thread specifiers. +// { dg-require-effective-target tls } + +__thread int g1; +extern __thread int g2; +static __thread int g3; + +void foo() +{ + extern __thread int l1; + static __thread int l2; +} + +struct A { + static __thread int i; +}; + +__thread int A::i = 42; + +template <typename T> struct B { + static __thread T t; +}; + +template <typename T> +__thread T B<T>::t = 42; + +void bar () +{ + int j = B<int>::t; + int k = B<const int>::t; +} |