From: Jason Merrill Date: Tue, 21 Apr 1998 18:05:17 +0000 (-0400) Subject: (convert_for_assignment): Fix handling of pmfs. X-Git-Tag: prereleases/egcs-1.1-prerelease~1602 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=3d879eacbb35e2495eb17f97c226435ae97040c3;p=thirdparty%2Fgcc.git (convert_for_assignment): Fix handling of pmfs. From-SVN: r19360 --- diff --git a/gcc/cp/typeck.c b/gcc/cp/typeck.c index 36acd58d3cc9..f891b1ef8f03 100644 --- a/gcc/cp/typeck.c +++ b/gcc/cp/typeck.c @@ -6844,9 +6844,11 @@ convert_for_assignment (type, rhs, errtype, fndecl, parmnum) && TYPE_PTRMEMFUNC_P (type)) { tree ttl = TYPE_PTRMEMFUNC_FN_TYPE (type); - tree ttr = (TREE_CODE (rhstype) == POINTER_TYPE ? rhstype - : TYPE_PTRMEMFUNC_FN_TYPE (rhstype)); - int ctt = comp_target_types (ttl, ttr, 1); + tree ttr = (TYPE_PTRMEMFUNC_P (rhstype) + ? TYPE_PTRMEMFUNC_FN_TYPE (rhstype) + : rhstype); + int ctt = (TREE_CODE (rhstype) == INTEGER_TYPE ? 1 + : comp_target_types (ttl, ttr, 1)); if (ctt < 0) cp_pedwarn ("converting `%T' to `%T' is a contravariance violation",