diff options
Diffstat (limited to 'gcc/testsuite/gcc.c-torture/compile/20020103-1.c')
-rw-r--r-- | gcc/testsuite/gcc.c-torture/compile/20020103-1.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.c-torture/compile/20020103-1.c b/gcc/testsuite/gcc.c-torture/compile/20020103-1.c new file mode 100644 index 000000000..b9861688d --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/compile/20020103-1.c @@ -0,0 +1,22 @@ +/* This testcase failed on Alpha at -O2 when simplifying conditional + expressions. */ + +int foo (void); + +struct A +{ + int a, b, c, d; +}; + +void bar (struct A *x) +{ + int e, f; + + e = foo (); + e = e / x->b; + if (e < 1) + e = 1; + f = (x->a + x->c) / e; + if (f < x->d) + x->d -= (1 << 16) / 8; +} |