| // { dg-do compile { target c++11 } } |
| // { dg-options "-Woverflow" } |
| // PR c++/52654 |
| int |
| operator"" _w(unsigned long long) |
| { return 0; } |
| |
| int |
| operator"" _w(long double) |
| { return 0.0L; } |
| |
| int i = 12345678901234567890123456789012345678901234567890_w; |
| int j = 12345678901234567890123456789.012345678901234567890e+1234567890_w; |
| int k = 12345678901234567890123456789.012345678901234567890e-1234567890_w; |
| |
| // { dg-warning "integer literal exceeds range of " "" { target *-*-* } 12 } |
| // { dg-warning "floating literal exceeds range of " "" { target *-*-* } 13 } |
| // { dg-warning "floating literal truncated to zero" "" { target *-*-* } 14 } |