1 extern void abort (void); 2 3 extern __SIZE_TYPE__ strlen (const char *); foo(char * str)4void foo(char *str) 5 { 6 int len2 = strlen (str); 7 char *a = (char *) __builtin_alloca (0); 8 char *b = (char *) __builtin_alloca (len2*3); 9 10 if ((int) (a-b) < (len2*3)) 11 { 12 #ifdef _WIN32 13 abort (); 14 #endif 15 return; 16 } 17 } 18 19 static char * volatile argp = "pr36321.x"; 20 main(int argc,char ** argv)21int main(int argc, char **argv) 22 { 23 foo (argp); 24 return 0; 25 } 26 27