From: Richard Stallman Date: Thu, 28 May 1992 05:20:58 +0000 (+0000) Subject: entered into RCS X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=e7951b3f2642bc5f777e177b6df1ba9e4d912988;p=gcc.git entered into RCS From-SVN: r1110 --- diff --git a/gcc/c-typeck.c b/gcc/c-typeck.c index 53afdd07360..699532efbb4 100644 --- a/gcc/c-typeck.c +++ b/gcc/c-typeck.c @@ -2569,12 +2569,16 @@ build_binary_op (code, orig_op0, orig_op1, convert_p) final_type = result_type; - /* Handle the case that OP0 does not *contain* a conversion + /* Handle the case that OP0 (or OP1) does not *contain* a conversion but it *requires* conversion to FINAL_TYPE. */ - if (op0 == arg0 && TREE_TYPE (op0) != final_type) + if ((TYPE_PRECISION (TREE_TYPE (op0)) + == TYPE_PRECISION (TREE_TYPE (arg0))) + && TREE_TYPE (op0) != final_type) unsigned0 = TREE_UNSIGNED (TREE_TYPE (op0)); - if (op1 == arg1 && TREE_TYPE (op1) != final_type) + if ((TYPE_PRECISION (TREE_TYPE (op1)) + == TYPE_PRECISION (TREE_TYPE (arg1))) + && TREE_TYPE (op1) != final_type) unsigned1 = TREE_UNSIGNED (TREE_TYPE (op1)); /* Now UNSIGNED0 is 1 if ARG0 zero-extends to FINAL_TYPE. */