diff options
author | Arnaud Charlet <charlet@adacore.com> | 2020-01-30 04:05:44 -0500 |
---|---|---|
committer | Pierre-Marie de Rodat <derodat@adacore.com> | 2020-06-04 05:11:20 -0400 |
commit | 53ec04cbdd192468d1975640759084f4e37fe4e8 (patch) | |
tree | 2b16ae2ae59432545153f4560701b78af094eee2 | |
parent | 301e2a16c443924c90e0d038862e957165dd899d (diff) | |
download | gcc-53ec04cbdd192468d1975640759084f4e37fe4e8.zip gcc-53ec04cbdd192468d1975640759084f4e37fe4e8.tar.gz gcc-53ec04cbdd192468d1975640759084f4e37fe4e8.tar.bz2 |
[Ada] AI12-0184: Long Long C Data types
2020-06-04 Arnaud Charlet <charlet@adacore.com>
gcc/ada/
* libgnat/i-c.ads (long_long, unsigned_long_long): New
definitions.
-rw-r--r-- | gcc/ada/libgnat/i-c.ads | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/gcc/ada/libgnat/i-c.ads b/gcc/ada/libgnat/i-c.ads index 1088836..279c75a 100644 --- a/gcc/ada/libgnat/i-c.ads +++ b/gcc/ada/libgnat/i-c.ads @@ -36,13 +36,15 @@ package Interfaces.C is type short is new Short_Integer; type long is range -(2 ** (System.Parameters.long_bits - Integer'(1))) .. +(2 ** (System.Parameters.long_bits - Integer'(1))) - 1; + type long_long is new Long_Long_Integer; type signed_char is range SCHAR_MIN .. SCHAR_MAX; for signed_char'Size use CHAR_BIT; - type unsigned is mod 2 ** int'Size; - type unsigned_short is mod 2 ** short'Size; - type unsigned_long is mod 2 ** long'Size; + type unsigned is mod 2 ** int'Size; + type unsigned_short is mod 2 ** short'Size; + type unsigned_long is mod 2 ** long'Size; + type unsigned_long_long is mod 2 ** long_long'Size; type unsigned_char is mod (UCHAR_MAX + 1); for unsigned_char'Size use CHAR_BIT; |