http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47266

--- Comment #1 from Tobias Burnus <burnus at gcc dot gnu.org> 2011-01-15 
11:03:13 UTC ---
Submitted patch: See http://gcc.gnu.org/ml/fortran/2011-01/msg00094.html

There were additional restrictions with BIND(C) - and as Ian pointed out, there
are also issues when using the function as specification expression in
arguments of PUBLIC functions, cf.
http://gcc.gnu.org/ml/fortran/2011-01/msg00100.html

For submodules, one also needs to be careful - as submodules can access PRIVATE
modules of the host. However, as submodules cannot be USE associated and in
order to use them, a "module function/subroutine" is defined in the module, it
is known at compile time whether a submodule exists or not.

Thus, the optimization can be done - but one needs additional checks whether
the function is used in specification expressions (probably only for function
results) and later whether the module itself has submodules or not.

Reply via email to