From 221df0b62dc4484e464aa9735609d069a62f0996 Mon Sep 17 00:00:00 2001 From: Kai Tietz Date: Fri, 13 May 2011 11:21:36 +0200 Subject: [PATCH] re PR middle-end/48984 (Many testsuite failures) 2011-05-13 Kai Tietz PR middle-end/48984 * gimplify.c (gimplify_expr): Check for boolean_type_node instead for BOOLEAN_TYPE for TRUTH-NOT/AND/OR/XOR. (gimple_boolify): Check for cast for boolean_type_node instead for BOOLEAN_TYPE. From-SVN: r173726 --- gcc/ChangeLog | 8 ++++++++ gcc/gimplify.c | 6 +++--- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index bd8db53a3f7..d9ae05a491d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2011-05-13 Kai Tietz + + PR middle-end/48984 + * gimplify.c (gimplify_expr): Check for boolean_type_node instead + for BOOLEAN_TYPE for TRUTH-NOT/AND/OR/XOR. + (gimple_boolify): Check for cast for boolean_type_node instead for + BOOLEAN_TYPE. + 2011-05-13 Richard Guenther PR tree-optimization/48172 diff --git a/gcc/gimplify.c b/gcc/gimplify.c index c54d3b5dcfc..33a76a266a8 100644 --- a/gcc/gimplify.c +++ b/gcc/gimplify.c @@ -2848,7 +2848,7 @@ gimple_boolify (tree expr) default: /* Other expressions that get here must have boolean values, but might need to be converted to the appropriate mode. */ - if (TREE_CODE (type) == BOOLEAN_TYPE) + if (type == boolean_type_node) return expr; return fold_convert_loc (loc, boolean_type_node, expr); } @@ -6754,7 +6754,7 @@ gimplify_expr (tree *expr_p, gimple_seq *pre_p, gimple_seq *post_p, } case TRUTH_NOT_EXPR: - if (TREE_CODE (TREE_TYPE (*expr_p)) != BOOLEAN_TYPE) + if (TREE_TYPE (*expr_p) != boolean_type_node) { tree type = TREE_TYPE (*expr_p); *expr_p = fold_convert (type, gimple_boolify (*expr_p)); @@ -7199,7 +7199,7 @@ gimplify_expr (tree *expr_p, gimple_seq *pre_p, gimple_seq *post_p, fold_truth_not_expr) happily uses operand type and doesn't automatically uses boolean_type as result, we need to keep orignal type. */ - if (TREE_CODE (org_type) != BOOLEAN_TYPE) + if (org_type != boolean_type_node) { *expr_p = fold_convert (org_type, *expr_p); ret = GS_OK; -- 2.30.2