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] Make a warning for -Werror=wrong-language (PR driver/91172).


On 7/17/19 1:40 AM, Martin Liška wrote:
> On 7/16/19 6:40 PM, Martin Sebor wrote:
>> On 7/16/19 5:16 AM, Martin Liška wrote:
>>> Hi.
>>>
>>> I noticed in the PR that -Werror=argument argument is not verified
>>> that the option is supported by a language we compile for.
>>> That's changed in the patch. However, it's not ideal as I need to mark
>>> the -Werror as the problematic option and one can't print a proper
>>> list of valid languages for which the rejected option can be used.
>>>
>>> Patch can bootstrap on x86_64-linux-gnu and survives regression tests.
>>>
>>> Ready to be installed?
>>> Thanks,
>>> Martin
>>>
>>> gcc/ChangeLog:
>>>
>>> 2019-07-16  Martin Liska  <mliska@suse.cz>
>>>
>>>     PR driver/91172
>>>     * opts-common.c (decode_cmdline_option): Decode
>>>     argument of -Werror and check it for a wrong language.
>>>     * opts-global.c (complain_wrong_lang): Remove such case.
>>>
>>> gcc/testsuite/ChangeLog:
>>>
>>> 2019-07-16  Martin Liska  <mliska@suse.cz>
>>>
>>>     PR driver/91172
>>>     * gcc.dg/pr91172.c: New test.
>>> ---
>>>   gcc/opts-common.c              | 20 +++++++++++++++++++-
>>>   gcc/opts-global.c              |  6 +++++-
>>>   gcc/testsuite/gcc.dg/pr91172.c |  3 +++
>>>   3 files changed, 27 insertions(+), 2 deletions(-)
>>>   create mode 100644 gcc/testsuite/gcc.dg/pr91172.c
>> Nice catch!
> Yep, I came to the quite accidentally.
> 
>> @@ -745,6 +746,23 @@ decode_cmdline_option (const char **argv, unsigned int lang_mask,
>>    /* Check if this is a switch for a different front end.  */
>>    if (!option_ok_for_language (option, lang_mask))
>>      errors |= CL_ERR_WRONG_LANG;
>> +  else if (strcmp (option->opt_text, "-Werror=") == 0
>> +       && strchr (opt_value, ',') == NULL)
>> +    {
>> +      /* Verify that -Werror argument is a valid warning
>> +     for a languages.  */
>>
>> Typo: "for a language" (singular).
> Fixed.
> 
>> +  else
>> +    /* Happens for -Werror=warning_name.  */
>> +    warning (0, "command-line error argument %qs is not valid for %s",
>> +         text, bad_lang);
>>
>> It might be better phrased as something like
>>
>>   "%<-Werror=%> argument %qs is not valid for %s"
>>
>> The argument is not one of a "command-line error."  It's one
>> to the -Werror option (which can be specified in other places
>> besides the command line).
> I like language corrections from native speakers.
> 
> I'm sending updated version of the patch.
> Thanks,
> Martin
> 
>> Martin
> 
> 
> 0001-Make-a-warning-for-Werror-wrong-language-PR-driver-9.patch
> 
> From 03baf640c12ea6dfda2215ae07d288b292179217 Mon Sep 17 00:00:00 2001
> From: Martin Liska <mliska@suse.cz>
> Date: Tue, 16 Jul 2019 11:11:00 +0200
> Subject: [PATCH] Make a warning for -Werror=wrong-language (PR driver/91172).
> 
> gcc/ChangeLog:
> 
> 2019-07-16  Martin Liska  <mliska@suse.cz>
> 
> 	PR driver/91172
> 	* opts-common.c (decode_cmdline_option): Decode
> 	argument of -Werror and check it for a wrong language.
> 	* opts-global.c (complain_wrong_lang): Remove such case.
> 
> gcc/testsuite/ChangeLog:
> 
> 2019-07-16  Martin Liska  <mliska@suse.cz>
> 
> 	PR driver/91172
> 	* gcc.dg/pr91172.c: New test.
OK
jeff


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