diff options
author | Jason Merrill <jason@gcc.gnu.org> | 1999-07-21 04:53:38 -0400 |
---|---|---|
committer | Jason Merrill <jason@gcc.gnu.org> | 1999-07-21 04:53:38 -0400 |
commit | 0f03776326098b582ff036d3f76ad2bda47850db (patch) | |
tree | 9ee2b7e1e8296179f03f984e8a74c182468b953a /gcc | |
parent | 9f33663b8d400e06d2d3cb514e952db0bb1e8c4b (diff) | |
download | gcc-0f03776326098b582ff036d3f76ad2bda47850db.zip gcc-0f03776326098b582ff036d3f76ad2bda47850db.tar.gz gcc-0f03776326098b582ff036d3f76ad2bda47850db.tar.bz2 |
x
From-SVN: r28205
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.brendan/crash5.C | 4 | ||||
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.ext/addrfunc4.C | 24 | ||||
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.jason/builtin2.C | 2 | ||||
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.jason/thunk3.C | 2 | ||||
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.mike/net5.C | 2 | ||||
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.other/overcnv2.C | 9 | ||||
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.pt/parms1.C (renamed from gcc/testsuite/g++.old-deja/g++.jason/tpt-1.cc) | 1 | ||||
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.pt/static3.C | 2 |
8 files changed, 37 insertions, 9 deletions
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/crash5.C b/gcc/testsuite/g++.old-deja/g++.brendan/crash5.C index 0e82e16..e415967 100644 --- a/gcc/testsuite/g++.old-deja/g++.brendan/crash5.C +++ b/gcc/testsuite/g++.old-deja/g++.brendan/crash5.C @@ -7,8 +7,6 @@ // * cp-cvt.c (build_default_binary_type_conversion): Look deeper into // what ARG1 and ARG2 are if they're POINTER_TYPEs. -volatile void exit(int); - class CountableSet { public: @@ -71,7 +69,7 @@ class SimpleSet : virtual public MutSet<T> SimpleSet() { size = 0; - array = ((void*)0) ; // ERROR - implicit conversion + array = 0; } int Get(int p, T& t) { diff --git a/gcc/testsuite/g++.old-deja/g++.ext/addrfunc4.C b/gcc/testsuite/g++.old-deja/g++.ext/addrfunc4.C new file mode 100644 index 0000000..b8d02f7 --- /dev/null +++ b/gcc/testsuite/g++.old-deja/g++.ext/addrfunc4.C @@ -0,0 +1,24 @@ +// Test that an object-dependent reference to a member function can be +// used to produce a pointer to member function, as in VC++. +// Contributed by Jason Merrill <jason@cygnus.com> +// Special g++ Options: -fpermissive -w + +struct A +{ + int f(int a) { } + void f(int a, int b) { } +}; + +typedef int (A::* pmf1)(int); +typedef void (A::* pmf2)(int, int); + +int main() +{ + A a; + pmf1 fn1; + pmf2 fn2; + + fn1 = a.f; + fn1 = (pmf1)a.f; + fn2 = (pmf2)a.f; +}; diff --git a/gcc/testsuite/g++.old-deja/g++.jason/builtin2.C b/gcc/testsuite/g++.old-deja/g++.jason/builtin2.C index 698d0a1..e48e189 100644 --- a/gcc/testsuite/g++.old-deja/g++.jason/builtin2.C +++ b/gcc/testsuite/g++.old-deja/g++.jason/builtin2.C @@ -1,6 +1,6 @@ // Build don't link: -inline void strlen (const char *) { } +static inline void strlen (const char *) { } void f () { diff --git a/gcc/testsuite/g++.old-deja/g++.jason/thunk3.C b/gcc/testsuite/g++.old-deja/g++.jason/thunk3.C index 5127b9b..3e2bf74 100644 --- a/gcc/testsuite/g++.old-deja/g++.jason/thunk3.C +++ b/gcc/testsuite/g++.old-deja/g++.jason/thunk3.C @@ -3,7 +3,7 @@ // support, because it doesn't support variadic functions. // Special g++ Options: -fvtable-thunks -// excess errors test - XFAIL mips*-*-* rs6000-*-* powerpc-*-eabi m68k-*-coff m68k-motorola-sysv m88k-motorola-sysv3 mn10300-*-* mn10200-*-* v850-*-* sh-*-*-* +// excess errors test - XFAIL mips*-*-* rs6000-*-* powerpc-*-eabi m68k-*-coff m68k-motorola-sysv m88k-motorola-sysv3 mn10300-*-* mn10200-*-* v850-*-* sh-*-* #include <stdarg.h> diff --git a/gcc/testsuite/g++.old-deja/g++.mike/net5.C b/gcc/testsuite/g++.old-deja/g++.mike/net5.C index e914432..064c73c 100644 --- a/gcc/testsuite/g++.old-deja/g++.mike/net5.C +++ b/gcc/testsuite/g++.old-deja/g++.mike/net5.C @@ -1,7 +1,7 @@ // Build don't link: // Special g++ Options: -volatile void abort(); +volatile void abort(); // WARNING - mismatch volatile void oink() { abort() ; } // gets bogus error - diff --git a/gcc/testsuite/g++.old-deja/g++.other/overcnv2.C b/gcc/testsuite/g++.old-deja/g++.other/overcnv2.C index 725ce09..f8ef3d3 100644 --- a/gcc/testsuite/g++.old-deja/g++.other/overcnv2.C +++ b/gcc/testsuite/g++.old-deja/g++.other/overcnv2.C @@ -4,7 +4,7 @@ // the type of the argument -- but because it is non-const. struct A { - operator const char *() const; + operator const char *() const { return ""; } }; struct B : public A { @@ -14,5 +14,10 @@ struct B : public A { int main() { B b; - (const char *)b; // WARNING - surprising overload resolution + if ((const char *)b != 0) // WARNING - surprising overload resolution + return 1; + if ((const char *)(const B)b == 0) + return 2; + if ((const char *)(const B &)b == 0) + return 3; } diff --git a/gcc/testsuite/g++.old-deja/g++.jason/tpt-1.cc b/gcc/testsuite/g++.old-deja/g++.pt/parms1.C index 1509520..65330c6 100644 --- a/gcc/testsuite/g++.old-deja/g++.jason/tpt-1.cc +++ b/gcc/testsuite/g++.old-deja/g++.pt/parms1.C @@ -18,6 +18,7 @@ public: operator S () { return a*20; } }; +int main() { A<int, 5> a; diff --git a/gcc/testsuite/g++.old-deja/g++.pt/static3.C b/gcc/testsuite/g++.old-deja/g++.pt/static3.C index 6fe33f9..8072a60 100644 --- a/gcc/testsuite/g++.old-deja/g++.pt/static3.C +++ b/gcc/testsuite/g++.old-deja/g++.pt/static3.C @@ -1,6 +1,6 @@ // On targets that don't support weak symbols, we require an explicit // instantiation of arr. -// excess errors test - XFAIL *-*-aout *-*-coff *-*-hpux* +// excess errors test - XFAIL *-*-aout *-*-coff *-*-hpux* alpha-dec-osf* template<class T> struct A { |