From: Richard Stallman Date: Thu, 27 May 1993 04:30:54 +0000 (+0000) Subject: (convert_for_assignment): When allowing mixing of X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=5c73b269e7da6ae0ee618f49e935a581dc0f12d7;p=gcc.git (convert_for_assignment): When allowing mixing of signed and unsigned pointers, compare unsigned types not type sizes. From-SVN: r4580 --- diff --git a/gcc/c-typeck.c b/gcc/c-typeck.c index 0989b690601..77599bab633 100644 --- a/gcc/c-typeck.c +++ b/gcc/c-typeck.c @@ -4186,11 +4186,7 @@ convert_for_assignment (type, rhs, errtype, fundecl, funname, parmnum) Meanwhile, the lhs target must have all the qualifiers of the rhs. */ if (TYPE_MAIN_VARIANT (ttl) == void_type_node || TYPE_MAIN_VARIANT (ttr) == void_type_node - || comp_target_types (type, rhstype) - || (!pedantic /* Unless pedantic, mix signed and unsigned. */ - && TREE_CODE (ttl) == INTEGER_TYPE - && TREE_CODE (ttr) == INTEGER_TYPE - && TYPE_PRECISION (ttl) == TYPE_PRECISION (ttr))) + || comp_target_types (type, rhstype)) { if (pedantic && ((TYPE_MAIN_VARIANT (ttl) == void_type_node @@ -4229,8 +4225,11 @@ convert_for_assignment (type, rhs, errtype, fundecl, funname, parmnum) } else if (unsigned_type (TYPE_MAIN_VARIANT (ttl)) == unsigned_type (TYPE_MAIN_VARIANT (ttr))) - warn_for_assignment ("pointer targets in %s differ in signedness", - get_spelling (errtype), funname, parmnum); + { + if (pedantic) + warn_for_assignment ("pointer targets in %s differ in signedness", + get_spelling (errtype), funname, parmnum); + } else warn_for_assignment ("%s from incompatible pointer type", get_spelling (errtype), funname, parmnum);