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-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,3a414836333dfef7 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2002-01-10 20:49:33 PST Path: archiver1.google.com!postnews1.google.com!not-for-mail From: dewar@gnat.com (Robert Dewar) Newsgroups: comp.lang.ada Subject: Re: Elaboration in GNAT Date: 10 Jan 2002 20:49:32 -0800 Organization: http://groups.google.com/ Message-ID: <5ee5b646.0201102049.482cf72e@posting.google.com> References: <1006952193.650930@edh3> <5ee5b646.0111281125.7e9fbca3@posting.google.com> <1010151875.216658@edh3> <5ee5b646.0201041650.208d0918@posting.google.com> NNTP-Posting-Host: 205.232.38.14 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit X-Trace: posting.google.com 1010724572 5572 127.0.0.1 (11 Jan 2002 04:49:32 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: 11 Jan 2002 04:49:32 GMT Xref: archiver1.google.com comp.lang.ada:18756 Date: 2002-01-11T04:49:32+00:00 List-Id: Robert A Duff wrote in message news:... > True, but is it not also the case that these bugs are > relatively > innocuous? That is, if you forget your pragmas, then > your program > usually blows up during elaboration (and you fix it), or > else it doesn't > blow up (using this compiler). That is, it's more of a > *portability* > problem, than a problem of programs malfunctioning when > users use them. In a large program, one with thousands of units, and millions of lines of code, it can take weeks or months of fiddling to find all the pragma Elaborate's that are required, when you have to do a complete build to find just one of them. Often in such a situation it may be better to aim for the static solution off the bat. > Ideally, all elaboration problems would be detected at > compile time (or > link time), and there would be no constraints on the > structure of a > program due to elaboration-order issues. Ada (even with > GNAT's default > mode) does not achieve that, unfortunately. I understand that this is theoretically true, but in practice with GNAT's static model problems do not arise. We have not had one customer using the static model ever run into any elaboration problems at all. So from a pragmatic point of view, the problem is solved.