This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [Patch, Fortran] PR 54997: -Wunused-function gives false warnings for procedures passed as actual argument
- From: Janus Weil <janus at gcc dot gnu dot org>
- To: Mikael Morin <mikael dot morin at sfr dot fr>
- Cc: gfortran <fortran at gcc dot gnu dot org>, gcc-patches <gcc-patches at gcc dot gnu dot org>
- Date: Mon, 26 Nov 2012 12:21:10 +0100
- Subject: Re: [Patch, Fortran] PR 54997: -Wunused-function gives false warnings for procedures passed as actual argument
- References: <CAKwh3qjTL1XLQg5v+xrv2ELYu08=FRmLskSbHfqtwqxveJtAAA@mail.gmail.com> <CAKwh3qiWRSRLmmD1MLKnYH3aC81CG7adi2nhbwE+3C8VtY+DyQ@mail.gmail.com> <50B26E45.9030309@sfr.fr>
2012/11/25 Mikael Morin <mikael.morin@sfr.fr>:
> Le 22/10/2012 16:49, Janus Weil a écrit :
>
>> Minor update to the patch: It now also sets TREE_USED for entry
>> masters in order to avoid bogus warnings for procedures with ENTRY
>> (cf. comment 6 in the PR, which like comment 0 is a 4.8 regression).
>>
>> Still regtests cleanly. Ok?
>
>
> OK with an extra test for comment 6.
Thanks a bunch. Committed as r193811. (A test for comment 6 was
already included in the updated test case I sent together with the
updated patch.)
> Thanks. And sorry for the delay.
No reason to apologize! Better late than never ;)
Cheers,
Janus
>> 2012/10/21 Janus Weil<janus@gcc.gnu.org>:
>>>
>>> Hi all,
>>>
>>> here is another patch to silence some more of the bogus warnings about
>>> unused functions that gfortran is currently throwing (cf. also the
>>> previous patch for PR 54224).
>>>
>>> It fixes the usage of the 'referenced' attribute, which should only be
>>> given to procedures which are actually 'used' (called/referenced).
>>> Then TREE_USED is set according to this attribute, which in turn
>>> silences the warning in the middle-end.
>>>
>>> The patch was regtested on x86_64-unknown-linux-gnu. Ok for trunk?
>>>
>>> Cheers,
>>> Janus
>>>
>>>
>>> 2012-10-21 Janus Weil<janus@gcc.gnu.org>
>>>
>>> PR fortran/54997
>>> * decl.c (match_procedure_decl): Don't set 'referenced'
>>> attribute
>>> for PROCEDURE declarations.
>>> * parse.c (gfc_fixup_sibling_symbols,parse_contained): Don't set
>>> 'referenced' attribute for all contained procedures.
>>> * trans-decl.c (gfc_get_symbol_decl): Allow for unreferenced
>>> procedures.
>>> (build_function_decl): Set TREE_USED for referenced procedures.
>>>
>>> 2012-10-21 Janus Weil<janus@gcc.gnu.org>
>>>
>>> PR fortran/54997
>>> * gfortran.dg/warn_unused_function_2.f90: New.