1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
/* PR tree-optimization/43560 */ struct S { int a, b; char c[10]; }; __attribute__ ((noinline)) void test (struct S *x) { while (x->b > 1 && x->c[x->b - 1] == '/') { x->b--; x->c[x->b] = '\0'; } } const struct S s = { 0, 0, "" }; int main () { struct S *p; asm ("" : "=r" (p) : "0" (&s)); test (p); return 0; }