52 lines
759 B
C
52 lines
759 B
C
/* { dg-do run } */
|
|
/* { dg-options "-O0 -mtune=i386 -fomit-frame-pointer" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */
|
|
|
|
__attribute__((noreturn,noinline)) void abrt (const char *fi, const char *fu)
|
|
{
|
|
__builtin_abort ();
|
|
}
|
|
|
|
__attribute__((noinline)) int f (int k)
|
|
{
|
|
return k;
|
|
}
|
|
|
|
__attribute__((noinline)) int g (int t, int k)
|
|
{
|
|
int b;
|
|
|
|
switch (t)
|
|
{
|
|
case 0:
|
|
abrt (__FILE__, __FUNCTION__);
|
|
|
|
case 1:
|
|
b = f (k);
|
|
break;
|
|
|
|
case 2:
|
|
b = f (k);
|
|
break;
|
|
|
|
case 3:
|
|
b = f (k);
|
|
break;
|
|
|
|
case 4:
|
|
b = f (k);
|
|
break;
|
|
|
|
default:
|
|
abrt (__FILE__, __FUNCTION__);
|
|
}
|
|
|
|
return b;
|
|
}
|
|
|
|
int main (void)
|
|
{
|
|
if (g (3, 1337) != 1337)
|
|
abrt (__FILE__, __FUNCTION__);
|
|
return 0;
|
|
}
|