diff mbox

[C/C++] Fix some diagnostics problems

Message ID 4C132F20.80901@oracle.com
State New
Headers show

Commit Message

Shujing Zhao June 12, 2010, 6:54 a.m. UTC
On 06/11/2010 06:03 PM, Manuel López-Ibáñez wrote:
> On 11 June 2010 11:54, Shujing Zhao <pearly.zhao@oracle.com> wrote:
>> I agree with your last comment to use %qP for parmnum.
>>
>> About this issue, I think the comment is not wrong when FNDECL is non-NULL.
>> How about to add the case when FNDECL is NULL? just as the following:
>>
>> /* If FNDECL is non-NULL, we are doing the conversion in order to pass the
>> PARMNUMth argument of FNDECL. If FNDECL is NULL, we are doing the conversion
>> in function pointer argument passing, conversion in initialization, etc. */
>>
>> If you agree with it, I'll submit the patch.
> 
> In that function, fndecl is only used for providing better
> diagnostics. Right now, the diagnostic is less informative when using
> a pointer than when not. I think it should be equally informative.
> That said, your proposal is better than nothing of course.
> 
> Manuel.
Jason,

This patch is to use %qP for parnum and fix the comment of 
convert_for_assignment and convert_for_initialization.

Retested on 1686-pc-linux-gnu. Is it ok?

Thanks
Pearly
2010-06-12  Shujing Zhao  <pearly.zhao@oracle.com>

	* typeck.c (convert_for_assignment): Fix comment. Change message
	format from %d to %qP.
	(convert_for_initialization): Fix comment.

Comments

Jason Merrill June 12, 2010, 1:09 p.m. UTC | #1
OK.

Jason
diff mbox

Patch

Index: typeck.c
===================================================================
--- typeck.c	(revision 160644)
+++ typeck.c	(working copy)
@@ -7186,10 +7186,11 @@  delta_from_ptrmemfunc (tree t)
 }
 
 /* Convert value RHS to type TYPE as preparation for an assignment to
-   an lvalue of type TYPE.  ERRTYPE is a string to use in error
-   messages: "assignment", "return", etc.  If FNDECL is non-NULL, we
-   are doing the conversion in order to pass the PARMNUMth argument of
-   FNDECL.  */
+   an lvalue of type TYPE.  ERRTYPE indicates what kind of error the
+   implicit conversion is.  If FNDECL is non-NULL, we are doing the
+   conversion in order to pass the PARMNUMth argument of FNDECL.
+   If FNDECL is NULL, we are doing the conversion in function pointer
+   argument passing, conversion in initialization, etc. */
 
 static tree
 convert_for_assignment (tree type, tree rhs,
@@ -7331,7 +7332,7 @@  convert_for_assignment (tree type, tree 
 	    case ICR_DEFAULT_ARGUMENT:
 	      if (fndecl)
 		warning (OPT_Wmissing_format_attribute,
-			 "parameter %d of %qD might be a candidate "
+			 "parameter %qP of %qD might be a candidate "
 			 "for a format attribute", parmnum, fndecl);
 	      else
 		warning (OPT_Wmissing_format_attribute,
@@ -7386,7 +7387,7 @@  convert_for_assignment (tree type, tree 
 
 /* Convert RHS to be of type TYPE.
    If EXP is nonzero, it is the target of the initialization.
-   ERRTYPE is a string to use in error messages.
+   ERRTYPE indicates what kind of error the implicit conversion is.
 
    Two major differences between the behavior of
    `convert_for_assignment' and `convert_for_initialization'