(fold): Add missing test in case when we distribute a NOP_EXPR into a
authorRichard Kenner <kenner@gcc.gnu.org>
Thu, 15 Oct 1992 12:39:59 +0000 (08:39 -0400)
committerRichard Kenner <kenner@gcc.gnu.org>
Thu, 15 Oct 1992 12:39:59 +0000 (08:39 -0400)
COND_EXPR and try to pull it back out again.

From-SVN: r2476

gcc/fold-const.c

index 35bd93894323e7f8e4106efcda674f3caed678bf..5710556b360358973cdf9ffd023395946a747bb8 100644 (file)
@@ -3019,7 +3019,9 @@ fold (expr)
               || code == NON_LVALUE_EXPR)
              && TREE_CODE (t) == COND_EXPR
              && TREE_CODE (TREE_OPERAND (t, 1)) == code
-             && TREE_CODE (TREE_OPERAND (t, 2)) == code)
+             && TREE_CODE (TREE_OPERAND (t, 2)) == code
+             && (TREE_TYPE (TREE_OPERAND (TREE_OPERAND (t, 1), 0))
+                 == TREE_TYPE (TREE_OPERAND (TREE_OPERAND (t, 2), 0))))
            t = build1 (code, type,
                        build (COND_EXPR,
                               TREE_TYPE (TREE_OPERAND (TREE_OPERAND (t, 1), 0)),