1  __attribute__ ((__noinline__))
       2  char *sf(char *s, char *s0)
       3  {
       4    asm ("");
       5    while (*--s == '9')
       6      if (s == s0)
       7        {
       8  	*s = '0';
       9  	break;
      10        }
      11    ++*s++;
      12    return s;
      13  }
      14  
      15  int main()
      16  {
      17    char s[] = "999999";
      18    char *x = sf (s+2, s);
      19    if (x != s+1 || __builtin_strcmp (s, "199999") != 0)
      20      __builtin_abort ();
      21    return 0;
      22  }