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