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