From c35387e14925effce7fe49d602ba4999192dcee9 Mon Sep 17 00:00:00 2001 From: bothner Date: Sat, 18 Sep 1993 04:43:29 +0000 Subject: [PATCH] (invert_truthvalue): Allow arbitrary BOOLEAN_TYPE arguments. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@5351 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/fold-const.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/gcc/fold-const.c b/gcc/fold-const.c index 4f0e8b89de3..62ead45de86 100644 --- a/gcc/fold-const.c +++ b/gcc/fold-const.c @@ -2181,12 +2181,14 @@ invert_truthvalue (arg) invert_truthvalue (TREE_OPERAND (arg, 0))); case BIT_AND_EXPR: - if (! integer_onep (TREE_OPERAND (arg, 1))) - abort (); + if (!integer_onep (TREE_OPERAND (arg, 1))) + break; return build (EQ_EXPR, type, arg, convert (type, integer_zero_node)); - } - abort (); + } + if (TREE_CODE (TREE_TYPE (arg)) != BOOLEAN_TYPE) + abort(); + return build1 (TRUTH_NOT_EXPR, type, arg); } /* Given a bit-wise operation CODE applied to ARG0 and ARG1, see if both -- 2.11.0