[Ada] Fix wrong access to large bit-packed arrays with reverse SSO
authorEric Botcazou <ebotcazou@adacore.com>
Tue, 17 Mar 2020 20:26:43 +0000 (21:26 +0100)
committerPierre-Marie de Rodat <derodat@adacore.com>
Thu, 11 Jun 2020 09:53:51 +0000 (05:53 -0400)
commitadffc3672314dc260d5c692d2dce81d42cdb22dc
treea6115b164ab8c19300af419a384d9cfd9fafcaa2
parentcf0a011c2be57cd7454650c3a411aca0362719ad
[Ada] Fix wrong access to large bit-packed arrays with reverse SSO

2020-06-11  Eric Botcazou  <ebotcazou@adacore.com>

gcc/ada/

* exp_pakd.ads: Add paragraph about scalar storage order.
* exp_pakd.adb (Install_PAT): Do not set the scalar storage
order of the PAT here but...
(Set_PB_Type): ...here instead and...
(Create_Packed_Array_Impl_Type): ...here as well.
* rtsfind.ads (RE_Id): Add RE_Rev_Packed_Bytes{1,2,4}.
(RE_Unit_Table): Likewise.
* libgnat/s-unstyp.ads (Rev_Packed_Bytes1): New derived type.
(Rev_Packed_Bytes2): Likewise.
(Rev_Packed_Bytes4): Likewise.
gcc/ada/exp_pakd.adb
gcc/ada/exp_pakd.ads
gcc/ada/libgnat/s-unstyp.ads
gcc/ada/rtsfind.ads