aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/cstand.adb
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@adacore.com>2023-03-19 00:24:54 +0100
committerMarc Poulhiès <poulhies@adacore.com>2023-05-26 09:29:16 +0200
commit1a9c7e9ca214d107b52d4ecd6cbb54b3bea62158 (patch)
tree3e11a7053ea49124e294fb4dedadca640a7db12b /gcc/ada/cstand.adb
parent0e1bba09231634176893908f4402d57ef21477f8 (diff)
downloadgcc-1a9c7e9ca214d107b52d4ecd6cbb54b3bea62158.zip
gcc-1a9c7e9ca214d107b52d4ecd6cbb54b3bea62158.tar.gz
gcc-1a9c7e9ca214d107b52d4ecd6cbb54b3bea62158.tar.bz2
ada: Remove Is_Descendant_Of_Address flag from Standard_Address
It breaks the Allow_Integer_Address special mode. Add new standard_address parameters to gigi and alphabetize others, this is necessary when addresses are not treated like integers. gcc/ada/ * back_end.adb (Call_Back_End): Add gigi_standard_address to the signature of the gigi procedure and alphabetize other parameters. Pass Standard_Address as actual parameter for it. * cstand.adb (Create_Standard): Do not set Is_Descendant_Of_Address on Standard_Address. * gcc-interface/gigi.h (gigi): Add a standard_address parameter and alphabetize others. * gcc-interface/trans.cc (gigi): Likewise. Record a builtin address type and save it as the type for Standard.Address.
Diffstat (limited to 'gcc/ada/cstand.adb')
-rw-r--r--gcc/ada/cstand.adb2
1 files changed, 0 insertions, 2 deletions
diff --git a/gcc/ada/cstand.adb b/gcc/ada/cstand.adb
index d4a420d..fbd5888 100644
--- a/gcc/ada/cstand.adb
+++ b/gcc/ada/cstand.adb
@@ -1370,11 +1370,9 @@ package body CStand is
-- Standard_Address is not user visible, but is used internally. It is
-- an unsigned type mod 2**System_Address_Size with System.Address size.
- -- We flag it as Is_Descendant_Of_Address for code generation purposes.
Standard_Address := New_Standard_Entity ("standard_address");
Build_Unsigned_Integer_Type (Standard_Address, System_Address_Size);
- Set_Is_Descendant_Of_Address (Standard_Address);
-- Note: universal integer and universal real are constructed as fully
-- formed signed numeric types, with parameters corresponding to the