]> oss.titaniummirror.com Git - msp430-gcc.git/blobdiff - gcc/testsuite/g++.old-deja/g++.other/dyncast5.C
Imported gcc-4.4.3
[msp430-gcc.git] / gcc / testsuite / g++.old-deja / g++.other / dyncast5.C
diff --git a/gcc/testsuite/g++.old-deja/g++.other/dyncast5.C b/gcc/testsuite/g++.old-deja/g++.other/dyncast5.C
deleted file mode 100644 (file)
index a6992d7..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-// Copyright (C) 1999 Free Software Foundation, Inc.
-// Contributed by Nathan Sidwell 6 Jun 1999 <nathan@acm.org>
-
-// dynamic cast can only cast to public unambiguous bases
-
-extern "C" void abort ();
-
-struct A {virtual ~A(){} int m; };
-struct B {virtual ~B(){} int m; };
-
-struct C1 : A {int m;};
-struct C2 : A {int m;};
-
-// A is ambiguous, but private in one branch
-struct D1 : B, C1, private C2 {int m;};
-// A is ambiguous, and public in both branches
-struct D2 : B, C1, C2 {int m;};
-
-void fn(B *bd1, B *bd2)
-{
-  A *ad1;
-  A *ad2;
-  
-  ad1 = dynamic_cast<A *>(bd1);
-  if(ad1) abort();
-  ad2 = dynamic_cast<A *>(bd2);
-  if(ad2) abort();
-}
-
-int main()
-{
-  D1 d1;
-  D2 d2;
-  
-  fn((B *)&d1, (B *)&d2);
-  return 0;
-}