[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