1  inline int foo(int *p1, int p2) {
       2    int z = *p1;
       3    while (z > p2)
       4      p2 = 2;
       5    return z;
       6  }
       7  int main() {
       8    int i;
       9    for (;;) {
      10      int j, k;
      11      i = foo(&k, 7);
      12      if (k)
      13        j = i;
      14      else
      15        k = j;
      16      if (2 != j)
      17        __builtin_abort();
      18    }
      19  }