GNAT Pro 18.x

Compiler

  • SPARK Discovery is now available to all GNAT Pro customers
  • GNATstack is now available to all Enterprise and Assurance customers
  • New ports: PowerPC 64bits VxWorks 7, x86 32bits VxWorks 7, ARM 64bits bare metal
  • Support for latest Ada 2012 corrigendum
  • Support for some Ada 202x features: "@" shorthand, delta aggregates
  • Handling of elaboration checks rewritten
  • On GNU/Linux: support for ceiling locking policy without root privileges, monotonic clock (CLOCK_MONOTONIC)
  • Some pretty-printers for Ada date types are now available from the debugger
  • Improved code generation: automatic reordering of components in record types with discriminants; improved inlining of subprograms; improved C binding generation; performance enhancements (both generated code and compile time)
  • New warning for ineffective "use" and "use type" clauses (via -gnatwu)
  • Cross support: better code generation when using PowerPC -mlongcall; SMP support for ARM Cortex-A; Clean BSP/runtime separation; ARM semihosting using on arm-elf for Ada.Text_IO


GPS

  • Large number of fixes for user interface, stability issues and performance,cin particular in the C/C++ navigation engine
  • Preliminary Integration of the libadalang engine API
  • Many improvements in support for bare metal platforms
  • User interface improvements: improved experience for newcomers (welcome screen, "first time" assistant, ...); new, clearer search dialog; new memory usage view; Build & Run, Build & Debug buttons; Button to switch between perspectives
  • New version system engine, easier to customise, and including extended support for Git.
  • Debugger support: support for the GDB-MI debugger interface, new registers view, improved control on representation of data

Tools

  • GPRbuild: performance improvements; better handling of incomplete and custom installs; support for response files
  • GNATcheck: 23 new rules implemented and qualified for DO178C
  • GNATcoverage: qualification material updated to DO178C & Ada 2012; support for Lauterbach probes; support for compressed ELF sections
  • GNATtest: more options to control which parts of the user application to select for testing and stubbing; more options to customise the generated harness
  • GNATdoc: support for all versions of Ada; support for extracting doc from bodies and tasking constructs
  • AJIS: generate Java code is now compatible with javadoc, Ada comments are now copied to the public Java classes and methods; added support for range types, limited types and Java iterators for arrays.


GNATbench

  • Support for Eclipse 4.8 Oxygen
  • Support for Wind River Workbench: support of Workbench 4.12, diab compiler, static user/kernel library projects
  • User Interface enhancements: new wizard for creating library projects; new menus for syntax/semantic check, compile all, recompute xref
  • Performance and compatibility improvements: enhancement support for GNAT projects, for multiple toolchains; performance enhancements for large or multiple GNAT projects