From: Paolo Carlini Date: Tue, 15 Jul 2014 13:41:58 +0000 (+0000) Subject: call.c (convert_like_real): Call print_z_candidate and inform only if permerror retur... X-Git-Tag: releases/gcc-5.1.0~6335 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=603a0084b1bb600833e17822b18353f841b16467;p=thirdparty%2Fgcc.git call.c (convert_like_real): Call print_z_candidate and inform only if permerror returns true. 2014-07-15 Paolo Carlini * call.c (convert_like_real): Call print_z_candidate and inform only if permerror returns true. From-SVN: r212560 --- diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 9ffee53b6c9e..697ba793c73d 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,8 @@ +2014-07-15 Paolo Carlini + + * call.c (convert_like_real): Call print_z_candidate and inform only + if permerror returns true. + 2014-07-14 Jan Hubicka * class.c (build_clone): Do not clear assembler names of diff --git a/gcc/cp/call.c b/gcc/cp/call.c index b16c6e421674..6da1218042f5 100644 --- a/gcc/cp/call.c +++ b/gcc/cp/call.c @@ -6076,9 +6076,11 @@ convert_like_real (conversion *convs, tree expr, tree fn, int argnum, { if (t->kind == ck_user && t->cand->reason) { - permerror (loc, "invalid user-defined conversion " - "from %qT to %qT", TREE_TYPE (expr), totype); - print_z_candidate (loc, "candidate is:", t->cand); + complained = permerror (loc, "invalid user-defined conversion " + "from %qT to %qT", TREE_TYPE (expr), + totype); + if (complained) + print_z_candidate (loc, "candidate is:", t->cand); expr = convert_like_real (t, expr, fn, argnum, 1, /*issue_conversion_warnings=*/false, /*c_cast_p=*/false, @@ -6089,7 +6091,7 @@ convert_like_real (conversion *convs, tree expr, tree fn, int argnum, complain); else expr = cp_convert (totype, expr, complain); - if (fn) + if (complained && fn) inform (DECL_SOURCE_LOCATION (fn), " initializing argument %P of %qD", argnum, fn); return expr;