// { dg-do run } // GROUPS passed copy-ctors extern "C" int printf (const char *, ...); extern "C" void exit (int); void die () { printf ("FAIL\n"); exit (1); } class B { public: B() {} B(const B &) { printf ("PASS\n"); exit (0); } private: int x; }; class A : public B { public: A() {} A(const B &) { printf ("FAIL\n"); exit (1); } }; int main() { A a; A b(a); printf ("FAIL\n"); return 1; }