1------------------------------------------------------------------------------ 2-- -- 3-- GNAT COMPILER COMPONENTS -- 4-- -- 5-- I N T E R F A C E S . C . E X T E N S I O N S -- 6-- -- 7-- S p e c -- 8-- -- 9-- Copyright (C) 1992-2021, Free Software Foundation, Inc. -- 10-- -- 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. -- 17-- -- 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. -- 21-- -- 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/>. -- 26-- -- 27-- GNAT was originally developed by the GNAT team at New York University. -- 28-- Extensive contributions were provided by Ada Core Technologies Inc. -- 29-- -- 30------------------------------------------------------------------------------ 31 32-- This package contains additional C-related definitions, intended for use 33-- with either manually or automatically generated bindings to C libraries. 34 35with System; 36 37package Interfaces.C.Extensions is 38 pragma Pure; 39 40 -- Definitions for C "void" and "void *" types 41 42 subtype void is System.Address; 43 subtype void_ptr is System.Address; 44 45 -- Definitions for C incomplete/unknown structs 46 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; 50 51 -- Definitions for C++ incomplete/unknown classes 52 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; 56 57 -- C bool 58 59 subtype bool is Interfaces.C.C_bool; 60 61 -- 64-bit integer types 62 63 subtype long_long is Interfaces.C.long_long; 64 subtype unsigned_long_long is Interfaces.C.unsigned_long_long; 65 66 -- 128-bit floating-point type available on x86: 67 -- typedef float float_128 __attribute__ ((mode (TF))); 68 69 type Float_128 is record 70 low, high : unsigned_long_long; 71 end record; 72 pragma Convention (C_Pass_By_Copy, Float_128); 73 for Float_128'Alignment use unsigned_long_long'Alignment * 2; 74 75 -- 128-bit complex floating-point type available on x86: 76 -- typedef _Complex float cfloat_128 __attribute__ ((mode (TC))); 77 78 type CFloat_128 is record 79 re, im : Float_128; 80 end record; 81 pragma Convention (C_Pass_By_Copy, CFloat_128); 82 83 -- Types for bitfields 84 85 type Unsigned_1 is mod 2 ** 1; 86 for Unsigned_1'Size use 1; 87 88 type Unsigned_2 is mod 2 ** 2; 89 for Unsigned_2'Size use 2; 90 91 type Unsigned_3 is mod 2 ** 3; 92 for Unsigned_3'Size use 3; 93 94 type Unsigned_4 is mod 2 ** 4; 95 for Unsigned_4'Size use 4; 96 97 type Unsigned_5 is mod 2 ** 5; 98 for Unsigned_5'Size use 5; 99 100 type Unsigned_6 is mod 2 ** 6; 101 for Unsigned_6'Size use 6; 102 103 type Unsigned_7 is mod 2 ** 7; 104 for Unsigned_7'Size use 7; 105 106 type Unsigned_8 is mod 2 ** 8; 107 for Unsigned_8'Size use 8; 108 109 type Unsigned_9 is mod 2 ** 9; 110 for Unsigned_9'Size use 9; 111 112 type Unsigned_10 is mod 2 ** 10; 113 for Unsigned_10'Size use 10; 114 115 type Unsigned_11 is mod 2 ** 11; 116 for Unsigned_11'Size use 11; 117 118 type Unsigned_12 is mod 2 ** 12; 119 for Unsigned_12'Size use 12; 120 121 type Unsigned_13 is mod 2 ** 13; 122 for Unsigned_13'Size use 13; 123 124 type Unsigned_14 is mod 2 ** 14; 125 for Unsigned_14'Size use 14; 126 127 type Unsigned_15 is mod 2 ** 15; 128 for Unsigned_15'Size use 15; 129 130 type Unsigned_16 is mod 2 ** 16; 131 for Unsigned_16'Size use 16; 132 133 type Unsigned_17 is mod 2 ** 17; 134 for Unsigned_17'Size use 17; 135 136 type Unsigned_18 is mod 2 ** 18; 137 for Unsigned_18'Size use 18; 138 139 type Unsigned_19 is mod 2 ** 19; 140 for Unsigned_19'Size use 19; 141 142 type Unsigned_20 is mod 2 ** 20; 143 for Unsigned_20'Size use 20; 144 145 type Unsigned_21 is mod 2 ** 21; 146 for Unsigned_21'Size use 21; 147 148 type Unsigned_22 is mod 2 ** 22; 149 for Unsigned_22'Size use 22; 150 151 type Unsigned_23 is mod 2 ** 23; 152 for Unsigned_23'Size use 23; 153 154 type Unsigned_24 is mod 2 ** 24; 155 for Unsigned_24'Size use 24; 156 157 type Unsigned_25 is mod 2 ** 25; 158 for Unsigned_25'Size use 25; 159 160 type Unsigned_26 is mod 2 ** 26; 161 for Unsigned_26'Size use 26; 162 163 type Unsigned_27 is mod 2 ** 27; 164 for Unsigned_27'Size use 27; 165 166 type Unsigned_28 is mod 2 ** 28; 167 for Unsigned_28'Size use 28; 168 169 type Unsigned_29 is mod 2 ** 29; 170 for Unsigned_29'Size use 29; 171 172 type Unsigned_30 is mod 2 ** 30; 173 for Unsigned_30'Size use 30; 174 175 type Unsigned_31 is mod 2 ** 31; 176 for Unsigned_31'Size use 31; 177 178 type Unsigned_32 is mod 2 ** 32; 179 for Unsigned_32'Size use 32; 180 181 type Unsigned_33 is mod 2 ** 33; 182 for Unsigned_33'Size use 33; 183 184 type Unsigned_34 is mod 2 ** 34; 185 for Unsigned_34'Size use 34; 186 187 type Unsigned_35 is mod 2 ** 35; 188 for Unsigned_35'Size use 35; 189 190 type Unsigned_36 is mod 2 ** 36; 191 for Unsigned_36'Size use 36; 192 193 type Unsigned_37 is mod 2 ** 37; 194 for Unsigned_37'Size use 37; 195 196 type Unsigned_38 is mod 2 ** 38; 197 for Unsigned_38'Size use 38; 198 199 type Unsigned_39 is mod 2 ** 39; 200 for Unsigned_39'Size use 39; 201 202 type Unsigned_40 is mod 2 ** 40; 203 for Unsigned_40'Size use 40; 204 205 type Unsigned_41 is mod 2 ** 41; 206 for Unsigned_41'Size use 41; 207 208 type Unsigned_42 is mod 2 ** 42; 209 for Unsigned_42'Size use 42; 210 211 type Unsigned_43 is mod 2 ** 43; 212 for Unsigned_43'Size use 43; 213 214 type Unsigned_44 is mod 2 ** 44; 215 for Unsigned_44'Size use 44; 216 217 type Unsigned_45 is mod 2 ** 45; 218 for Unsigned_45'Size use 45; 219 220 type Unsigned_46 is mod 2 ** 46; 221 for Unsigned_46'Size use 46; 222 223 type Unsigned_47 is mod 2 ** 47; 224 for Unsigned_47'Size use 47; 225 226 type Unsigned_48 is mod 2 ** 48; 227 for Unsigned_48'Size use 48; 228 229 type Unsigned_49 is mod 2 ** 49; 230 for Unsigned_49'Size use 49; 231 232 type Unsigned_50 is mod 2 ** 50; 233 for Unsigned_50'Size use 50; 234 235 type Unsigned_51 is mod 2 ** 51; 236 for Unsigned_51'Size use 51; 237 238 type Unsigned_52 is mod 2 ** 52; 239 for Unsigned_52'Size use 52; 240 241 type Unsigned_53 is mod 2 ** 53; 242 for Unsigned_53'Size use 53; 243 244 type Unsigned_54 is mod 2 ** 54; 245 for Unsigned_54'Size use 54; 246 247 type Unsigned_55 is mod 2 ** 55; 248 for Unsigned_55'Size use 55; 249 250 type Unsigned_56 is mod 2 ** 56; 251 for Unsigned_56'Size use 56; 252 253 type Unsigned_57 is mod 2 ** 57; 254 for Unsigned_57'Size use 57; 255 256 type Unsigned_58 is mod 2 ** 58; 257 for Unsigned_58'Size use 58; 258 259 type Unsigned_59 is mod 2 ** 59; 260 for Unsigned_59'Size use 59; 261 262 type Unsigned_60 is mod 2 ** 60; 263 for Unsigned_60'Size use 60; 264 265 type Unsigned_61 is mod 2 ** 61; 266 for Unsigned_61'Size use 61; 267 268 type Unsigned_62 is mod 2 ** 62; 269 for Unsigned_62'Size use 62; 270 271 type Unsigned_63 is mod 2 ** 63; 272 for Unsigned_63'Size use 63; 273 274 type Unsigned_64 is mod 2 ** 64; 275 for Unsigned_64'Size use 64; 276 277 type Unsigned_65 is mod 2 ** 65; 278 for Unsigned_65'Size use 65; 279 280 type Unsigned_66 is mod 2 ** 66; 281 for Unsigned_66'Size use 66; 282 283 type Unsigned_67 is mod 2 ** 67; 284 for Unsigned_67'Size use 67; 285 286 type Unsigned_68 is mod 2 ** 68; 287 for Unsigned_68'Size use 68; 288 289 type Unsigned_69 is mod 2 ** 69; 290 for Unsigned_69'Size use 69; 291 292 type Unsigned_70 is mod 2 ** 70; 293 for Unsigned_70'Size use 70; 294 295 type Unsigned_71 is mod 2 ** 71; 296 for Unsigned_71'Size use 71; 297 298 type Unsigned_72 is mod 2 ** 72; 299 for Unsigned_72'Size use 72; 300 301 type Unsigned_73 is mod 2 ** 73; 302 for Unsigned_73'Size use 73; 303 304 type Unsigned_74 is mod 2 ** 74; 305 for Unsigned_74'Size use 74; 306 307 type Unsigned_75 is mod 2 ** 75; 308 for Unsigned_75'Size use 75; 309 310 type Unsigned_76 is mod 2 ** 76; 311 for Unsigned_76'Size use 76; 312 313 type Unsigned_77 is mod 2 ** 77; 314 for Unsigned_77'Size use 77; 315 316 type Unsigned_78 is mod 2 ** 78; 317 for Unsigned_78'Size use 78; 318 319 type Unsigned_79 is mod 2 ** 79; 320 for Unsigned_79'Size use 79; 321 322 type Unsigned_80 is mod 2 ** 80; 323 for Unsigned_80'Size use 80; 324 325 type Unsigned_81 is mod 2 ** 81; 326 for Unsigned_81'Size use 81; 327 328 type Unsigned_82 is mod 2 ** 82; 329 for Unsigned_82'Size use 82; 330 331 type Unsigned_83 is mod 2 ** 83; 332 for Unsigned_83'Size use 83; 333 334 type Unsigned_84 is mod 2 ** 84; 335 for Unsigned_84'Size use 84; 336 337 type Unsigned_85 is mod 2 ** 85; 338 for Unsigned_85'Size use 85; 339 340 type Unsigned_86 is mod 2 ** 86; 341 for Unsigned_86'Size use 86; 342 343 type Unsigned_87 is mod 2 ** 87; 344 for Unsigned_87'Size use 87; 345 346 type Unsigned_88 is mod 2 ** 88; 347 for Unsigned_88'Size use 88; 348 349 type Unsigned_89 is mod 2 ** 89; 350 for Unsigned_89'Size use 89; 351 352 type Unsigned_90 is mod 2 ** 90; 353 for Unsigned_90'Size use 90; 354 355 type Unsigned_91 is mod 2 ** 91; 356 for Unsigned_91'Size use 91; 357 358 type Unsigned_92 is mod 2 ** 92; 359 for Unsigned_92'Size use 92; 360 361 type Unsigned_93 is mod 2 ** 93; 362 for Unsigned_93'Size use 93; 363 364 type Unsigned_94 is mod 2 ** 94; 365 for Unsigned_94'Size use 94; 366 367 type Unsigned_95 is mod 2 ** 95; 368 for Unsigned_95'Size use 95; 369 370 type Unsigned_96 is mod 2 ** 96; 371 for Unsigned_96'Size use 96; 372 373 type Unsigned_97 is mod 2 ** 97; 374 for Unsigned_97'Size use 97; 375 376 type Unsigned_98 is mod 2 ** 98; 377 for Unsigned_98'Size use 98; 378 379 type Unsigned_99 is mod 2 ** 99; 380 for Unsigned_99'Size use 99; 381 382 type Unsigned_100 is mod 2 ** 100; 383 for Unsigned_100'Size use 100; 384 385 type Unsigned_101 is mod 2 ** 101; 386 for Unsigned_101'Size use 101; 387 388 type Unsigned_102 is mod 2 ** 102; 389 for Unsigned_102'Size use 102; 390 391 type Unsigned_103 is mod 2 ** 103; 392 for Unsigned_103'Size use 103; 393 394 type Unsigned_104 is mod 2 ** 104; 395 for Unsigned_104'Size use 104; 396 397 type Unsigned_105 is mod 2 ** 105; 398 for Unsigned_105'Size use 105; 399 400 type Unsigned_106 is mod 2 ** 106; 401 for Unsigned_106'Size use 106; 402 403 type Unsigned_107 is mod 2 ** 107; 404 for Unsigned_107'Size use 107; 405 406 type Unsigned_108 is mod 2 ** 108; 407 for Unsigned_108'Size use 108; 408 409 type Unsigned_109 is mod 2 ** 109; 410 for Unsigned_109'Size use 109; 411 412 type Unsigned_110 is mod 2 ** 110; 413 for Unsigned_110'Size use 110; 414 415 type Unsigned_111 is mod 2 ** 111; 416 for Unsigned_111'Size use 111; 417 418 type Unsigned_112 is mod 2 ** 112; 419 for Unsigned_112'Size use 112; 420 421 type Unsigned_113 is mod 2 ** 113; 422 for Unsigned_113'Size use 113; 423 424 type Unsigned_114 is mod 2 ** 114; 425 for Unsigned_114'Size use 114; 426 427 type Unsigned_115 is mod 2 ** 115; 428 for Unsigned_115'Size use 115; 429 430 type Unsigned_116 is mod 2 ** 116; 431 for Unsigned_116'Size use 116; 432 433 type Unsigned_117 is mod 2 ** 117; 434 for Unsigned_117'Size use 117; 435 436 type Unsigned_118 is mod 2 ** 118; 437 for Unsigned_118'Size use 118; 438 439 type Unsigned_119 is mod 2 ** 119; 440 for Unsigned_119'Size use 119; 441 442 type Unsigned_120 is mod 2 ** 120; 443 for Unsigned_120'Size use 120; 444 445 type Unsigned_121 is mod 2 ** 121; 446 for Unsigned_121'Size use 121; 447 448 type Unsigned_122 is mod 2 ** 122; 449 for Unsigned_122'Size use 122; 450 451 type Unsigned_123 is mod 2 ** 123; 452 for Unsigned_123'Size use 123; 453 454 type Unsigned_124 is mod 2 ** 124; 455 for Unsigned_124'Size use 124; 456 457 type Unsigned_125 is mod 2 ** 125; 458 for Unsigned_125'Size use 125; 459 460 type Unsigned_126 is mod 2 ** 126; 461 for Unsigned_126'Size use 126; 462 463 type Unsigned_127 is mod 2 ** 127; 464 for Unsigned_127'Size use 127; 465 466 type Unsigned_128 is mod 2 ** 128; 467 for Unsigned_128'Size use 128; 468 469 type Signed_2 is range -2 ** 1 .. 2 ** 1 - 1; 470 for Signed_2'Size use 2; 471 472 type Signed_3 is range -2 ** 2 .. 2 ** 2 - 1; 473 for Signed_3'Size use 3; 474 475 type Signed_4 is range -2 ** 3 .. 2 ** 3 - 1; 476 for Signed_4'Size use 4; 477 478 type Signed_5 is range -2 ** 4 .. 2 ** 4 - 1; 479 for Signed_5'Size use 5; 480 481 type Signed_6 is range -2 ** 5 .. 2 ** 5 - 1; 482 for Signed_6'Size use 6; 483 484 type Signed_7 is range -2 ** 6 .. 2 ** 6 - 1; 485 for Signed_7'Size use 7; 486 487 type Signed_8 is range -2 ** 7 .. 2 ** 7 - 1; 488 for Signed_8'Size use 8; 489 490 type Signed_9 is range -2 ** 8 .. 2 ** 8 - 1; 491 for Signed_9'Size use 9; 492 493 type Signed_10 is range -2 ** 9 .. 2 ** 9 - 1; 494 for Signed_10'Size use 10; 495 496 type Signed_11 is range -2 ** 10 .. 2 ** 10 - 1; 497 for Signed_11'Size use 11; 498 499 type Signed_12 is range -2 ** 11 .. 2 ** 11 - 1; 500 for Signed_12'Size use 12; 501 502 type Signed_13 is range -2 ** 12 .. 2 ** 12 - 1; 503 for Signed_13'Size use 13; 504 505 type Signed_14 is range -2 ** 13 .. 2 ** 13 - 1; 506 for Signed_14'Size use 14; 507 508 type Signed_15 is range -2 ** 14 .. 2 ** 14 - 1; 509 for Signed_15'Size use 15; 510 511 type Signed_16 is range -2 ** 15 .. 2 ** 15 - 1; 512 for Signed_16'Size use 16; 513 514 type Signed_17 is range -2 ** 16 .. 2 ** 16 - 1; 515 for Signed_17'Size use 17; 516 517 type Signed_18 is range -2 ** 17 .. 2 ** 17 - 1; 518 for Signed_18'Size use 18; 519 520 type Signed_19 is range -2 ** 18 .. 2 ** 18 - 1; 521 for Signed_19'Size use 19; 522 523 type Signed_20 is range -2 ** 19 .. 2 ** 19 - 1; 524 for Signed_20'Size use 20; 525 526 type Signed_21 is range -2 ** 20 .. 2 ** 20 - 1; 527 for Signed_21'Size use 21; 528 529 type Signed_22 is range -2 ** 21 .. 2 ** 21 - 1; 530 for Signed_22'Size use 22; 531 532 type Signed_23 is range -2 ** 22 .. 2 ** 22 - 1; 533 for Signed_23'Size use 23; 534 535 type Signed_24 is range -2 ** 23 .. 2 ** 23 - 1; 536 for Signed_24'Size use 24; 537 538 type Signed_25 is range -2 ** 24 .. 2 ** 24 - 1; 539 for Signed_25'Size use 25; 540 541 type Signed_26 is range -2 ** 25 .. 2 ** 25 - 1; 542 for Signed_26'Size use 26; 543 544 type Signed_27 is range -2 ** 26 .. 2 ** 26 - 1; 545 for Signed_27'Size use 27; 546 547 type Signed_28 is range -2 ** 27 .. 2 ** 27 - 1; 548 for Signed_28'Size use 28; 549 550 type Signed_29 is range -2 ** 28 .. 2 ** 28 - 1; 551 for Signed_29'Size use 29; 552 553 type Signed_30 is range -2 ** 29 .. 2 ** 29 - 1; 554 for Signed_30'Size use 30; 555 556 type Signed_31 is range -2 ** 30 .. 2 ** 30 - 1; 557 for Signed_31'Size use 31; 558 559 type Signed_32 is range -2 ** 31 .. 2 ** 31 - 1; 560 for Signed_32'Size use 32; 561 562 type Signed_33 is range -2 ** 32 .. 2 ** 32 - 1; 563 for Signed_33'Size use 33; 564 565 type Signed_34 is range -2 ** 33 .. 2 ** 33 - 1; 566 for Signed_34'Size use 34; 567 568 type Signed_35 is range -2 ** 34 .. 2 ** 34 - 1; 569 for Signed_35'Size use 35; 570 571 type Signed_36 is range -2 ** 35 .. 2 ** 35 - 1; 572 for Signed_36'Size use 36; 573 574 type Signed_37 is range -2 ** 36 .. 2 ** 36 - 1; 575 for Signed_37'Size use 37; 576 577 type Signed_38 is range -2 ** 37 .. 2 ** 37 - 1; 578 for Signed_38'Size use 38; 579 580 type Signed_39 is range -2 ** 38 .. 2 ** 38 - 1; 581 for Signed_39'Size use 39; 582 583 type Signed_40 is range -2 ** 39 .. 2 ** 39 - 1; 584 for Signed_40'Size use 40; 585 586 type Signed_41 is range -2 ** 40 .. 2 ** 40 - 1; 587 for Signed_41'Size use 41; 588 589 type Signed_42 is range -2 ** 41 .. 2 ** 41 - 1; 590 for Signed_42'Size use 42; 591 592 type Signed_43 is range -2 ** 42 .. 2 ** 42 - 1; 593 for Signed_43'Size use 43; 594 595 type Signed_44 is range -2 ** 43 .. 2 ** 43 - 1; 596 for Signed_44'Size use 44; 597 598 type Signed_45 is range -2 ** 44 .. 2 ** 44 - 1; 599 for Signed_45'Size use 45; 600 601 type Signed_46 is range -2 ** 45 .. 2 ** 45 - 1; 602 for Signed_46'Size use 46; 603 604 type Signed_47 is range -2 ** 46 .. 2 ** 46 - 1; 605 for Signed_47'Size use 47; 606 607 type Signed_48 is range -2 ** 47 .. 2 ** 47 - 1; 608 for Signed_48'Size use 48; 609 610 type Signed_49 is range -2 ** 48 .. 2 ** 48 - 1; 611 for Signed_49'Size use 49; 612 613 type Signed_50 is range -2 ** 49 .. 2 ** 49 - 1; 614 for Signed_50'Size use 50; 615 616 type Signed_51 is range -2 ** 50 .. 2 ** 50 - 1; 617 for Signed_51'Size use 51; 618 619 type Signed_52 is range -2 ** 51 .. 2 ** 51 - 1; 620 for Signed_52'Size use 52; 621 622 type Signed_53 is range -2 ** 52 .. 2 ** 52 - 1; 623 for Signed_53'Size use 53; 624 625 type Signed_54 is range -2 ** 53 .. 2 ** 53 - 1; 626 for Signed_54'Size use 54; 627 628 type Signed_55 is range -2 ** 54 .. 2 ** 54 - 1; 629 for Signed_55'Size use 55; 630 631 type Signed_56 is range -2 ** 55 .. 2 ** 55 - 1; 632 for Signed_56'Size use 56; 633 634 type Signed_57 is range -2 ** 56 .. 2 ** 56 - 1; 635 for Signed_57'Size use 57; 636 637 type Signed_58 is range -2 ** 57 .. 2 ** 57 - 1; 638 for Signed_58'Size use 58; 639 640 type Signed_59 is range -2 ** 58 .. 2 ** 58 - 1; 641 for Signed_59'Size use 59; 642 643 type Signed_60 is range -2 ** 59 .. 2 ** 59 - 1; 644 for Signed_60'Size use 60; 645 646 type Signed_61 is range -2 ** 60 .. 2 ** 60 - 1; 647 for Signed_61'Size use 61; 648 649 type Signed_62 is range -2 ** 61 .. 2 ** 61 - 1; 650 for Signed_62'Size use 62; 651 652 type Signed_63 is range -2 ** 62 .. 2 ** 62 - 1; 653 for Signed_63'Size use 63; 654 655 type Signed_64 is range -2 ** 63 .. 2 ** 63 - 1; 656 for Signed_64'Size use 64; 657 658 type Signed_65 is range -2 ** 64 .. 2 ** 64 - 1; 659 for Signed_65'Size use 65; 660 661 type Signed_66 is range -2 ** 65 .. 2 ** 65 - 1; 662 for Signed_66'Size use 66; 663 664 type Signed_67 is range -2 ** 66 .. 2 ** 66 - 1; 665 for Signed_67'Size use 67; 666 667 type Signed_68 is range -2 ** 67 .. 2 ** 67 - 1; 668 for Signed_68'Size use 68; 669 670 type Signed_69 is range -2 ** 68 .. 2 ** 68 - 1; 671 for Signed_69'Size use 69; 672 673 type Signed_70 is range -2 ** 69 .. 2 ** 69 - 1; 674 for Signed_70'Size use 70; 675 676 type Signed_71 is range -2 ** 70 .. 2 ** 70 - 1; 677 for Signed_71'Size use 71; 678 679 type Signed_72 is range -2 ** 71 .. 2 ** 71 - 1; 680 for Signed_72'Size use 72; 681 682 type Signed_73 is range -2 ** 72 .. 2 ** 72 - 1; 683 for Signed_73'Size use 73; 684 685 type Signed_74 is range -2 ** 73 .. 2 ** 73 - 1; 686 for Signed_74'Size use 74; 687 688 type Signed_75 is range -2 ** 74 .. 2 ** 74 - 1; 689 for Signed_75'Size use 75; 690 691 type Signed_76 is range -2 ** 75 .. 2 ** 75 - 1; 692 for Signed_76'Size use 76; 693 694 type Signed_77 is range -2 ** 76 .. 2 ** 76 - 1; 695 for Signed_77'Size use 77; 696 697 type Signed_78 is range -2 ** 77 .. 2 ** 77 - 1; 698 for Signed_78'Size use 78; 699 700 type Signed_79 is range -2 ** 78 .. 2 ** 78 - 1; 701 for Signed_79'Size use 79; 702 703 type Signed_80 is range -2 ** 79 .. 2 ** 79 - 1; 704 for Signed_80'Size use 80; 705 706 type Signed_81 is range -2 ** 80 .. 2 ** 80 - 1; 707 for Signed_81'Size use 81; 708 709 type Signed_82 is range -2 ** 81 .. 2 ** 81 - 1; 710 for Signed_82'Size use 82; 711 712 type Signed_83 is range -2 ** 82 .. 2 ** 82 - 1; 713 for Signed_83'Size use 83; 714 715 type Signed_84 is range -2 ** 83 .. 2 ** 83 - 1; 716 for Signed_84'Size use 84; 717 718 type Signed_85 is range -2 ** 84 .. 2 ** 84 - 1; 719 for Signed_85'Size use 85; 720 721 type Signed_86 is range -2 ** 85 .. 2 ** 85 - 1; 722 for Signed_86'Size use 86; 723 724 type Signed_87 is range -2 ** 86 .. 2 ** 86 - 1; 725 for Signed_87'Size use 87; 726 727 type Signed_88 is range -2 ** 87 .. 2 ** 87 - 1; 728 for Signed_88'Size use 88; 729 730 type Signed_89 is range -2 ** 88 .. 2 ** 88 - 1; 731 for Signed_89'Size use 89; 732 733 type Signed_90 is range -2 ** 89 .. 2 ** 89 - 1; 734 for Signed_90'Size use 90; 735 736 type Signed_91 is range -2 ** 90 .. 2 ** 90 - 1; 737 for Signed_91'Size use 91; 738 739 type Signed_92 is range -2 ** 91 .. 2 ** 91 - 1; 740 for Signed_92'Size use 92; 741 742 type Signed_93 is range -2 ** 92 .. 2 ** 92 - 1; 743 for Signed_93'Size use 93; 744 745 type Signed_94 is range -2 ** 93 .. 2 ** 93 - 1; 746 for Signed_94'Size use 94; 747 748 type Signed_95 is range -2 ** 94 .. 2 ** 94 - 1; 749 for Signed_95'Size use 95; 750 751 type Signed_96 is range -2 ** 95 .. 2 ** 95 - 1; 752 for Signed_96'Size use 96; 753 754 type Signed_97 is range -2 ** 96 .. 2 ** 96 - 1; 755 for Signed_97'Size use 97; 756 757 type Signed_98 is range -2 ** 97 .. 2 ** 97 - 1; 758 for Signed_98'Size use 98; 759 760 type Signed_99 is range -2 ** 98 .. 2 ** 98 - 1; 761 for Signed_99'Size use 99; 762 763 type Signed_100 is range -2 ** 99 .. 2 ** 99 - 1; 764 for Signed_100'Size use 100; 765 766 type Signed_101 is range -2 ** 100 .. 2 ** 100 - 1; 767 for Signed_101'Size use 101; 768 769 type Signed_102 is range -2 ** 101 .. 2 ** 101 - 1; 770 for Signed_102'Size use 102; 771 772 type Signed_103 is range -2 ** 102 .. 2 ** 102 - 1; 773 for Signed_103'Size use 103; 774 775 type Signed_104 is range -2 ** 103 .. 2 ** 103 - 1; 776 for Signed_104'Size use 104; 777 778 type Signed_105 is range -2 ** 104 .. 2 ** 104 - 1; 779 for Signed_105'Size use 105; 780 781 type Signed_106 is range -2 ** 105 .. 2 ** 105 - 1; 782 for Signed_106'Size use 106; 783 784 type Signed_107 is range -2 ** 106 .. 2 ** 106 - 1; 785 for Signed_107'Size use 107; 786 787 type Signed_108 is range -2 ** 107 .. 2 ** 107 - 1; 788 for Signed_108'Size use 108; 789 790 type Signed_109 is range -2 ** 108 .. 2 ** 108 - 1; 791 for Signed_109'Size use 109; 792 793 type Signed_110 is range -2 ** 109 .. 2 ** 109 - 1; 794 for Signed_110'Size use 110; 795 796 type Signed_111 is range -2 ** 110 .. 2 ** 110 - 1; 797 for Signed_111'Size use 111; 798 799 type Signed_112 is range -2 ** 111 .. 2 ** 111 - 1; 800 for Signed_112'Size use 112; 801 802 type Signed_113 is range -2 ** 112 .. 2 ** 112 - 1; 803 for Signed_113'Size use 113; 804 805 type Signed_114 is range -2 ** 113 .. 2 ** 113 - 1; 806 for Signed_114'Size use 114; 807 808 type Signed_115 is range -2 ** 114 .. 2 ** 114 - 1; 809 for Signed_115'Size use 115; 810 811 type Signed_116 is range -2 ** 115 .. 2 ** 115 - 1; 812 for Signed_116'Size use 116; 813 814 type Signed_117 is range -2 ** 116 .. 2 ** 116 - 1; 815 for Signed_117'Size use 117; 816 817 type Signed_118 is range -2 ** 117 .. 2 ** 117 - 1; 818 for Signed_118'Size use 118; 819 820 type Signed_119 is range -2 ** 118 .. 2 ** 118 - 1; 821 for Signed_119'Size use 119; 822 823 type Signed_120 is range -2 ** 119 .. 2 ** 119 - 1; 824 for Signed_120'Size use 120; 825 826 type Signed_121 is range -2 ** 120 .. 2 ** 120 - 1; 827 for Signed_121'Size use 121; 828 829 type Signed_122 is range -2 ** 121 .. 2 ** 121 - 1; 830 for Signed_122'Size use 122; 831 832 type Signed_123 is range -2 ** 122 .. 2 ** 122 - 1; 833 for Signed_123'Size use 123; 834 835 type Signed_124 is range -2 ** 123 .. 2 ** 123 - 1; 836 for Signed_124'Size use 124; 837 838 type Signed_125 is range -2 ** 124 .. 2 ** 124 - 1; 839 for Signed_125'Size use 125; 840 841 type Signed_126 is range -2 ** 125 .. 2 ** 125 - 1; 842 for Signed_126'Size use 126; 843 844 type Signed_127 is range -2 ** 126 .. 2 ** 126 - 1; 845 for Signed_127'Size use 127; 846 847 type Signed_128 is range -2 ** 127 .. 2 ** 127 - 1; 848 for Signed_128'Size use 128; 849 850end Interfaces.C.Extensions; 851