typedef struct st { | |
int a; | |
} ST; | |
int __attribute__((noinline,noclone)) | |
foo(ST *s, int c) | |
{ | |
int first = 1; | |
int count = c; | |
ST *item = s; | |
int a = s->a; | |
int x; | |
while (count--) | |
{ | |
x = item->a; | |
if (first) | |
first = 0; | |
else if (x >= a) | |
return 1; | |
a = x; | |
item++; | |
} | |
return 0; | |
} | |
extern void abort (void); | |
int main () | |
{ | |
ST _1[2] = {{2}, {1}}; | |
if (foo(_1, 2) != 0) | |
abort (); | |
return 0; | |
} |