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.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,4fe4dfa1b8acdbe4 X-Google-Attributes: gid103376,public From: dewar@merv.cs.nyu.edu (Robert Dewar) Subject: Re: gnat310p on NT Date: 1998/08/16 Message-ID: #1/1 X-Deja-AN: 381668173 References: <01bdc744$cef04bc0$0e2915c0@w95> <0QXRrq2x9GA.123@samson.airnet.net> <6r1f6i$9q6$1@nnrp1.dejanews.com> <35D4C134.138C@erols.com> X-Complaints-To: usenet@news.nyu.edu X-Trace: news.nyu.edu 903281030 21003 (None) 128.122.140.58 Organization: New York University Newsgroups: comp.lang.ada Date: 1998-08-16T00:00:00+00:00 List-Id: Stephen says <> No, that's not right, GNAT can fully compile separates in the sense of the RM, e.g. checking for all semantic errors, as required by the RM, and as is most certainly NOT possible for #include as used in C. What GNAT does is to delay the generation of object code until the parent is compiled. This delay is an optimization that ensures the generation of efficient code without any penalty from the use of separates. In many Ada compilers, the separate generation of code means that worst case assumptions have to be made (e.g. the parent has to assume that tasks *might* be present in a subunit), and consequently there is a runtime penalty for the use of subunits. Robert Dewar Ada Core Technologies