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: dewar@cs.nyu.edu (Robert Dewar) Subject: Re: Elaboration order Date: 1996/03/15 Message-ID: #1/1 X-Deja-AN: 143085319 references: <314701A1.469D@lfwc.lockheed.com> <1996Mar14.021345.9856@enterprise.rdd.lmsc.lockheed.com> <314829CD.4FA9@lfwc.lockheed.com> organization: Courant Institute of Mathematical Sciences newsgroups: comp.lang.ada Date: 1996-03-15T00:00:00+00:00 List-Id: Robert Eachus said: Yes, annd no. IF you call a function from one package in the spec of some other package you certainly need a pragma Elaborate or pragma Elaborate_All. If such a function (or a procedure) is used in the sequence of statements of the package body, or if you call subprograms declared earlier in the package there, or if you initialize objects in the package body using functions from some other package, you may need the pragmas as well. Too strong -- you do not need to worry about this if the unit containing the function you are calling has a pragma Preelaborate, pragma Pure, or pragma Elaborate_Body.