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