[Fwd: (j3.2006) Fortran 2003 compiler features]

Brooks Moses brooks.moses@codesourcery.com
Wed Feb 7 09:25:00 GMT 2007


Jerry DeLisle wrote:
> Tobias Burnus wrote:
>> is the following correct? Suggestions?
> ---snip---
>>> Recursive input/output
>>>   
>> (don't know)
> 
> I will have to review the standard to see what it says exactly on this.  We can 
> call functions in an output list that in turn call I/O functions.  Whether that 
> meets the intent of the standard I will check.

Though I said this in another post, I'll repeat it here:

The F2003 standard requires that I/O operations _on internal units_ work 
correctly when another I/O operation is in progress.  This occurs when 
an I/O operation calls a function that in turn contains an I/O operation 
on an internal unit, or in more complicated variants of the same general 
idea.

Note that we are _not_ required to support more than one I/O operation 
to an external unit at once, and in particular not required to support 
more than one I/O operation to the _same_ external unit.

(When we implement user-defined derived-type I/O, this becomes slightly 
more complicated.)

As far as I know, this works correctly (all it requires is that our I/O 
library routines on internal units be thread-safe, essentially), and the 
answer to this should be an unqualified yes.

- Brooks



More information about the Fortran mailing list