comparison gcc/ada/doc/gnat_ugn/the_gnat_compilation_model.rst @ 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
4529 * some extensions (e.g. vector types) are not supported 4529 * some extensions (e.g. vector types) are not supported
4530 * pointers to pointers or complex structures are mapped to System.Address 4530 * pointers to pointers or complex structures are mapped to System.Address
4531 * identifiers with identical name (except casing) will generate compilation 4531 * identifiers with identical name (except casing) will generate compilation
4532 errors (e.g. ``shm_get`` vs ``SHM_GET``). 4532 errors (e.g. ``shm_get`` vs ``SHM_GET``).
4533 4533
4534 The code generated is using the Ada 2005 syntax, which makes it 4534 The code is generated using Ada 2012 syntax, which makes it easier to interface
4535 easier to interface with other languages than previous versions of Ada. 4535 with other languages. In most cases you can still use the generated binding
4536 even if your code is compiled using earlier versions of Ada (e.g. ``-gnat95``).
4536 4537
4537 .. _Running_the_binding_generator: 4538 .. _Running_the_binding_generator:
4538 4539
4539 Running the Binding Generator 4540 Running the Binding Generator
4540 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 4541 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
4545 header files needed by these files transitively. For example: 4546 header files needed by these files transitively. For example:
4546 4547
4547 .. code-block:: sh 4548 .. code-block:: sh
4548 4549
4549 $ g++ -c -fdump-ada-spec -C /usr/include/time.h 4550 $ g++ -c -fdump-ada-spec -C /usr/include/time.h
4550 $ gcc -c -gnat05 *.ads 4551 $ gcc -c *.ads
4551 4552
4552 will generate, under GNU/Linux, the following files: :file:`time_h.ads`, 4553 will generate, under GNU/Linux, the following files: :file:`time_h.ads`,
4553 :file:`bits_time_h.ads`, :file:`stddef_h.ads`, :file:`bits_types_h.ads` which 4554 :file:`bits_time_h.ads`, :file:`stddef_h.ads`, :file:`bits_types_h.ads` which
4554 correspond to the files :file:`/usr/include/time.h`, 4555 correspond to the files :file:`/usr/include/time.h`,
4555 :file:`/usr/include/bits/time.h`, etc..., and will then compile these Ada specs 4556 :file:`/usr/include/bits/time.h`, etc..., and will then compile these Ada specs