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=-1.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM autolearn=ham autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,a00006d3c4735d70 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2004-03-01 09:39:16 PST Path: archiver1.google.com!news1.google.com!newsfeed.stanford.edu!news.uchicago.edu!news-xfer.newsread.com!nntp.abs.net!ash.uu.net!spool.news.uu.net!not-for-mail Date: Mon, 01 Mar 2004 12:38:46 -0500 From: Hyman Rosen User-Agent: Mozilla Thunderbird 0.5 (Windows/20040207) X-Accept-Language: en-us, en MIME-Version: 1.0 Newsgroups: comp.lang.ada Subject: Re: In-Out Parameters for functions References: <4020C947.81A6D703@0.0> <1075907239.138068@master.nyc.kbcfp.com> <402232E9.3EE15B4B@0.0> <1075987360.225622@master.nyc.kbcfp.com> <40236C0B.E988E003@0.0> <1077634311.254581@master.nyc.kbcfp.com> <1077718871.47635@master.nyc.kbcfp.com> <54cp3095jmv8s17h63d4bjdus0tec7l7pt@jellix.jlfencey.com> <1077721343.481619@master.nyc.kbcfp.com> <1077727853.904323@master.nyc.kbcfp.com> <1077810250.28474@master.nyc.kbcfp.com> In-Reply-To: Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Organization: KBC Financial Products Message-ID: <1078162736.111267@master.nyc.kbcfp.com> Cache-Post-Path: master.nyc.kbcfp.com!unknown@nightcrawler.nyc.kbcfp.com X-Cache: nntpcache 3.0.1 (see http://www.nntpcache.org/) NNTP-Posting-Host: 204.253.250.10 X-Trace: 1078162736 23413 204.253.250.10 Xref: archiver1.google.com comp.lang.ada:5980 Date: 2004-03-01T12:38:46-05:00 List-Id: Robert I. Eachus wrote: > Now, when do you apply your left-to-right requirement, before or after > the pragma Inline has been applied? Pragma Inline is not exactly "applied". It is a hint to the compiler that it would be advantageous for certain code to be expanded inline as opposed to being called through the "normal" subprogram mechanism. It does not have any effect on the meaning of Ada code which uses such a subprogram, and therefore would not have any meaning when considering l-to-r behavior. > If an expression contains two non-pure, non-predefined functions they > must be evaluated in canonical order instead of "some order." This gets you most of the way there. It would still leave pathological cases like (I + Inc(I)) unspecified, but I can't imagine that there's any real code out there which cares.