aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJeffrey A Law <law@cygnus.com>1998-05-26 22:41:54 +0000
committerJeff Law <law@gcc.gnu.org>1998-05-26 16:41:54 -0600
commit74cd6867e7086687664dd3828c87d7a8bce736cd (patch)
treee1e5724ab50f2201263db29cfb70c36a1aa79b30 /gcc
parenta07c9e2b459a19d618ee49e0a72d7b682b1ffbc7 (diff)
downloadgcc-74cd6867e7086687664dd3828c87d7a8bce736cd.zip
gcc-74cd6867e7086687664dd3828c87d7a8bce736cd.tar.gz
gcc-74cd6867e7086687664dd3828c87d7a8bce736cd.tar.bz2
* gcc.c-torture/execute/980526-1.c: New test.
From-SVN: r20072
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/ChangeLog4
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/980526-1.c35
2 files changed, 39 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 873d004..fbcd044 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,7 @@
+Tue May 26 23:40:40 1998 Jeffrey A Law (law@cygnus.com)
+
+ * gcc.c-torture/execute/980526-1.c: New test.
+
1998-05-26 Dave Love <d.love@dl.ac.uk>
* g77.f-torture/execute/alpha2.f: Add runtime test.
diff --git a/gcc/testsuite/gcc.c-torture/execute/980526-1.c b/gcc/testsuite/gcc.c-torture/execute/980526-1.c
new file mode 100644
index 0000000..491068f
--- /dev/null
+++ b/gcc/testsuite/gcc.c-torture/execute/980526-1.c
@@ -0,0 +1,35 @@
+int expect_do1 = 1, expect_do2 = 2;
+
+static int doit(int x){
+ __label__ lbl1;
+ __label__ lbl2;
+ static int jtab_init = 0;
+ static void *jtab[2];
+
+ if(!jtab_init) {
+ jtab[0] = &&lbl1;
+ jtab[1] = &&lbl2;
+ jtab_init = 1;
+ }
+ goto *jtab[x];
+lbl1:
+ return 1;
+lbl2:
+ return 2;
+}
+
+static void do1(void) {
+ if (doit(0) != expect_do1)
+ abort ();
+}
+
+static void do2(void){
+ if (doit(1) != expect_do2)
+ abort ();
+}
+
+int main(void){
+ do1();
+ do2();
+ exit(0);
+}