[PATCH, Fortran] Optionally suppress no-automatic overwrites recursive warning - for review

Mark Eggleston mark.eggleston@codethink.co.uk
Tue Sep 24 11:12:00 GMT 2019


On 20/09/2019 07:46, Bernhard Reutner-Fischer wrote:
> On Thu, 19 Sep 2019 17:46:29 +0200
> Tobias Burnus <tobias@codesourcery.com> wrote:
>
>> Hi Mark,
>>
>> On 9/19/19 3:40 PM, Mark Eggleston wrote:
>>> The following warning is produced when -fno-automatic and -frecursive
>>> are used at the same time:
>>>
>>> f951: Warning: Flag '-fno-automatic' overwrites '-frecursive'
>>>
>>> This patch allows the warning to be switched off using a new option,
>>> -Woverwrite-recursive, initialised to on.
>>>
>>> I don't have a test case for this as I don't know how to test for a
>>> warning that isn't related to a line of code.
>> Try:
>>
>> ! { dg-warning "Flag .-fno-automatic. overwrites .-frecursive." "" {
>> target *-*-* } 0 }
>>
>> The syntax is { dg-warning "message", "label" {target ...} linenumber },
>> where linenumber = 0 means it can be on any line.
Thanks that was the bit I was missing. Test cases now added.
>>
>> If the output doesn't match (but I think it does with "Warning:"),
>> general messages can be caught with "dg-message".
> Also:
>
>> @@ -411,7 +411,7 @@ gfc_post_options (const char **pfilename)
>>         && flag_max_stack_var_size != 0)
>>       gfc_warning_now (0, "Flag %<-fno-automatic%> overwrites %<-fmax-stack-var-size=%d%>",
>>   		     flag_max_stack_var_size);
>> -  else if (!flag_automatic && flag_recursive)
>> +  else if (!flag_automatic && flag_recursive && warn_overwrite_recursive)
>>       gfc_warning_now (0, "Flag %<-fno-automatic%> overwrites %<-frecursive%>");
>>     else if (!flag_automatic && flag_openmp)
>>       gfc_warning_now (0, "Flag %<-fno-automatic%> overwrites %<-frecursive%> implied by "
>>
> Doesn't look right to me. Do you want
> gfc_warning_now (OPT_Woverwrite_recursive, "Flag ...
> instead?
Done.
>
> thanks,

Additionally I realised that I hadn't updated the manual.

Updated patch is attached.

Updated change log:

gcc/fortran

     Mark Eggleston <mark.eggleston@codethink.com>

     * invoke.texi: Add -Wno-overwrite-recursive to list of options. Add
     description of -Wno-overwrite-recursive. Fix typo in description
     of -Winteger-division.
     * lang.opt: Add option -Woverwrite-recursive initialised as on.
     * option.c (gfc_post_options): Output warning only if it is enabled.

gcc/testsuite

     Mark Eggleston <mark.eggleston@codethink.com>

     * gfortran.dg/no_overwrite_recursive_1.f90: New test.
     * gfortran.dg/no_overwrite_recursive_2.f90: New test.

OK to commit?

Mark



-- 
https://www.codethink.co.uk/privacy.html

-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-Suppress-warning-with-Wno-overwrite-recursive.patch
Type: text/x-patch
Size: 5689 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20190924/e2d3a62d/attachment.bin>


More information about the Gcc-patches mailing list