aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.old-deja
diff options
context:
space:
mode:
authorJason Merrill <jason@redhat.com>2011-11-09 12:53:53 -0500
committerJason Merrill <jason@gcc.gnu.org>2011-11-09 12:53:53 -0500
commite399136a6ae3137747eecb5d433c63c1540d86d5 (patch)
treeef66da2f881f42b9e287ef9512b9c7730f71d5b6 /gcc/testsuite/g++.old-deja
parent754ca64333dc22cb5225f9d0e6b618ddea8ff378 (diff)
downloadgcc-e399136a6ae3137747eecb5d433c63c1540d86d5.zip
gcc-e399136a6ae3137747eecb5d433c63c1540d86d5.tar.gz
gcc-e399136a6ae3137747eecb5d433c63c1540d86d5.tar.bz2
Run most tests in both C++98 and C++11 modes.
gcc/testsuite/ * lib/target-supports.exp (check_effective_target_c++11): New. (check_effective_target_c++98): New. * lib/g++-dg.exp (g++-dg-runtest): New. * [various.exp]: Use g++-dg-runtest. * [various.C]: Fix for C++11 mode. gcc/cp/ * Make-lang.in (check_g++_parallelize): Add dg-torture.exp. (check-c++0x): Obsolete. / * Makefile.def (language=c++): Remove check-c++0x. * Makefile.in (check-gcc-c++): Regenerate. From-SVN: r181222
Diffstat (limited to 'gcc/testsuite/g++.old-deja')
-rw-r--r--gcc/testsuite/g++.old-deja/g++.benjamin/p12475.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/crash64.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/cvt1.C4
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/enum11.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/enum8.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/enum9.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/friend3.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/init2.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/init4.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.brendan/misc14.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.jason/cond.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/init1.C4
-rw-r--r--gcc/testsuite/g++.old-deja/g++.law/operators32.C10
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/anon9.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/linkage1.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/linkage2.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/enum6.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/explicit70.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/ptrmem6.C20
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/t29.C2
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/t30.C2
-rw-r--r--gcc/testsuite/g++.old-deja/old-deja.exp4
22 files changed, 33 insertions, 43 deletions
diff --git a/gcc/testsuite/g++.old-deja/g++.benjamin/p12475.C b/gcc/testsuite/g++.old-deja/g++.benjamin/p12475.C
index d3e121e..d41c26b 100644
--- a/gcc/testsuite/g++.old-deja/g++.benjamin/p12475.C
+++ b/gcc/testsuite/g++.old-deja/g++.benjamin/p12475.C
@@ -1,4 +1,4 @@
-// { dg-do assemble }
+// { dg-do assemble { target c++98 } }
// prms-id: 12475
#include <limits.h>
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/crash64.C b/gcc/testsuite/g++.old-deja/g++.brendan/crash64.C
index 3c98692..5fd31a6a 100644
--- a/gcc/testsuite/g++.old-deja/g++.brendan/crash64.C
+++ b/gcc/testsuite/g++.old-deja/g++.brendan/crash64.C
@@ -1,4 +1,4 @@
-// { dg-do assemble }
+// { dg-do assemble { target c++98 } }
// GROUPS passed old-abort
typedef __SIZE_TYPE__ size_t;
typedef void (*RF_Ptr)(void *);
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/cvt1.C b/gcc/testsuite/g++.old-deja/g++.brendan/cvt1.C
index 1327f5a..544d59b 100644
--- a/gcc/testsuite/g++.old-deja/g++.brendan/cvt1.C
+++ b/gcc/testsuite/g++.old-deja/g++.brendan/cvt1.C
@@ -5,7 +5,7 @@
class Thing
{
public:
- typedef enum { GOOD_THING, BAD_THING, } ThingType ; // { dg-error "" } comma
+ typedef enum { GOOD_THING, BAD_THING, } ThingType ; // { dg-error "" "comma" { target c++98 } }
Thing (ThingType type) : thingType (type) { }
~Thing () { }
private:
@@ -15,7 +15,7 @@ private:
class Group
{
public:
- typedef enum { THIS_GROUP, THAT_GROUP, } GroupType ; // { dg-error "" } comma
+ typedef enum { THIS_GROUP, THAT_GROUP, } GroupType ; // { dg-error "" "comma" { target c++98 } }
Group (GroupType type) : groupType (type), groupCount (0) { }
~Group () { }
void append (Thing* const &entry) { groupCount ++ ; }
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/enum11.C b/gcc/testsuite/g++.old-deja/g++.brendan/enum11.C
index 009333a..9c10560 100644
--- a/gcc/testsuite/g++.old-deja/g++.brendan/enum11.C
+++ b/gcc/testsuite/g++.old-deja/g++.brendan/enum11.C
@@ -6,7 +6,7 @@ class X
{
oneMask = 0x0000FFFF,
twoMask = 0x000F0000,
- thiMask = 0xFFF00000, // { dg-error "comma at end" }
+ thiMask = 0xFFF00000, // { dg-error "comma at end" "" { target c++98 } }
};
unsigned int foo;
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/enum8.C b/gcc/testsuite/g++.old-deja/g++.brendan/enum8.C
index ecf6fbf..bbdda4b 100644
--- a/gcc/testsuite/g++.old-deja/g++.brendan/enum8.C
+++ b/gcc/testsuite/g++.old-deja/g++.brendan/enum8.C
@@ -6,7 +6,7 @@ class foo1
enum foo1_enum
{
ENUM1,
- ENUM2, // { dg-error "comma at end" }
+ ENUM2, // { dg-error "comma at end" "" { target c++98 } }
};
};
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/enum9.C b/gcc/testsuite/g++.old-deja/g++.brendan/enum9.C
index 88ecc73..d8a7d1b 100644
--- a/gcc/testsuite/g++.old-deja/g++.brendan/enum9.C
+++ b/gcc/testsuite/g++.old-deja/g++.brendan/enum9.C
@@ -2,7 +2,7 @@
// GROUPS passed enums
enum fig {
figgy,
- pudding, // { dg-error "comma at end" }
+ pudding, // { dg-error "comma at end" "" { target c++98 } }
};
class X {
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/friend3.C b/gcc/testsuite/g++.old-deja/g++.brendan/friend3.C
index ecd85b4..209ea8c 100644
--- a/gcc/testsuite/g++.old-deja/g++.brendan/friend3.C
+++ b/gcc/testsuite/g++.old-deja/g++.brendan/friend3.C
@@ -5,7 +5,7 @@ class B {
friend class A;
enum {
- bEnum = 1, // { dg-error "comma at end" }
+ bEnum = 1, // { dg-error "comma at end" "" { target c++98 } }
};
int bArray[ bEnum ];
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/init2.C b/gcc/testsuite/g++.old-deja/g++.brendan/init2.C
index 0bf0aba..1b376dc 100644
--- a/gcc/testsuite/g++.old-deja/g++.brendan/init2.C
+++ b/gcc/testsuite/g++.old-deja/g++.brendan/init2.C
@@ -2,4 +2,4 @@
// GROUPS passed initialization
// this should give an error in require_required_type about not
// being allowed to have an initializer list in an argument list.
-int f(int a = {1});// { dg-error "" } .*
+int f(int a = {1});// { dg-error "" "" { target c++98 } }
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/init4.C b/gcc/testsuite/g++.old-deja/g++.brendan/init4.C
index aa2bfb6..d3d1ffd 100644
--- a/gcc/testsuite/g++.old-deja/g++.brendan/init4.C
+++ b/gcc/testsuite/g++.old-deja/g++.brendan/init4.C
@@ -2,4 +2,4 @@
// GROUPS passed initialization
struct CharList { int i; };
-const CharList& terminals = { 1 }; // { dg-error "initializer lists" } c++0x
+const CharList& terminals = { 1 }; // { dg-error "initializer lists" "" { target c++98 } }
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/misc14.C b/gcc/testsuite/g++.old-deja/g++.brendan/misc14.C
index 09242a4..d2e4909 100644
--- a/gcc/testsuite/g++.old-deja/g++.brendan/misc14.C
+++ b/gcc/testsuite/g++.old-deja/g++.brendan/misc14.C
@@ -4,7 +4,7 @@ class X {
public:
enum e {
New // { dg-error "conflicts with previous" }
- , // { dg-error "comma at end" }
+ , // { dg-error "comma at end" "" { target c++98 } }
};
static int New(int); // { dg-error "declaration of" }
diff --git a/gcc/testsuite/g++.old-deja/g++.jason/cond.C b/gcc/testsuite/g++.old-deja/g++.jason/cond.C
index a6e5ba0..b1e692e 100644
--- a/gcc/testsuite/g++.old-deja/g++.jason/cond.C
+++ b/gcc/testsuite/g++.old-deja/g++.jason/cond.C
@@ -52,7 +52,7 @@ int main()
// { dg-error "is initialized like a variable" "var" { target *-*-* } 51 }
;
- if (int a[2] = {1, 2}) // { dg-error "extended init" }
+ if (int a[2] = {1, 2}) // { dg-error "extended init" "" { target c++98 } }
;
}
diff --git a/gcc/testsuite/g++.old-deja/g++.law/init1.C b/gcc/testsuite/g++.old-deja/g++.law/init1.C
index 1727e38..3cce388 100644
--- a/gcc/testsuite/g++.old-deja/g++.law/init1.C
+++ b/gcc/testsuite/g++.old-deja/g++.law/init1.C
@@ -9,12 +9,12 @@ public:
class bar {
public:
- foo f[3] = { 1, 2, 3 }; // works: f[0] = 1, f[1] = 2, f[2] = 3 // { dg-error "" } ANSI C++ forbids initialization of member f;
+ foo f[3] = { 1, 2, 3 }; // works: f[0] = 1, f[1] = 2, f[2] = 3 // { dg-error "" "" { target c++98 } } ANSI C++ forbids initialization of member f;
};
class bar2 {
public:
- foo f[3] = { foo(1), foo(2), foo(3) }; // { dg-error "" } ANSI C++ forbids initialization of member f;
+ foo f[3] = { foo(1), foo(2), foo(3) }; // { dg-error "" "" { target c++98 } } ANSI C++ forbids initialization of member f;
// does not compile -- error: field initializer is not constant
};
diff --git a/gcc/testsuite/g++.old-deja/g++.law/operators32.C b/gcc/testsuite/g++.old-deja/g++.law/operators32.C
index 20d148d..9e1a356 100644
--- a/gcc/testsuite/g++.old-deja/g++.law/operators32.C
+++ b/gcc/testsuite/g++.old-deja/g++.law/operators32.C
@@ -7,7 +7,7 @@
//
template <class T>
-void ffree(long rows, T** array) // { dg-message "note" }
+void ffree(long rows, T** array)
{
for( long i = 0; i < rows; i++ )
delete [] array[i]; // delete row
@@ -21,7 +21,7 @@ return array = new T[size];
}
template <class T>
-T** allocate2d(long d1, long d2, T**& array) // { dg-message "note" }
+T** allocate2d(long d1, long d2, T**& array)
{
if( allocate1d(d1, array) != 0 )
{
@@ -49,9 +49,7 @@ foo() {std::cout << "foo created" << std::endl; }
};
foo **f2;
-allocate2d(d1, d2, f2);// { dg-error "" } type.*// ERROR - trying to.*
-// { dg-message "candidate" "candidate note" { target *-*-* } 52 }
-ffree(d1, f2);// { dg-error "" } type.*// ERROR - trying to.*
-// { dg-message "candidate" "candidate note" { target *-*-* } 54 }
+allocate2d(d1, d2, f2);// { dg-error "" "" { target c++98 } }
+ffree(d1, f2);// { dg-error "" "" { target c++98 } }
}
diff --git a/gcc/testsuite/g++.old-deja/g++.other/anon9.C b/gcc/testsuite/g++.old-deja/g++.other/anon9.C
index a364db8..d458b6b 100644
--- a/gcc/testsuite/g++.old-deja/g++.other/anon9.C
+++ b/gcc/testsuite/g++.old-deja/g++.other/anon9.C
@@ -1,4 +1,4 @@
-// { dg-do assemble }
+// { dg-do assemble { target c++98 } }
// Test that we properly diagnose an attempt to use an anonymous class
// in declaring an external function.
diff --git a/gcc/testsuite/g++.old-deja/g++.other/linkage1.C b/gcc/testsuite/g++.old-deja/g++.other/linkage1.C
index 556ef97..2fa2dec 100644
--- a/gcc/testsuite/g++.old-deja/g++.other/linkage1.C
+++ b/gcc/testsuite/g++.old-deja/g++.other/linkage1.C
@@ -1,4 +1,4 @@
-// { dg-do assemble }
+// { dg-do assemble { target c++98 } }
typedef struct {
int i;
} *p;
diff --git a/gcc/testsuite/g++.old-deja/g++.other/linkage2.C b/gcc/testsuite/g++.old-deja/g++.other/linkage2.C
index 2385b22..974cd63 100644
--- a/gcc/testsuite/g++.old-deja/g++.other/linkage2.C
+++ b/gcc/testsuite/g++.old-deja/g++.other/linkage2.C
@@ -1,4 +1,4 @@
-// { dg-do assemble }
+// { dg-do assemble { target c++98 } }
// From: Klaus-Georg Adams <Klaus-Georg.Adams@chemie.uni-karlsruhe.de>
extern "C"
{
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/enum6.C b/gcc/testsuite/g++.old-deja/g++.pt/enum6.C
index 254b48b..48bdbb0 100644
--- a/gcc/testsuite/g++.old-deja/g++.pt/enum6.C
+++ b/gcc/testsuite/g++.old-deja/g++.pt/enum6.C
@@ -8,7 +8,7 @@ void fn(T)
{
enum tern { H, L, X, U };
- vector<tern> ternvec; // { dg-error "" } composed from a local type
+ vector<tern> ternvec; // { dg-error "" "" { target c++98 } } composed from a local type
}
template void fn(int);
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/explicit70.C b/gcc/testsuite/g++.old-deja/g++.pt/explicit70.C
index dc9c6c9..1f53a75 100644
--- a/gcc/testsuite/g++.old-deja/g++.pt/explicit70.C
+++ b/gcc/testsuite/g++.old-deja/g++.pt/explicit70.C
@@ -18,7 +18,7 @@ template int S<int>::t; // { dg-error "duplicate explicit instantiation" }
template class S<double>;
template class S<double>; // { dg-error "duplicate explicit instantiation" }
-extern template void f(double); // { dg-error "extern" } extern not allowed
+extern template void f(double); // { dg-error "extern" "" { target c++98 } }
inline template class S<float>; // { dg-error "inline" } inline not allowed
template <class T>
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/ptrmem6.C b/gcc/testsuite/g++.old-deja/g++.pt/ptrmem6.C
index 8802e98..19f1591 100644
--- a/gcc/testsuite/g++.old-deja/g++.pt/ptrmem6.C
+++ b/gcc/testsuite/g++.old-deja/g++.pt/ptrmem6.C
@@ -13,30 +13,22 @@ public:
};
template <void (A::*)() >
-void g() {} // { dg-message "void g" }
+void g() {}
template <int A::*>
-void h() {} // { dg-message "void h" }
+void h() {}
int main() {
g<&A::f>();
h<&A::i>();
g<&B::f>(); // { dg-error "" }
- // { dg-message "candidate" "candidate note" { target *-*-* } 24 }
h<&B::j>(); // { dg-error "" }
- // { dg-message "candidate" "candidate note" { target *-*-* } 26 }
- g<(void (A::*)()) &A::f>(); // { dg-error "" }
- // { dg-message "candidate" "candidate note" { target *-*-* } 28 }
- h<(int A::*) &A::i>(); // { dg-error "" }
- // { dg-message "candidate" "candidate note" { target *-*-* } 30 }
+ g<(void (A::*)()) &A::f>(); // { dg-error "" "" { xfail c++11 } }
+ h<(int A::*) &A::i>(); // { dg-error "" "" { xfail c++11 } }
g<(void (A::*)()) &B::f>(); // { dg-error "" }
- // { dg-message "candidate" "candidate note" { target *-*-* } 32 }
h<(int A::*) &B::j>(); // { dg-error "" }
- // { dg-message "candidate" "candidate note" { target *-*-* } 34 }
- g<(void (A::*)()) 0>(); // { dg-error "" }
- // { dg-message "candidate" "candidate note" { target *-*-* } 36 }
- h<(int A::*) 0>(); // { dg-error "" }
- // { dg-message "candidate" "candidate note" { target *-*-* } 38 }
+ g<(void (A::*)()) 0>(); // { dg-error "" "" { target c++98 } }
+ h<(int A::*) 0>(); // { dg-error "" "" { target c++98 } }
return 0;
}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/t29.C b/gcc/testsuite/g++.old-deja/g++.pt/t29.C
index bcc94a3..f664f54 100644
--- a/gcc/testsuite/g++.old-deja/g++.pt/t29.C
+++ b/gcc/testsuite/g++.old-deja/g++.pt/t29.C
@@ -1,4 +1,4 @@
-// { dg-do assemble }
+// { dg-do assemble { target c++98 } }
template <class X, int n> X f (auto X (*x)[n]) { return (*x)[n/2]; }
extern int i[30];
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/t30.C b/gcc/testsuite/g++.old-deja/g++.pt/t30.C
index 45da04c..b0c4f2f 100644
--- a/gcc/testsuite/g++.old-deja/g++.pt/t30.C
+++ b/gcc/testsuite/g++.old-deja/g++.pt/t30.C
@@ -1,4 +1,4 @@
-// { dg-do assemble }
+// { dg-do assemble { target c++98 } }
template <class X, int n> X f (auto X (*x)[n]) { return (*x)[n/2]; }
extern int i[30], i2[33];
diff --git a/gcc/testsuite/g++.old-deja/old-deja.exp b/gcc/testsuite/g++.old-deja/old-deja.exp
index ce53b5f..c941f40 100644
--- a/gcc/testsuite/g++.old-deja/old-deja.exp
+++ b/gcc/testsuite/g++.old-deja/old-deja.exp
@@ -21,7 +21,7 @@ load_lib g++-dg.exp
# If a testcase doesn't have special options, use these.
global DEFAULT_CXXFLAGS
if ![info exists DEFAULT_CXXFLAGS] then {
- set DEFAULT_CXXFLAGS " -ansi -pedantic-errors -Wno-long-long"
+ set DEFAULT_CXXFLAGS " -pedantic-errors -Wno-long-long"
}
# Initialize `dg'.
@@ -32,7 +32,7 @@ dg-init
set tests [lsort [find $srcdir/$subdir *.C]]
# Main loop.
-dg-runtest $tests "" $DEFAULT_CXXFLAGS
+g++-dg-runtest $tests $DEFAULT_CXXFLAGS
# All done.
dg-finish