aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorGeoff Keating <geoffk@cygnus.com>2000-04-27 00:11:52 +0000
committerGeoffrey Keating <geoffk@gcc.gnu.org>2000-04-27 00:11:52 +0000
commitf4c150e50bbb3bc7262bd538429c378ac8b5a845 (patch)
tree281cae791183df8592b38c23b35bd88dd9b40803 /gcc
parent466d45de58fe9101cf4438fab46443606c191586 (diff)
downloadgcc-f4c150e50bbb3bc7262bd538429c378ac8b5a845.zip
gcc-f4c150e50bbb3bc7262bd538429c378ac8b5a845.tar.gz
gcc-f4c150e50bbb3bc7262bd538429c378ac8b5a845.tar.bz2
* execute/loop-5.c: New test.
From-SVN: r33450
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/gcc.c-torture/ChangeLog4
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/loop-5.c36
2 files changed, 40 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.c-torture/ChangeLog b/gcc/testsuite/gcc.c-torture/ChangeLog
index 365bc6a..23df8a7 100644
--- a/gcc/testsuite/gcc.c-torture/ChangeLog
+++ b/gcc/testsuite/gcc.c-torture/ChangeLog
@@ -1,3 +1,7 @@
+2000-04-26 Geoff Keating <geoffk@cygnus.com>
+
+ * execute/loop-5.c: New test.
+
2000-04-25 Jakub Jelinek <jakub@redhat.com>
* execute/va-arg-20.c: New test.
diff --git a/gcc/testsuite/gcc.c-torture/execute/loop-5.c b/gcc/testsuite/gcc.c-torture/execute/loop-5.c
new file mode 100644
index 0000000..44ece27
--- /dev/null
+++ b/gcc/testsuite/gcc.c-torture/execute/loop-5.c
@@ -0,0 +1,36 @@
+static int ap(int i);
+static void testit(void){
+ int ir[4] = {0,1,2,3};
+ int ix,n,m;
+ n=1; m=3;
+ for (ix=1;ix<=4;ix++) {
+ if (n == 1) m = 4;
+ else m = n-1;
+ ap(ir[n-1]);
+ n = m;
+ }
+}
+
+static int t = 0;
+static int a[4];
+
+static int ap(int i){
+ if (t > 3)
+ abort();
+ a[t++] = i;
+ return 1;
+}
+
+int main(void)
+{
+ testit();
+ if (a[0] != 0)
+ abort();
+ if (a[1] != 3)
+ abort();
+ if (a[2] != 2)
+ abort();
+ if (a[3] != 1)
+ abort();
+ exit(0);
+}