[PATCH, C++] Fix pr43779

Gabriel Dos Reis gdr@integrable-solutions.net
Thu Apr 29 10:47:00 GMT 2010


On Thu, Apr 29, 2010 at 2:54 AM, 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?

Make sure you follow the GCC coding standard for the ternary operator
" ? : " when the arguments spans multiple lines.  OK.



More information about the Gcc-patches mailing list