]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR middle-end/26977 (ICE in emit_move_insn)
authorRoger Sayle <roger@eyesopen.com>
Sun, 2 Apr 2006 22:23:44 +0000 (22:23 +0000)
committerRoger Sayle <sayle@gcc.gnu.org>
Sun, 2 Apr 2006 22:23:44 +0000 (22:23 +0000)
PR middle-end/26977
* expr.c (emit_group_store): Check whether simplify_gen_subreg returns
NULL_RTX, indicating it couldn't create a valid paradoxical subreg.

From-SVN: r112626

gcc/ChangeLog
gcc/expr.c

index 213b2a596605033be0287419ec8c25bf785dc9da..c9f490232ca2a250f8307482628b64a90cfa5449 100644 (file)
@@ -1,3 +1,9 @@
+2006-04-02  Roger Sayle  <roger@eyesopen.com>
+
+       PR middle-end/26977
+       * expr.c (emit_group_store): Check whether simplify_gen_subreg returns
+       NULL_RTX, indicating it couldn't create a valid paradoxical subreg.
+
 2006-04-02  Sebastian Pop  <pop@cri.ensmp.fr>
 
        PR tree-optimization/26939
index 324a427f687f0e5dc46adb39ccc960497e321d85..81cac760cd3340c691244cfba7ee20eb14b9d951 100644 (file)
@@ -1945,9 +1945,12 @@ emit_group_store (rtx orig_dst, rtx src, tree type ATTRIBUTE_UNUSED, int ssize)
            {
              temp = simplify_gen_subreg (outer, tmps[start],
                                          inner, bytepos);
-             emit_move_insn (dst, temp);
-             done = true;
-             start++;
+             if (temp)
+               {
+                 emit_move_insn (dst, temp);
+                 done = true;
+                 start++;
+               }
            }
        }
 
@@ -1961,9 +1964,12 @@ emit_group_store (rtx orig_dst, rtx src, tree type ATTRIBUTE_UNUSED, int ssize)
            {
              temp = simplify_gen_subreg (outer, tmps[finish - 1],
                                          inner, bytepos);
-             emit_move_insn (dst, temp);
-             done = true;
-             finish--;
+             if (temp)
+               {
+                 emit_move_insn (dst, temp);
+                 done = true;
+                 finish--;
+               }
            }
        }