aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJason Merrill <jason@redhat.com>2011-11-09 12:53:37 -0500
committerJason Merrill <jason@gcc.gnu.org>2011-11-09 12:53:37 -0500
commit754ca64333dc22cb5225f9d0e6b618ddea8ff378 (patch)
tree32bf140d1539df4735202b5ce420756dd9ec6c19 /gcc
parentbc3e284b718091979f7c9d21aad2033855caeb41 (diff)
downloadgcc-754ca64333dc22cb5225f9d0e6b618ddea8ff378.zip
gcc-754ca64333dc22cb5225f9d0e6b618ddea8ff378.tar.gz
gcc-754ca64333dc22cb5225f9d0e6b618ddea8ff378.tar.bz2
* [various.C]: Adjust for C++11 mode.
From-SVN: r181221
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/ChangeLog21
-rw-r--r--gcc/testsuite/g++.dg/eh/new1.C5
-rw-r--r--gcc/testsuite/g++.dg/init/new11.C6
-rw-r--r--gcc/testsuite/g++.dg/init/pr29571.C7
-rw-r--r--gcc/testsuite/g++.dg/lookup/forscope2.C2
-rw-r--r--gcc/testsuite/g++.dg/parse/linkage1.C2
-rw-r--r--gcc/testsuite/g++.dg/parse/typedef8.C2
-rw-r--r--gcc/testsuite/g++.dg/template/error44.C2
-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++.dg/warn/anonymous-namespace-3.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.abi/arraynew.C5
-rw-r--r--gcc/testsuite/g++.old-deja/g++.abi/cxa_vec.C5
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/new3.C6
-rw-r--r--gcc/testsuite/g++.old-deja/g++.eh/new1.C5
-rw-r--r--gcc/testsuite/g++.old-deja/g++.eh/new2.C5
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/new.C6
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/friend1.C4
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/net46.C6
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p755.C6
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/new6.C5
21 files changed, 89 insertions, 17 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index ef4b175..737a614 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,5 +1,26 @@
2011-11-09 Jason Merrill <jason@redhat.com>
+ * g++.dg/eh/new1.C: Adjust for C++11 mode.
+ * g++.dg/init/new11.C: Likewise.
+ * g++.dg/init/pr29571.C: Likewise.
+ * g++.dg/lookup/forscope2.C: Likewise.
+ * g++.dg/parse/linkage1.C: Likewise.
+ * g++.dg/parse/typedef8.C: Likewise.
+ * g++.dg/template/error44.C: Likewise.
+ * g++.dg/tls/diag-2.C: Likewise.
+ * g++.dg/tls/diag-4.C: Likewise.
+ * g++.dg/warn/anonymous-namespace-3.C: Likewise.
+ * g++.old-deja/g++.abi/arraynew.C: Likewise.
+ * g++.old-deja/g++.abi/cxa_vec.C: Likewise.
+ * g++.old-deja/g++.brendan/new3.C: Likewise.
+ * g++.old-deja/g++.eh/new1.C: Likewise.
+ * g++.old-deja/g++.eh/new2.C: Likewise.
+ * g++.old-deja/g++.jason/new.C: Likewise.
+ * g++.old-deja/g++.law/friend1.C: Likewise.
+ * g++.old-deja/g++.mike/net46.C: Likewise.
+ * g++.old-deja/g++.mike/p755.C: Likewise.
+ * g++.old-deja/g++.other/new6.C: Likewise.
+
* g++.dg/cpp0x/variadic74.C: Adjust diags.
* g++.dg/template/crash53.C: Likewise.
* g++.dg/template/void9.C: Likewise.
diff --git a/gcc/testsuite/g++.dg/eh/new1.C b/gcc/testsuite/g++.dg/eh/new1.C
index 0f86fcc..3126f19 100644
--- a/gcc/testsuite/g++.dg/eh/new1.C
+++ b/gcc/testsuite/g++.dg/eh/new1.C
@@ -9,7 +9,10 @@
int ret = 1;
void *ptr;
-void * operator new[] (std::size_t s) throw (std::bad_alloc)
+void * operator new[] (std::size_t s)
+#if __cplusplus <= 199711L
+ throw (std::bad_alloc)
+#endif
{
ptr = operator new (s);
return ptr;
diff --git a/gcc/testsuite/g++.dg/init/new11.C b/gcc/testsuite/g++.dg/init/new11.C
index bf06aa4..a13f262 100644
--- a/gcc/testsuite/g++.dg/init/new11.C
+++ b/gcc/testsuite/g++.dg/init/new11.C
@@ -5,7 +5,11 @@
#include <new>
bool abort_new;
-void *operator new[](size_t bytes) throw (std::bad_alloc) {
+void *operator new[](size_t bytes)
+#if __cplusplus <= 199711L
+ throw (std::bad_alloc)
+#endif
+{
if (abort_new)
abort();
return operator new (bytes);
diff --git a/gcc/testsuite/g++.dg/init/pr29571.C b/gcc/testsuite/g++.dg/init/pr29571.C
index c9bfa28..d0dc678 100644
--- a/gcc/testsuite/g++.dg/init/pr29571.C
+++ b/gcc/testsuite/g++.dg/init/pr29571.C
@@ -3,6 +3,11 @@
struct A
{
static const int i = 0/0 + ""; // { dg-warning "division by zero" }
- // { dg-error "field initializer is not constant|not a constant-expression" "" { target *-*-* } 5 }
+ // { dg-error "constant|conversion|initializ" "" { target *-*-* } 5 }
static const int j = int(i);
};
+
+// Currently G++ complains about a non-constant initializer for 'j' in
+// C++11 mode, but not C++98. Either way is correct because it depends on
+// the erroneous initializer for i, so don't require the error.
+// { dg-prune-output ":7:" }
diff --git a/gcc/testsuite/g++.dg/lookup/forscope2.C b/gcc/testsuite/g++.dg/lookup/forscope2.C
index 1fed957..882f102 100644
--- a/gcc/testsuite/g++.dg/lookup/forscope2.C
+++ b/gcc/testsuite/g++.dg/lookup/forscope2.C
@@ -7,3 +7,5 @@ struct S {
}
};
+// It's OK to error or not on line 6.
+// { dg-prune-output ":6:" }
diff --git a/gcc/testsuite/g++.dg/parse/linkage1.C b/gcc/testsuite/g++.dg/parse/linkage1.C
index 4a0d894..5a53425 100644
--- a/gcc/testsuite/g++.dg/parse/linkage1.C
+++ b/gcc/testsuite/g++.dg/parse/linkage1.C
@@ -1,6 +1,6 @@
// PR c++/26068
-extern "C" auto int a; // { dg-error "linkage" }
+extern "C" auto int a; // { dg-error "linkage|two or more data types" }
extern "C" register int b; // { dg-error "linkage" }
extern "C" static void c(); // { dg-error "linkage" }
extern "C" extern void d(); // { dg-error "linkage" }
diff --git a/gcc/testsuite/g++.dg/parse/typedef8.C b/gcc/testsuite/g++.dg/parse/typedef8.C
index 6ff26fe..4c1823e 100644
--- a/gcc/testsuite/g++.dg/parse/typedef8.C
+++ b/gcc/testsuite/g++.dg/parse/typedef8.C
@@ -7,5 +7,5 @@ static typedef int a; // { dg-error "conflicting" }
int foo()
{
- typedef auto int bar; // { dg-error "conflicting" }
+ typedef auto int bar; // { dg-error "conflicting|two or more data types" }
}
diff --git a/gcc/testsuite/g++.dg/template/error44.C b/gcc/testsuite/g++.dg/template/error44.C
index 4f732cd..51053b2 100644
--- a/gcc/testsuite/g++.dg/template/error44.C
+++ b/gcc/testsuite/g++.dg/template/error44.C
@@ -1,6 +1,6 @@
// PR c++/32056
-template <auto int T> struct A {}; // { dg-error "storage class specified" }
+template <auto int T> struct A {}; // { dg-error "storage class specified|two or more" }
template <extern int T> struct B {}; // { dg-error "storage class specified" }
template <static int T> struct C {}; // { dg-error "storage class specified" }
template <register int T> struct D {}; // { dg-error "storage class specified" }
diff --git a/gcc/testsuite/g++.dg/tls/diag-2.C b/gcc/testsuite/g++.dg/tls/diag-2.C
index 484b188..b5d02e7 100644
--- a/gcc/testsuite/g++.dg/tls/diag-2.C
+++ b/gcc/testsuite/g++.dg/tls/diag-2.C
@@ -9,7 +9,7 @@ typedef __thread int g4; /* { dg-error "multiple storage classes" } */
void foo()
{
__thread int l1; /* { dg-error "implicitly auto and declared '__thread'" } */
- auto __thread int l2; /* { dg-error "multiple storage classes" } */
+ 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" } */
}
diff --git a/gcc/testsuite/g++.dg/tls/diag-4.C b/gcc/testsuite/g++.dg/tls/diag-4.C
index 55e985e..7d07d9de 100644
--- a/gcc/testsuite/g++.dg/tls/diag-4.C
+++ b/gcc/testsuite/g++.dg/tls/diag-4.C
@@ -5,6 +5,6 @@ __thread typedef int g4; /* { dg-error "multiple storage classes" } */
void foo()
{
- __thread auto int l2; /* { dg-error "multiple storage classes" } */
+ __thread auto int l2; /* { dg-error "multiple storage classes|data types" } */
__thread register int l4; /* { dg-error "multiple storage classes" } */
}
diff --git a/gcc/testsuite/g++.dg/warn/anonymous-namespace-3.C b/gcc/testsuite/g++.dg/warn/anonymous-namespace-3.C
index 0ba6790..8b72abd 100644
--- a/gcc/testsuite/g++.dg/warn/anonymous-namespace-3.C
+++ b/gcc/testsuite/g++.dg/warn/anonymous-namespace-3.C
@@ -11,3 +11,5 @@ struct C // { dg-warning "uses the anonymous namespace" }
{
std::auto_ptr<A> p;
};
+
+// { dg-prune-output "auto_ptr. is deprecated" }
diff --git a/gcc/testsuite/g++.old-deja/g++.abi/arraynew.C b/gcc/testsuite/g++.old-deja/g++.abi/arraynew.C
index ff19c7e..7efea81 100644
--- a/gcc/testsuite/g++.old-deja/g++.abi/arraynew.C
+++ b/gcc/testsuite/g++.old-deja/g++.abi/arraynew.C
@@ -8,7 +8,10 @@
void* p;
-void* operator new[](size_t s) throw (std::bad_alloc)
+void* operator new[](size_t s)
+#if __cplusplus <= 199711L
+ throw (std::bad_alloc)
+#endif
{
// Record the base of the last array allocated.
p = malloc (s);
diff --git a/gcc/testsuite/g++.old-deja/g++.abi/cxa_vec.C b/gcc/testsuite/g++.old-deja/g++.abi/cxa_vec.C
index 5370fb8..8d098bf 100644
--- a/gcc/testsuite/g++.old-deja/g++.abi/cxa_vec.C
+++ b/gcc/testsuite/g++.old-deja/g++.abi/cxa_vec.C
@@ -54,7 +54,10 @@ static abi::__cxa_cdtor_return_type dtor (void *x)
// track new and delete
static int blocks = 0;
-void *operator new[] (std::size_t size) throw (std::bad_alloc)
+void *operator new[] (std::size_t size)
+#if __cplusplus <= 199711L
+ throw (std::bad_alloc)
+#endif
{
void *ptr = malloc (size);
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/new3.C b/gcc/testsuite/g++.old-deja/g++.brendan/new3.C
index 791d00b..55c7dbb 100644
--- a/gcc/testsuite/g++.old-deja/g++.brendan/new3.C
+++ b/gcc/testsuite/g++.old-deja/g++.brendan/new3.C
@@ -12,7 +12,11 @@
int pass = 0;
-void *operator new(size_t sz) throw (std::bad_alloc) {
+void *operator new(size_t sz)
+#if __cplusplus <= 199711L
+ throw (std::bad_alloc)
+#endif
+{
void *p;
diff --git a/gcc/testsuite/g++.old-deja/g++.eh/new1.C b/gcc/testsuite/g++.old-deja/g++.eh/new1.C
index 4c52cf4..e206f5b 100644
--- a/gcc/testsuite/g++.old-deja/g++.eh/new1.C
+++ b/gcc/testsuite/g++.old-deja/g++.eh/new1.C
@@ -32,7 +32,10 @@ A::~A() { created = 0; }
B::B(A) { }
void foo (B*) { throw 1; }
-void* operator new (size_t size) throw (std::bad_alloc)
+void* operator new (size_t size)
+#if __cplusplus <= 199711L
+ throw (std::bad_alloc)
+#endif
{
++newed;
return (void *) std::malloc (size);
diff --git a/gcc/testsuite/g++.old-deja/g++.eh/new2.C b/gcc/testsuite/g++.old-deja/g++.eh/new2.C
index 2d69df0..d5fd74b 100644
--- a/gcc/testsuite/g++.old-deja/g++.eh/new2.C
+++ b/gcc/testsuite/g++.old-deja/g++.eh/new2.C
@@ -33,7 +33,10 @@ A::~A() { created = 0; }
B::B(A) { throw 1; }
void foo (B*) { }
-void* operator new (size_t size) throw (std::bad_alloc)
+void* operator new (size_t size)
+#if __cplusplus <= 199711L
+ throw (std::bad_alloc)
+#endif
{
++newed;
return (void *) std::malloc (size);
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/new.C b/gcc/testsuite/g++.old-deja/g++.jason/new.C
index 905739b..5f50d2a 100644
--- a/gcc/testsuite/g++.old-deja/g++.jason/new.C
+++ b/gcc/testsuite/g++.old-deja/g++.jason/new.C
@@ -6,7 +6,11 @@ extern "C" int printf (const char *, ...);
extern "C" void *malloc (std::size_t);
std::size_t s;
-void * operator new (std::size_t siz) throw (std::bad_alloc) {
+void * operator new (std::size_t siz)
+#if __cplusplus <= 199711L
+ throw (std::bad_alloc)
+#endif
+{
if (s == 0)
s = siz;
else
diff --git a/gcc/testsuite/g++.old-deja/g++.law/friend1.C b/gcc/testsuite/g++.old-deja/g++.law/friend1.C
index 9cc1d35..aed9bd5 100644
--- a/gcc/testsuite/g++.old-deja/g++.law/friend1.C
+++ b/gcc/testsuite/g++.old-deja/g++.law/friend1.C
@@ -9,7 +9,11 @@
#include <stddef.h>
#include <new>
struct Foo {
+#if __cplusplus <= 199711L
friend void* operator new(size_t) throw (std::bad_alloc);
+#else
+ friend void* operator new(size_t);
+#endif
friend void operator delete(void*) throw ();
Foo();
~Foo();
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/net46.C b/gcc/testsuite/g++.old-deja/g++.mike/net46.C
index 1740228..a236232 100644
--- a/gcc/testsuite/g++.old-deja/g++.mike/net46.C
+++ b/gcc/testsuite/g++.old-deja/g++.mike/net46.C
@@ -8,7 +8,11 @@ int fail = 1;
int in_main = 0;
-void *operator new(size_t size) throw (std::bad_alloc) {
+void *operator new(size_t size)
+#if __cplusplus <= 199711L
+ throw (std::bad_alloc)
+#endif
+{
if (!in_main) return malloc (size);
--fail;
return (void*) 0;
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p755.C b/gcc/testsuite/g++.old-deja/g++.mike/p755.C
index 28eeefa..ee6198d 100644
--- a/gcc/testsuite/g++.old-deja/g++.mike/p755.C
+++ b/gcc/testsuite/g++.old-deja/g++.mike/p755.C
@@ -6,7 +6,11 @@
extern "C" void _exit(int);
-void* operator new(std::size_t sz) throw (std::bad_alloc) {
+void* operator new(std::size_t sz)
+#if __cplusplus <= 199711L
+ throw (std::bad_alloc)
+#endif
+{
void* p = 0;
_exit(0);
return p;
diff --git a/gcc/testsuite/g++.old-deja/g++.other/new6.C b/gcc/testsuite/g++.old-deja/g++.other/new6.C
index 3afb2b7..7013337 100644
--- a/gcc/testsuite/g++.old-deja/g++.other/new6.C
+++ b/gcc/testsuite/g++.old-deja/g++.other/new6.C
@@ -8,7 +8,10 @@ extern "C" void *malloc (size_t);
int special;
int space = 0xdeadbeef;
-void *operator new (size_t size) throw (bad_alloc)
+void *operator new (size_t size)
+#if __cplusplus <= 199711L
+ throw (std::bad_alloc)
+#endif
{
if (special)
return &space;