diff options
| author | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-04-06 09:18:27 +0000 |
|---|---|---|
| committer | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-04-06 09:18:27 +0000 |
| commit | 95753b7c30e368b5e256b758ee1c334b60c8b6b3 (patch) | |
| tree | 91dcc25d51f1351bd3174e3d7f23a5a288abe6c5 | |
| parent | feff2f05aae7de498420ca7c4b3989251c650548 (diff) | |
| download | ppe42-gcc-95753b7c30e368b5e256b758ee1c334b60c8b6b3.tar.gz ppe42-gcc-95753b7c30e368b5e256b758ee1c334b60c8b6b3.zip | |
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123555 138bc75d-0d04-0410-961f-82ee72b054a4
| -rw-r--r-- | gcc/ada/cstand.adb | 9 |
1 files changed, 9 insertions, 0 deletions
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 |

