1/* { dg-do compile } */
2/* { dg-options "-std=gnu99 -O2" } */
3
4/* N1169 Conversion from fixed-point to integer.
5   Test if GCC warns when overflow or underflow.  */
6
7signed char sc;
8unsigned char uc;
9
10void test()
11{
12  sc = 500k; /* { dg-warning "overflow in implicit constant conversion" } */
13  sc = -500k; /* { dg-warning "overflow in implicit constant conversion" } */
14  sc = 500lk; /* { dg-warning "overflow in implicit constant conversion" } */
15  sc = -500lk; /* { dg-warning "overflow in implicit constant conversion" } */
16  sc = 500llk; /* { dg-warning "overflow in implicit constant conversion" } */
17  sc = -500llk; /* { dg-warning "overflow in implicit constant conversion" } */
18  uc = 500k; /* { dg-warning "overflow in implicit constant conversion" } */
19  uc = -500k; /* { dg-warning "overflow in implicit constant conversion" } */
20  uc = 500lk; /* { dg-warning "overflow in implicit constant conversion" } */
21  uc = -500lk; /* { dg-warning "overflow in implicit constant conversion" } */
22  uc = 500llk; /* { dg-warning "overflow in implicit constant conversion" } */
23  uc = -500llk; /* { dg-warning "overflow in implicit constant conversion" } */
24}
25