37 lines
458 B
C
37 lines
458 B
C
|
|
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;
|
|
}
|