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=0.2 required=5.0 tests=BAYES_00,INVALID_MSGID, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,efbcb7a47025db16 X-Google-Attributes: gid103376,public From: Mats Weber Subject: Elaboration order (was: Effort to Port TSG to Ada-95 and How Fast it Ran in Gnat) Date: 1997/03/03 Message-ID: <331AE5E3.3EC6@elca-matrix.ch>#1/1 X-Deja-AN: 222909640 References: <5efjta$jlm@top.mitre.org> <331596C5.22B5@elca-matrix.ch> Organization: ELCA Matrix SA Reply-To: Mats.Weber@elca-matrix.ch Newsgroups: comp.lang.ada Date: 1997-03-03T00:00:00+00:00 List-Id: > <<> This is not porting advice, but really programming advice (write > > code in a correct manner). In particular, missing pragma > > Elaborate's are instances of bugs in the original code. > > or bugs in the language definition ? :-) :-) :-)>> > > I see lots of smileys here, but I still do not konw what you are getting > at. Do you think there are ways in which this could have been handled > better, that would have been practical? I wrote an article on the subject that was published in Ada Letters a few years ago (I don't remember which issue, but I can send a copy to anyone who is interested). The article is also part of my thesis (sections 2.7 and 4.5) which is accessible at http://lglwww.epfl.ch/Team/MW/Ada-Extensions/Ada-Extensions.html Essentially, I think it solves all *reasonable* occurences of Program_Error being raised at elaboration time because some subprogram or generic body has not been elaborated. Of course, you may or may not agree with my view of what is a "reasonable" elaboration order dependence, but I think that incorporating my solution into Ada 95 would have solved most cases in practice.