1 // { dg-do compile { target c++11 } }
2 // { dg-options "-Woverflow" }
3 // PR c++/52654
4 int
5 operator"" _w(unsigned long long)
6 { return 0; }
7 
8 int
9 operator"" _w(long double)
10 { return 0.0L; }
11 
12 int i = 12345678901234567890123456789012345678901234567890_w;
13 int j = 12345678901234567890123456789.012345678901234567890e+1234567890_w;
14 int k = 12345678901234567890123456789.012345678901234567890e-1234567890_w;
15 
16 // { dg-warning "integer literal exceeds range of " "" { target *-*-* } 12 }
17 // { dg-warning "floating literal exceeds range of " "" { target *-*-* } 13 }
18 // { dg-warning "floating literal truncated to zero" "" { target *-*-* } 14 }
19