From: Richard Stallman Date: Thu, 8 Oct 1992 08:30:25 +0000 (+0000) Subject: (invert_truthvalue): Never alter ARG. X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=3f78332988a7f8beb96dee105a46828fbb7950fe;p=platform%2Fupstream%2Fgcc.git (invert_truthvalue): Never alter ARG. From-SVN: r2365 --- diff --git a/gcc/fold-const.c b/gcc/fold-const.c index e5d735c..9cb107e 100644 --- a/gcc/fold-const.c +++ b/gcc/fold-const.c @@ -1979,8 +1979,8 @@ omit_one_operand (type, result, omitted) return t; } -/* Return a simplified tree node for the truth-negation of ARG - (perhaps by altering ARG). It is known that ARG is an operation that +/* Return a simplified tree node for the truth-negation of ARG. This + never alters ARG itself. We assume that ARG is an operation that returns a truth value (0 or 1). */ tree @@ -2000,10 +2000,8 @@ invert_truthvalue (arg) && code != NE_EXPR && code != EQ_EXPR) return build1 (TRUTH_NOT_EXPR, type, arg); else - { - TREE_SET_CODE (arg, invert_tree_comparison (code)); - return arg; - } + return build (invert_tree_comparison (code), + TREE_OPERAND (arg, 0), TREE_OPERAND (arg, 1)); } switch (code)