aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorAlexandre Oliva <aoliva@redhat.com>2000-09-11 21:00:19 +0000
committerAlexandre Oliva <aoliva@gcc.gnu.org>2000-09-11 21:00:19 +0000
commitda88b352787b53926ba3038983289a59ddaea887 (patch)
treed53570dbea388988701a8badd790d7f31b962ce2 /gcc
parent2a1da89b745d35fa6d29c83dc237765eb5811009 (diff)
downloadgcc-da88b352787b53926ba3038983289a59ddaea887.zip
gcc-da88b352787b53926ba3038983289a59ddaea887.tar.gz
gcc-da88b352787b53926ba3038983289a59ddaea887.tar.bz2
20000910-1.c: New test.
* gcc.c-torture/execute/20000910-1.c: New test. * gcc.c-torture/execute/20000910-2.c: Likewise. From-SVN: r36328
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/20000910-1.c27
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/20000910-2.c28
3 files changed, 60 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 3fbaaa0..f9a0543 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2000-09-11 Alexandre Oliva <aoliva@redhat.com>
+
+ * gcc.c-torture/execute/20000910-1.c: New test.
+ * gcc.c-torture/execute/20000910-2.c: Likewise.
+
2000-09-11 Robert Lipe <robertl@sco.com>
* gcc.dg/pragma-align.c: New test.
diff --git a/gcc/testsuite/gcc.c-torture/execute/20000910-1.c b/gcc/testsuite/gcc.c-torture/execute/20000910-1.c
new file mode 100644
index 0000000..0c3c602
--- /dev/null
+++ b/gcc/testsuite/gcc.c-torture/execute/20000910-1.c
@@ -0,0 +1,27 @@
+/* Copyright (C) 2000 Free Software Foundation */
+/* by Alexandre Oliva <aoliva@redhat.com> */
+
+#include <stdlib.h>
+
+void bar (int);
+void foo (int *);
+
+int main () {
+ static int a[] = { 0, 1, 2 };
+ int *i = &a[sizeof(a)/sizeof(*a)];
+
+ while (i-- > a)
+ foo (i);
+
+ exit (0);
+}
+
+void baz (int, int);
+
+void bar (int i) { baz (i, i); }
+void foo (int *i) { bar (*i); }
+
+void baz (int i, int j) {
+ if (i != j)
+ abort ();
+}
diff --git a/gcc/testsuite/gcc.c-torture/execute/20000910-2.c b/gcc/testsuite/gcc.c-torture/execute/20000910-2.c
new file mode 100644
index 0000000..0023d24
--- /dev/null
+++ b/gcc/testsuite/gcc.c-torture/execute/20000910-2.c
@@ -0,0 +1,28 @@
+/* Copyright (C) 2000 Free Software Foundation */
+/* by Alexandre Oliva <aoliva@redhat.com> */
+
+#include <stdlib.h>
+#include <string.h>
+
+char *list[] = { "*", "e" };
+
+static int bar (const char *fmt) {
+ return (strchr (fmt, '*') != 0);
+}
+
+static void foo () {
+ int i;
+ for (i = 0; i < sizeof (list) / sizeof (*list); i++) {
+ const char *fmt = list[i];
+ if (bar (fmt))
+ continue;
+ if (i == 0)
+ abort ();
+ else
+ exit (0);
+ }
+}
+
+int main () {
+ foo ();
+}