1// PR c++/13358: g++ should accept a long long constant sans LL suffix
2// if -Wno-long-long is in use.
3// { dg-do compile }
4// { dg-require-effective-target int32plus }
5// { dg-options "-std=c++0x -pedantic-errors -Wlong-long" }
6
7
8void use_longlong ()
9{
10  unsigned long long x1, x2, x3; // { dg-warning "ISO C\\+\\+ 1998 does not support 'long long'" }
11  // make sure we warn with hex, decimal and octal
12  x1 = 0x1b27da572ef3cd86; // { dg-warning "integer constant is too large for 'long' type" "long long" { target ilp32 } }
13  x2 = 1956772631100509574; // { dg-warning "integer constant is too large for 'long' type" "long long" { target ilp32 } }
14  x3 = 0154476645345674746606; // { dg-warning "integer constant is too large for 'long' type" "long long" { target ilp32 } }
15}
16
17void use_longlong2 ()
18{
19  unsigned long long x1, x2, x3; // { dg-warning "ISO C\\+\\+ 1998 does not support 'long long'" }
20  // make sure we warn with hex, decimal and octal
21  x1 = 0x1b27da572ef3cd86LL; // { dg-warning "long long" }
22  x2 = 1956772631100509574LL; // { dg-warning "long long" }
23  x3 = 0154476645345674746606LL; // { dg-warning "long long" }
24}
25