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.

Reply via email to