blob: 8899e04e90f642479d14a546bed53805125a587e [file] [log] [blame]
/* { dg-do compile } */
/* { dg-options "-O2" } */
extern void bar (void);
/* Case 181 is not in the range for 'char'. */
void
foo1 (char *buf)
{
int x = *buf;
switch (x)
{
case -76:
case 65:
case 181:
bar();
}
}
/* All cases are below the range of char. */
void
foo2 (char *buf)
{
int x = *buf;
switch (x)
{
case -150:
case -140:
case -130:
bar();
}
}
/* All cases are above the range of char. */
void
foo3 (char *buf)
{
int x = *buf;
switch (x)
{
case 130:
case 140:
case 150: /* This case is not in the range for 'char'. */
bar();
}
}
/* The bounding cases are partially out of range for char. */
void
foo4 (char *buf)
{
int x = *buf;
switch (x)
{
case -130 ... -120:
case 100:
case 120 ... 130:
bar();
}
}