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,5dba30d6260ef552 X-Google-Attributes: gid103376,public From: Robert Dewar Subject: Re: Elaboration Order Date: 1999/11/16 Message-ID: <80s1h2$6fu$1@nnrp1.deja.com>#1/1 X-Deja-AN: 549305445 References: <80pcdf$7u5$1@nnrp1.deja.com> X-Http-Proxy: 1.0 x35.deja.com:80 (Squid/1.1.22) for client 205.232.38.14 Organization: Deja.com - Before you buy. X-Article-Creation-Date: Tue Nov 16 16:42:10 1999 GMT X-MyDeja-Info: XMYDJUIDrobert_dewar Newsgroups: comp.lang.ada X-Http-User-Agent: Mozilla/4.04 [en] (OS/2; I) Date: 1999-11-16T00:00:00+00:00 List-Id: By the way, another important guideline in coding practice is that if you call a function in elaboration code, or instantiate a package in elaboration code, then you should have a pragma Elaborate_All for the corresponding unit. The use of pragma Elaborate is almost always wrong in new Ada 95 code, though it may be hard to eliminate body dependencies from legacy code (see GNAT users guide for a long discussion of this point). Another issue has to do with tasks. It is generally risky to have library tasks starting at elaboration time, since it means that you have arbitrary code running before the main package elaboration is complete. If you create such tasks, you must very carefully review them to make sure that they do not cause elaboration problems. Sent via Deja.com http://www.deja.com/ Before you buy.