aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGary Dismukes <dismukes@adacore.com>2007-04-06 11:18:27 +0200
committerArnaud Charlet <charlet@gcc.gnu.org>2007-04-06 11:18:27 +0200
commit41ccd2d8c88353d35a3c3f220a7aff2d57ae2dca (patch)
tree91dcc25d51f1351bd3174e3d7f23a5a288abe6c5
parent675d607041a286e80da64c0de803ee2ff9669e64 (diff)
downloadgcc-41ccd2d8c88353d35a3c3f220a7aff2d57ae2dca.zip
gcc-41ccd2d8c88353d35a3c3f220a7aff2d57ae2dca.tar.gz
gcc-41ccd2d8c88353d35a3c3f220a7aff2d57ae2dca.tar.bz2
cstand.adb (Create_Standard): When the target's storage unit size is greater than a byte...
2007-04-06 Gary Dismukes <dismukes@adacore.com> * cstand.adb (Create_Standard): When the target's storage unit size is greater than a byte, set Has_Non_Standard_Rep and Has_Pragma_Pack on Standard_String. From-SVN: r123555
-rw-r--r--gcc/ada/cstand.adb9
1 files changed, 9 insertions, 0 deletions
diff --git a/gcc/ada/cstand.adb b/gcc/ada/cstand.adb
index 5f4b203..fecaa2a 100644
--- a/gcc/ada/cstand.adb
+++ b/gcc/ada/cstand.adb
@@ -683,6 +683,15 @@ package body CStand is
Init_Size_Align (Standard_String);
Set_Alignment (Standard_String, Uint_1);
+ -- On targets where a storage unit is larger than a byte (such as AAMP),
+ -- pragma Pack has a real effect on the representation of type String,
+ -- and the type must be marked as having a nonstandard representation.
+
+ if System_Storage_Unit > Uint_8 then
+ Set_Has_Non_Standard_Rep (Standard_String);
+ Set_Has_Pragma_Pack (Standard_String);
+ end if;
+
-- Set index type of String
E_Id := First