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.7 required=5.0 tests=BAYES_00,INVALID_DATE, MSGID_SHORT,REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 Path: utzoo!attcan!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!pacific.mps.ohio-state.edu!zaphod.mps.ohio-state.edu!uakari.primate.wisc.edu!caesar.cs.montana.edu!ogicse!emory!hubcap!billwolf%hazel.cs.clemson.edu From: billwolf%hazel.cs.clemson.edu@hubcap.clemson.edu (William Thomas Wolfe, 2847 ) Newsgroups: comp.lang.ada Subject: Re: proposal for Ada preprocessor Message-ID: <7447@hubcap.clemson.edu> Date: 14 Dec 89 20:40:36 GMT References: <4376@hydra.gatech.EDU> Sender: news@hubcap.clemson.edu Reply-To: billwolf%hazel.cs.clemson.edu@hubcap.clemson.edu List-Id: >From tynor@prism.gatech.EDU (Steve Tynor): > What about the cases where disabling a feature should prevent > 'with'ing a package? (e.g. don't 'with' a DEBUG_TRACE package > in a released version) - Your method will prevent calls to the > trace procedures, but the DEBUG_TRACE package would still be > linked in to the executable (ignoring potential linker optimizations > that might recognize that none of that package's code is actually called). No, in fact these linker optimizations are relied upon very heavily in Ada. Consider a generic abstract data type -- the idea is to provide as much functionality in that ADT as can reasonably be expected to ever be required by any of the users. Any functionality which can be expressed generically is an excellent candidate to be included in the package. Now if we could not rely upon these linker optimizations, then ADT developers would go crazy trying to keep 5000 variations of the same package and ADT users would go crazy trying to select the package having exactly the set of operations they will use and no more. Obviously this is ridiculous -- both developer and user rely instead upon the fact that the compiler/ linker/etc will automatically trim away anything not referenced by the user. To assume otherwise is inconceivable. Bill Wolfe, wtwolfe@hubcap.clemson.edu