On 5 December 2016 at 21:01, Paul Richard Thomas
<paul.richard.tho...@gmail.com> wrote:
> Dear All,
>
> It took me an excessively long time to realise that processing the
> typespec for an explicitly typed module procedure was wiping out the
> interface symbol and so preventing the comparison of characteristics
> between the interface and the separate module procedure. Transferring
> the module interface symbol to the tlink field, rather than the
> interface, fixed the problem without doing anything else.
>
> Note the comment in the gfortran.h about the use of the tlink field.
> It has been a while since this was used for change management. If it
> is preferred, I could introduce a union between tlink and some other
> suitable name; eg mod_proc_interface.
>
> Bootstraps and regtests on FC21/x86_64.
>
> OK for trunk and, after a decent interval, 6-branch?
>
> Paul
>
> 2016-12-06  Paul Thomas  <pa...@gcc.gnu.org>
>
>     PR fortran/77903
>     * decl.c (get_proc_name): Use the symbol tlink field instead of
>     the typespec interface field.
>     (gfc_match_function_decl, gfc_match_submod_proc): Ditto.
>     * gfortran.h : Since the symbol tlink field is no longer used
>     by the frontend for change management, change the comment to
>     reflect its current uses.
>     * parse.c (get_modproc_result): Same as decl.c changes.
>     * resolve.c (resolve_fl_procedure): Ditto.
>
> 2016-12-06  Paul Thomas  <pa...@gcc.gnu.org>
>
>     PR fortran/77903
>     * gfortran.dg/submodule_20.f08: New test.



-- 
If you're walking down the right path and you're willing to keep
walking, eventually you'll make progress.

Barack Obama

Reply via email to