1 // PR c++/55652 2 // { dg-do compile { target c++11 } } 3 4 template <typename T> 5 struct A 6 { 7 static const bool a = false; 8 }; 9 10 template <typename X, typename Y = A <X>> 11 struct B 12 { noexceptB13 B () noexcept (A <Y>::a) {} 14 }; 15 16 template <typename X, typename Y> 17 struct C 18 { 19 X x; 20 Y y; 21 }; 22 23 struct D 24 { 25 D () 26 #if __cplusplus <= 201402L 27 throw (int) // { dg-warning "deprecated" "" { target { ! c++17 } } } 28 #endif 29 ; 30 }; 31 32 C <D, B <D>> c; 33