__attribute__ ((__noinline__)) | |
char *sf(char *s, char *s0) | |
{ | |
asm (""); | |
while (*--s == '9') | |
if (s == s0) | |
{ | |
*s = '0'; | |
break; | |
} | |
++*s++; | |
return s; | |
} | |
int main() | |
{ | |
char s[] = "999999"; | |
char *x = sf (s+2, s); | |
if (x != s+1 || __builtin_strcmp (s, "199999") != 0) | |
__builtin_abort (); | |
return 0; | |
} |