X-Git-Url: https://oss.titaniummirror.com/gitweb?a=blobdiff_plain;f=gcc%2Ftestsuite%2Fg%2B%2B.old-deja%2Fg%2B%2B.eh%2Fcatch12.C;fp=gcc%2Ftestsuite%2Fg%2B%2B.old-deja%2Fg%2B%2B.eh%2Fcatch12.C;h=0000000000000000000000000000000000000000;hb=6fed43773c9b0ce596dca5686f37ac3fc0fa11c0;hp=b174019fe89df857e4f1aab4342d07d5413ca9ef;hpb=27b11d56b743098deb193d510b337ba22dc52e5c;p=msp430-gcc.git diff --git a/gcc/testsuite/g++.old-deja/g++.eh/catch12.C b/gcc/testsuite/g++.old-deja/g++.eh/catch12.C deleted file mode 100644 index b174019f..00000000 --- a/gcc/testsuite/g++.old-deja/g++.eh/catch12.C +++ /dev/null @@ -1,63 +0,0 @@ -// Copyright (C) 2000 Free Software Foundation, Inc. -// Contributed by Nathan Sidwell 24 May 2000 - -// we should be able to catch a base a virtual, provided it is accessible by at -// least one public path -// -- public, << private, == virtual -// E--B<<==A -// +--C--==A -// +--D<<==A - -struct A {}; -struct B : private virtual A {}; -struct C : virtual A {}; -struct D : private virtual A {}; -struct E : public B, public C, public D {}; - -extern "C" void abort (); - -void fne (E *e) -{ - throw e; -} - -void check(E *e) -{ - int caught; - - caught = 0; - try { fne(e); } - catch(A *p) { caught = 1; if (p != e) abort();} - catch(...) { abort(); } - if (!caught) abort(); - - caught = 0; - try { fne(e); } - catch(B *p) { caught = 1; if (p != e) abort();} - catch(...) { abort (); } - if (!caught) abort(); - - caught = 0; - try { fne(e); } - catch(C *p) { caught = 1; if (p != e) abort();} - catch(...) { abort(); } - if (!caught) abort(); - - caught = 0; - try { fne(e); } - catch(D *p) { caught = 1; if (p != e) abort ();} - catch(...) { abort (); } - if (!caught) abort(); - - return; -} - -int main () -{ - E e; - - check (&e); - check ((E *)0); - - return 0; -}