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.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Thread: 103376,95d3d2cf6edcb1b8,start X-Google-Attributes: gid103376,public X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news1.google.com!news3.google.com!border1.nntp.dca.giganews.com!nntp.giganews.com!local01.nntp.dca.giganews.com!nntp.nethere.com!news.nethere.com.POSTED!not-for-mail NNTP-Posting-Date: Fri, 14 Oct 2005 01:56:15 -0500 Newsgroups: comp.lang.ada Subject: Need a Wild Library Unit Elaboration Example From: csampson@inetworld.net (Charles H. Sampson) Date: Thu, 13 Oct 2005 23:54:28 -0700 Message-ID: <1h4eaav.1bgg5vt1bfffh6N%csampson@inetworld.net> User-Agent: MacSOUP/2.4.6 NNTP-Posting-Host: 67.125.168.22 X-Trace: sv3-cqiuYrp7aH/aCt37VNZRc84IcwfK69In5d76p8zP6AKIMT6eqhD5fBmCgpFtrIMi4LI1rD9WGGuewHE!VqnAC9cHmcV7ROrkFBVP8uneqid4RE6BbydC7GDOmVfEpfr6rArLY0N3Fs34uAeN9cWuH25RenPN!NcUaxtm2o1d7AMwoCpTBY+K41Gn4FsU= X-Complaints-To: abuse@nethere.com X-DMCA-Complaints-To: abuse@nethere.net X-Abuse-and-DMCA-Info: Please be sure to forward a copy of ALL headers X-Abuse-and-DMCA-Info: Otherwise we will be unable to process your complaint properly X-Postfilter: 1.3.32 Xref: g2news1.google.com comp.lang.ada:5633 Date: 2005-10-13T23:54:28-07:00 List-Id: 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