aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/libgnat
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@adacore.com>2018-02-28 14:31:02 +0000
committerEric Botcazou <ebotcazou@gcc.gnu.org>2018-02-28 14:31:02 +0000
commitc6db43fa35b9d98d0eaa49bb9243e99aada49670 (patch)
treef717f97ad11b6f22dac5a8cb17ffbbe1190c4287 /gcc/ada/libgnat
parent9e25c7ed961ca501496015a68fea46563c177684 (diff)
downloadgcc-c6db43fa35b9d98d0eaa49bb9243e99aada49670.zip
gcc-c6db43fa35b9d98d0eaa49bb9243e99aada49670.tar.gz
gcc-c6db43fa35b9d98d0eaa49bb9243e99aada49670.tar.bz2
i-cexten.ads (Float_128): New type.
ada/ * libgnat/i-cexten.ads (Float_128): New type. c-family/ * c-ada-spec.c (dump_ada_node) <NULLPTR_TYPE>: New case. <REAL_TYPE>: Deal specifically with _Float128/__float128. From-SVN: r258068
Diffstat (limited to 'gcc/ada/libgnat')
-rw-r--r--gcc/ada/libgnat/i-cexten.ads9
1 files changed, 9 insertions, 0 deletions
diff --git a/gcc/ada/libgnat/i-cexten.ads b/gcc/ada/libgnat/i-cexten.ads
index 72f658b..8e770b5 100644
--- a/gcc/ada/libgnat/i-cexten.ads
+++ b/gcc/ada/libgnat/i-cexten.ads
@@ -72,6 +72,15 @@ package Interfaces.C.Extensions is
pragma Convention (C_Pass_By_Copy, Signed_128);
for Signed_128'Alignment use unsigned_long_long'Alignment * 2;
+ -- 128-bit floating-point type available on x86:
+ -- typedef long_double float_128 __attribute__ ((mode (TF)));
+
+ type Float_128 is record
+ low, high : unsigned_long_long;
+ end record;
+ pragma Convention (C_Pass_By_Copy, Float_128);
+ for Float_128'Alignment use unsigned_long_long'Alignment * 2;
+
-- Types for bitfields
type Unsigned_1 is mod 2 ** 1;