* gcc.c-torture/execute/built-in-setjmp.c: New.
authorRichard Kenner <kenner@vlsi1.ultra.nyu.edu>
Thu, 4 Jan 2001 19:02:01 +0000 (19:02 +0000)
committerRichard Kenner <kenner@gcc.gnu.org>
Thu, 4 Jan 2001 19:02:01 +0000 (14:02 -0500)
From-SVN: r38687

gcc/testsuite/ChangeLog
gcc/testsuite/gcc.c-torture/execute/built-in-setjmp.c [new file with mode: 0644]

index 204efd1cc3f3e58551a4198120d9bbb66d8006d7..6bda611f9c6e79827805fc6b8fb08016c34c2943 100644 (file)
@@ -1,3 +1,7 @@
+Thu Jan  4 13:54:11 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * gcc.c-torture/execute/built-in-setjmp.c: New.
+
 2001-01-03  Richard Henderson  <rth@redhat.com>
 
        * gcc.dg/940510-1.c: Update expected error wording.
diff --git a/gcc/testsuite/gcc.c-torture/execute/built-in-setjmp.c b/gcc/testsuite/gcc.c-torture/execute/built-in-setjmp.c
new file mode 100644 (file)
index 0000000..b63c4ea
--- /dev/null
@@ -0,0 +1,33 @@
+int buf[20];
+
+int
+main ()
+{
+  char *p = (char *) alloca (20);
+
+  strcpy (p, "test");
+
+  if (__builtin_setjmp (buf))
+    {
+      if (strcmp (p, "test") != 0)
+       abort ();
+
+      exit (0);
+    }
+
+  {
+    int *q = (int *) alloca (p[2] * sizeof (int));
+    int i;
+    
+    for (i = 0; i < p[2]; i++)
+      q[i] = 0;
+
+    while (1)
+      sub2 ();
+  }
+}
+
+sub2 ()
+{
+  __builtin_longjmp (buf, 1);
+}