Mercurial > hg > CbC > CbC_gcc
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 |