diff options
Diffstat (limited to 'gcc/testsuite/gcc.dg/loop-2.c')
-rw-r--r-- | gcc/testsuite/gcc.dg/loop-2.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.dg/loop-2.c b/gcc/testsuite/gcc.dg/loop-2.c new file mode 100644 index 000000000..fa96f8927 --- /dev/null +++ b/gcc/testsuite/gcc.dg/loop-2.c @@ -0,0 +1,23 @@ +/* PR optimization/10171 */ +/* Bug: unroll_loop misoptimized the function so that we got + 0 iterations of the loop rather than the correct 1. */ +/* { dg-do run } */ + +extern void abort (void); +extern void exit (int); + +__inline__ int tag() { return 0; } + +void f (); + +int main() { + int i; + for (i = 0; i < (tag() ? 2 : 1); i++) + f(); + abort (); +} + +void f () +{ + exit (0); +} |