/* { dg-do run } */ | |
extern int memcmp (const void *, const void *, __SIZE_TYPE__); | |
extern void abort (void); | |
void __attribute__ ((noinline)) | |
f (long *s, long *t, int len1, int len2) | |
{ | |
int i, j; | |
j = 2; | |
for (i = len1 - 1; i >= 0; i--) | |
{ | |
s[j--] = (i < len2 ? t[i] : t[len2 - 1] < 0 ? -1 : 0); | |
if (j < 0) | |
break; | |
} | |
} | |
long s[3]; | |
long t[3]; | |
int | |
main (void) | |
{ | |
t[0] = 1; | |
t[1] = 2; | |
t[2] = 3; | |
f (s, t, 3, 3); | |
if (memcmp (s, t, sizeof (s)) != 0) | |
abort (); | |
return 0; | |
} | |