[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