diff options
author | Eric Botcazou <ebotcazou@adacore.com> | 2023-02-01 14:15:19 +0100 |
---|---|---|
committer | Marc Poulhiès <poulhies@adacore.com> | 2023-05-22 10:44:08 +0200 |
commit | 05e628c249e56ae337f87fc2fd9be4fff16b6282 (patch) | |
tree | 8775047e2499ad5e554fce27795d1ed2d292d407 /gcc/ada/debug.adb | |
parent | 159977048dcdf3d4f7f4c7bd0186be411464cd0f (diff) | |
download | gcc-05e628c249e56ae337f87fc2fd9be4fff16b6282.zip gcc-05e628c249e56ae337f87fc2fd9be4fff16b6282.tar.gz gcc-05e628c249e56ae337f87fc2fd9be4fff16b6282.tar.bz2 |
ada: Implement conversions from Big_Integer to large types
This implements the conversion from Big_Integer to Long_Long_Unsigned on
32-bit platforms and to Long_Long_Long_{Integer,Unsigned} on 64-bit ones.
gcc/ada/
* libgnat/s-genbig.ads (From_Bignum): New overloaded declarations.
* libgnat/s-genbig.adb (LLLI): New subtype.
(LLLI_Is_128): New boolean constant.
(From_Bignum): Change the return type of the signed implementation
to Long_Long_Long_Integer and add support for the case where its
size is 128 bits. Add a wrapper around it for Long_Long_Integer.
Add an unsigned implementation returning Unsigned_128 and a wrapper
around it for Unsigned_64.
(To_Bignum): Test LLLI_Is_128 instead of its size.
(To_String.Image): Add qualification to calls to From_Bignum.
* libgnat/a-nbnbin.adb (To_Big_Integer): Likewise.
(Signed_Conversions.From_Big_Integer): Likewise.
(Unsigned_Conversions): Likewise.
Diffstat (limited to 'gcc/ada/debug.adb')
0 files changed, 0 insertions, 0 deletions