From 5ded46ebfa8a73cd3931b3c1831d38dc4acea753 Mon Sep 17 00:00:00 2001 From: Andrew Pinski Date: Tue, 21 Mar 2006 18:58:50 +0000 Subject: [PATCH] re PR tree-optimization/26781 (ICE in tree-ssa-pre.c at create_component_ref_by_piec) 2006-03-21 Andrew Pinski PR tree-opt/26781 * tree-ssa-pre.c (create_component_ref_by_pieces): Handle STRING_CST. 2006-03-21 Andrew Pinski PR tree-opt/26781 * gcc.c-torture/compile/pr26781-1.c: New test. * gcc.c-torture/compile/pr26781-2.c: New test. From-SVN: r112254 --- gcc/ChangeLog | 6 ++++++ gcc/testsuite/ChangeLog | 6 ++++++ gcc/testsuite/gcc.c-torture/compile/pr26781-1.c | 11 +++++++++++ gcc/testsuite/gcc.c-torture/compile/pr26781-2.c | 11 +++++++++++ gcc/tree-ssa-pre.c | 1 + 5 files changed, 35 insertions(+) create mode 100644 gcc/testsuite/gcc.c-torture/compile/pr26781-1.c create mode 100644 gcc/testsuite/gcc.c-torture/compile/pr26781-2.c diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 58504cf91e9..cc64df97caa 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2006-03-21 Andrew Pinski + + PR tree-opt/26781 + * tree-ssa-pre.c (create_component_ref_by_pieces): + Handle STRING_CST. + 2006-03-21 Jakub Jelinek PR c++/26690 diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 2c983ad09da..eafe67c1dcf 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,9 @@ +2006-03-21 Andrew Pinski + + PR tree-opt/26781 + * gcc.c-torture/compile/pr26781-1.c: New test. + * gcc.c-torture/compile/pr26781-2.c: New test. + 2006-03-21 Jakub Jelinek PR c++/26690 diff --git a/gcc/testsuite/gcc.c-torture/compile/pr26781-1.c b/gcc/testsuite/gcc.c-torture/compile/pr26781-1.c new file mode 100644 index 00000000000..028919e5282 --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/compile/pr26781-1.c @@ -0,0 +1,11 @@ +void zconfdump(void) +{ + char *p, *p2; + for (p2 = p; p2; ) + { + char __a0, __a1, __a2; + __a0 = ((__const char *) ("\"\\"))[0]; + if (__a0) + return; + } +} diff --git a/gcc/testsuite/gcc.c-torture/compile/pr26781-2.c b/gcc/testsuite/gcc.c-torture/compile/pr26781-2.c new file mode 100644 index 00000000000..47168fdc63b --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/compile/pr26781-2.c @@ -0,0 +1,11 @@ +void zconfdump(__SIZE_TYPE__ i) +{ + for (;;) + { + char __a0; + __a0 = ("\"\\")[i]; + if (__a0) + return; + } +} + diff --git a/gcc/tree-ssa-pre.c b/gcc/tree-ssa-pre.c index eea38c3bca1..e9256215c66 100644 --- a/gcc/tree-ssa-pre.c +++ b/gcc/tree-ssa-pre.c @@ -2246,6 +2246,7 @@ create_component_ref_by_pieces (basic_block block, tree expr, tree stmts) case PARM_DECL: case RESULT_DECL: case SSA_NAME: + case STRING_CST: return genop; default: gcc_unreachable (); -- 2.30.2