Hi Janus,

Janus Weil wrote:
I have found a fix that is rather trivial in the sense that it's a
one-liner.

I think it is the proper fix.

However, it may not be as trivial conceptually (in particular I'm not 100% sure 
what caused this regression in the first place

I think it is the combination of having "static" noninternal procedures (which is a new 4.8 feature) combined with the middle-end assumption that the FE marks procedures as TREE_USED. (The ME does mark them as TREE_USED, but too late.)

(The other question is why the diagnostic doesn't work for internal procedures - or for GNU C's nested function. I think also for module variables such a diagnostic would be useful. However, both are just missed diagnostics and not diagnostic-output regressions.)

Anyway, it regtests cleanly and fixes the problem as advertised. Ok for trunk?

Yes. Thanks for the patch.

Tobias

2012-10-19  Janus Weil  <ja...@gcc.gnu.org>

        PR fortran/54224
        * trans-expr.c (conv_function_val): Set TREE_USED.

2012-10-19  Janus Weil  <ja...@gcc.gnu.org>

        PR fortran/54224
        * gfortran.dg/warn_unused_function.f90: New.

Reply via email to