From 3d879eacbb35e2495eb17f97c226435ae97040c3 Mon Sep 17 00:00:00 2001 From: Jason Merrill Date: Tue, 21 Apr 1998 14:05:17 -0400 Subject: [PATCH] (convert_for_assignment): Fix handling of pmfs. From-SVN: r19360 --- gcc/cp/typeck.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/gcc/cp/typeck.c b/gcc/cp/typeck.c index 36acd58d3cc..f891b1ef8f0 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", -- 2.30.2