1 // PR c++/65043
2 // { dg-do compile { target c++11 } }
3 // { dg-options "-Wnarrowing" }
4 
5 struct X
6 {
XX7   X(bool) { }
8 };
9 
10 struct Y
11 {
YY12   Y(char) { }
13 };
14 
15 struct Z
16 {
ZZ17   Z(char16_t) { }
18 };
19 
20 struct W
21 {
WW22   W(char32_t) { }
23 };
24 
main()25 int main()
26 {
27   double d = 1.2;
28   X x{d}; // { dg-warning "narrowing conversion" }
29   Y y{d}; // { dg-warning "narrowing conversion" }
30   Z z{d}; // { dg-warning "narrowing conversion" }
31   W w{d}; // { dg-warning "narrowing conversion" }
32 }
33