diff options
author | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-08-16 12:17:54 +0000 |
---|---|---|
committer | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-08-16 12:17:54 +0000 |
commit | 04284bff7732fcd493cec8464e0002260aa380d4 (patch) | |
tree | 120fbb0d2064596801428c20635d14e66ba38429 /gcc/ada/cstand.adb | |
parent | 8a72adf497f11f1a7c8c49583699d1339f59b8c7 (diff) | |
download | gcc-04284bff7732fcd493cec8464e0002260aa380d4.tar.gz |
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.adb | 22 |
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 |