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