1 // The hack for PR c++/44909 breaks this testcase.  We need feedback
2 // from the C++ committee to know how to proceed.
3 // { dg-do compile { target c++11 } }
4 
5 struct A
6 {
7   A();
8   A(A&);
9 };
10 
11 struct B;
12 struct BP
13 {
14   BP(const B&);
15 };
16 
17 struct B
18 {
19   B();
20   B(B&&);
21   B(const BP&);
22 };
23 
24 // If B(B&&) suppresses the B copy constructor, then copying the B
25 // subobject of C should use B(const BP&).  But we ignore that constructor
26 // in order to break the cycle in 44909.  Perhaps the move ctor shouldn't
27 // suppress the copy ctor?
28 // As of DR 1082, it doesn't suppress it.
29 struct C: A, B { };		// { dg-error "use of deleted" }
30 
31 C c;
32 C c2(c);			// { dg-error "deleted" }
33