This is the mail archive of the
fortran@gcc.gnu.org
mailing list for the GNU Fortran project.
Re: gfortran "partial" recursive I/O support
- From: Jerry DeLisle <jvdelisle at verizon dot net>
- To: FX Coudert <fxcoudert at gmail dot com>
- Cc: "fortran at gcc dot gnu dot org List" <fortran at gcc dot gnu dot org>
- Date: Wed, 16 Apr 2008 16:30:55 -0700
- Subject: Re: gfortran "partial" recursive I/O support
- References: <E09E1333-BC54-430C-B1E0-03F1397C85C9@gmail.com>
FX Coudert wrote:
Looking at the table of F2003 advancement in compilers at
http://portalparts.acm.org/1280000/1279941/fm/frontmatter.pdf, I see a
"partial" for gfortran in the category "Recursive input/output" (same
thing here: http://gcc.gnu.org/wiki/Fortran2003Status). However, I don't
know what is missing, and can't find an open PR either. Does someone
know what this "partial" means exactly?
IIRC, (and I will have to try this to confirm it) gfortran can have an I/O
statement with an I/O list item that is a function that returns a value that
will be transferred and at the same time, that function can itself contain an
I/O statement that will be performed and completed before the function returns.
I don't recall whether the constraint that the child I/O can only identify an
external unit that is identical to the parent is enforced.
Also, A large part of recursive I/O involves derived type I/O where the sub
objects within a derived type perform their portion of the I/O. I have not
studied this much yet, but it is similar I think to class objects containing
methods for performing their own I/O so that a higher level class will
effectively inherit all the lower level user defined I/O.
So, until we have implemented derived type I/O we can only claim partial
recursive I/O.
Hope I got that straight.
Jerry