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,16e3a8dd4f3ab3f3 X-Google-Attributes: gid103376,public From: eachus@spectre.mitre.org (Robert I. Eachus) Subject: Re: Elaboration order Date: 1996/03/20 Message-ID: #1/1 X-Deja-AN: 143277227 references: <314701A1.469D@lfwc.lockheed.com> organization: The Mitre Corp., Bedford, MA. newsgroups: comp.lang.ada Date: 1996-03-20T00:00:00+00:00 List-Id: In article <314D2E1C.5C72@lfwc.lockheed.com> Ken Garlington writes: > In fact, in general, for all respondents to this question, if you > say that pragma Elaborate is _not_ needed in a particular context, > please cite an 83 reference. Can't possibly do that... It is a halting problem issue to determine if the elaboration order affects the final result of the program. (For almost all programs it won't, but it is very difficult to prove. Note that first you have to prove that your program never does anything that in Ada 83 is erroneous. The behavior of an erroneous program often will depend on how things are layed out in memory.) > I can't even find a reference that says the body can be assured of > the elaboration of its own spec! It can, because the specification of a unit is always elaborated before the body due to the linear order of elaboration. This applies even to specs and bodies nested inside other units. -- Robert I. Eachus with Standard_Disclaimer; use Standard_Disclaimer; function Message (Text: in Clever_Ideas) return Better_Ideas is...