diff options
Diffstat (limited to 'gcc/testsuite/g++.old-deja/g++.mike/p2846.C')
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.mike/p2846.C | 55 |
1 files changed, 0 insertions, 55 deletions
diff --git a/gcc/testsuite/g++.old-deja/g++.mike/p2846.C b/gcc/testsuite/g++.old-deja/g++.mike/p2846.C deleted file mode 100644 index b9a44c43c1e..00000000000 --- a/gcc/testsuite/g++.old-deja/g++.mike/p2846.C +++ /dev/null @@ -1,55 +0,0 @@ -// prms-id: 2846 - -extern "C" int printf(const char *, ...); -extern "C" void exit(int); - -class A; -class B; - -class A { -public: - - A(void){} - A(const A&){} - A(const B&); - - virtual ~A(void){} - - virtual void print(void) const { - printf("A::print\n"); - printf("FAIL\n"); - exit(1); - } - B compute(void) const; -}; - -class B : private A { -friend class A; -public: - - virtual ~B(void){} - - void print(void) const { - printf("B::print\n"); - } - -private: - B(const A& x, int){} -}; - -A::A(const B& s) { - s.print(); -} - -B A::compute(void) const { - B sub(*this, 1); - return sub; -} - -int main () -{ - A titi; - A toto = titi.compute(); - printf("PASS\n"); - return 0; -} |