Path: utzoo!utgpu!water!watmath!clyde!bellcore!rutgers!cmcl2!nrl-cmf!ames!pasteur!agate!labrea!decwrl!sun!quintus!ok
From: ok@quintus.uucp (Richard A. O'Keefe)
Newsgroups: comp.lang.fortran
Subject: Re: Maximum Stack Size for a Subprog.?
Message-ID: <271@quintus.UUCP>
Date: 10 Aug 88 21:39:57 GMT
References: <47900003@uicsrd.csrd.uiuc.edu> <50500062@uxe.cso.uiuc.edu>
Sender: news@quintus.UUCP
Reply-To: ok@quintus.UUCP (Richard A. O'Keefe)
Organization: Quintus Computer Systems, Inc.
Lines: 15

In article <50500062@uxe.cso.uiuc.edu> mcdonald@uxe.cso.uiuc.edu writes:
>Fortran -  and here we are discussing Fortran 66 or Fortran 77 - 
>does not have a  "stack" concept. ...  On the other hand, 
>variables in a function or subroutine may indeed be on some sort
>of stack and may disappear on function exit, in the absence of a SAVE
>statement (Fortran 77).

Trivia point:  in Fortran 66 this applied to COMMON blocks as well.
If a COMMON block was not statically initialised, it was permissible
for a compiler to arrange for it to be allocated as soon as a routine
mentioning it was entered, and deallocated when that routine exited
(this might be a different routine each time).  So, for example, you
could arrange overlays of COMMON blocks quite legally, though a
compiler was not required to support this.  Does anyone know of any
Fortran compiler which _didn't_ allocate COMMON blocks statically?