This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH, C++] Fix pr43779


On 29 April 2010 09:54, Shujing Zhao <pearly.zhao@oracle.com> wrote:
> On 04/28/2010 06:49 PM, Manuel LÃpez-IbÃÅez wrote:
>>
>> On 28 April 2010 12:48, Manuel LÃpez-IbÃÅez <lopezibanez@gmail.com> wrote:
>>>
>>> On 28 April 2010 12:01, Shujing Zhao <pearly.zhao@oracle.com> wrote:
>>>>
>>>> Hi,
>>>>
>>>> This patch fixed pr43779 that emits the diagnostic for easy translation.
>>>> Tested on i686-pc-linux-gnu with no regression. OK for trunk?
>>>> Since it is reported for 4.5.0, should gcc-4_5-branch be fixed too?
>>>
>>> Being picky, a static function that abstracts out this code with a
>>> boolean for fewer/too many will be shorter (check the boolean last to
>>> choose the appropriate string), and make the original function shorter
>>> as well.
>>
>> In fact, that the function takes a location parameter would be even
>> better, so when we get the correct location, only the calls need to be
>> updated.
>>
>> Âerror_at (loc,
>> Â Â Â Â Â Â (too_many_p)
>> Â Â Â Â Â Â ? _("too many arguments to constructor %q#D")
>> Â Â Â Â Â Â : _("too few arguments to constructor %q#D"),
>> Â Â Â Â Â fndecl);
>>
>
> Manuel, thanks for the reply.
> The updated patch is add a static function warn_args_num to print the
> diagnostics. Tested on i686-pc-linux-gnu and no regression.
>
> Is it ok?

A minor nit:

+  else
+    error (too_many_p ? G_("too many arguments to function")
+		      : G_("too few arguments to function"));

this should be error_at (loc,

+ warn_args_num (input_location, fndecl, true /* too_manay_p */);

would be better as

 warn_args_num (input_location, fndecl, /*too_many_p=*/ true);

I cannot approve it but it looks fine to me.

Cheers,

Manuel.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]