blob: f2846fe390c7b07987c555dfff6a3f7900e30b2d [file] [log] [blame]
// PR c++/53903
// { dg-do compile { target c++11 } }
struct T
{
T() noexcept(false) { }
~T() noexcept(false) { }
};
T t;
struct A
{
A() noexcept;
~A() noexcept;
T t;
};
A::A() noexcept = default; // { dg-error "defaulted" }
A::~A() noexcept = default; // { dg-error "defaulted" }
struct U
{
U() noexcept(false) { }
~U() noexcept(false) { }
};
U u;
struct B
{
B() noexcept(false);
~B() noexcept(false);
U u;
};
B::B() noexcept(false) = default;
B::~B() noexcept(false) = default;
B b;
struct V
{
V() noexcept(false) { }
~V() noexcept(false) { }
};
V v;
struct C
{
C() noexcept = default; // { dg-message "exception-specification" }
~C() noexcept = default; // { dg-message "exception-specification" }
V v;
};
C c; // { dg-error "deleted" }