diff options
author | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2013-02-06 10:35:52 +0000 |
---|---|---|
committer | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2013-02-06 10:35:52 +0000 |
commit | c091257074c65f39d9ba23ef191ad9bdf687cbfe (patch) | |
tree | eb7188a0eeffb5040590e4c4c719f34aa0054d7b /gcc/ada/sem_ch13.adb | |
parent | b8214689c515ec4e8ed76edefa3bfd80b8826902 (diff) | |
download | gcc-c091257074c65f39d9ba23ef191ad9bdf687cbfe.tar.gz |
2013-02-06 Robert Dewar <dewar@adacore.com>
* sem_ch3.adb, sem_ch10.adb: Minor reformatting.
* exp_disp.adb: Minor comment update.
* comperr.ads, osint.ads, rtsfind.adb, sem_prag.adb: Minor addition of
No_Return pragmas.
2013-02-06 Thomas Quinot <quinot@adacore.com>
* targparm.ads, sem_ch13.adb (Support_Nondefault_SSO): New target
parameter, defaulted to False for now, indicates targets where
non-default scalar storage order may be specified.
2013-02-06 Thomas Quinot <quinot@adacore.com>
* sprint.adb (Write_Itype): Treat E_Record_Subtype_With_Private
same as E_Record_Subtype. Display E_Class_Wide_Subtype as
subtype, not type.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195797 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/sem_ch13.adb')
-rw-r--r-- | gcc/ada/sem_ch13.adb | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/gcc/ada/sem_ch13.adb b/gcc/ada/sem_ch13.adb index 63c4d089006..92df5569df6 100644 --- a/gcc/ada/sem_ch13.adb +++ b/gcc/ada/sem_ch13.adb @@ -3622,9 +3622,17 @@ package body Sem_Ch13 is Flag_Non_Static_Expr ("Scalar_Storage_Order requires static expression!", Expr); - else - if (Expr_Value (Expr) = 0) /= Bytes_Big_Endian then + elsif (Expr_Value (Expr) = 0) /= Bytes_Big_Endian then + + -- Here for the case of a non-default (i.e. non-confirming) + -- Scalar_Storage_Order attribute definition. + + if Support_Nondefault_SSO_On_Target then Set_Reverse_Storage_Order (Base_Type (U_Ent), True); + else + Error_Msg_N + ("non-default Scalar_Storage_Order " + & "not supported on target", Expr); end if; end if; end if; |