// Negative test for C++11 unrestricted unions // { dg-do compile { target c++11 } } // { dg-prune-output "implicitly deleted because" } struct A { A(); A(const A&); ~A(); }; union B { A a; // { dg-error "union member" } }; B b; // { dg-error "B::B\\(\\)" "B::B" } B b2(b); // { dg-error "B::B\\(const B&\\)" "B::B" } struct C { union { A a; // { dg-error "union member" } }; }; C c; // { dg-error "C::C\\(\\)" "C::C" } C c2(c); // { dg-error "C::C\\(const C&\\)" "C::C" } // { dg-error "B::~B" "B::~B" { target *-*-* } 17 } // { dg-error "B::~B" "B::~B" { target *-*-* } 18 } // { dg-error "C::~C" "C::~C" { target *-*-* } 28 } // { dg-error "C::~C" "C::~C" { target *-*-* } 29 }