2 // { dg-do compile { target c++11 } }
4 class B // { dg-message "implicitly deleted" }
5 // { dg-error "uninitialized" "" { target c++11 } 4 }
7 int const v_; // { dg-message "should be initialized" }
10 struct D : B {}; // { dg-error "deleted" }
12 class A // { dg-message "implicitly deleted" }
13 // { dg-error "uninitialized" "" { target c++11 } 12 }
15 int& ref; // { dg-message "should be initialized" }
18 struct C : A {}; // { dg-error "deleted" }
22 D d; // { dg-error "use of deleted" }
23 new D; // { dg-error "use of deleted" }
24 D(); // { dg-error "use of deleted" }
25 new D(); // { dg-error "use of deleted" }
27 C c; // { dg-error "use of deleted" }
28 new C; // { dg-error "use of deleted" }
29 C(); // { dg-error "use of deleted" }
30 new C(); // { dg-error "use of deleted" }