1 __attribute__ ((__noinline__)) sf(char * s,char * s0)2char *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 main()15int 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 } 23