aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2001-09-12 22:58:29 +0200
committerJakub Jelinek <jakub@gcc.gnu.org>2001-09-12 22:58:29 +0200
commitc1d4e7e179b75e2a8674164a36f1290b5062079e (patch)
tree032571f40645152b90bda75e17f5c825eea8f43e
parentd5c768b8ca9c3503607ec0199abb66c75d1104c6 (diff)
downloadgcc-c1d4e7e179b75e2a8674164a36f1290b5062079e.zip
gcc-c1d4e7e179b75e2a8674164a36f1290b5062079e.tar.gz
gcc-c1d4e7e179b75e2a8674164a36f1290b5062079e.tar.bz2
* gcc.dg/20010912-1.c: New test.
From-SVN: r45571
-rw-r--r--gcc/testsuite/ChangeLog4
-rw-r--r--gcc/testsuite/gcc.dg/20010912-1.c48
2 files changed, 52 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 67aa0ba..7a0026b 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,7 @@
+2001-09-12 Jakub Jelinek <jakub@redhat.com>
+
+ * gcc.dg/20010912-1.c: New test.
+
2001-09-11 Janis Johnson <janis187@us.ibm.com>
* gcc.misc-tests/gcov.exp: Move almost everything to a new,
diff --git a/gcc/testsuite/gcc.dg/20010912-1.c b/gcc/testsuite/gcc.dg/20010912-1.c
new file mode 100644
index 0000000..b33b729
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/20010912-1.c
@@ -0,0 +1,48 @@
+/* { dg-do run } */
+/* { dg-options "-O2 -fpic" } */
+
+extern void abort (void);
+extern void exit (int);
+
+int bar (int x, char **y)
+{
+ if (x != 56)
+ abort ();
+ if (**y != 'a')
+ abort ();
+ *y = "def";
+ return 1;
+}
+
+int baz (int x, char **y)
+{
+ if (x != 56)
+ abort ();
+ if (**y != 'a')
+ abort ();
+ return 26;
+}
+
+int foo (int x, char *y)
+{
+ int a;
+ char *b = y;
+ a = bar (x, &y);
+ if (a)
+ {
+ y = b;
+ a = baz (x, &y);
+ }
+ if (a)
+ return a;
+
+ baz (x, &y);
+ return 0;
+}
+
+int main ()
+{
+ if (foo (56, "abc") != 26)
+ abort ();
+ exit (0);
+}