Commit b8fbe62c by Richard Kenner Committed by Richard Kenner

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
parent 35ba1733
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> 2000-10-04 Richard Henderson <rth@cygnus.com>
* configure.in (enable-shared): New. * configure.in (enable-shared): New.
......
...@@ -5576,7 +5576,7 @@ fold (expr) ...@@ -5576,7 +5576,7 @@ fold (expr)
if (! FLOAT_TYPE_P (type)) if (! FLOAT_TYPE_P (type))
{ {
if (! wins && integer_zerop (arg0)) if (! wins && integer_zerop (arg0))
return convert (type, negate_expr (arg1)); return negate_expr (convert (type, arg1));
if (integer_zerop (arg1)) if (integer_zerop (arg1))
return non_lvalue (convert (type, arg0)); return non_lvalue (convert (type, arg0));
...@@ -5599,7 +5599,7 @@ fold (expr) ...@@ -5599,7 +5599,7 @@ fold (expr)
{ {
/* Except with IEEE floating point, 0-x equals -x. */ /* Except with IEEE floating point, 0-x equals -x. */
if (! wins && real_zerop (arg0)) 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. */ /* Except with IEEE floating point, x-0 equals x. */
if (real_zerop (arg1)) if (real_zerop (arg1))
return non_lvalue (convert (type, arg0)); return non_lvalue (convert (type, arg0));
...@@ -6888,7 +6888,12 @@ fold (expr) ...@@ -6888,7 +6888,12 @@ fold (expr)
{ {
case EQ_EXPR: case EQ_EXPR:
return 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: case NE_EXPR:
return pedantic_non_lvalue (convert (type, arg1)); return pedantic_non_lvalue (convert (type, arg1));
case GE_EXPR: case GE_EXPR:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment