This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug fortran/82215] Feature request to better support two pass compiling with gfortran


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82215

--- Comment #2 from Lee Busby <busby1 at llnl dot gov> ---
(In reply to kargl from comment #1)
> It sound like you are looking for Fortran 2008's SUBMODULE feature.
> See for example
> 
> https://software.intel.com/en-us/blogs/2015/07/07/doctor-fortran-in-we-all-
> live-in-a-yellow-submodule

Thank you for the comment.  I had previously read Mr. Lionel's description of
submodules, and I read it again just now.  I do think that submodules, in
principle, address many, possibly even all, the problems that I describe in my
attached report.  In practice, however, we're not going to rewrite 45,000 lines
of existing code in order to find out.

As I understand them, submodules would allow you to, by hand, put all the
interfaces into compilation units that could effectively be processed without
object code generation.  If so, those compilation units would presumably
compile quickly, like the first pass in the two pass method.  Then, presumably,
all the compilation units that *do* require object code generation can be
processed in parallel, because all their dependencies are present.

That's what the two pass approach does for us now, without any code rewriting. 
I do understand why SUBMODULE was added to the standard, and I fully support
it.  It's really not a feasible path for our project, however.  So I hope
you'll consider the feature request.  Maybe I fail to understand the issues,
but it does not seem like a huge change to the already-existing set of compiler
options and capabilities.

Thank you.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]