In the continuing saga of the exploration of dark corners in the
Fortran standard:
Is the following standard conforming?
MODULE WW
PUBLIC :: N_IN
CONTAINS
FUNCTION N_IN ()
N_IN = 2
END FUNCTION N_IN
END MODULE WW
MODULE PROCESS_INTERFACE
PUBLIC :: N_IN
CONTAINS
FUNCTION N_IN () ! <=== N_IN denotes two
USE WW, ONLY: WW_N_IN => N_IN ! <=== different objects here.
N_IN = WW_N_IN ()
END FUNCTION N_IN
END MODULE PROCESS_INTERFACE
In the real life application, the outer N_IN dispatches calls to
many N_IN in different modules.
It is accepted by the NAG compiler, but a user can't compile it with
his PGI compiler and we'd like to now it the PGI compiler has a point.
Apparently it is confused by the name clash, even though `=>' was used
to resolve it.
Thanks,
-Thorsten
--
Thorsten Ohl, Physics Department, TU Darmstadt -- [log in to unmask]
http://heplix.ikp.physik.tu-darmstadt.de/~ohl/ [<=== PGP public key here]
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|