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=2.8 required=5.0 tests=BAYES_00,INVALID_DATE, LONGWORDS,MSGID_SHORT,REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 Path: utzoo!utgpu!jarvis.csri.toronto.edu!clyde.concordia.ca!uunet!cs.utexas.edu!wuarchive!mailrus!ames!excelan!unix!hplabs!hp-sdd!ncr-sd!ncrcae!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: Ada portability and conditional compilation Message-ID: <7473@hubcap.clemson.edu> Date: 16 Dec 89 18:07:21 GMT References: <8912160225.AA08090@Herbrand.Inference.Com> Sender: news@hubcap.clemson.edu Reply-To: billwolf%hazel.cs.clemson.edu@hubcap.clemson.edu List-Id: >From sdl@herbrand.Inference.Com (Daniel Lee): > In this message, I would like to point out which Ada features > are not portable and thus subject to conditional compilation. The point about some aspects of Ada 83 software being necessarily non-portable is well-taken; but the question is: "Should we address the problem via conditional compilation, or by some other means of ensuring portability?". Robert Munck has pointed out the flagrant abuses of conditional compilation and suggested that not having conditional compilation would promote better software engineering practice; it would seem that there are better ways of facilitating portability, such as secondary standards, upgrading of SYSTEM and other required packages, and so on. Is there some fundamental reason why the use of these two mechanisms cannot reasonably address portability issues without introducing conditional compilation (Feel free to define "reasonably"...), or some benefits which might outweigh the high potential for abuse and the inability of compilers to perform optimizations on the basis of high-level semantics? If so, maybe a preprocessing mechanism such as conditional compilation should be included in the Ada definition; otherwise, perhaps preprocessing is best left as an ad hoc response to the lengthy revision cycle. Bill Wolfe, wtwolfe@hubcap.clemson.edu (P.S. Thanks to those who pointed out the rationale behind requiring unique field names and the correct semantics of SYSTEM.NAME; now does anyone know why SYSTEM.NAME was not called SYSTEM.TARGET?)