Internal procedures as dummy arguments

Miguel Hermanns hermanns@tupi.dmt.upm.es
Sun Feb 6 12:10:00 GMT 2005


>>The point is that the Fortran95 and 
>>Fortran2003 standards explicitly do not allow this.

More exact information on this: section 12.1.2.2 from the latest draft 
for Fortran 2003 (http://j3-fortran.org/doc/committee_draft/04-007.pdf):

An internal procedure is a procedure that is defined by an internal 
subprogram. Internal subprograms may appear in the main program, in an 
external subprogram, or in a module subprogram. Internal subprograms 
shall not appear in other internal subprograms. Internal subprograms are 
the same as external subprograms except that the name of the internal 
procedure is not a global identifier, an internal subprogram shall not 
contain an ENTRY statement, the internal procedure name shall not be 
argument associated with a dummy procedure (12.4.1.3), and the internal 
subprogram has access to host entities by host association.

> With regards to modules, I personally think that this is a serious
> flaw in the standard.

I don't know exactly what you mean with "regards to modules". Procedures 
inside modules can be passed as dummy arguments, but not internal 
procedures as defined above, which would be the ones of the examples I 
have written.

Miguel



More information about the Fortran mailing list