diff options
Diffstat (limited to 'gcc/testsuite/g++.old-deja/g++.brendan/copy4.C')
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.brendan/copy4.C | 58 |
1 files changed, 0 insertions, 58 deletions
diff --git a/gcc/testsuite/g++.old-deja/g++.brendan/copy4.C b/gcc/testsuite/g++.old-deja/g++.brendan/copy4.C deleted file mode 100644 index 35b53932141..00000000000 --- a/gcc/testsuite/g++.old-deja/g++.brendan/copy4.C +++ /dev/null @@ -1,58 +0,0 @@ -// GROUPS passed copy-ctors -// Using Cfront 3.0.1 the programm below prints -// -// A() -// A(const A& a) -// ~A() -// A(A& a) <---- !!! -// ~A() -// ~A() -// -// the g++ 2.2.2 (sparc-sun-sunos4.1) generated code prints -// -// A() -// A(const A& a) -// ~A() -// A(const A& a) <---- !!! -// ~A() -// ~A() - -extern "C" void printf (char *, ...); -extern "C" void exit (int); - -int count = 0; - -void -die (int x) -{ - if (x != ++count) - { - printf ("FAIL\n"); - exit (1); - } -} - -class A { -public: - A() { die (1); } - A(const A& a) { die (2); } - A(A& a) { die (4); } - ~A() { count++; if (count != 3 && count != 5 && count != 6) die (-1); } -}; - -void foo1(const A& a) { - A b = a; -} - -void foo2( A& a) { - A b = a; -} - -int main() { - A a; - - foo1(a); - foo2(a); - - printf ("PASS\n"); -} |