From: csampson@inetworld.net (Charles H. Sampson)
Subject: Need a Wild Library Unit Elaboration Example
Date: Thu, 13 Oct 2005 23:54:28 -0700
Date: 2005-10-13T23:54:28-07:00 [thread overview]
Message-ID: <1h4eaav.1bgg5vt1bfffh6N%csampson@inetworld.net> (raw)
I'm preparing a talk on elaboration with the ultimate
goal being an understanding of the problems you can get
into with library unit elaboration when you make calls
between packages. Most of the emphasis is on the common
stuff: The package's elaboration code or an object's
initialization using a subprogram from another package.
I like to end the talk with three examples that I
characterize as pathological; cross-package dependencies
you likely wouldn't think of on your first encounter with
the subject. Unfortunately for me, one of my examples has
been obsoleted by pragma Elaborate_Body. I think three
examples is just the right number, so I'm asking for your
favorite examples of cross-package dependencies to fill
out my list again.
Just to avoid duplication, my two remaining examples
are elaboration code that calls a protected object entry
whose barrier condition uses a function from another
package and elaboration code that calls a task entry that
has a call to a subprogram from another package in its
rendezvous. (I'm not promoting this as good coding
practice, mind you. I'm just trying to illustrate how
hairy things can get, theoretically.) Also, as part of
the non-pathological stuff, I've covered the elaboration
of a statically allocated task's declarative part as part
of the elaboration of a containing package.
Charlie
next reply other threads:[~2005-10-14 6:54 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-10-14 6:54 Charles H. Sampson [this message]
2005-10-16 1:01 ` Need a Wild Library Unit Elaboration Example Robert A Duff
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox