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,575ebd8d7a510349,start X-Google-Attributes: gid103376,public From: Tucker Taft Subject: Re: Porting Ada83 to Ada95 compiler/VxWorks Date: 1999/11/11 Message-ID: <382B4F79.F8B31A68@averstar.com>#1/1 X-Deja-AN: 547533970 Content-Transfer-Encoding: 7bit Sender: news@inmet.camb.inmet.com (USENET news) X-Nntp-Posting-Host: houdini.burl.averstar.com References: X-Accept-Language: en Content-Type: text/plain; charset=us-ascii Organization: AverStar (formerly Intermetrics) Burlington, MA USA Mime-Version: 1.0 Newsgroups: comp.lang.ada Date: 1999-11-11T00:00:00+00:00 List-Id: "Robert Kershaw, KG4ASZ" wrote: > > I need to port about 12K SLOC of code in Ada83 to Ada95 running under > VxWorks. Does anyone know of a good resource describing the > differences from Ada83 to Ada95? The short answer is that Ada 83 is a subset of Ada 95. The long answer about compatibility (and it is probably much more detail than most people need to know) can be found at: http://www.adaic.org/docs/compat-guide/compat-guide6-0.txt > Any advice? Try compiling the code. The few incompatibilities that exist are almost always caught at compile-time, and many compilers even give you a hint as to how to fix the problem. Here are the few "significant" incompatibilities: 1) type Character now has 256 enumeration literals (this was actually permitted even before Ada 95 arrived) 2) library packages must *not* have a body unless the body contains the completion for some declaration in the spec, or the spec contains a "pragma Elaborate_Body;" (i.e. there is no such thing as an "optional" library package body in Ada 95) 3) you need to decide in a generic whether a formal private type should or should not allow the actual type to be "indefinite." If the answer is yes, then you need to add a "(<>)" to the formal private type declaration. In general, the bigger porting problems are usually due to code that was originally target-dependent or compiler-dependent. > > Thanks, > RSK -- -Tucker Taft stt@averstar.com http://www.averstar.com/~stt/ Technical Director, Distributed IT Solutions (www.averstar.com/tools) AverStar (formerly Intermetrics, Inc.) Burlington, MA USA