[Ada] Fix possible crashes in GNATprove analysis of pointers
authorClaire Dross <dross@adacore.com>
Wed, 10 Jul 2019 09:02:36 +0000 (09:02 +0000)
committerPierre-Marie de Rodat <pmderodat@gcc.gnu.org>
Wed, 10 Jul 2019 09:02:36 +0000 (09:02 +0000)
commit1bc68e0d30bc801a279da653196d66d36312831b
treea3e22ec7b1a7ecaecd2d30eba79e5e4cce854a75
parentd036b2b8c29f8d53787417a1c0b0ddf814ab8b6b
[Ada] Fix possible crashes in GNATprove analysis of pointers

The new analysis of SPARK pointer rules could crash on some constructs.
Now fixed.

There is no impact on compilation.

2019-07-10  Claire Dross  <dross@adacore.com>

gcc/ada/

* sem_spark.adb (Check_Expression): Allow digits constraints as
input.
(Illegal_Global_Usage): Pass in the entity.
(Is_Subpath_Expression): New function to allow different nodes
as inner parts of a path expression.
(Read_Indexes): Allow concatenation and aggregates with box
expressions.  Allow attributes Update and Loop_Entry.
(Check_Expression): Allow richer membership test.
(Check_Node): Ignore bodies of generics.
(Get_Root_Object): Allow concatenation and attributes.

From-SVN: r273348
gcc/ada/ChangeLog
gcc/ada/sem_spark.adb