blob: 75101145afc0584988b02f6c258de023aa63591d [file] [log] [blame]
/* PR rtl-optimization/57459 */
/* { dg-do run } */
/* { dg-options "-fno-inline -O2 -minline-all-stringops -fno-omit-frame-pointer" } */
int total1[10], total2[10], total3[10], total4[10], total5[10], a[20];
int len;
void stackclean() {
void *ptr = __builtin_alloca(20000);
__builtin_memset(ptr, 0, 20000);
}
void foo(const char *s) {
int r1 = a[1];
int r2 = a[2];
int r3 = a[3];
int r4 = a[4];
int r5 = a[5];
len = __builtin_strlen(s);
if (s != 0)
return;
while (r1) {
total1[r1] = r1;
r1--;
}
while (r2) {
total2[r2] = r2;
r2--;
}
while (r3) {
total3[r3] = r3;
r3--;
}
while (r4) {
total4[r4] = r4;
r4--;
}
while (r5) {
total5[r5] = r5;
r5--;
}
}
extern void abort (void);
int main() {
stackclean();
foo("abcdefgh");
if (len != 8)
abort ();
return 0;
}