diff options
author | Arnaud Charlet <charlet@gcc.gnu.org> | 2014-07-29 15:20:26 +0200 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2014-07-29 15:20:26 +0200 |
commit | f8c79ade9e03c5278cb4858d6e46695683e1c1ff (patch) | |
tree | 0c0fb55c2de502e6ce69b8951a0c875da3b4a644 /gcc/ada/einfo.adb | |
parent | b329a739f8026e4d1ace1e7113c96b99e3193e17 (diff) | |
download | gcc-f8c79ade9e03c5278cb4858d6e46695683e1c1ff.zip gcc-f8c79ade9e03c5278cb4858d6e46695683e1c1ff.tar.gz gcc-f8c79ade9e03c5278cb4858d6e46695683e1c1ff.tar.bz2 |
[multiple changes]
2014-07-29 Olivier Hainque <hainque@adacore.com>
* g-debpoo.adb
(Default_Alignment): Rename as Storage_Alignment. This is not
a "default" that can be overriden. Augment comment to clarify
intent and document why we need to manage alignment padding.
(Header_Offset): Set to Header'Object_Size instead of 'Size
rounded up to Storage_Alignment. Storage_Alignment on the
allocation header is not required by our internals so was
overkill. 'Object_Size is enough to ensure proper alignment
of the header address when substracted from a storage address
aligned on Storage_Alignment.
(Minimum_Allocation): Rename as Extra_Allocation, conveying that
this is always added on top of the incoming allocation requests.
(Align): New function, to perform alignment rounding operations.
(Allocate): Add comments on the Storage_Address computation
scheme and adjust so that the alignment padding applies to that
(Storage_Address) only.
2014-07-29 Robert Dewar <dewar@adacore.com>
* exp_ch3.adb (Default_Initialize_Object): Remove incorrect
pragma Unreferenced.
* cstand.adb (Create_Standard): Use E_Array_Type for standard
string types. Make sure index of Any_String/Any_Array is in a list.
* errout.adb: Minor reformatting.
From-SVN: r213169
Diffstat (limited to 'gcc/ada/einfo.adb')
-rw-r--r-- | gcc/ada/einfo.adb | 17 |
1 files changed, 6 insertions, 11 deletions
diff --git a/gcc/ada/einfo.adb b/gcc/ada/einfo.adb index 35a88be..80f5be0 100644 --- a/gcc/ada/einfo.adb +++ b/gcc/ada/einfo.adb @@ -7185,11 +7185,10 @@ package body Einfo is function Is_String_Type (Id : E) return B is begin - return Ekind (Id) in String_Kind - or else (Is_Array_Type (Id) - and then Id /= Any_Composite - and then Number_Dimensions (Id) = 1 - and then Is_Character_Type (Component_Type (Id))); + return Is_Array_Type (Id) + and then Id /= Any_Composite + and then Number_Dimensions (Id) = 1 + and then Is_Character_Type (Component_Type (Id)); end Is_String_Type; ------------------------------- @@ -7555,7 +7554,7 @@ package body Einfo is T : Node_Id; begin - if Ekind (Id) in String_Kind then + if Ekind (Id) = E_String_Literal_Subtype then return 1; else @@ -7563,7 +7562,7 @@ package body Einfo is T := First_Index (Id); while Present (T) loop N := N + 1; - T := Next (T); + Next_Index (T); end loop; return N; @@ -8050,10 +8049,6 @@ package body Einfo is E_Record_Subtype => Kind := E_Record_Subtype; - when E_String_Type | - E_String_Subtype => - Kind := E_String_Subtype; - when Enumeration_Kind => Kind := E_Enumeration_Subtype; |