From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.5-pre1 (2020-06-20) on ip-172-31-74-118.ec2.internal X-Spam-Level: X-Spam-Status: No, score=-1.9 required=3.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.5-pre1 Date: 22 Dec 92 12:42:10 GMT From: widget!brandon@uunet.uu.net (Brandon) Subject: Implementation or LRM driven Message-ID: <1992Dec22.124210.7098@evb.com> List-Id: I have been trying to determine any rules either in AI's, LRM or other sources in how a compiler is permitted to allocate/deallocate return values for functio ns. When the information is returned from a function some space must be allocated, and placed on the call stack. In the case of a function returning a non-scalar when MUST that space be deallocated (or can an implemenation lose it). I've seen many cases and can not find a specific rule. As a second question, in this example: subtype MYSTR is STRING(1..50); function Str(X: in INTEGER) return MYSTR; X: BUFFER(1..200); X := Str(1) & Str(2) & Str(3) & Str(4); <---- here During the "&" operations being called is the memory being used 50+50+100+50+150+50+200 = 650 allowably, unavoidable, or completely implementation dependent. Any references would be appreciated -- Office Automation, n.: The use of computers to improve efficiency by removing anyone you would want to talk with over coffee.