comparison gcc/ada/libgnat/i-cexten.ads @ 145:1830386684a0

gcc-9.2.0
author anatofuz
date Thu, 13 Feb 2020 11:34:05 +0900
parents 84e7813d76e9
children
comparison
equal deleted inserted replaced
131:84e7813d76e9 145:1830386684a0
4 -- -- 4 -- --
5 -- I N T E R F A C E S . C . E X T E N S I O N S -- 5 -- I N T E R F A C E S . C . E X T E N S I O N S --
6 -- -- 6 -- --
7 -- S p e c -- 7 -- S p e c --
8 -- -- 8 -- --
9 -- Copyright (C) 1992-2018, Free Software Foundation, Inc. -- 9 -- Copyright (C) 1992-2019, Free Software Foundation, Inc. --
10 -- -- 10 -- --
11 -- GNAT is free software; you can redistribute it and/or modify it under -- 11 -- GNAT is free software; you can redistribute it and/or modify it under --
12 -- terms of the GNU General Public License as published by the Free Soft- -- 12 -- terms of the GNU General Public License as published by the Free Soft- --
13 -- ware Foundation; either version 3, or (at your option) any later ver- -- 13 -- ware Foundation; either version 3, or (at your option) any later ver- --
14 -- sion. GNAT is distributed in the hope that it will be useful, but WITH- -- 14 -- sion. GNAT is distributed in the hope that it will be useful, but WITH- --
72 end record; 72 end record;
73 pragma Convention (C_Pass_By_Copy, Signed_128); 73 pragma Convention (C_Pass_By_Copy, Signed_128);
74 for Signed_128'Alignment use unsigned_long_long'Alignment * 2; 74 for Signed_128'Alignment use unsigned_long_long'Alignment * 2;
75 75
76 -- 128-bit floating-point type available on x86: 76 -- 128-bit floating-point type available on x86:
77 -- typedef long_double float_128 __attribute__ ((mode (TF))); 77 -- typedef float float_128 __attribute__ ((mode (TF)));
78 78
79 type Float_128 is record 79 type Float_128 is record
80 low, high : unsigned_long_long; 80 low, high : unsigned_long_long;
81 end record; 81 end record;
82 pragma Convention (C_Pass_By_Copy, Float_128); 82 pragma Convention (C_Pass_By_Copy, Float_128);
83 for Float_128'Alignment use unsigned_long_long'Alignment * 2; 83 for Float_128'Alignment use unsigned_long_long'Alignment * 2;
84 84
85 -- 128-bit complex floating-point type available on x86:
86 -- typedef _Complex float cfloat_128 __attribute__ ((mode (TC)));
87
88 type CFloat_128 is record
89 re, im : Float_128;
90 end record;
91 pragma Convention (C_Pass_By_Copy, CFloat_128);
92
85 -- Types for bitfields 93 -- Types for bitfields
86 94
87 type Unsigned_1 is mod 2 ** 1; 95 type Unsigned_1 is mod 2 ** 1;
88 for Unsigned_1'Size use 1; 96 for Unsigned_1'Size use 1;
89 97