blob: ad0d15b0ebdb09988fa7ca11abb1e096edf3bcf1 [file] [log] [blame]
/* { dg-do run } */
/* { dg-require-effective-target arm_thumb2_ok } */
/* { dg-options "-mthumb -O2 -mrestrict-it" } */
__attribute__ ((noinline, noclone)) void
fn2 ()
{
__builtin_printf ("4");
}
enum
{
ONE = 1,
TWO
} a;
int b;
__attribute__ ((noinline, noclone)) int
fn1 ()
{
int c = b == 0;
if (a <= ONE)
if (b == 0)
fn2 ();
if (a)
if (c)
a = 0;
return a;
}
int
main (void)
{
a = ONE;
b = 1;
if (fn1 () != ONE)
__builtin_abort ();
a = TWO;
b = 0;
if (fn1 () != 0)
__builtin_abort ();
return 0;
}