| // Origin: PR c++/51633 |
| // { dg-do compile { target c++11 } } |
| |
| struct A |
| { |
| constexpr A() {} |
| ~A(); |
| }; |
| |
| struct B |
| { |
| A a; |
| A b; |
| A c; |
| constexpr B() {} |
| }; |
| |
| struct C |
| { |
| A a; |
| constexpr C() {} |
| }; |
| |
| struct D |
| { |
| constexpr D() { return;} // { dg-error "does not have empty body" "" { target c++11_only } } |
| }; |
| |
| struct D1 |
| { |
| A a; |
| constexpr D1() { return;} // { dg-error "does not have empty body" "" { target c++11_only } } |
| }; |
| |
| struct D2 |
| { |
| A a; |
| A b; |
| constexpr D2() { return;} // { dg-error "does not have empty body" "" { target c++11_only } } |
| }; |
| |
| struct D3 |
| { |
| A a; |
| A b; |
| A c; |
| constexpr D3() { return;} // { dg-error "does not have empty body" "" { target c++11_only } } |
| }; |