From 08a02c9e08261f946b72ab944cdbb2556b91c283 Mon Sep 17 00:00:00 2001 From: Falk Hueffner Date: Mon, 9 Aug 2004 01:17:23 +0200 Subject: [PATCH] re PR tree-optimization/12517 ([tree-ssa] ICE in bsi_insert_on_edge_immediate) PR tree-optimization/12517 * gcc.c-torture/compile/pr12517.c: New test. PR tree-optimization/12578 * gcc.c-torture/compile/pr12578.c: New test. PR tree-optimization/12899 * gcc.c-torture/compile/pr12899.c: New test. PR rtl-optimization/14692 * gcc.c-torture/compile/pr14692.c: New test. PR tree-optimization/16461 * gcc.c-torture/compile/pr16461.c: New test. From-SVN: r85698 --- gcc/testsuite/ChangeLog | 17 +++++++++++++++++ gcc/testsuite/gcc.c-torture/compile/pr12517.c | 19 +++++++++++++++++++ gcc/testsuite/gcc.c-torture/compile/pr12578.c | 15 +++++++++++++++ gcc/testsuite/gcc.c-torture/compile/pr12899.c | 11 +++++++++++ gcc/testsuite/gcc.c-torture/compile/pr14692.c | 14 ++++++++++++++ gcc/testsuite/gcc.c-torture/compile/pr16461.c | 14 ++++++++++++++ 6 files changed, 90 insertions(+) create mode 100644 gcc/testsuite/gcc.c-torture/compile/pr12517.c create mode 100644 gcc/testsuite/gcc.c-torture/compile/pr12578.c create mode 100644 gcc/testsuite/gcc.c-torture/compile/pr12899.c create mode 100644 gcc/testsuite/gcc.c-torture/compile/pr14692.c create mode 100644 gcc/testsuite/gcc.c-torture/compile/pr16461.c diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 8caed21c95a..2fde4b2163d 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,20 @@ +2004-08-09 Falk Hueffner + + PR tree-optimization/12517 + * gcc.c-torture/compile/pr12517.c: New test. + + PR tree-optimization/12578 + * gcc.c-torture/compile/pr12578.c: New test. + + PR tree-optimization/12899 + * gcc.c-torture/compile/pr12899.c: New test. + + PR rtl-optimization/14692 + * gcc.c-torture/compile/pr14692.c: New test. + + PR tree-optimization/16461 + * gcc.c-torture/compile/pr16461.c: New test. + 2004-08-06 Janne Blomqvist * gfortran.dg/getenv_1.f90: New test. diff --git a/gcc/testsuite/gcc.c-torture/compile/pr12517.c b/gcc/testsuite/gcc.c-torture/compile/pr12517.c new file mode 100644 index 00000000000..af82db8f46a --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/compile/pr12517.c @@ -0,0 +1,19 @@ +/* PR tree-optimization/12517 */ + +int f(void); +void g(int); +void h(int a, int b, int c) +{ + int i = f(); + + if (b && (i & 4)) + g(i & 8 ? 0 : 1); + if (a) { + do { + if (i & 8) + g(0); + if (i & 4) + g(i ? 0 : 1); + } while (--c); + } +} diff --git a/gcc/testsuite/gcc.c-torture/compile/pr12578.c b/gcc/testsuite/gcc.c-torture/compile/pr12578.c new file mode 100644 index 00000000000..69afffe00d2 --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/compile/pr12578.c @@ -0,0 +1,15 @@ +/* PR tree-optimization/12517 */ + +void trivial_regexp_p(int *s, int len) +{ + while (--len) { + switch (*s++) { + case '\\': + switch (*s++) { + case '|': + ; + } + } + } +} + diff --git a/gcc/testsuite/gcc.c-torture/compile/pr12899.c b/gcc/testsuite/gcc.c-torture/compile/pr12899.c new file mode 100644 index 00000000000..6bd4724fd74 --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/compile/pr12899.c @@ -0,0 +1,11 @@ +/* PR tree-optimization/12899 */ + +void +bb_getopt_ulflags (char *s) +{ + for (;;) + if (s[1]) + do + s++; + while (*s); +} diff --git a/gcc/testsuite/gcc.c-torture/compile/pr14692.c b/gcc/testsuite/gcc.c-torture/compile/pr14692.c new file mode 100644 index 00000000000..3f36b3ccb2b --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/compile/pr14692.c @@ -0,0 +1,14 @@ +/* PR rtl-optimization/14692 */ + +void assert_failed (void); +void eidecpos_1 (unsigned char *pos, long n) +{ + int i; + for (i = 0; i < n; i++) + { + const unsigned char *dc_ptr1 = pos; + pos--; + if (dc_ptr1 - pos == 1) + assert_failed (); + } +} diff --git a/gcc/testsuite/gcc.c-torture/compile/pr16461.c b/gcc/testsuite/gcc.c-torture/compile/pr16461.c new file mode 100644 index 00000000000..b48eee2058a --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/compile/pr16461.c @@ -0,0 +1,14 @@ +/* PR tree-optimization/16461 */ + +int DVDinput_read(int); +int DVDReadBlocksPath(int offset, int block_count) { + int ret = 0, ret2 = 0; + for (;;) { + if (offset) + ret = DVDinput_read(block_count); + else + ret2 = DVDinput_read(block_count); + break; + } + return ret + ret2; +} -- 2.30.2