* cp-gimplify.c (cp_fold): Use fold_build*.
authorJason Merrill <jason@redhat.com>
Wed, 2 Dec 2015 19:04:32 +0000 (14:04 -0500)
committerJason Merrill <jason@gcc.gnu.org>
Wed, 2 Dec 2015 19:04:32 +0000 (14:04 -0500)
From-SVN: r231195

gcc/cp/ChangeLog
gcc/cp/cp-gimplify.c

index ebd567a0dce7600f3ec5eff471cc7daad5757b78..259c312d57f6bb3bac379f1dc80781107cf99c19 100644 (file)
@@ -1,3 +1,7 @@
+2015-12-02  Jason Merrill  <jason@redhat.com>
+
+       * cp-gimplify.c (cp_fold): Use fold_build*.
+
 2015-12-02  Joseph Myers  <joseph@codesourcery.com>
 
        PR c/68162
index 3c89f1b05d0e2b54e4d929e5a31c5cff87c4df8a..86fef9ee4c6511dab0b602d912f1c72441f5ddce 100644 (file)
@@ -1944,9 +1944,9 @@ cp_fold (tree x)
       op0 = cp_fold (op0);
 
       if (op0 != TREE_OPERAND (x, 0))
-        x = build1_loc (loc, code, TREE_TYPE (x), op0);
-
-      x = fold (x);
+        x = fold_build1_loc (loc, code, TREE_TYPE (x), op0);
+      else
+       x = fold (x);
 
       /* Conversion of an out-of-range value has implementation-defined
         behavior; the language considers it different from arithmetic
@@ -1976,9 +1976,9 @@ cp_fold (tree x)
       op0 = cp_fold (TREE_OPERAND (x, 0));
 
       if (op0 != TREE_OPERAND (x, 0))
-        x = build1_loc (loc, code, TREE_TYPE (x), op0);
-
-      x = fold (x);
+        x = fold_build1_loc (loc, code, TREE_TYPE (x), op0);
+      else
+       x = fold (x);
 
       gcc_assert (TREE_CODE (x) != COND_EXPR
                  || !VOID_TYPE_P (TREE_TYPE (TREE_OPERAND (x, 0))));
@@ -2048,9 +2048,9 @@ cp_fold (tree x)
        op0 = build_empty_stmt (loc);
 
       if (op0 != TREE_OPERAND (x, 0) || op1 != TREE_OPERAND (x, 1))
-       x = build2_loc (loc, code, TREE_TYPE (x), op0, op1);
-
-      x = fold (x);
+       x = fold_build2_loc (loc, code, TREE_TYPE (x), op0, op1);
+      else
+       x = fold (x);
 
       if (TREE_CODE (x) == COMPOUND_EXPR && TREE_OPERAND (x, 0) == NULL_TREE
          && TREE_OPERAND (x, 1))