From 58cee64304cf9f429969083f1dee99d1c51cb2c5 Mon Sep 17 00:00:00 2001 From: Richard Kenner Date: Wed, 31 May 1995 07:31:46 -0400 Subject: [PATCH] (truthvalue_conversion, BIT_AND_EXPR): Make sure that the result has boolean_type_node. From-SVN: r9844 --- gcc/c-common.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/gcc/c-common.c b/gcc/c-common.c index acd66d0abae..dac7d804a7d 100644 --- a/gcc/c-common.c +++ b/gcc/c-common.c @@ -2103,8 +2103,11 @@ truthvalue_conversion (expr) TREE_OPERAND (expr, 1))), 1); case BIT_AND_EXPR: - if (integer_onep (TREE_OPERAND (expr, 1))) - return expr; + if (integer_onep (TREE_OPERAND (expr, 1)) + && TREE_TYPE (expr) != boolean_type_node) + /* Using convert here would cause infinite recursion. */ + return build1 (NOP_EXPR, boolean_type_node, expr); + break; case MODIFY_EXPR: if (warn_parentheses && C_EXP_ORIGINAL_CODE (expr) == MODIFY_EXPR)