From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=0.2 required=5.0 tests=BAYES_00,INVALID_MSGID, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,4b06f8f15f01a568 X-Google-Attributes: gid103376,public From: Mats Weber Subject: Re: Software landmines (was: Why C++ is successful) Date: 1998/09/07 Message-ID: <35F3FF42.D1E163E0@elca-matrix.ch>#1/1 X-Deja-AN: 388721786 Content-Transfer-Encoding: 7bit References: <6rnhhe$e2u$1@nnrp1.dejanews.com> <6rsg0d$pcj@dfw-ixnews3.ix.netcom.com> <6s6v4i$mht@dfw-ixnews8.ix.netcom.com> <35F377B2.456C6374@sprintmail.com> Content-Type: text/plain; charset=us-ascii Organization: ELCA Matrix SA Mime-Version: 1.0 Reply-To: Mats.Weber@elca-matrix.ch Newsgroups: comp.lang.ada Date: 1998-09-07T00:00:00+00:00 List-Id: John G. Volan wrote: > > declare > > A : Integer renames Get_A (10); > > B : Float renames Get_B (X); > > C : Boolean renames Get_C (Y); > > begin > > Op (A, B, C); > > end; > > I'm curious: Does this have the same effect as the above, i.e., are the > function calls forced into a sequential order? Or is their evaluation > deferred until the aliases A, B, and C are actually used as parameters > to the Op call, in which case the aliased function calls get executed in > an undefined order? Yes, it has the same effect. Each function call is evaluated during the elaboration of the renames it appears in. You are in fact renaming the object that contains the function result. (See RM 3.3(10)).