summaryrefslogtreecommitdiffstats
path: root/gcc/ada/cstand.adb
diff options
context:
space:
mode:
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2007-08-16 12:17:54 +0000
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2007-08-16 12:17:54 +0000
commit04284bff7732fcd493cec8464e0002260aa380d4 (patch)
tree120fbb0d2064596801428c20635d14e66ba38429 /gcc/ada/cstand.adb
parent8a72adf497f11f1a7c8c49583699d1339f59b8c7 (diff)
downloadppe42-gcc-04284bff7732fcd493cec8464e0002260aa380d4.tar.gz
ppe42-gcc-04284bff7732fcd493cec8464e0002260aa380d4.zip
2007-08-16 Gary Dismukes <dismukes@adacore.com>
* cstand.adb (Create_Standard): Create an entity for a zero-sized type associated with Standard_Debug_Renaming_Type, to be used as the type of the special variables whose names provide debugger encodings for renaming declarations. * einfo.ads, einfo.adb (Debug_Renaming_Link): Change to return Node25. (Set_Debug_Renaming_Link): Change to set Node25. (Write_Field13_Name): Remove case for E_Enumeration_Literal. (Write_Field25_Name): Add case for E_Variable to output "Debug_Renaming_Link". (Write_Field23_Name): Correct the output string for "Limited_View". * exp_dbug.adb: Add with and use of Tbuild. (Debug_Renaming_Declaration): Replace creation of an enumeration type and literal with creation of a variable of type Standard_Debug_Renaming_Type whose name encodes both the renamed object and the entity of the renaming declaration. (Qualify_Entity_Name): Add the delayed qualification of the entity name part of the name of a variable that has a Debug_Renaming_Link. * stand.ads (Standard_Debug_Renaming_Type): New Entity_Id denoting a special type to be associated with variables that provide debugger encodings for renaming declarations. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127537 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/cstand.adb')
-rw-r--r--gcc/ada/cstand.adb22
1 files changed, 22 insertions, 0 deletions
diff --git a/gcc/ada/cstand.adb b/gcc/ada/cstand.adb
index 9c4209fa64c..770ce599a38 100644
--- a/gcc/ada/cstand.adb
+++ b/gcc/ada/cstand.adb
@@ -927,6 +927,28 @@ package body CStand is
Set_Directly_Designated_Type (Standard_A_Char, Standard_Character);
Make_Name (Standard_A_Char, "access_character");
+ -- Standard_Debug_Renaming_Type is used for the special objects created
+ -- to encode the names occurring in renaming declarations for use by the
+ -- debugger (see exp_dbug.adb). The type is a zero-sized subtype of
+ -- Standard.Integer.
+
+ Standard_Debug_Renaming_Type := New_Standard_Entity;
+
+ Set_Ekind (Standard_Debug_Renaming_Type, E_Signed_Integer_Subtype);
+ Set_Scope (Standard_Debug_Renaming_Type, Standard_Standard);
+ Set_Etype (Standard_Debug_Renaming_Type, Base_Type (Standard_Integer));
+ Init_Esize (Standard_Debug_Renaming_Type, 0);
+ Init_RM_Size (Standard_Debug_Renaming_Type, 0);
+ Set_Size_Known_At_Compile_Time (Standard_Debug_Renaming_Type);
+ Set_Integer_Bounds (Standard_Debug_Renaming_Type,
+ Typ => Base_Type (Standard_Debug_Renaming_Type),
+ Lb => Uint_1,
+ Hb => Uint_0);
+ Set_Is_Constrained (Standard_Debug_Renaming_Type);
+ Set_Has_Size_Clause (Standard_Debug_Renaming_Type);
+
+ Make_Name (Standard_Debug_Renaming_Type, "_renaming_type");
+
-- Note on type names. The type names for the following special types
-- are constructed so that they will look reasonable should they ever
-- appear in error messages etc, although in practice the use of the
OpenPOWER on IntegriCloud