aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2016-10-02 21:32:45 +0200
committerJakub Jelinek <jakub@gcc.gnu.org>2016-10-02 21:32:45 +0200
commit2c8e3a1d9996d8e1859af476d97655aad5368eff (patch)
treee1aa18376697bc9c95a64ba6bc76534d99edf764
parent333b2f3146be914cdf791e542bef5584671a839c (diff)
downloadgcc-2c8e3a1d9996d8e1859af476d97655aad5368eff.zip
gcc-2c8e3a1d9996d8e1859af476d97655aad5368eff.tar.gz
gcc-2c8e3a1d9996d8e1859af476d97655aad5368eff.tar.bz2
asm3.C (two): Only use register keyword for C++14 and earlier.
* g++.dg/ext/asm3.C (two): Only use register keyword for C++14 and earlier. * g++.dg/charset/asm2.c (memmove): Likewise. * g++.dg/tls/diag-2.C (foo): Expect -Wregister error for C++17. * g++.dg/tls/diag-4.C (foo): Likewise. * c-c++-common/vector-subscript-2.c (vf): Change dg-error to dg-warning, fix up regex. * g++.old-deja/g++.brendan/warnings4.C: Limit to c++14_down targets. * g++.old-deja/g++.mike/p700.C: Add -Wno-register. * g++.old-deja/g++.mike/net31.C: Likewise. * g++.old-deja/g++.other/regstack.C (foo): Expect -Wregister warning for C++17. * g++.old-deja/g++.jason/enum3.C: Add -Wno-register. * g++.old-deja/g++.eh/ia64-1.C: Likewise. From-SVN: r240702
-rw-r--r--gcc/testsuite/ChangeLog17
-rw-r--r--gcc/testsuite/c-c++-common/vector-subscript-2.c2
-rw-r--r--gcc/testsuite/g++.dg/charset/asm2.c5
-rw-r--r--gcc/testsuite/g++.dg/ext/asm3.C7
-rw-r--r--gcc/testsuite/g++.dg/tls/diag-2.C2
-rw-r--r--gcc/testsuite/g++.dg/tls/diag-4.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/warnings4.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.eh/ia64-1.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/enum3.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/net31.C1
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p700.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/regstack.C2
12 files changed, 35 insertions, 11 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 6e58203..54de56f 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,20 @@
+2016-10-02 Jakub Jelinek <jakub@redhat.com>
+
+ * g++.dg/ext/asm3.C (two): Only use register keyword for C++14 and
+ earlier.
+ * g++.dg/charset/asm2.c (memmove): Likewise.
+ * g++.dg/tls/diag-2.C (foo): Expect -Wregister error for C++17.
+ * g++.dg/tls/diag-4.C (foo): Likewise.
+ * c-c++-common/vector-subscript-2.c (vf): Change dg-error to
+ dg-warning, fix up regex.
+ * g++.old-deja/g++.brendan/warnings4.C: Limit to c++14_down targets.
+ * g++.old-deja/g++.mike/p700.C: Add -Wno-register.
+ * g++.old-deja/g++.mike/net31.C: Likewise.
+ * g++.old-deja/g++.other/regstack.C (foo): Expect -Wregister warning
+ for C++17.
+ * g++.old-deja/g++.jason/enum3.C: Add -Wno-register.
+ * g++.old-deja/g++.eh/ia64-1.C: Likewise.
+
2016-10-01 Richard Biener <rguenther@suse.de>
PR middle-end/77798
diff --git a/gcc/testsuite/c-c++-common/vector-subscript-2.c b/gcc/testsuite/c-c++-common/vector-subscript-2.c
index e7bd251..bfe01fc 100644
--- a/gcc/testsuite/c-c++-common/vector-subscript-2.c
+++ b/gcc/testsuite/c-c++-common/vector-subscript-2.c
@@ -7,6 +7,6 @@
float vf(int i)
{
- register vector float a; // { dg-error "ISO C++1z does not allow 'register' storage class specifier" "" { target c++1z } }
+ register vector float a; // { dg-warning "ISO C\\+\\+1z does not allow 'register' storage class specifier" "" { target c++1z } }
return a[0];
}
diff --git a/gcc/testsuite/g++.dg/charset/asm2.c b/gcc/testsuite/g++.dg/charset/asm2.c
index 7fb1959..3907d32 100644
--- a/gcc/testsuite/g++.dg/charset/asm2.c
+++ b/gcc/testsuite/g++.dg/charset/asm2.c
@@ -10,7 +10,10 @@
void *
memmove (void *__dest, __const void *__src, size_t __n)
{
- register unsigned long int __d0, __d1, __d2;
+#if __cplusplus <= 201402L
+ register
+#endif
+ unsigned long int __d0, __d1, __d2;
if (__dest < __src)
__asm__ __volatile__
("cld\n\t"
diff --git a/gcc/testsuite/g++.dg/ext/asm3.C b/gcc/testsuite/g++.dg/ext/asm3.C
index 090218f..0a0f837 100644
--- a/gcc/testsuite/g++.dg/ext/asm3.C
+++ b/gcc/testsuite/g++.dg/ext/asm3.C
@@ -7,9 +7,12 @@
int two(int in)
{
- register int out;
+#if __cplusplus <= 201402L
+ register
+#endif
+ int out;
__asm__ ("" : "r" (out) : "r" (in));
return out;
}
-// { dg-message "error:" "" { target *-*-* } 11 }
+// { dg-message "error:" "" { target *-*-* } 14 }
diff --git a/gcc/testsuite/g++.dg/tls/diag-2.C b/gcc/testsuite/g++.dg/tls/diag-2.C
index b5d02e7..cc46245 100644
--- a/gcc/testsuite/g++.dg/tls/diag-2.C
+++ b/gcc/testsuite/g++.dg/tls/diag-2.C
@@ -12,7 +12,7 @@ void foo()
auto __thread int l2; /* { dg-error "multiple storage classes|data types" } */
__thread extern int l3; /* { dg-error "'__thread' before 'extern'" } */
register __thread int l4; /* { dg-error "multiple storage classes" } */
-}
+} /* { dg-error "ISO C\\+\\+1z does not allow 'register' storage class specifier" "" { target c++1z } .-1 } */
__thread void f1 (); /* { dg-error "invalid for function" } */
extern __thread void f2 (); /* { dg-error "invalid for function" } */
diff --git a/gcc/testsuite/g++.dg/tls/diag-4.C b/gcc/testsuite/g++.dg/tls/diag-4.C
index 7d07d9de..35440b9 100644
--- a/gcc/testsuite/g++.dg/tls/diag-4.C
+++ b/gcc/testsuite/g++.dg/tls/diag-4.C
@@ -7,4 +7,4 @@ void foo()
{
__thread auto int l2; /* { dg-error "multiple storage classes|data types" } */
__thread register int l4; /* { dg-error "multiple storage classes" } */
-}
+} /* { dg-error "ISO C\\+\\+1z does not allow 'register' storage class specifier" "" { target c++1z } .-1 } */
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/warnings4.C b/gcc/testsuite/g++.old-deja/g++.brendan/warnings4.C
index 410ca80..a0f7dde 100644
--- a/gcc/testsuite/g++.old-deja/g++.brendan/warnings4.C
+++ b/gcc/testsuite/g++.old-deja/g++.brendan/warnings4.C
@@ -1,4 +1,4 @@
-// { dg-do assemble }
+// { dg-do assemble { target c++14_down } }
// GROUPS passed warnings
int
main ()
diff --git a/gcc/testsuite/g++.old-deja/g++.eh/ia64-1.C b/gcc/testsuite/g++.old-deja/g++.eh/ia64-1.C
index f8def11..7767d34 100644
--- a/gcc/testsuite/g++.old-deja/g++.eh/ia64-1.C
+++ b/gcc/testsuite/g++.old-deja/g++.eh/ia64-1.C
@@ -1,5 +1,5 @@
// { dg-do run }
-// { dg-options "-O2" }
+// { dg-options "-O2 -Wno-register" }
#include <exception>
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/enum3.C b/gcc/testsuite/g++.old-deja/g++.jason/enum3.C
index 04e8f28..5c65413 100644
--- a/gcc/testsuite/g++.old-deja/g++.jason/enum3.C
+++ b/gcc/testsuite/g++.old-deja/g++.jason/enum3.C
@@ -1,5 +1,5 @@
// { dg-do assemble }
-// { dg-options "-Wall" }
+// { dg-options "-Wall -Wno-register" }
enum tristate { no = -1, maybe, yes };
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/net31.C b/gcc/testsuite/g++.old-deja/g++.mike/net31.C
index 8bc159b..da54155 100644
--- a/gcc/testsuite/g++.old-deja/g++.mike/net31.C
+++ b/gcc/testsuite/g++.old-deja/g++.mike/net31.C
@@ -1,4 +1,5 @@
// { dg-do assemble }
+// { dg-additional-options "-Wno-register" }
class foo_a {
protected:
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p700.C b/gcc/testsuite/g++.old-deja/g++.mike/p700.C
index 1fef5c8..5319621 100644
--- a/gcc/testsuite/g++.old-deja/g++.mike/p700.C
+++ b/gcc/testsuite/g++.old-deja/g++.mike/p700.C
@@ -1,5 +1,5 @@
// { dg-do assemble }
-// { dg-options "-Wno-deprecated" }
+// { dg-options "-Wno-deprecated -Wno-register" }
// { dg-error "limited range of data type" "16-bit target" { target xstormy16-*-* } 0 }
// prms-id: 700
diff --git a/gcc/testsuite/g++.old-deja/g++.other/regstack.C b/gcc/testsuite/g++.old-deja/g++.other/regstack.C
index 5b83347..90875cf 100644
--- a/gcc/testsuite/g++.old-deja/g++.other/regstack.C
+++ b/gcc/testsuite/g++.old-deja/g++.other/regstack.C
@@ -3,7 +3,7 @@
inline double foo (double x)
{
- register double r;
+ register double r; // { dg-warning "ISO C\\+\\+1z does not allow 'register' storage class specifier" "" { target c++1z } }
asm volatile ("fsqrt" : "=t" (r) : "0" (x));
return r;
}