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,d2124d0c0c2ae797 X-Google-Attributes: gid103376,public From: Steve Quinlan Subject: Re: Gnat binding specific question Date: 1999/04/06 Message-ID: <370A5173.6E025D5D@nospam.lmco.com>#1/1 X-Deja-AN: 463334601 Content-Transfer-Encoding: 7bit References: Content-Type: text/plain; charset=us-ascii Organization: Lockheed-Martin Air Traffic Management Mime-Version: 1.0 Newsgroups: comp.lang.ada Date: 1999-04-06T00:00:00+00:00 List-Id: Boulais, Jeffrey M wrote: > This is a Gnat specific question, so I'm sorry. > > I'm getting a circular withing error during binding (Windows NT, Gnat3.11), > here's the error: It's impossible to completely diagnose without knowing what elaboration pragmas you had in each unit, and what declarations you use from each unit in elaboration code. It is possible to have legal withing, but generate elaboration errors by having incorrect elaboration pragmas. Try taking out the 'pragma elaborate (symbols)' from dgs.adb. If mfd_pkg.ads has a pragma elaborate for dgs, then you don't need and in fact cannot have this pragma in dgs. It's the same situation as if you had two packages, a and b, whose bodies with'ed each other's specs. You cannot have a pragma elaborate for BOTH withs, only one of them, because in that case the pragmas themselves are trying to force circular elaboration. Also, you may need to compile with the -gnatE switch unless you are going to follow GNAT's recommended elaboration pragma strategy; which, it does not look like you did, since you said you originally had a 'pragma elaborate' -- they don't recommend those.