| // PR c++/4381 | |
| // Test that exception-specs work properly for classes with virtual bases. | |
| // { dg-do run } | |
| class Base {}; | |
| struct A : virtual public Base | |
| { | |
| A() {} | |
| }; | |
| struct B {}; | |
| void func() | |
| #if __cplusplus <= 201402L | |
| throw (B,A) // { dg-warning "deprecated" "" { target { c++11 && { ! c++17 } } } } | |
| #endif | |
| { | |
| throw A(); | |
| } | |
| int main(void) | |
| { | |
| try { func(); } | |
| catch (A& a) { } | |
| } |