home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.lang.fortran
- Path: sparky!uunet!mcsun!dxcern!dscomsa.desy.de!dscomsa!ohl
- From: ohl@ips103.desy.de (Thorsten Ohl)
- Subject: Re: recursive I/O
- In-Reply-To: ecmtwhk@ccu1.aukuni.ac.nz's message of Tue, 21 Jul 1992 22:31:57 GMT
- Message-ID: <OHL.92Jul22015544@ips103.desy.de>
- Sender: news@dscomsf.desy.de (USENET News System)
- Nntp-Posting-Host: ips103.desy.de
- Organization: Deutsches Elektronen-Synchrotron, Hamburg, Germany.
- References: <1992Jul21.223157.2775@ccu1.aukuni.ac.nz>
- Date: Wed, 22 Jul 1992 01:55:44 GMT
- Lines: 25
-
- >>>>> On Tue, 21 Jul 1992 22:31:57 GMT, ecmtwhk@ccu1.aukuni.ac.nz (Thomas Koenig) said:
-
- Thomas> Is the following [ = recursive I/O ] legal F77?
-
- No!
-
- Thomas> It works on the UNIX box I'm on at the moment, but I can
- Thomas> imagine trouble with architectures which do not use a stack
- Thomas> for argument passing, for example /370.
-
- It will certainly fail on S/370 running MVS, but I seem to remember to
- have seen a runtime error also on a RS/6000 running AIX 3.1. The
- problem is not only the missing stack, but also that several FORTRAN
- I/O subsystems are _not_ reentrant (they seem to use statically
- allocated buffers and other nasty things).
-
- I try to avoid function calls in I/O lists. Yes, that costs
- additional temporaries, but in large codes it is easy to overlook that
- the (n+1)-th level of a nested function call might call the I/O
- subsystem.
-
- --
- ////// Thorsten Ohl, DESY (-T-), Notkestr. 85, W-2000 Hamburg 52, F.R.G.
- ///////// net: ohl@crunch.ikp.physik.th-darmstadt.de, ohl@gnu.ai.mit.edu
- //////////////////////// voice: +49-40-8998-3699, fax: +49-40-8998-3282
-