| // Test for checking of exception specifications on defaulted fns |
| // { dg-do compile { target c++11 } } |
| |
| struct A |
| { |
| A() noexcept = default; |
| }; |
| |
| A a; |
| |
| struct B |
| { |
| B() throw (int) = default; |
| }; // { dg-error "dynamic exception specification" "" { target c++17 } .-1 } |
| // { dg-warning "deprecated" "" { target { ! c++17 } } .-2 } |
| B b; |
| |
| struct C |
| { |
| C() throw (int) { } // { dg-error "dynamic exception specification" "" { target c++17 } } |
| }; // { dg-warning "deprecated" "" { target { ! c++17 } } .-1 } |
| |
| C c; |
| |
| struct D: C |
| { |
| D() throw (int) = default; // { dg-error "dynamic exception specification" "" { target c++17 } } |
| }; // { dg-warning "deprecated" "" { target { ! c++17 } } .-1 } |
| |
| D d; |
| |
| struct E |
| { |
| E() = default; |
| }; |
| |
| E e; |