mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-04-10 22:31:24 +08:00
[Ada] Refine change for bit-packed slices
We use Long_Long_Integer'Size / 2 instead of 4 * 8 to support specifying a target configuration file where the largest integer is 32 bits instead of 64. 2019-09-17 Arnaud Charlet <charlet@adacore.com> gcc/ada/ * libgnat/s-bitfie.ads (Val_Bits, Val_Bytes): Define from Long_Long_Integer'Size. From-SVN: r275773
This commit is contained in:
parent
1ed19d98de
commit
5387a3f55f
@ -1,3 +1,8 @@
|
||||
2019-09-17 Arnaud Charlet <charlet@adacore.com>
|
||||
|
||||
* libgnat/s-bitfie.ads (Val_Bits, Val_Bytes): Define from
|
||||
Long_Long_Integer'Size.
|
||||
|
||||
2019-09-17 Javier Miranda <miranda@adacore.com>
|
||||
|
||||
* exp_ch6.ads (Needs_BIP_Task_Actuals): New subprogram.
|
||||
|
@ -36,9 +36,13 @@ package System.Bitfields is
|
||||
-- Instances of the generic package in System.Bitfield_Utils. So far
|
||||
-- we have just one, which defaults to the natural endianness of the
|
||||
-- machine. We might someday want to support Scalar_Storage_Order.
|
||||
-- Note: we use Long_Long_Integer'Size / 2 instead of 32 to support
|
||||
-- specifying a target configuration file where the largest integer is
|
||||
-- 32 bits instead of 64.
|
||||
|
||||
Val_Bits : constant := Long_Long_Integer'Size / 2;
|
||||
Val_Bytes : constant := Val_Bits / System.Storage_Unit;
|
||||
|
||||
Val_Bytes : constant := 4;
|
||||
Val_Bits : constant := Val_Bytes * System.Storage_Unit;
|
||||
type Val_2 is mod 2**(Val_Bits * 2) with Alignment => Val_Bytes;
|
||||
pragma Provide_Shift_Operators (Val_2);
|
||||
type Val is mod 2**Val_Bits with Alignment => Val_Bytes;
|
||||
|
Loading…
x
Reference in New Issue
Block a user