aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArnaud Charlet <charlet@adacore.com>2020-01-30 04:05:44 -0500
committerPierre-Marie de Rodat <derodat@adacore.com>2020-06-04 05:11:20 -0400
commit53ec04cbdd192468d1975640759084f4e37fe4e8 (patch)
tree2b16ae2ae59432545153f4560701b78af094eee2
parent301e2a16c443924c90e0d038862e957165dd899d (diff)
downloadgcc-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.ads8
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;