diff options
Diffstat (limited to 'gcc/c-common.c')
| -rw-r--r-- | gcc/c-common.c | 12 |
1 files changed, 6 insertions, 6 deletions
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)) |

