[Patch, Fortran] PR 54997: -Wunused-function gives false warnings for procedures passed as actual argument
Janus Weil
janus@gcc.gnu.org
Mon Oct 22 15:22:00 GMT 2012
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?
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.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: warn_unused_function_2.f90
Type: application/octet-stream
Size: 566 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20121022/f36e2d86/attachment.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: pr54997_v2.diff
Type: application/octet-stream
Size: 2348 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20121022/f36e2d86/attachment-0001.obj>
More information about the Gcc-patches
mailing list