From 7abe752684b9afa6aa4bf4f293c9f2e13bd38835 Mon Sep 17 00:00:00 2001 From: Piotr Trojanek Date: Tue, 17 Jul 2018 08:05:54 +0000 Subject: [PATCH] [Ada] Attach the special GNATprove HEAP entity to the Standard package In GNATprove mode we use frontend cross-references to synthesize the Global contract of subprograms with SPARK_Mode => Off and represent a read/write via a pointer as a read/write of a special entity called HEAP. This entity is now attached to the Standard package, so that we can safely check the Ekind of its Scope, which now happens in Scope_Within. This only affects GNATprove, so no frontend test provided. 2018-07-17 Piotr Trojanek gcc/ada/ * lib-xref-spark_specific.adb (Create_Heap): Attach the HEAP entity to the Standard package. From-SVN: r262771 --- gcc/ada/ChangeLog | 5 +++++ gcc/ada/lib-xref-spark_specific.adb | 1 + 2 files changed, 6 insertions(+) diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 5aff421a5b4..0e2d04edda7 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,8 @@ +2018-07-17 Piotr Trojanek + + * lib-xref-spark_specific.adb (Create_Heap): Attach the HEAP entity to + the Standard package. + 2018-07-17 Piotr Trojanek * einfo.adb (Is_Wrapper_Package): Remove extra parentheses. diff --git a/gcc/ada/lib-xref-spark_specific.adb b/gcc/ada/lib-xref-spark_specific.adb index 834ddc0ae66..0ce834a616b 100644 --- a/gcc/ada/lib-xref-spark_specific.adb +++ b/gcc/ada/lib-xref-spark_specific.adb @@ -287,6 +287,7 @@ package body SPARK_Specific is Set_Ekind (Heap, E_Variable); Set_Is_Internal (Heap, True); + Set_Scope (Heap, Standard_Standard); Set_Has_Fully_Qualified_Name (Heap); end Create_Heap; -- 2.30.2