FSF GCC merge 02/23/03
[official-gcc.git] / gcc / testsuite / gcc.c-torture / execute / built-in-setjmp.c
blob9da787884dd87c51857590145ea5f4f991bdd00b
1 extern int strcmp(const char *, const char *);
2 extern char *strcpy(char *, const char *);
3 extern void abort(void);
4 extern void exit(int);
6 void *buf[20];
8 void __attribute__((noinline))
9 sub2 (void)
11 __builtin_longjmp (buf, 1);
14 int
15 main ()
17 char *p = (char *) __builtin_alloca (20);
19 strcpy (p, "test");
21 if (__builtin_setjmp (buf))
23 if (strcmp (p, "test") != 0)
24 abort ();
26 exit (0);
30 int *q = (int *) __builtin_alloca (p[2] * sizeof (int));
31 int i;
33 for (i = 0; i < p[2]; i++)
34 q[i] = 0;
36 while (1)
37 sub2 ();