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 X-Google-Thread: 103376,8bc57ad5ed1a513e,start X-Google-Attributes: gid103376,public From: Frode Tenneboe Subject: Elaboration circularity Date: 2000/02/02 Message-ID: <949502026.152029@edh3>#1/1 X-Deja-AN: 580807448 Cache-Post-Path: edh3!unknown@alne Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset=ISO-8859-1 Organization: Ericsson Radar AS X-Cache: nntpcache 2.3.3 (see http://www.nntpcache.org/) Mime-Version: 1.0 User-Agent: tin/1.4.1-19991201 ("Polish") (UNIX) (SunOS/5.7 (sun4u)) Newsgroups: comp.lang.ada Date: 2000-02-02T00:00:00+00:00 List-Id: I am currently looking into some legacy code which is heavily nested with cirular dependencies. Compiling with gnat give the following message: gnatbind -x client.ali error: elaboration circularity detected info: "edhipc (body)" must be elaborated before "edhipc (body)" info: reason: Elaborate_All probably needed in unit "edhipc (body)" info: recompile "edhipc (body)" with -gnatwl for full details info: "edhipc (body)" info: is needed by its spec: info: "edhipc (spec)" info: which is withed by: info: "edhipclog (spec)" info: which is withed by: info: "edhipc (body)" gnatmake: *** bind failed. *** Error code 4 make: Fatal error: Command failed for target `client' As you can see edhipc.adb is referring back to itself. So - I have to unroll this mess. Are there any handy tricks when doing this? The exact approach depends of course on the actual software, but is it generally better to move the code out into new package(s) or remove the circularity? -Frode -- ^ Frode Tenneb� | email: ft@edh.ericsson.se ^ | Ericsson Radar AS. N-1788 Halden | | | Phone: +47 69 21 41 47 | Frode@IRC | | with Standard.Disclaimer; use Standard.Disclaimer; |