write recursive call

Richard E Maine Richard.Maine@nasa.gov
Mon Nov 28 17:35:00 GMT 2005


On Nov 24, 2005, at 3:25 AM, François-Xavier Coudert wrote:

>> I'd like to know if the fact that
>> "Recursive library calls not allowed"
>> for the intinsic function WRITE is a feature or a bug.
>
> The basic line is: recursive I/O is indeed forbidden in Fortran 95,
> but allowed in Fortran 2003.

But only in very limited cases, even in f2003. Specifically, it is not 
allowed to external files. The recursive I/O statement can only be to 
an internal file (or as part of user-defined-derived-type I/O, but that 
doesn't come up in f95).

I assume, by the way, that the question is about the WRITE statement. 
There is no intrinsic function WRITE in the standard. It is hard to 
talk precisely about the requirements of the standard if one starts out 
with such imprecision as confusing functions and statements. If this is 
actually about some nonstandard intrinsic function named WRITE, then 
that's a very different question. Standard-conforming compilers are 
allowed to implement nonstandard intrinsic functions, so such a 
question could make sense, but I haven't off-hand heard of a common one 
named WRITE, so I'm assuming that the question was just misstated.

-- 
Richard Maine                |  Good judgment comes from experience;
Richard.Maine@nasa.gov       |  experience comes from bad judgment.
                             |        -- Mark Twain



More information about the Fortran mailing list