diff options
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.other/ptrmem5.C | 17 | ||||
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.other/shadow1.C | 12 | ||||
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.other/virtual6.C | 14 | ||||
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.pt/ehspec1.C | 6 |
4 files changed, 49 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.old-deja/g++.other/ptrmem5.C b/gcc/testsuite/g++.old-deja/g++.other/ptrmem5.C new file mode 100644 index 0000000..7c38857 --- /dev/null +++ b/gcc/testsuite/g++.old-deja/g++.other/ptrmem5.C @@ -0,0 +1,17 @@ +// Bug: g++ doesn't see that A is a vbase of C. +// Submitted by Jason Merrill <jason@cygnus.com> +// Build don't link: + +struct A { + int i; + void f (); +}; + +struct B: public A { }; +struct C: public virtual B { }; + +void g () +{ + int C::*p = &A::i; // ERROR - conversion from vbase + void (C::*fp)() = &A::f; // ERROR - conversion from vbase +} diff --git a/gcc/testsuite/g++.old-deja/g++.other/shadow1.C b/gcc/testsuite/g++.old-deja/g++.other/shadow1.C new file mode 100644 index 0000000..1691ed4 --- /dev/null +++ b/gcc/testsuite/g++.old-deja/g++.other/shadow1.C @@ -0,0 +1,12 @@ +// Bug: g++ thinks that the i in g() shadows the parm from f() +// Contributed by Jason Merrill <jason@cygnus.com> +// Build don't link: + +void f (int i) +{ + struct A { + void g () { + int i; + } + }; +} diff --git a/gcc/testsuite/g++.old-deja/g++.other/virtual6.C b/gcc/testsuite/g++.old-deja/g++.other/virtual6.C new file mode 100644 index 0000000..d0769fc --- /dev/null +++ b/gcc/testsuite/g++.old-deja/g++.other/virtual6.C @@ -0,0 +1,14 @@ +// Bug: g++ checks certain non-virtual functions to see if they override +// virtual functions. +// Submitted by Jason Merrill <jason@cygnus.com> +// Special g++ Options: -Woverloaded-virtual +// Build don't link: + +struct A { + virtual void f (int); +}; + +struct B: public A { + static void f (); + void f (int); +}; diff --git a/gcc/testsuite/g++.old-deja/g++.pt/ehspec1.C b/gcc/testsuite/g++.old-deja/g++.pt/ehspec1.C new file mode 100644 index 0000000..ad1f6c5 --- /dev/null +++ b/gcc/testsuite/g++.old-deja/g++.pt/ehspec1.C @@ -0,0 +1,6 @@ +// Bug: g++ forgets to instantiate A<int> +// Contributed by Jason Merrill <jason@cygnus.com> +// Build don't link: + +template <class T> struct A { }; +void f () throw (A<int>); |