aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/spark_xrefs.ads
diff options
context:
space:
mode:
authorPierre-Marie de Rodat <pmderodat@gcc.gnu.org>2017-11-08 16:04:35 +0000
committerPierre-Marie de Rodat <pmderodat@gcc.gnu.org>2017-11-08 16:04:35 +0000
commit3e5400f4acc56a3e6a25ebeb5f7bfcf9d7d3646a (patch)
tree989def40a76a3d4d1f669135a44fea83700b0cda /gcc/ada/spark_xrefs.ads
parent013e9958f80bbba91f14dba7f1fa83ac9809ad7d (diff)
downloadgcc-3e5400f4acc56a3e6a25ebeb5f7bfcf9d7d3646a.zip
gcc-3e5400f4acc56a3e6a25ebeb5f7bfcf9d7d3646a.tar.gz
gcc-3e5400f4acc56a3e6a25ebeb5f7bfcf9d7d3646a.tar.bz2
[multiple changes]
2017-11-08 Piotr Trojanek <trojanek@adacore.com> * spark_xrefs.ads (SPARK_Xref_Record): Referenced object is now represented by Entity_Id. (SPARK_Scope_Record): Referenced scope (e.g. subprogram) is now represented by Entity_Id; this information is not repeated as Scope_Entity. (Heap): Moved from lib-xref-spark_specific.adb, to reside next to Name_Of_Heap_Variable. * spark_xrefs.adb (dspark): Adapt debug routine to above changes in data types. * lib-xref-spark_specific.adb: Adapt routines for populating SPARK scope and xrefs tables to above changes in data types. 2017-11-08 Justin Squirek <squirek@adacore.com> * sem_ch8.adb (Mark_Use_Clauses): Add condition to always mark the primitives of generic actuals. (Mark_Use_Type): Add recursive call to properly mark class-wide type's base type clauses as per ARM 8.4 (8.2/3). 2017-11-08 Ed Schonberg <schonberg@adacore.com> * sem_ch6.adb (Analyze_Generic_Subprobram_Body): Validate categorization dependency of the body, as is done for non-generic units. (New_Overloaded_Entity, Visible_Part_Type): Remove linear search through declarations (Simple optimization, no behavior change). From-SVN: r254539
Diffstat (limited to 'gcc/ada/spark_xrefs.ads')
-rw-r--r--gcc/ada/spark_xrefs.ads15
1 files changed, 7 insertions, 8 deletions
diff --git a/gcc/ada/spark_xrefs.ads b/gcc/ada/spark_xrefs.ads
index 962b7af..e4f1eef 100644
--- a/gcc/ada/spark_xrefs.ads
+++ b/gcc/ada/spark_xrefs.ads
@@ -66,7 +66,7 @@ package SPARK_Xrefs is
-- until a proper value is determined.
type SPARK_Xref_Record is record
- Entity_Name : String_Ptr;
+ Entity : Entity_Id;
-- Pointer to entity name in ALI file
File_Num : Nat;
@@ -109,7 +109,7 @@ package SPARK_Xrefs is
-- determined.
type SPARK_Scope_Record is record
- Scope_Name : String_Ptr;
+ Scope_Id : Entity_Id;
-- Pointer to scope name in ALI file
File_Num : Nat;
@@ -131,12 +131,6 @@ package SPARK_Xrefs is
To_Xref : Xref_Index;
-- Ending index in Xref table for this scope
-
- -- The following component is only used in-memory, not printed out in
- -- ALI file.
-
- Scope_Entity : Entity_Id := Empty;
- -- Entity (subprogram or package) for the scope
end record;
package SPARK_Scope_Table is new Table.Table (
@@ -193,6 +187,11 @@ package SPARK_Xrefs is
-- Name of special variable used in effects to denote reads and writes
-- through explicit dereference.
+ Heap : Entity_Id := Empty;
+ -- A special entity which denotes the heap object; it should be considered
+ -- constant, but needs to be variable, because it can only be initialized
+ -- after the node tables are created.
+
-----------------
-- Subprograms --
-----------------