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=0.2 required=5.0 tests=BAYES_00,INVALID_MSGID, REPLYTO_WITHOUT_TO_CC 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: Mats Weber Subject: Re: AQ&S Guidance on pragma Elaborate_Body Date: 1997/04/22 Message-ID: <335CA950.33B7@elca-matrix.ch>#1/1 X-Deja-AN: 236657639 References: <528878564wnr@diphi.demon.co.uk> Organization: ELCA Matrix SA Reply-To: Mats.Weber@elca-matrix.ch Newsgroups: comp.lang.ada Date: 1997-04-22T00:00:00+00:00 List-Id: > 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? Because if your generic instantiates another generic in its body or spec (a very common siutation), then you must include a pragma Elaborate for that other generic too, and therefore also a with clause for it, which you don't want. You can find a discussion of the elaboration problems in Ada in my PhD thesis at sections 2.7 and 4.5.