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,baa6871d466e5af9 X-Google-Attributes: gid103376,public From: bobduff@world.std.com (Robert A Duff) Subject: Re: AQ&S Guidance on pragma Elaborate_Body Date: 1997/04/22 Message-ID: #1/1 X-Deja-AN: 236575131 References: <528878564wnr@diphi.demon.co.uk> Organization: The World Public Access UNIX, Brookline, MA Newsgroups: comp.lang.ada Date: 1997-04-22T00:00:00+00:00 List-Id: In article , Matthew Heaney wrote: >OK, one more question. Why not just pragma Elaborate? If I only >instantiate the generic in the package declarative region, and do not call >any of its functions during elaboration or initialization, then why pragma >Elaborate_All? All I the instantiator require is the generic's body, not >the bodies of the packages it with's, so isn't Elaborate good enough? You can't tell without looking at the body of that generic (which is the root of this whole problem): generic package G1 is ... end G1; package body G1 is ... end G1; generic package G2 is ... end G2; with G1; package body G2 is package Inst_1 is new G1; end G2; with G2; pragma Elaborate(G2); package P is package Inst_2 is new G2; end P; This will raise Program_Error. - Bob