Hi, the following patch fixes some wrong quoting that was introduced by Martin's patch for PR translation/80280, see https://gcc.gnu.org/viewcvs/gcc?view=revision&revision=247607
Consider the following testcase: struct A {}; bool b = !A(); On trunk we currently get the following diagnostic: bug.cc:2:10: error: no match for 'operator!' (operand type is 'A') bool b = !A(); ^~~~ bug.cc:2:10: note: 'candidate: operator!(bool) <built-in>' bug.cc:2:10: note: no known conversion for argument 1 from 'A' to 'bool' Note, that not only the candidate function, but also the surrounding text is quoted in the second-to-last line. With the patch, this line reads: bug.cc:2:10: note: candidate: 'operator!(bool)' <built-in> Bootstrapped and regtested on x86_64-pc-linux-gnu. OK for trunk? Regards, Volker 2017-05-06 Volker Reichelt <v.reich...@netcologne.de> PR translation/80280 * call.c (print_z_candidate): Fix quoting. Index: gcc/cp/call.c =================================================================== --- gcc/cp/call.c (revision 247720) +++ gcc/cp/call.c (working copy) @@ -3457,16 +3457,16 @@ { cloc = loc; if (candidate->num_convs == 3) - inform (cloc, "%<%s%D(%T, %T, %T) <built-in>%>", msg, fn, + inform (cloc, "%s%<%D(%T, %T, %T)%> <built-in>", msg, fn, candidate->convs[0]->type, candidate->convs[1]->type, candidate->convs[2]->type); else if (candidate->num_convs == 2) - inform (cloc, "%<%s%D(%T, %T) <built-in>%>", msg, fn, + inform (cloc, "%s%<%D(%T, %T)%> <built-in>", msg, fn, candidate->convs[0]->type, candidate->convs[1]->type); else - inform (cloc, "%<%s%D(%T) <built-in>%>", msg, fn, + inform (cloc, "%s%<%D(%T)%> <built-in>", msg, fn, candidate->convs[0]->type); } else if (TYPE_P (fn)) ===================================================================