Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Path: utzoo!mnetor!seismo!rochester!pt.cs.cmu.edu!sei.cmu.edu!firth
From: firth@sei.cmu.edu (Robert Firth)
Newsgroups: comp.lang.c
Subject: Re: structure function returns -- how?
Message-ID: <506@aw.sei.cmu.edu.sei.cmu.edu>
Date: Mon, 5-Jan-87 10:16:35 EST
Article-I.D.: aw.506
Posted: Mon Jan  5 10:16:35 1987
Date-Received: Mon, 5-Jan-87 21:44:26 EST
References: <131@hcx1.UUCP> <773@maynard.BSW.COM> <7403@utzoo.UUCP> <490@aw.sei.cmu.edu.sei.cmu.edu> <326@bms-at.UUCP> <5075@ism780c.UUCP>
Sender: netnews@sei.cmu.edu
Reply-To: firth@bd.sei.cmu.edu.UUCP (PUT YOUR NAME HERE)
Organization: Carnegie-Mellon University, SEI, Pgh, Pa
Lines: 13

In article <5075@ism780c.UUCP> tim@ism780c.UUCP (Tim Smith) writes:
>
>If one makes the caller, rather than the callee, do the unlink
>after a call, then one can return stuff on the stack with no problem
>with recursion or re-entrance.
>-- 
>Tim Smith       USENET: sdcrdcf!ism780c!tim   Compuserve: 72257,3706
>                Delphi or GEnie: mnementh

Absolutely right, Tim!  Which is one (of many) reasons why the
compiler writer should be free to choose how to call, link, return,
unlink &c.  Which is one (of many) reasons why hardware instructions
such as VAX CALLS, that preempt your choice, are undesirable.