/* PR target/59923 */ | |
/* { dg-do compile } */ | |
/* { dg-require-effective-target arm_thumb2_ok } */ | |
/* { dg-options "-O2 -mcpu=cortex-a15 -fno-strict-aliasing -mthumb -g" } */ | |
struct S | |
{ | |
void *s; | |
struct T { unsigned short a; unsigned char b[4], c[4]; } *t; | |
} s; | |
void bar (void *); | |
void | |
foo (struct S *x, int *y) | |
{ | |
if (*y > 0) | |
return; | |
else if (x->t->b[0] == 0x43 && x->t->b[1] == 0x6d && x->t->c[0] == 1) | |
x->s = &s; | |
else | |
*y = 16384; | |
if (*y > 0) | |
bar (x); | |
} |