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 <ja...@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 <ja...@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 <ja...@gcc.gnu.org> > > PR fortran/54997 > * gfortran.dg/warn_unused_function_2.f90: New.
warn_unused_function_2.f90
Description: Binary data
pr54997_v2.diff
Description: Binary data