1 extern void abort (void); 2 int __attribute__((noinline,noclone)) foo(char * p)3foo (char *p) 4 { 5 int h = 0; 6 do 7 { 8 if (*p == '\0') 9 break; 10 ++h; 11 if (p == 0) 12 abort (); 13 ++p; 14 } 15 while (1); 16 return h; 17 } main()18int main() 19 { 20 if (foo("a") != 1) 21 abort (); 22 return 0; 23 } 24