From: Roger Sayle Date: Mon, 16 May 2005 19:40:35 +0000 (+0000) Subject: c-common.c (c_common_truthvalue_conversion): Use fold_build2 instead of build_binary_... X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=cb3b1e70906bc80f8592153b7dfea00817e22351;p=gcc.git c-common.c (c_common_truthvalue_conversion): Use fold_build2 instead of build_binary_op when... * c-common.c (c_common_truthvalue_conversion): Use fold_build2 instead of build_binary_op when performing code transformations to avoid error messages about constructs not it the user's code. From-SVN: r99791 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 9353bdb3a35..5605cc200ab 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2005-05-16 Roger Sayle + + * c-common.c (c_common_truthvalue_conversion): Use fold_build2 + instead of build_binary_op when performing code transformations + to avoid error messages about constructs not it the user's code. + 2005-05-16 Kazu Hirata * tree-ssa-pre.c: Fix a comment typo. diff --git a/gcc/c-common.c b/gcc/c-common.c index b2ba01e7e91..ecbe4024956 100644 --- a/gcc/c-common.c +++ b/gcc/c-common.c @@ -2462,12 +2462,12 @@ c_common_truthvalue_conversion (tree expr) two objects. */ if (TREE_TYPE (TREE_OPERAND (expr, 0)) == TREE_TYPE (TREE_OPERAND (expr, 1))) - return build_binary_op (NE_EXPR, TREE_OPERAND (expr, 0), - TREE_OPERAND (expr, 1), 1); - return build_binary_op (NE_EXPR, TREE_OPERAND (expr, 0), - fold (build1 (NOP_EXPR, - TREE_TYPE (TREE_OPERAND (expr, 0)), - TREE_OPERAND (expr, 1))), 1); + return fold_build2 (NE_EXPR, truthvalue_type_node, + TREE_OPERAND (expr, 0), TREE_OPERAND (expr, 1)); + return fold_build2 (NE_EXPR, truthvalue_type_node, + TREE_OPERAND (expr, 0), + fold_convert (TREE_TYPE (TREE_OPERAND (expr, 0)), + TREE_OPERAND (expr, 1))); case BIT_AND_EXPR: if (integer_onep (TREE_OPERAND (expr, 1))