GNAT User’s Guide Supplement for GNAT Pro Safety-Critical and GNAT Pro High-Security¶
GNAT, The GNU Ada Development Environment
Version 20.0w
Date: Oct 17, 2018
AdaCore
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with the Front-Cover Texts being “GNAT Reference Manual”, and with no Back-Cover Texts. A copy of the license is included in the section entitled GNU Free Documentation License.
- 1. About This Guide
- 2. The High Integrity Philosophy
- 3. Using GNAT Pro Features Relevant to High Integrity
- 3.1. Exceptions and the High-Integrity Profiles
- 3.2. Allocators and the High-Integrity Profiles
- 3.3. Array and Record Assignments and the High-Integrity Profiles
- 3.4. Object-Oriented Programming and the High-Integrity Profiles
- 3.5. Functions Returning Unconstrained Objects
- 3.6. Controlling Implicit Conditionals and Loops
- 3.7. Controlling Use of Conditional Operators
- 3.8. Avoiding Elaboration Code
- 3.9. Removal of Deactivated Code
- 3.10. Traceability from Source Code to Object Code
- 3.11. Optimization issues
- 3.12. Other useful features
- 3.13. Compilation options for GNAT Pro Safety-Critical and GNAT Pro High-Security
- 4. The Predefined Profiles
- 4.1. Choosing a Predefined Profile
- 4.2. The Zero Footprint Profile
- 4.2.1. The -nostdlib Switch
- 4.2.2. Ada Restrictions in the Zero Footprint Profile
- 4.2.3. Predefined Packages in the Zero Footprint Profile
- 4.2.4. Thread Registration Issues
- 4.2.5. Pragmas Automatically Enabled in the Zero Footprint Profile
- 4.2.6. Exceptions and the Last Chance Handler - ZFP and Ravenscar SFP
- 4.3. The Cert Profile
- 4.4. The Ravenscar Profiles
- 4.5. The Extended Ravenscar Profiles
- 5. The GNAT Configurable Run Time Facility