fold-const.c (fold, [...]): Perform negation in proper type.a

* fold-const.c (fold, case MINUS_EXPR, case EQ_EXPR): Perform
	negation in proper type.a

From-SVN: r36726
This commit is contained in:
Richard Kenner 2000-10-05 13:35:07 +00:00 committed by Richard Kenner
parent 35ba173387
commit b8fbe62c82
2 changed files with 13 additions and 3 deletions

View File

@ -1,3 +1,8 @@
Thu Oct 5 09:31:31 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* fold-const.c (fold, case MINUS_EXPR, case EQ_EXPR): Perform
negation in proper type.a
2000-10-04 Richard Henderson <rth@cygnus.com>
* configure.in (enable-shared): New.

View File

@ -5576,7 +5576,7 @@ fold (expr)
if (! FLOAT_TYPE_P (type))
{
if (! wins && integer_zerop (arg0))
return convert (type, negate_expr (arg1));
return negate_expr (convert (type, arg1));
if (integer_zerop (arg1))
return non_lvalue (convert (type, arg0));
@ -5599,7 +5599,7 @@ fold (expr)
{
/* Except with IEEE floating point, 0-x equals -x. */
if (! wins && real_zerop (arg0))
return convert (type, negate_expr (arg1));
return negate_expr (convert (type, arg1));
/* Except with IEEE floating point, x-0 equals x. */
if (real_zerop (arg1))
return non_lvalue (convert (type, arg0));
@ -6888,7 +6888,12 @@ fold (expr)
{
case EQ_EXPR:
return
pedantic_non_lvalue (convert (type, negate_expr (arg1)));
pedantic_non_lvalue
(convert (type,
negate_expr
(convert (TREE_TYPE (TREE_OPERAND (t, 1)),
arg1))));
case NE_EXPR:
return pedantic_non_lvalue (convert (type, arg1));
case GE_EXPR: