Слайд 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