From 446588abcb3251b1ef52cdab8f7b761354c1f8d6 Mon Sep 17 00:00:00 2001 From: Jason Merrill Date: Fri, 6 Aug 1999 20:32:24 -0400 Subject: [PATCH] new From-SVN: r28559 --- gcc/testsuite/g++.old-deja/g++.other/ptrmem5.C | 17 +++++++++++++++++ gcc/testsuite/g++.old-deja/g++.other/shadow1.C | 12 ++++++++++++ gcc/testsuite/g++.old-deja/g++.other/virtual6.C | 14 ++++++++++++++ gcc/testsuite/g++.old-deja/g++.pt/ehspec1.C | 6 ++++++ 4 files changed, 49 insertions(+) create mode 100644 gcc/testsuite/g++.old-deja/g++.other/ptrmem5.C create mode 100644 gcc/testsuite/g++.old-deja/g++.other/shadow1.C create mode 100644 gcc/testsuite/g++.old-deja/g++.other/virtual6.C create mode 100644 gcc/testsuite/g++.old-deja/g++.pt/ehspec1.C 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 00000000000..7c38857e67c --- /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 +// 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 00000000000..1691ed430e1 --- /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 +// 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 00000000000..d0769fc6ae7 --- /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 +// 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 00000000000..ad1f6c53676 --- /dev/null +++ b/gcc/testsuite/g++.old-deja/g++.pt/ehspec1.C @@ -0,0 +1,6 @@ +// Bug: g++ forgets to instantiate A +// Contributed by Jason Merrill +// Build don't link: + +template struct A { }; +void f () throw (A); -- 2.30.2