1 ------------------------------------------------------------------------------
3 -- GNAT COMPILER COMPONENTS --
5 -- I N T E R F A C E S . C . E X T E N S I O N S --
9 -- Copyright (C) 1992-2023, Free Software Foundation, Inc. --
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- --
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- --
15 -- OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY --
16 -- or FITNESS FOR A PARTICULAR PURPOSE. --
18 -- As a special exception under Section 7 of GPL version 3, you are granted --
19 -- additional permissions described in the GCC Runtime Library Exception, --
20 -- version 3.1, as published by the Free Software Foundation. --
22 -- You should have received a copy of the GNU General Public License and --
23 -- a copy of the GCC Runtime Library Exception along with this program; --
24 -- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see --
25 -- <http://www.gnu.org/licenses/>. --
27 -- GNAT was originally developed by the GNAT team at New York University. --
28 -- Extensive contributions were provided by Ada Core Technologies Inc. --
30 ------------------------------------------------------------------------------
32 -- This package contains additional C-related definitions, intended for use
33 -- with either manually or automatically generated bindings to C libraries.
37 package Interfaces
.C
.Extensions
is
40 -- Definitions for C "void" and "void *" types
42 subtype void
is System
.Address
;
43 subtype void_ptr
is System
.Address
;
45 -- Definitions for C incomplete/unknown structs
47 subtype opaque_structure_def
is System
.Address
;
48 type opaque_structure_def_ptr
is access opaque_structure_def
;
49 for opaque_structure_def_ptr
'Storage_Size use 0;
51 -- Definitions for C++ incomplete/unknown classes
53 subtype incomplete_class_def
is System
.Address
;
54 type incomplete_class_def_ptr
is access incomplete_class_def
;
55 for incomplete_class_def_ptr
'Storage_Size use 0;
59 subtype bool
is Interfaces
.C
.C_bool
;
61 -- 64-bit integer types
63 subtype long_long
is Interfaces
.C
.long_long
;
64 subtype unsigned_long_long
is Interfaces
.C
.unsigned_long_long
;
66 -- 128-bit floating-point type available on x86:
67 -- typedef float float_128 __attribute__ ((mode (TF)));
69 type Float_128
is record
70 low
, high
: unsigned_long_long
;
72 pragma Convention
(C_Pass_By_Copy
, Float_128
);
73 for Float_128
'Alignment use unsigned_long_long
'Alignment * 2;
75 -- 128-bit complex floating-point type available on x86:
76 -- typedef _Complex float cfloat_128 __attribute__ ((mode (TC)));
78 type CFloat_128
is record
81 pragma Convention
(C_Pass_By_Copy
, CFloat_128
);
83 -- Types for bitfields
85 type Unsigned_1
is mod 2 ** 1;
86 for Unsigned_1
'Size use 1;
88 type Unsigned_2
is mod 2 ** 2;
89 for Unsigned_2
'Size use 2;
91 type Unsigned_3
is mod 2 ** 3;
92 for Unsigned_3
'Size use 3;
94 type Unsigned_4
is mod 2 ** 4;
95 for Unsigned_4
'Size use 4;
97 type Unsigned_5
is mod 2 ** 5;
98 for Unsigned_5
'Size use 5;
100 type Unsigned_6
is mod 2 ** 6;
101 for Unsigned_6
'Size use 6;
103 type Unsigned_7
is mod 2 ** 7;
104 for Unsigned_7
'Size use 7;
106 type Unsigned_8
is mod 2 ** 8;
107 for Unsigned_8
'Size use 8;
109 type Unsigned_9
is mod 2 ** 9;
110 for Unsigned_9
'Size use 9;
112 type Unsigned_10
is mod 2 ** 10;
113 for Unsigned_10
'Size use 10;
115 type Unsigned_11
is mod 2 ** 11;
116 for Unsigned_11
'Size use 11;
118 type Unsigned_12
is mod 2 ** 12;
119 for Unsigned_12
'Size use 12;
121 type Unsigned_13
is mod 2 ** 13;
122 for Unsigned_13
'Size use 13;
124 type Unsigned_14
is mod 2 ** 14;
125 for Unsigned_14
'Size use 14;
127 type Unsigned_15
is mod 2 ** 15;
128 for Unsigned_15
'Size use 15;
130 type Unsigned_16
is mod 2 ** 16;
131 for Unsigned_16
'Size use 16;
133 type Unsigned_17
is mod 2 ** 17;
134 for Unsigned_17
'Size use 17;
136 type Unsigned_18
is mod 2 ** 18;
137 for Unsigned_18
'Size use 18;
139 type Unsigned_19
is mod 2 ** 19;
140 for Unsigned_19
'Size use 19;
142 type Unsigned_20
is mod 2 ** 20;
143 for Unsigned_20
'Size use 20;
145 type Unsigned_21
is mod 2 ** 21;
146 for Unsigned_21
'Size use 21;
148 type Unsigned_22
is mod 2 ** 22;
149 for Unsigned_22
'Size use 22;
151 type Unsigned_23
is mod 2 ** 23;
152 for Unsigned_23
'Size use 23;
154 type Unsigned_24
is mod 2 ** 24;
155 for Unsigned_24
'Size use 24;
157 type Unsigned_25
is mod 2 ** 25;
158 for Unsigned_25
'Size use 25;
160 type Unsigned_26
is mod 2 ** 26;
161 for Unsigned_26
'Size use 26;
163 type Unsigned_27
is mod 2 ** 27;
164 for Unsigned_27
'Size use 27;
166 type Unsigned_28
is mod 2 ** 28;
167 for Unsigned_28
'Size use 28;
169 type Unsigned_29
is mod 2 ** 29;
170 for Unsigned_29
'Size use 29;
172 type Unsigned_30
is mod 2 ** 30;
173 for Unsigned_30
'Size use 30;
175 type Unsigned_31
is mod 2 ** 31;
176 for Unsigned_31
'Size use 31;
178 type Unsigned_32
is mod 2 ** 32;
179 for Unsigned_32
'Size use 32;
181 type Unsigned_33
is mod 2 ** 33;
182 for Unsigned_33
'Size use 33;
184 type Unsigned_34
is mod 2 ** 34;
185 for Unsigned_34
'Size use 34;
187 type Unsigned_35
is mod 2 ** 35;
188 for Unsigned_35
'Size use 35;
190 type Unsigned_36
is mod 2 ** 36;
191 for Unsigned_36
'Size use 36;
193 type Unsigned_37
is mod 2 ** 37;
194 for Unsigned_37
'Size use 37;
196 type Unsigned_38
is mod 2 ** 38;
197 for Unsigned_38
'Size use 38;
199 type Unsigned_39
is mod 2 ** 39;
200 for Unsigned_39
'Size use 39;
202 type Unsigned_40
is mod 2 ** 40;
203 for Unsigned_40
'Size use 40;
205 type Unsigned_41
is mod 2 ** 41;
206 for Unsigned_41
'Size use 41;
208 type Unsigned_42
is mod 2 ** 42;
209 for Unsigned_42
'Size use 42;
211 type Unsigned_43
is mod 2 ** 43;
212 for Unsigned_43
'Size use 43;
214 type Unsigned_44
is mod 2 ** 44;
215 for Unsigned_44
'Size use 44;
217 type Unsigned_45
is mod 2 ** 45;
218 for Unsigned_45
'Size use 45;
220 type Unsigned_46
is mod 2 ** 46;
221 for Unsigned_46
'Size use 46;
223 type Unsigned_47
is mod 2 ** 47;
224 for Unsigned_47
'Size use 47;
226 type Unsigned_48
is mod 2 ** 48;
227 for Unsigned_48
'Size use 48;
229 type Unsigned_49
is mod 2 ** 49;
230 for Unsigned_49
'Size use 49;
232 type Unsigned_50
is mod 2 ** 50;
233 for Unsigned_50
'Size use 50;
235 type Unsigned_51
is mod 2 ** 51;
236 for Unsigned_51
'Size use 51;
238 type Unsigned_52
is mod 2 ** 52;
239 for Unsigned_52
'Size use 52;
241 type Unsigned_53
is mod 2 ** 53;
242 for Unsigned_53
'Size use 53;
244 type Unsigned_54
is mod 2 ** 54;
245 for Unsigned_54
'Size use 54;
247 type Unsigned_55
is mod 2 ** 55;
248 for Unsigned_55
'Size use 55;
250 type Unsigned_56
is mod 2 ** 56;
251 for Unsigned_56
'Size use 56;
253 type Unsigned_57
is mod 2 ** 57;
254 for Unsigned_57
'Size use 57;
256 type Unsigned_58
is mod 2 ** 58;
257 for Unsigned_58
'Size use 58;
259 type Unsigned_59
is mod 2 ** 59;
260 for Unsigned_59
'Size use 59;
262 type Unsigned_60
is mod 2 ** 60;
263 for Unsigned_60
'Size use 60;
265 type Unsigned_61
is mod 2 ** 61;
266 for Unsigned_61
'Size use 61;
268 type Unsigned_62
is mod 2 ** 62;
269 for Unsigned_62
'Size use 62;
271 type Unsigned_63
is mod 2 ** 63;
272 for Unsigned_63
'Size use 63;
274 type Unsigned_64
is mod 2 ** 64;
275 for Unsigned_64
'Size use 64;
277 type Unsigned_65
is mod 2 ** 65;
278 for Unsigned_65
'Size use 65;
280 type Unsigned_66
is mod 2 ** 66;
281 for Unsigned_66
'Size use 66;
283 type Unsigned_67
is mod 2 ** 67;
284 for Unsigned_67
'Size use 67;
286 type Unsigned_68
is mod 2 ** 68;
287 for Unsigned_68
'Size use 68;
289 type Unsigned_69
is mod 2 ** 69;
290 for Unsigned_69
'Size use 69;
292 type Unsigned_70
is mod 2 ** 70;
293 for Unsigned_70
'Size use 70;
295 type Unsigned_71
is mod 2 ** 71;
296 for Unsigned_71
'Size use 71;
298 type Unsigned_72
is mod 2 ** 72;
299 for Unsigned_72
'Size use 72;
301 type Unsigned_73
is mod 2 ** 73;
302 for Unsigned_73
'Size use 73;
304 type Unsigned_74
is mod 2 ** 74;
305 for Unsigned_74
'Size use 74;
307 type Unsigned_75
is mod 2 ** 75;
308 for Unsigned_75
'Size use 75;
310 type Unsigned_76
is mod 2 ** 76;
311 for Unsigned_76
'Size use 76;
313 type Unsigned_77
is mod 2 ** 77;
314 for Unsigned_77
'Size use 77;
316 type Unsigned_78
is mod 2 ** 78;
317 for Unsigned_78
'Size use 78;
319 type Unsigned_79
is mod 2 ** 79;
320 for Unsigned_79
'Size use 79;
322 type Unsigned_80
is mod 2 ** 80;
323 for Unsigned_80
'Size use 80;
325 type Unsigned_81
is mod 2 ** 81;
326 for Unsigned_81
'Size use 81;
328 type Unsigned_82
is mod 2 ** 82;
329 for Unsigned_82
'Size use 82;
331 type Unsigned_83
is mod 2 ** 83;
332 for Unsigned_83
'Size use 83;
334 type Unsigned_84
is mod 2 ** 84;
335 for Unsigned_84
'Size use 84;
337 type Unsigned_85
is mod 2 ** 85;
338 for Unsigned_85
'Size use 85;
340 type Unsigned_86
is mod 2 ** 86;
341 for Unsigned_86
'Size use 86;
343 type Unsigned_87
is mod 2 ** 87;
344 for Unsigned_87
'Size use 87;
346 type Unsigned_88
is mod 2 ** 88;
347 for Unsigned_88
'Size use 88;
349 type Unsigned_89
is mod 2 ** 89;
350 for Unsigned_89
'Size use 89;
352 type Unsigned_90
is mod 2 ** 90;
353 for Unsigned_90
'Size use 90;
355 type Unsigned_91
is mod 2 ** 91;
356 for Unsigned_91
'Size use 91;
358 type Unsigned_92
is mod 2 ** 92;
359 for Unsigned_92
'Size use 92;
361 type Unsigned_93
is mod 2 ** 93;
362 for Unsigned_93
'Size use 93;
364 type Unsigned_94
is mod 2 ** 94;
365 for Unsigned_94
'Size use 94;
367 type Unsigned_95
is mod 2 ** 95;
368 for Unsigned_95
'Size use 95;
370 type Unsigned_96
is mod 2 ** 96;
371 for Unsigned_96
'Size use 96;
373 type Unsigned_97
is mod 2 ** 97;
374 for Unsigned_97
'Size use 97;
376 type Unsigned_98
is mod 2 ** 98;
377 for Unsigned_98
'Size use 98;
379 type Unsigned_99
is mod 2 ** 99;
380 for Unsigned_99
'Size use 99;
382 type Unsigned_100
is mod 2 ** 100;
383 for Unsigned_100
'Size use 100;
385 type Unsigned_101
is mod 2 ** 101;
386 for Unsigned_101
'Size use 101;
388 type Unsigned_102
is mod 2 ** 102;
389 for Unsigned_102
'Size use 102;
391 type Unsigned_103
is mod 2 ** 103;
392 for Unsigned_103
'Size use 103;
394 type Unsigned_104
is mod 2 ** 104;
395 for Unsigned_104
'Size use 104;
397 type Unsigned_105
is mod 2 ** 105;
398 for Unsigned_105
'Size use 105;
400 type Unsigned_106
is mod 2 ** 106;
401 for Unsigned_106
'Size use 106;
403 type Unsigned_107
is mod 2 ** 107;
404 for Unsigned_107
'Size use 107;
406 type Unsigned_108
is mod 2 ** 108;
407 for Unsigned_108
'Size use 108;
409 type Unsigned_109
is mod 2 ** 109;
410 for Unsigned_109
'Size use 109;
412 type Unsigned_110
is mod 2 ** 110;
413 for Unsigned_110
'Size use 110;
415 type Unsigned_111
is mod 2 ** 111;
416 for Unsigned_111
'Size use 111;
418 type Unsigned_112
is mod 2 ** 112;
419 for Unsigned_112
'Size use 112;
421 type Unsigned_113
is mod 2 ** 113;
422 for Unsigned_113
'Size use 113;
424 type Unsigned_114
is mod 2 ** 114;
425 for Unsigned_114
'Size use 114;
427 type Unsigned_115
is mod 2 ** 115;
428 for Unsigned_115
'Size use 115;
430 type Unsigned_116
is mod 2 ** 116;
431 for Unsigned_116
'Size use 116;
433 type Unsigned_117
is mod 2 ** 117;
434 for Unsigned_117
'Size use 117;
436 type Unsigned_118
is mod 2 ** 118;
437 for Unsigned_118
'Size use 118;
439 type Unsigned_119
is mod 2 ** 119;
440 for Unsigned_119
'Size use 119;
442 type Unsigned_120
is mod 2 ** 120;
443 for Unsigned_120
'Size use 120;
445 type Unsigned_121
is mod 2 ** 121;
446 for Unsigned_121
'Size use 121;
448 type Unsigned_122
is mod 2 ** 122;
449 for Unsigned_122
'Size use 122;
451 type Unsigned_123
is mod 2 ** 123;
452 for Unsigned_123
'Size use 123;
454 type Unsigned_124
is mod 2 ** 124;
455 for Unsigned_124
'Size use 124;
457 type Unsigned_125
is mod 2 ** 125;
458 for Unsigned_125
'Size use 125;
460 type Unsigned_126
is mod 2 ** 126;
461 for Unsigned_126
'Size use 126;
463 type Unsigned_127
is mod 2 ** 127;
464 for Unsigned_127
'Size use 127;
466 type Unsigned_128
is mod 2 ** 128;
467 for Unsigned_128
'Size use 128;
469 type Signed_2
is range -2 ** 1 .. 2 ** 1 - 1;
470 for Signed_2
'Size use 2;
472 type Signed_3
is range -2 ** 2 .. 2 ** 2 - 1;
473 for Signed_3
'Size use 3;
475 type Signed_4
is range -2 ** 3 .. 2 ** 3 - 1;
476 for Signed_4
'Size use 4;
478 type Signed_5
is range -2 ** 4 .. 2 ** 4 - 1;
479 for Signed_5
'Size use 5;
481 type Signed_6
is range -2 ** 5 .. 2 ** 5 - 1;
482 for Signed_6
'Size use 6;
484 type Signed_7
is range -2 ** 6 .. 2 ** 6 - 1;
485 for Signed_7
'Size use 7;
487 type Signed_8
is range -2 ** 7 .. 2 ** 7 - 1;
488 for Signed_8
'Size use 8;
490 type Signed_9
is range -2 ** 8 .. 2 ** 8 - 1;
491 for Signed_9
'Size use 9;
493 type Signed_10
is range -2 ** 9 .. 2 ** 9 - 1;
494 for Signed_10
'Size use 10;
496 type Signed_11
is range -2 ** 10 .. 2 ** 10 - 1;
497 for Signed_11
'Size use 11;
499 type Signed_12
is range -2 ** 11 .. 2 ** 11 - 1;
500 for Signed_12
'Size use 12;
502 type Signed_13
is range -2 ** 12 .. 2 ** 12 - 1;
503 for Signed_13
'Size use 13;
505 type Signed_14
is range -2 ** 13 .. 2 ** 13 - 1;
506 for Signed_14
'Size use 14;
508 type Signed_15
is range -2 ** 14 .. 2 ** 14 - 1;
509 for Signed_15
'Size use 15;
511 type Signed_16
is range -2 ** 15 .. 2 ** 15 - 1;
512 for Signed_16
'Size use 16;
514 type Signed_17
is range -2 ** 16 .. 2 ** 16 - 1;
515 for Signed_17
'Size use 17;
517 type Signed_18
is range -2 ** 17 .. 2 ** 17 - 1;
518 for Signed_18
'Size use 18;
520 type Signed_19
is range -2 ** 18 .. 2 ** 18 - 1;
521 for Signed_19
'Size use 19;
523 type Signed_20
is range -2 ** 19 .. 2 ** 19 - 1;
524 for Signed_20
'Size use 20;
526 type Signed_21
is range -2 ** 20 .. 2 ** 20 - 1;
527 for Signed_21
'Size use 21;
529 type Signed_22
is range -2 ** 21 .. 2 ** 21 - 1;
530 for Signed_22
'Size use 22;
532 type Signed_23
is range -2 ** 22 .. 2 ** 22 - 1;
533 for Signed_23
'Size use 23;
535 type Signed_24
is range -2 ** 23 .. 2 ** 23 - 1;
536 for Signed_24
'Size use 24;
538 type Signed_25
is range -2 ** 24 .. 2 ** 24 - 1;
539 for Signed_25
'Size use 25;
541 type Signed_26
is range -2 ** 25 .. 2 ** 25 - 1;
542 for Signed_26
'Size use 26;
544 type Signed_27
is range -2 ** 26 .. 2 ** 26 - 1;
545 for Signed_27
'Size use 27;
547 type Signed_28
is range -2 ** 27 .. 2 ** 27 - 1;
548 for Signed_28
'Size use 28;
550 type Signed_29
is range -2 ** 28 .. 2 ** 28 - 1;
551 for Signed_29
'Size use 29;
553 type Signed_30
is range -2 ** 29 .. 2 ** 29 - 1;
554 for Signed_30
'Size use 30;
556 type Signed_31
is range -2 ** 30 .. 2 ** 30 - 1;
557 for Signed_31
'Size use 31;
559 type Signed_32
is range -2 ** 31 .. 2 ** 31 - 1;
560 for Signed_32
'Size use 32;
562 type Signed_33
is range -2 ** 32 .. 2 ** 32 - 1;
563 for Signed_33
'Size use 33;
565 type Signed_34
is range -2 ** 33 .. 2 ** 33 - 1;
566 for Signed_34
'Size use 34;
568 type Signed_35
is range -2 ** 34 .. 2 ** 34 - 1;
569 for Signed_35
'Size use 35;
571 type Signed_36
is range -2 ** 35 .. 2 ** 35 - 1;
572 for Signed_36
'Size use 36;
574 type Signed_37
is range -2 ** 36 .. 2 ** 36 - 1;
575 for Signed_37
'Size use 37;
577 type Signed_38
is range -2 ** 37 .. 2 ** 37 - 1;
578 for Signed_38
'Size use 38;
580 type Signed_39
is range -2 ** 38 .. 2 ** 38 - 1;
581 for Signed_39
'Size use 39;
583 type Signed_40
is range -2 ** 39 .. 2 ** 39 - 1;
584 for Signed_40
'Size use 40;
586 type Signed_41
is range -2 ** 40 .. 2 ** 40 - 1;
587 for Signed_41
'Size use 41;
589 type Signed_42
is range -2 ** 41 .. 2 ** 41 - 1;
590 for Signed_42
'Size use 42;
592 type Signed_43
is range -2 ** 42 .. 2 ** 42 - 1;
593 for Signed_43
'Size use 43;
595 type Signed_44
is range -2 ** 43 .. 2 ** 43 - 1;
596 for Signed_44
'Size use 44;
598 type Signed_45
is range -2 ** 44 .. 2 ** 44 - 1;
599 for Signed_45
'Size use 45;
601 type Signed_46
is range -2 ** 45 .. 2 ** 45 - 1;
602 for Signed_46
'Size use 46;
604 type Signed_47
is range -2 ** 46 .. 2 ** 46 - 1;
605 for Signed_47
'Size use 47;
607 type Signed_48
is range -2 ** 47 .. 2 ** 47 - 1;
608 for Signed_48
'Size use 48;
610 type Signed_49
is range -2 ** 48 .. 2 ** 48 - 1;
611 for Signed_49
'Size use 49;
613 type Signed_50
is range -2 ** 49 .. 2 ** 49 - 1;
614 for Signed_50
'Size use 50;
616 type Signed_51
is range -2 ** 50 .. 2 ** 50 - 1;
617 for Signed_51
'Size use 51;
619 type Signed_52
is range -2 ** 51 .. 2 ** 51 - 1;
620 for Signed_52
'Size use 52;
622 type Signed_53
is range -2 ** 52 .. 2 ** 52 - 1;
623 for Signed_53
'Size use 53;
625 type Signed_54
is range -2 ** 53 .. 2 ** 53 - 1;
626 for Signed_54
'Size use 54;
628 type Signed_55
is range -2 ** 54 .. 2 ** 54 - 1;
629 for Signed_55
'Size use 55;
631 type Signed_56
is range -2 ** 55 .. 2 ** 55 - 1;
632 for Signed_56
'Size use 56;
634 type Signed_57
is range -2 ** 56 .. 2 ** 56 - 1;
635 for Signed_57
'Size use 57;
637 type Signed_58
is range -2 ** 57 .. 2 ** 57 - 1;
638 for Signed_58
'Size use 58;
640 type Signed_59
is range -2 ** 58 .. 2 ** 58 - 1;
641 for Signed_59
'Size use 59;
643 type Signed_60
is range -2 ** 59 .. 2 ** 59 - 1;
644 for Signed_60
'Size use 60;
646 type Signed_61
is range -2 ** 60 .. 2 ** 60 - 1;
647 for Signed_61
'Size use 61;
649 type Signed_62
is range -2 ** 61 .. 2 ** 61 - 1;
650 for Signed_62
'Size use 62;
652 type Signed_63
is range -2 ** 62 .. 2 ** 62 - 1;
653 for Signed_63
'Size use 63;
655 type Signed_64
is range -2 ** 63 .. 2 ** 63 - 1;
656 for Signed_64
'Size use 64;
658 type Signed_65
is range -2 ** 64 .. 2 ** 64 - 1;
659 for Signed_65
'Size use 65;
661 type Signed_66
is range -2 ** 65 .. 2 ** 65 - 1;
662 for Signed_66
'Size use 66;
664 type Signed_67
is range -2 ** 66 .. 2 ** 66 - 1;
665 for Signed_67
'Size use 67;
667 type Signed_68
is range -2 ** 67 .. 2 ** 67 - 1;
668 for Signed_68
'Size use 68;
670 type Signed_69
is range -2 ** 68 .. 2 ** 68 - 1;
671 for Signed_69
'Size use 69;
673 type Signed_70
is range -2 ** 69 .. 2 ** 69 - 1;
674 for Signed_70
'Size use 70;
676 type Signed_71
is range -2 ** 70 .. 2 ** 70 - 1;
677 for Signed_71
'Size use 71;
679 type Signed_72
is range -2 ** 71 .. 2 ** 71 - 1;
680 for Signed_72
'Size use 72;
682 type Signed_73
is range -2 ** 72 .. 2 ** 72 - 1;
683 for Signed_73
'Size use 73;
685 type Signed_74
is range -2 ** 73 .. 2 ** 73 - 1;
686 for Signed_74
'Size use 74;
688 type Signed_75
is range -2 ** 74 .. 2 ** 74 - 1;
689 for Signed_75
'Size use 75;
691 type Signed_76
is range -2 ** 75 .. 2 ** 75 - 1;
692 for Signed_76
'Size use 76;
694 type Signed_77
is range -2 ** 76 .. 2 ** 76 - 1;
695 for Signed_77
'Size use 77;
697 type Signed_78
is range -2 ** 77 .. 2 ** 77 - 1;
698 for Signed_78
'Size use 78;
700 type Signed_79
is range -2 ** 78 .. 2 ** 78 - 1;
701 for Signed_79
'Size use 79;
703 type Signed_80
is range -2 ** 79 .. 2 ** 79 - 1;
704 for Signed_80
'Size use 80;
706 type Signed_81
is range -2 ** 80 .. 2 ** 80 - 1;
707 for Signed_81
'Size use 81;
709 type Signed_82
is range -2 ** 81 .. 2 ** 81 - 1;
710 for Signed_82
'Size use 82;
712 type Signed_83
is range -2 ** 82 .. 2 ** 82 - 1;
713 for Signed_83
'Size use 83;
715 type Signed_84
is range -2 ** 83 .. 2 ** 83 - 1;
716 for Signed_84
'Size use 84;
718 type Signed_85
is range -2 ** 84 .. 2 ** 84 - 1;
719 for Signed_85
'Size use 85;
721 type Signed_86
is range -2 ** 85 .. 2 ** 85 - 1;
722 for Signed_86
'Size use 86;
724 type Signed_87
is range -2 ** 86 .. 2 ** 86 - 1;
725 for Signed_87
'Size use 87;
727 type Signed_88
is range -2 ** 87 .. 2 ** 87 - 1;
728 for Signed_88
'Size use 88;
730 type Signed_89
is range -2 ** 88 .. 2 ** 88 - 1;
731 for Signed_89
'Size use 89;
733 type Signed_90
is range -2 ** 89 .. 2 ** 89 - 1;
734 for Signed_90
'Size use 90;
736 type Signed_91
is range -2 ** 90 .. 2 ** 90 - 1;
737 for Signed_91
'Size use 91;
739 type Signed_92
is range -2 ** 91 .. 2 ** 91 - 1;
740 for Signed_92
'Size use 92;
742 type Signed_93
is range -2 ** 92 .. 2 ** 92 - 1;
743 for Signed_93
'Size use 93;
745 type Signed_94
is range -2 ** 93 .. 2 ** 93 - 1;
746 for Signed_94
'Size use 94;
748 type Signed_95
is range -2 ** 94 .. 2 ** 94 - 1;
749 for Signed_95
'Size use 95;
751 type Signed_96
is range -2 ** 95 .. 2 ** 95 - 1;
752 for Signed_96
'Size use 96;
754 type Signed_97
is range -2 ** 96 .. 2 ** 96 - 1;
755 for Signed_97
'Size use 97;
757 type Signed_98
is range -2 ** 97 .. 2 ** 97 - 1;
758 for Signed_98
'Size use 98;
760 type Signed_99
is range -2 ** 98 .. 2 ** 98 - 1;
761 for Signed_99
'Size use 99;
763 type Signed_100
is range -2 ** 99 .. 2 ** 99 - 1;
764 for Signed_100
'Size use 100;
766 type Signed_101
is range -2 ** 100 .. 2 ** 100 - 1;
767 for Signed_101
'Size use 101;
769 type Signed_102
is range -2 ** 101 .. 2 ** 101 - 1;
770 for Signed_102
'Size use 102;
772 type Signed_103
is range -2 ** 102 .. 2 ** 102 - 1;
773 for Signed_103
'Size use 103;
775 type Signed_104
is range -2 ** 103 .. 2 ** 103 - 1;
776 for Signed_104
'Size use 104;
778 type Signed_105
is range -2 ** 104 .. 2 ** 104 - 1;
779 for Signed_105
'Size use 105;
781 type Signed_106
is range -2 ** 105 .. 2 ** 105 - 1;
782 for Signed_106
'Size use 106;
784 type Signed_107
is range -2 ** 106 .. 2 ** 106 - 1;
785 for Signed_107
'Size use 107;
787 type Signed_108
is range -2 ** 107 .. 2 ** 107 - 1;
788 for Signed_108
'Size use 108;
790 type Signed_109
is range -2 ** 108 .. 2 ** 108 - 1;
791 for Signed_109
'Size use 109;
793 type Signed_110
is range -2 ** 109 .. 2 ** 109 - 1;
794 for Signed_110
'Size use 110;
796 type Signed_111
is range -2 ** 110 .. 2 ** 110 - 1;
797 for Signed_111
'Size use 111;
799 type Signed_112
is range -2 ** 111 .. 2 ** 111 - 1;
800 for Signed_112
'Size use 112;
802 type Signed_113
is range -2 ** 112 .. 2 ** 112 - 1;
803 for Signed_113
'Size use 113;
805 type Signed_114
is range -2 ** 113 .. 2 ** 113 - 1;
806 for Signed_114
'Size use 114;
808 type Signed_115
is range -2 ** 114 .. 2 ** 114 - 1;
809 for Signed_115
'Size use 115;
811 type Signed_116
is range -2 ** 115 .. 2 ** 115 - 1;
812 for Signed_116
'Size use 116;
814 type Signed_117
is range -2 ** 116 .. 2 ** 116 - 1;
815 for Signed_117
'Size use 117;
817 type Signed_118
is range -2 ** 117 .. 2 ** 117 - 1;
818 for Signed_118
'Size use 118;
820 type Signed_119
is range -2 ** 118 .. 2 ** 118 - 1;
821 for Signed_119
'Size use 119;
823 type Signed_120
is range -2 ** 119 .. 2 ** 119 - 1;
824 for Signed_120
'Size use 120;
826 type Signed_121
is range -2 ** 120 .. 2 ** 120 - 1;
827 for Signed_121
'Size use 121;
829 type Signed_122
is range -2 ** 121 .. 2 ** 121 - 1;
830 for Signed_122
'Size use 122;
832 type Signed_123
is range -2 ** 122 .. 2 ** 122 - 1;
833 for Signed_123
'Size use 123;
835 type Signed_124
is range -2 ** 123 .. 2 ** 123 - 1;
836 for Signed_124
'Size use 124;
838 type Signed_125
is range -2 ** 124 .. 2 ** 124 - 1;
839 for Signed_125
'Size use 125;
841 type Signed_126
is range -2 ** 125 .. 2 ** 125 - 1;
842 for Signed_126
'Size use 126;
844 type Signed_127
is range -2 ** 126 .. 2 ** 126 - 1;
845 for Signed_127
'Size use 127;
847 type Signed_128
is range -2 ** 127 .. 2 ** 127 - 1;
848 for Signed_128
'Size use 128;
850 end Interfaces
.C
.Extensions
;