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, MSGID_RANDY autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,183821e6c098051b X-Google-Attributes: gid103376,public From: Robert Dewar Subject: Re: pragma Elaborate (Comp. Unit) question. Date: 1999/05/25 Message-ID: <7id6vb$3gf$1@nnrp1.deja.com>#1/1 X-Deja-AN: 481750587 References: <3749F3B9.202F7A13@mitre.org> X-Http-Proxy: 1.0 x25.deja.com:80 (Squid/1.1.22) for client 129.37.79.196 Organization: Deja.com - Share what you know. Learn what you don't. X-Article-Creation-Date: Tue May 25 03:55:23 1999 GMT Newsgroups: comp.lang.ada X-Http-User-Agent: Mozilla/4.04 [en] (OS/2; I) Date: 1999-05-25T00:00:00+00:00 List-Id: In article <3749F3B9.202F7A13@mitre.org>, "Robert I. Eachus" wrote: Better is to restructure your > program so that it is easy. This often involves spliting packages or > moving some initialization code into the main program. > > Robert I. Eachus Many legacy programs have a huge mess when it comes to elaboration issues. The simple rule for elaboration is the same as elsewhere in Ada, your code should NOT depend on any knowledge of what is in a body. This means you need to use Elaborate_All to make sure that all packages are elaborated as needed. If you are starting with new code, by far the best approach is to completely abandon the dynamic model of run time checking, and use the default static model of GNAT, which guarantees a correct elaboration order at compile time. --== Sent via Deja.com http://www.deja.com/ ==-- ---Share what you know. Learn what you don't.---