/* { dg-do run } */ | |
struct S | |
{ | |
int f1; | |
}; | |
static struct S a = { 1 }; | |
char b; | |
static unsigned char *c = &b; | |
int d, e, f; | |
int | |
fn1 (int p) | |
{ | |
return 0 ? 0 : p - 1; | |
} | |
static int | |
fn2 (struct S p) | |
{ | |
int g = 200; | |
for (e = 4; e; e = fn1 (e)) | |
{ | |
for (; d; d++) | |
; | |
*c &= p.f1 & g; | |
g = --*c; | |
if (f) | |
return 0; | |
} | |
return 0; | |
} | |
int | |
main () | |
{ | |
fn2 (a); | |
if (b != 0) | |
__builtin_abort (); | |
return 0; | |
} |