Содержание

Слайд 2

GNAT Pro Update

Arnaud Charlet
2018-11-14

GNAT Pro Update Arnaud Charlet 2018-11-14

Слайд 3

Release Schedule

October: Preview release Oct 2018: 19.0 Continuous Release Area
February: Major release Feb 2019: 19.1
July:

Release Schedule October: Preview release Oct 2018: 19.0 Continuous Release Area February:
Corrective release July 2019: 19.2
Oct 2019: 20.0
Feb 2020: 20.1
July 2020: 20.2

Слайд 5

GNAT Pro 19 overview

62 platforms (57 cross, 5 native)
Support for Ada 83,

GNAT Pro 19 overview 62 platforms (57 cross, 5 native) Support for
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

Слайд 6

GNAT 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

GNAT 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

Слайд 7

GNAT on VxWorks

Simplify mixing Ada/C++
Better integration of GNAT in Workbench (even for

GNAT on VxWorks Simplify mixing Ada/C++ Better integration of GNAT in Workbench
Ada-only projects)
Add support for Wind River's LLVM

Слайд 8

Libadalang integration

Libadalang available to customers and supported
GNATpp now based on libadalang faster and

Libadalang integration Libadalang available to customers and supported GNATpp now based on
doesn’t require closure, support for simple preprocessor directives
More to come

Слайд 9

Other GNAT Highlights

Spectre V2 mitigation (-mindirect-branch and -mfunction-return switches)
Link time speedup on

Other GNAT Highlights Spectre V2 mitigation (-mindirect-branch and -mfunction-return switches) Link time
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.

Слайд 11

GPS

AdaCore’s main IDE
Stability and speed

GPS AdaCore’s main IDE Stability and speed

Слайд 12

GPS

Learn view

GPS Learn view

Слайд 13

GPS

Libadalang view
Improved integration with debugger
new Registers view
set values in Variables view

GPS Libadalang view Improved integration with debugger new Registers view set values

lazy retrieve of callstack information
Improved Scenario view
untyped variables
variables in aggregated projects
Revamp and simplification of color preferences + theme support

Слайд 14

GNATbench

Eclipse Plug-In for Ada
Support for Eclipse 4.8 Photon, Wind River WorkBench 4.15
Eclipse

GNATbench Eclipse Plug-In for Ada Support for Eclipse 4.8 Photon, Wind River
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

Слайд 15

GNATbench

GNAThub integration

GNATbench GNAThub integration

Слайд 16

GNATdoc

Documentation Generator
Support for generics

GNATdoc Documentation Generator Support for generics

Слайд 17

GNATdashboard

GNAT Tools Aggregation and Visualization
Support for SonarQube 6.7 LTS
New Web UI

GNATdashboard GNAT Tools Aggregation and Visualization Support for SonarQube 6.7 LTS New Web UI

Слайд 19

GPRbuild

Multipurpose GNAT builder
Removed compile command line length limitation on Windows
Recompile if GNAT

GPRbuild Multipurpose GNAT builder Removed compile command line length limitation on Windows
toolchain version changes between compiles
Propagation of static SAL link dependencies upstream

Слайд 20

GNATcheck

Qualifiable Coding Standard Checker
Many new GNATcheck rules implemented & qualified

GNATcheck Qualifiable Coding Standard Checker Many new GNATcheck rules implemented & qualified

Слайд 21

GNATcoverage

Qualifiable Code Coverage
Improved handling of pragmas wrt statement coverage
Support for programs with

GNATcoverage Qualifiable Code Coverage Improved handling of pragmas wrt statement coverage Support
compressed debug info section

Слайд 22

In Our Labs

In Our Labs

Слайд 23

New Elaboration Algorithm

Taking complete call graph into account
Will solve porting efforts

New Elaboration Algorithm Taking complete call graph into account Will solve porting efforts

Слайд 24

GNAT Pro C++

Cross Linux
VxWorks 6
VxWorks 7

GNAT Pro C++ Cross Linux VxWorks 6 VxWorks 7

Слайд 25

GNAT LLVM

Working on plugging GNAT front-end with LLVM code generator

GNAT LLVM Working on plugging GNAT front-end with LLVM code generator

Слайд 26

GNATcoverage

Support for source instrumentation to provide coverage everywhere

GNATcoverage Support for source instrumentation to provide coverage everywhere

Слайд 27

GPR

Active work on GPR2 library and tools

GPR Active work on GPR2 library and tools

Слайд 28

Libadalang and Tools

Libadalang will replace all source navigation, cross reference and refactoring

Libadalang and Tools Libadalang will replace all source navigation, cross reference and
capabilities in GPS and GNATbench
GNATstub, GNATmetric, GNATcheck are also being transitioned