From: Gary Dismukes Date: Fri, 6 Apr 2007 09:18:27 +0000 (+0200) Subject: cstand.adb (Create_Standard): When the target's storage unit size is greater than... X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=41ccd2d8c88353d35a3c3f220a7aff2d57ae2dca;p=gcc.git cstand.adb (Create_Standard): When the target's storage unit size is greater than a byte... 2007-04-06 Gary Dismukes * 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 --- diff --git a/gcc/ada/cstand.adb b/gcc/ada/cstand.adb index 5f4b2038c98..fecaa2a34ab 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