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.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,87557ce53b069315 X-Google-Attributes: gid103376,public From: Robert A Duff Subject: Re: meaning of "current instance" Date: 1999/11/13 Message-ID: #1/1 X-Deja-AN: 548261499 Sender: bobduff@world.std.com (Robert A Duff) References: <382b8a6f_4@news1.prserv.net> <2hNW3.1742$dp.68215@typhoon-sf.snfc21.pbi.net> <382c0d0f_1@news1.prserv.net> Organization: The World Public Access UNIX, Brookline, MA Newsgroups: comp.lang.ada Date: 1999-11-13T00:00:00+00:00 List-Id: "Matthew Heaney" writes: > > In article <2hNW3.1742$dp.68215@typhoon-sf.snfc21.pbi.net> , > tmoran@bix.com wrote: > > >>I don't think your program will even compile. > > Sorry, I tried to simplify more than was possible. > > This prints "1 1", as seems nice, but unexpected, with one compiler, > > but "5832148 1" with another compiler. If X.J in function Init > > is replaced by X.I, then the two compilers give > > "39190036 1" and "0 1" respectively. I think record components can be initialized in an arbitrary order (ie whatever order the compiler chooses). So if the init of one component refers to the value of another, you might be referring to an uninitialized variable, which is a bounded error -- no matter which order you declare the components. - Bob