URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Subversion Repositories openrisc
[/] [openrisc/] [trunk/] [gnu-stable/] [gcc-4.5.1/] [gcc/] [testsuite/] [gcc.dg/] [switch-warn-1.c] - Rev 826
Compare with Previous | Blame | View Log
/* { dg-do run } */ /* { dg-options "-O0" } */ extern void abort (void); extern void exit (int); /* Check that out-of-bounds case warnings work in the case that the testing expression is promoted. */ int foo1 (unsigned char i) { switch (i) { case -1: /* { dg-warning "case label value is less than minimum value for type" } */ return 1; case 256: /* { dg-warning "case label value exceeds maximum value for type" } */ return 2; default: return 3; } } /* Like above, but for case ranges that need to be satured. */ int foo2 (unsigned char i) { switch (i) { case -1 ... 1: /* { dg-warning "lower value in case label range less than minimum value for type" } */ return 1; case 254 ... 256: /* { dg-warning "upper value in case label range exceeds maximum value for type" } */ return 2; default: return 3; } } int main (void) { if (foo1 (10) != 3) abort (); if (foo2 (10) != 3) abort (); exit (0); }