diff options
author | Pierre-Marie de Rodat <pmderodat@gcc.gnu.org> | 2017-11-08 16:04:35 +0000 |
---|---|---|
committer | Pierre-Marie de Rodat <pmderodat@gcc.gnu.org> | 2017-11-08 16:04:35 +0000 |
commit | 3e5400f4acc56a3e6a25ebeb5f7bfcf9d7d3646a (patch) | |
tree | 989def40a76a3d4d1f669135a44fea83700b0cda /gcc/ada/spark_xrefs.ads | |
parent | 013e9958f80bbba91f14dba7f1fa83ac9809ad7d (diff) | |
download | gcc-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.ads | 15 |
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 -- ----------------- |