Слайд 2GNAT Pro Update
Arnaud Charlet
2018-11-14

Слайд 3Release Schedule
October: Preview release Oct 2018: 19.0 Continuous Release Area
February: Major release Feb 2019: 19.1
July:

Corrective release July 2019: 19.2
Oct 2019: 20.0
Feb 2020: 20.1
July 2020: 20.2
Слайд 5GNAT Pro 19 overview
62 platforms (57 cross, 5 native)
Support for Ada 83,

95, 2005, 2012, 202x, SPARK
GCC 6.x ➠ GCC 7.x
Binutils: 2.28.51 ➠ 2.30.52
GDB 7.10 ➠ GDB 8.2
MinGW 3.1.0 ➠ 5.0
QEMU 2.8.1 ➠ 2.12
Слайд 6GNAT Pro Ports
7 new ports, 11 new configurations
riscv64-elf
aarch64-elf-{linux,windows}64
aarch64-linux-linux64
aarch64-qnx-{linux,windows}64
aarch64-vx7-{linux,windows}64
ppc-linux-windows
x86-lynx178elf-{linux,windows}64

Слайд 7GNAT on VxWorks
Simplify mixing Ada/C++
Better integration of GNAT in Workbench (even for

Ada-only projects)
Add support for Wind River's LLVM
Слайд 8Libadalang integration
Libadalang available to customers and supported
GNATpp now based on libadalang
faster and

doesn’t require closure, support for simple preprocessor
directives
More to come
Слайд 9Other GNAT Highlights
Spectre V2 mitigation (-mindirect-branch and -mfunction-return switches)
Link time speedup on

Windows for large executables with multiple DLLs
Full Ada 2012 syntax for C/C++ binding produced by -fdump-ada-spec
Improved suppression of access-before-elaboration checks and warnings
AWS improvements
Enhanced interoperability with Apache CXF for document/literal WSDL and generated SOAP messages.
Improved session handling security by using a configurable private hash.
Слайд 11GPS
AdaCore’s main IDE
Stability and speed

Слайд 13GPS
Libadalang view
Improved integration with debugger
new Registers view
set values in Variables view

lazy retrieve of callstack information
Improved Scenario view
untyped variables
variables in aggregated projects
Revamp and simplification of color preferences + theme support
Слайд 14GNATbench
Eclipse Plug-In for Ada
Support for Eclipse 4.8 Photon, Wind River WorkBench 4.15
Eclipse

SimRel 2018-09 under test
Improved Ada/C++ exception handling on VxWorks 7
Better integration with WorkBench
improve support for compiler with GNAT Pro C
full access to environment managed by WorkBench
New UI for runtime selection
Слайд 16GNATdoc
Documentation Generator
Support for generics

Слайд 17GNATdashboard
GNAT Tools Aggregation and Visualization
Support for SonarQube 6.7 LTS
New Web UI

Слайд 19GPRbuild
Multipurpose GNAT builder
Removed compile command line length limitation on Windows
Recompile if GNAT

toolchain version changes between compiles
Propagation of static SAL link dependencies upstream
Слайд 20GNATcheck
Qualifiable Coding Standard Checker
Many new GNATcheck rules implemented & qualified

Слайд 21GNATcoverage
Qualifiable Code Coverage
Improved handling of pragmas wrt statement coverage
Support for programs with

compressed debug info section
Слайд 23New Elaboration Algorithm
Taking complete call graph into account
Will solve porting efforts

Слайд 24GNAT Pro C++
Cross Linux
VxWorks 6
VxWorks 7

Слайд 25GNAT LLVM
Working on plugging GNAT front-end with LLVM code generator

Слайд 26GNATcoverage
Support for source instrumentation to provide coverage everywhere

Слайд 27GPR
Active work on GPR2 library and tools

Слайд 28Libadalang and Tools
Libadalang will replace all source navigation, cross reference and refactoring

capabilities in GPS and GNATbench
GNATstub, GNATmetric, GNATcheck are also being transitioned