aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/einfo.adb
diff options
context:
space:
mode:
authorArnaud Charlet <charlet@gcc.gnu.org>2014-07-29 15:20:26 +0200
committerArnaud Charlet <charlet@gcc.gnu.org>2014-07-29 15:20:26 +0200
commitf8c79ade9e03c5278cb4858d6e46695683e1c1ff (patch)
tree0c0fb55c2de502e6ce69b8951a0c875da3b4a644 /gcc/ada/einfo.adb
parentb329a739f8026e4d1ace1e7113c96b99e3193e17 (diff)
downloadgcc-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.adb17
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;