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?