From e9ea372d08324b38acbc7234e803f8f128c439b8 Mon Sep 17 00:00:00 2001 From: Jason Merrill Date: Wed, 2 Dec 2015 14:04:32 -0500 Subject: [PATCH] * cp-gimplify.c (cp_fold): Use fold_build*. From-SVN: r231195 --- gcc/cp/ChangeLog | 4 ++++ gcc/cp/cp-gimplify.c | 18 +++++++++--------- 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index ebd567a0dce..259c312d57f 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,7 @@ +2015-12-02 Jason Merrill + + * cp-gimplify.c (cp_fold): Use fold_build*. + 2015-12-02 Joseph Myers PR c/68162 diff --git a/gcc/cp/cp-gimplify.c b/gcc/cp/cp-gimplify.c index 3c89f1b05d0..86fef9ee4c6 100644 --- a/gcc/cp/cp-gimplify.c +++ b/gcc/cp/cp-gimplify.c @@ -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)) -- 2.30.2