AW: [Bug fortran/52846] [F2008] Support submodules - part 2/3

Bader, Reinhold Reinhold.Bader@lrz.de
Wed Jul 15 10:58:00 GMT 2015


Hello Paul, 

the attached example fails to compile with the error message

Error: Global name »mod_s« at (1) is already being used as a MODULE at (2)
subm_10_pos.f90:29:6:

   use mod_s

However, the global identifier of a submodule is the pair (ancestor module name, 
submodule name) according to 11.2.3, para 2 of the Fortran 2008 standard. So 
I think the error message is spurious.

Cheers
Reinhold

> -----Ursprüngliche Nachricht-----
> Von: Paul Richard Thomas [mailto:paul.richard.thomas@gmail.com]
> Gesendet: Dienstag, 14. Juli 2015 13:10
> An: Bader, Reinhold; fortran@gcc.gnu.org; gcc-patches
> Betreff: [Bug fortran/52846] [F2008] Support submodules - part 2/3
> 
> Dear All,
> 
> Reinhold Bader has pointed out the naming the submodule files after the
> submodule name and using .mod as the extension can potentially lead to
> clashes. Therefore, I have written a patch to change gfortran to follow the
> naming convention of another leading brand:
> 
> submodule filename = module@ancestor@....@submodule.smod
> 
> The implementation is straightforward and the ChangeLog and the patch
> provide an adequate description.
> 
> Bootstraps and regtests on x86_64 - OK for trunk?
> 
> Paul
> 
> 2015-07-14  Paul Thomas  <pault@gcc.gnu.org>
> 
>     PR fortran/52846
>     * gfortran.h : Add 'submodule_name' to gfc_use_list structure.
>     * module.c (gfc_match_submodule): Define submodule_name and add
>     static 'submodule_name'.
>     (gfc_match_submodule): Build up submodule filenames, using '@'
>     as a delimiter. Store the output filename in 'submodule_name'.
>     (gfc_dump_module): If current state is COMP_SUBMODULE, write
>     to file 'submodule_name', using SUBMODULE_EXTENSION.
>     (gfc_use_module): Similarly, use the 'submodule_name' field in
>     the gfc_use_list structure and SUBMODULE_EXTENSION to read the
>     implicitly used submodule files.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: subm_10_pos.f90
Type: application/octet-stream
Size: 512 bytes
Desc: subm_10_pos.f90
URL: <http://gcc.gnu.org/pipermail/fortran/attachments/20150715/1d854ae8/attachment.obj>


More information about the Fortran mailing list