From 48c4d691bee7cfeb8cd9364b60bb2b899eba9ac0 Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Tue, 28 Nov 2000 20:44:30 +0100 Subject: loop.c (load_mems): Avoid using next_label to find end_label. * loop.c (load_mems): Avoid using next_label to find end_label. If jumping outside of the loop (other than loop end), don't hoist MEMs out of loop. * gcc.c-torture/execute/loop-8.c: New test. From-SVN: r37823 --- gcc/testsuite/gcc.c-torture/execute/loop-8.c | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 gcc/testsuite/gcc.c-torture/execute/loop-8.c (limited to 'gcc/testsuite/gcc.c-torture/execute/loop-8.c') diff --git a/gcc/testsuite/gcc.c-torture/execute/loop-8.c b/gcc/testsuite/gcc.c-torture/execute/loop-8.c new file mode 100644 index 0000000..e8d8cb5 --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/execute/loop-8.c @@ -0,0 +1,23 @@ +double a[3] = { 0.0, 1.0, 2.0 }; + +void bar (int x, double *y) +{ + if (x || *y != 1.0) + abort (); +} + +int main () +{ + double c; + int d; + for (d = 0; d < 3; d++) + { + c = a[d]; + if (c > 0.0) goto e; + } + bar(1, &c); + exit (1); +e: + bar(0, &c); + exit (0); +} -- cgit v1.1