summaryrefslogtreecommitdiff
path: root/gcc/testsuite
diff options
context:
space:
mode:
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>2007-02-02 12:23:18 +0000
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>2007-02-02 12:23:18 +0000
commitd76c5c3cb20c328bc43d9014897606b09fbd3acd (patch)
treec51466cf854f17a26d8cffbec0e8ce95194d1e31 /gcc/testsuite
parent72dfb3f2bdf12e1be6f737c38362ba76f1c93991 (diff)
downloadgcc-d76c5c3cb20c328bc43d9014897606b09fbd3acd.tar.gz
PR c++/30536
* decl.c (grokdeclarator): If __thread is used together with a storage class other than extern and static, clear thread_p after issuing diagnostics and fall through to checking the storage class. * g++.dg/tls/diag-5.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@121496 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/testsuite')
-rw-r--r--gcc/testsuite/ChangeLog3
-rw-r--r--gcc/testsuite/g++.dg/tls/diag-5.C5
2 files changed, 8 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index e699db6c61f..1a461681469 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,5 +1,8 @@
2007-02-02 Jakub Jelinek <jakub@redhat.com>
+ PR c++/30536
+ * g++.dg/tls/diag-5.C: New test.
+
PR middle-end/30473
* gcc.dg/pr30473.c: New test.
* gcc.c-torture/execute/20070201-1.c: New test.
diff --git a/gcc/testsuite/g++.dg/tls/diag-5.C b/gcc/testsuite/g++.dg/tls/diag-5.C
new file mode 100644
index 00000000000..ca92b307428
--- /dev/null
+++ b/gcc/testsuite/g++.dg/tls/diag-5.C
@@ -0,0 +1,5 @@
+// PR c++/30536
+// Invalid __thread specifiers.
+// { dg-require-effective-target tls }
+
+struct A { __thread register int i; }; // { dg-error "multiple storage classes|storage class specified" }