diff options
Diffstat (limited to 'gcc/testsuite/g++.old-deja')
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.bugs/900205_04.C | 12 | ||||
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.mike/p10769a.C | 46 | ||||
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.oliva/template6.C | 5 | ||||
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.other/struct1.C | 20 | ||||
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.pt/ptrmem5.C | 2 |
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; |