diff options
author | Jason Merrill <jason@redhat.com> | 2011-11-09 12:53:37 -0500 |
---|---|---|
committer | Jason Merrill <jason@gcc.gnu.org> | 2011-11-09 12:53:37 -0500 |
commit | 754ca64333dc22cb5225f9d0e6b618ddea8ff378 (patch) | |
tree | 32bf140d1539df4735202b5ce420756dd9ec6c19 /gcc | |
parent | bc3e284b718091979f7c9d21aad2033855caeb41 (diff) | |
download | gcc-754ca64333dc22cb5225f9d0e6b618ddea8ff378.zip gcc-754ca64333dc22cb5225f9d0e6b618ddea8ff378.tar.gz gcc-754ca64333dc22cb5225f9d0e6b618ddea8ff378.tar.bz2 |
* [various.C]: Adjust for C++11 mode.
From-SVN: r181221
Diffstat (limited to 'gcc')
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; |