Path: utzoo!attcan!uunet!husc6!mailrus!uflorida!novavax!hcx1!hcx2!bill
From: bill@hcx2.SSD.HARRIS.COM
Newsgroups: comp.lang.fortran
Subject: Re: Maximum Stack Size for a Subprog.?
Message-ID: <44400021@hcx2>
Date: 15 Aug 88 17:35:00 GMT
References: <47900003@uicsrd.csrd.uiuc.edu>
Lines: 23
Nf-ID: #R:uicsrd.csrd.uiuc.edu:47900003:hcx2:44400021:000:1113
Nf-From: hcx2.SSD.HARRIS.COM!bill    Aug 15 13:35:00 1988


> 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?

Yes, several.  The Harris H-Series linker (called the Vulcanizer)
allows one to create overlays.  It automatically constructs the call
tree of routines and puts each COMMON block in the proper overlay
segment (or the resident segment), such that it gets loaded when it is
first referenced and goes away when there are no active routines using
it.  This is, in fact, why COMMON blocks were specified the way they
were in FORTRAN-66 and FORTRAN-77; in those days overlays were still
prevalent, and this is the way they most often worked (or could be
made to work).  However, all those programmers working on non-overlay
machines programmed as though COMMON blocks were always resident.
That is how we got to where we are today.

Bill Leonard
Harris Computer Systems Division
2101 W. Cypress Creek Road
Fort Lauderdale, FL  33309
bill@ssd.harris.com or bill%ssd.harris.com@eddie.mit.edu