comp.lang.ada
 help / color / mirror / Atom feed
* Elaboration circularity
@ 2000-02-02  0:00 Frode Tenneboe
  2000-02-02  0:00 ` Jeff Carter
  2000-02-02  0:00 ` Matthew Heaney
  0 siblings, 2 replies; 7+ messages in thread
From: Frode Tenneboe @ 2000-02-02  0:00 UTC (permalink / raw)


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;                |




^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2000-02-07  0:00 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2000-02-02  0:00 Elaboration circularity Frode Tenneboe
2000-02-02  0:00 ` Jeff Carter
2000-02-05  0:00   ` Robert Dewar
2000-02-07  0:00     ` Frode Tenneboe
2000-02-07  0:00       ` Robert Dewar
2000-02-07  0:00       ` Larry Kilgallen
2000-02-02  0:00 ` Matthew Heaney

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox