Preface

This summary provides technical information about the M1750 Ada cross compiler. It is intended for anyone evaluating cross compilers for development environments using workstations running the UNIX operating system, and microprocessor targets. The reader is expected to be familiar with the Ada 95 programming language.

The information in this summary is organized according to the Ada-Europe Guidelines for Ada compiler specification and selection. These guidelines pose questions about an Ada implementation that are designed to assist vendors and users of Ada compilers. Although written for Ada 83, these guidelines continue to be relevant for Ada 95, and for this summary, we include answers to any Ada 95-specific questions.

Questions from the guidelines are not restated; topics are discussed in a manner that makes it unnecessary to refer to the original questions. Supplementary information is provided as appropriate. An appendix shows listing from two small compilations to help answer many of the questions related to compilation listings and error messages. The presentation is terse to provide as much information as possible in a compact form.

The Ada-Europe Guidelines for Ada compiler specification and selection were written in 1982 by J.C.D. Nissen, B.A. Wichmann, and other members of Ada-Europe, with partial support from the Commission of the European Communities. They are available from the National Physical Laboratory as NPL report DITC 10/82, ISSN 0262-5369. They were also reprinted in Ada Letters, Vol. III, No. 1 (July, August 1983), pp. 37-50. (Ada Letters is published every two months by SIGAda, the ACM Special Interest Group on Ada.)

Version 1.7. Version 1.7 adds exception handling but does not support exception propagation (down the dynamic stack). Handlers can only handle exceptions raised locally. Version 1.7 also adds a static subset of programming by extension. Dispatching is not supported and the attribute 'Class is prohibited.

Version 1.6. Version 1.6 offers broader functionality with a smaller run-time system. The default profile is extended with allocators, catenation operators and the Ada 83 rendezvous. Functions that return unconstrained types are also permitted.

Version 1.5. Version 1.5 includes further support for real-time systems. Several Ada child packages that were previously absent are now available in the default profile. We have added the pragma Profile, which offers a choice of five mission-critical profiles. Note that M1750 Ada still prohibits non-static tasks, the rendezvous, allocators and exception handlers, and other Ada features that depend on these. Version 1.5 also supports expanded memory.

Version 1.2. The main change since Version 1.1 is the addition of a limited form of Ada tasking that supports the Ravenscar Profile. The profile includes tasks and protected objects declared in library packages, and a limited number of features from Annexes C and D.

Version 1.1. Version 1.1 offers all the features of the safety-critical HOLD III compiler developed for Lucas Aerospace but targeted to the M1750 rather than the Motorola MC68020.