Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.1 6/24/83; site mmintl.UUCP Path: utzoo!linus!philabs!pwa-b!mmintl!franka From: franka@mmintl.UUCP (Frank Adams) Newsgroups: net.lang Subject: Re: Checking for Recursions Message-ID: <671@mmintl.UUCP> Date: Fri, 20-Sep-85 14:48:25 EDT Article-I.D.: mmintl.671 Posted: Fri Sep 20 14:48:25 1985 Date-Received: Wed, 25-Sep-85 07:48:19 EDT References: <250@mot.UUCP> <4302@alice.UUCP> <1124@kestrel.ARPA> <653@bu-cs.UUCP> Reply-To: franka@mmintl.UUCP (Frank Adams) Organization: Multimate International, E. Hartford, CT Lines: 28 Summary: A system problem [Not food] As several people have pointed out, checking for recursions really needs to be done by the linker, not the compiler. This requires, at minimum, some expansion and/or redesign of the relocatable files produced by the compilers. There are other good reasons for such a redesign. Most especially, one would like the linker to check number, direction, and type of subprogram arguments. (Doing this for enumeration types and structure or record definitions is a non-trivial design problem.) The next question is, how do you get there from here? I think the development path would be: 1) specify the new file format 2) write a linker which can process objects in either format. When making comparisons involving mixed styles (e.g., a new style call to an old style routine), assume it is correct. 3) modify existing compilers and assemblers to generate new style files. For assemblers, this will require additional statements in the source. This all assumes that you are modifying an existing OS; for a new OS, this can all be done right in the first place. Frank Adams ihpn4!philabs!pwa-b!mmintl!franka Multimate International 52 Oakland Ave North E. Hartford, CT 06108 Brought to you by Super Global Mega Corp .com