aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.old-deja
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/g++.old-deja')
-rw-r--r--gcc/testsuite/g++.old-deja/g++.bugs/900205_04.C12
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p10769a.C46
-rw-r--r--gcc/testsuite/g++.old-deja/g++.oliva/template6.C5
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/struct1.C20
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/ptrmem5.C2
5 files changed, 23 insertions, 62 deletions
diff --git a/gcc/testsuite/g++.old-deja/g++.bugs/900205_04.C b/gcc/testsuite/g++.old-deja/g++.bugs/900205_04.C
index e5f59ab63bc..a2c84fadb9e 100644
--- a/gcc/testsuite/g++.old-deja/g++.bugs/900205_04.C
+++ b/gcc/testsuite/g++.old-deja/g++.bugs/900205_04.C
@@ -9,19 +9,23 @@
// keywords: default constructor, inheritance
-struct struct0 {
+// In ISO C++ 1998, such a derived class is not ill-formed, but if the
+// implicitly-declared constructor is used, then it is implicitly
+// defined and found to be ill-formed.
+
+struct struct0 { // { dg-error "note" }
int data_member;
struct0 (int, void *); // suppresses implicit default constructor
};
-struct0::struct0 (int, void *)
+struct0::struct0 (int, void *) // { dg-error "note" }
{
}
-struct struct0_derived_struct_0 : public struct0 { // { dg-error "" }
+struct struct0_derived_struct_0 : public struct0 { // { dg-error "" }
};
-// struct0_derived_struct_0 object; // would give g++ error if compiled
+struct0_derived_struct_0 object;
int main () { return 0; }
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p10769a.C b/gcc/testsuite/g++.old-deja/g++.mike/p10769a.C
deleted file mode 100644
index 89cc31d0fff..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p10769a.C
+++ /dev/null
@@ -1,46 +0,0 @@
-// { dg-do run }
-// { dg-options "-Wno-pmf-conversions" }
-// prms-id: 10769
-
-#define PMF2PF(PMF) ((void (*)())(PMF))
-
-int ok = 0;
-
-class A {
-public:
- void f1a() { ok += 3; }
- void f1b() { ok += 5; }
- void f2a() { ok += 7; }
- void f2b() { }
- static void (*table[2][2])();
- void main();
-} a;
-
-void (*A::table[2][2])()
- = { { PMF2PF(&A::f1a), PMF2PF(&A::f1b) },
- { PMF2PF(&A::f2a), PMF2PF(&A::f1b) },
- };
-
-void
-dispatch (A *obj, int i, int j)
-{
- (*(void (*)(A *))A::table[i][j])(obj);
-}
-
-void A::main() {
- dispatch (&a, 0, 0);
- void (A::*mPtr)() = &A::f1a;
-
- (*(void (*)(A*))PMF2PF(mPtr))(&a);
- (*(void (*)(A*))PMF2PF(f2a))(&a); // { dg-bogus "" "" { xfail *-*-* } }
-}
-
-int main() {
- a.A::main();
- dispatch (&a, 0, 1);
- void (A::*mPtr)() = &A::f1b;
-
- (*(void (*)(A*))PMF2PF(a.*mPtr))(&a);
- (*(void (*)(A*))PMF2PF(a.f2a))(&a); // { dg-bogus "" "" { xfail *-*-* } }
- return ok != 3+3+5+5+7+7;
-}
diff --git a/gcc/testsuite/g++.old-deja/g++.oliva/template6.C b/gcc/testsuite/g++.old-deja/g++.oliva/template6.C
index f31d677afb0..270d67695f6 100644
--- a/gcc/testsuite/g++.old-deja/g++.oliva/template6.C
+++ b/gcc/testsuite/g++.old-deja/g++.oliva/template6.C
@@ -6,4 +6,7 @@
// simplified from bug report by Meenaradchagan Vishnu <mvishnu@fore.com>
template <typename> struct foo {};
-template <> void foo(); // { dg-error "" } bad specialization
+template <> void foo(); // { dg-error "not a template function" } bad specialization
+
+struct baz {};
+template <> void baz (); // { dg-error "not a template function" } bad specialization
diff --git a/gcc/testsuite/g++.old-deja/g++.other/struct1.C b/gcc/testsuite/g++.old-deja/g++.other/struct1.C
index f4fa322bd1f..b1f943f604f 100644
--- a/gcc/testsuite/g++.old-deja/g++.other/struct1.C
+++ b/gcc/testsuite/g++.old-deja/g++.other/struct1.C
@@ -9,34 +9,34 @@
class Y
{ // { dg-error "" } previous definition
};
-class Y
-{ // { dg-error "" } redefinition
+class Y // { dg-error "" } redefinition
+{
};
template<class T> class X
{ // { dg-error "" } previous definition
};
-template<class T> class X
-{ // { dg-error "" } redefinition
+template<class T> class X // { dg-error "" } redefinition
+{
};
template<class T> class X<T *>
{ // { dg-error "" } previous definition
};
-template<class T> class X<T *>
-{ // { dg-error "" } redefinition
+template<class T> class X<T *> // { dg-error "" } redefinition
+{
};
template<> class X<int>
{ // { dg-error "" } previous definition
};
-template<> class X<int>
-{ // { dg-error "" } redefinition
+template<> class X<int> // { dg-error "" } redefinition
+{
};
template<> class X<int *>
{ // { dg-error "" } previous definition
};
-template<> class X<int *>
-{ // { dg-error "" } redefinition
+template<> class X<int *> // { dg-error "" } redefinition
+{
};
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/ptrmem5.C b/gcc/testsuite/g++.old-deja/g++.pt/ptrmem5.C
index 4b7d5f9f572..54e975edab6 100644
--- a/gcc/testsuite/g++.old-deja/g++.pt/ptrmem5.C
+++ b/gcc/testsuite/g++.old-deja/g++.pt/ptrmem5.C
@@ -14,4 +14,4 @@ struct Null {
int *pd = NULL;
int (*pf)() = NULL;
int Null::*pmd = NULL;
-int (Null::*pmf)() = NULL; // { dg-bogus "" "" { xfail *-*-* } } - cannot convert -
+int (Null::*pmf)() = NULL;