re PR tree-optimization/26781 (ICE in tree-ssa-pre.c at create_component_ref_by_piec)
authorAndrew Pinski <pinskia@physics.uc.edu>
Tue, 21 Mar 2006 18:58:50 +0000 (18:58 +0000)
committerAndrew Pinski <pinskia@gcc.gnu.org>
Tue, 21 Mar 2006 18:58:50 +0000 (10:58 -0800)
2006-03-21  Andrew Pinski  <pinskia@physics.uc.edu>

        PR tree-opt/26781
        * tree-ssa-pre.c (create_component_ref_by_pieces):
        Handle STRING_CST.
2006-03-21  Andrew Pinski  <pinskia@physics.uc.edu>

        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
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.c-torture/compile/pr26781-1.c [new file with mode: 0644]
gcc/testsuite/gcc.c-torture/compile/pr26781-2.c [new file with mode: 0644]
gcc/tree-ssa-pre.c

index 58504cf91e9a0ba29ab01447625f812d2c8218b9..cc64df97caa8758af430d9086984a932ea931ee6 100644 (file)
@@ -1,3 +1,9 @@
+2006-03-21  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       PR tree-opt/26781
+       * tree-ssa-pre.c (create_component_ref_by_pieces):
+       Handle STRING_CST.
+
 2006-03-21  Jakub Jelinek  <jakub@redhat.com>
 
        PR c++/26690
index 2c983ad09da3468bb39dfa7c256f4bb3f342a68f..eafe67c1dcf4a43445c60a22835adc0794c05942 100644 (file)
@@ -1,3 +1,9 @@
+2006-03-21  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       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  <jakub@redhat.com>
 
        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 (file)
index 0000000..028919e
--- /dev/null
@@ -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 (file)
index 0000000..47168fd
--- /dev/null
@@ -0,0 +1,11 @@
+void zconfdump(__SIZE_TYPE__ i)
+{
+  for (;;)
+    {
+      char __a0;
+      __a0 = ("\"\\")[i];
+      if (__a0)
+        return;
+    }
+}
+
index eea38c3bca10b986e6e4d84b8a2cf003f237537d..e9256215c662e08119087280dceb7a557412cf45 100644 (file)
@@ -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 ();