aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.old-deja/g++.mike/p2846a.C
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/g++.old-deja/g++.mike/p2846a.C')
-rw-r--r--gcc/testsuite/g++.old-deja/g++.mike/p2846a.C34
1 files changed, 0 insertions, 34 deletions
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p2846a.C b/gcc/testsuite/g++.old-deja/g++.mike/p2846a.C
deleted file mode 100644
index 8606e4233e8..00000000000
--- a/gcc/testsuite/g++.old-deja/g++.mike/p2846a.C
+++ /dev/null
@@ -1,34 +0,0 @@
-// Shows that problem of initializing one object's vtable pointer from
-// another object's vtable pointer when doing a default copy of it
-// and the vtable pointer involved is the main one.
-
-// Correct answer is B::print.
-// g++ prints D::print, which is wrong. Cfront gets is right.
-
-// prms-id: 2846
-
-extern "C" int printf(const char *, ...);
-extern "C" void exit(int);
-
-class B {
-public:
- virtual void print(void) const { printf("B::print\n"); }
-};
-
-class D : public B {
-public:
- void print(void) const { printf("D::print\n"); exit(1); }
- B compute(void) const;
-};
-
-B D::compute(void) const
-{
- B sub(*(B*)this);
- return sub;
-}
-
-int main () {
- D titi;
- titi.compute().print();
- return 0;
-}