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.8 required=5.0 tests=BAYES_00,INVALID_DATE autolearn=no autolearn_force=no version=3.4.4 Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!uunet!bu.edu!inmet!stt From: stt@inmet.inmet.com Newsgroups: comp.lang.ada Subject: Re: parameter passing Message-ID: <20600053@inmet> Date: 27 Jun 90 15:32:00 GMT References: <1569@oravax.UUCP> Nf-ID: #R:oravax.UUCP:1569:inmet:20600053:000:1114 Nf-From: inmet.inmet.com!stt Jun 27 11:32:00 1990 List-Id: Re: Assumptions about parameter passing No, it is not a safe assumption. In a distributed address space (such as the 1750A expanded memory model), the compiler will copy composite parameters which would not be addressible in the called routine's address space, whereas those which are addressible may be passed by reference. Another case is where one formal parameter is constrained, and the other is unconstrained or simply has a different constraint (though both are of the same type). Many compilers pass "short" composite objects by copy, and longer or unconstrained ones by reference. In any case, I am curious why you care. It would be useful to have specific examples of where this kind of assumption about parameter passing would be useful, since limiting compiler flexibility can severely interfere with efficiency. However, it is also the case that variability can make certain kinds of program proofs more complicated (though not always! Sometimes it is easier to prove something using a non-deterministic model than a deterministic model). S. Tucker Taft Intermetrics, Inc. Cambridge, MA 02138