diff options
author | Eric Botcazou <ebotcazou@adacore.com> | 2023-01-20 12:48:16 +0100 |
---|---|---|
committer | Marc Poulhiès <poulhies@adacore.com> | 2023-05-16 10:30:56 +0200 |
commit | 5c6e261645296b9175c5bbd6d5bf6341cc80bdd0 (patch) | |
tree | acb3e81de867fd550e07dfe6b16a450761f34aaa /gcc | |
parent | 05c1e15f9faad6c59c8e82e665c7cbcf8b8d7a40 (diff) | |
download | gcc-5c6e261645296b9175c5bbd6d5bf6341cc80bdd0.zip gcc-5c6e261645296b9175c5bbd6d5bf6341cc80bdd0.tar.gz gcc-5c6e261645296b9175c5bbd6d5bf6341cc80bdd0.tar.bz2 |
ada: Document examples of No_Dependence restriction for code generation
gcc/ada/
* doc/gnat_rm/standard_and_implementation_defined_restrictions.rst
(No_Dependence): Give examples of new No_Dependence restrictions.
* gnat_rm.texi: Regenerate.
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ada/doc/gnat_rm/standard_and_implementation_defined_restrictions.rst | 12 | ||||
-rw-r--r-- | gcc/ada/gnat_rm.texi | 33 |
2 files changed, 43 insertions, 2 deletions
diff --git a/gcc/ada/doc/gnat_rm/standard_and_implementation_defined_restrictions.rst b/gcc/ada/doc/gnat_rm/standard_and_implementation_defined_restrictions.rst index f8e2a58..275b46c 100644 --- a/gcc/ada/doc/gnat_rm/standard_and_implementation_defined_restrictions.rst +++ b/gcc/ada/doc/gnat_rm/standard_and_implementation_defined_restrictions.rst @@ -186,7 +186,17 @@ No_Dependence [RM 13.12.1] This restriction ensures at compile time that there are no dependences on a library unit. For GNAT, this includes implicit implementation dependences on units of the runtime library that are created by the compiler -to support specific constructs of the language. +to support specific constructs of the language. Here are some examples: + +* ``System.Arith_64``: 64-bit arithmetics for 32-bit platforms, +* ``System.Arith_128``: 128-bit arithmetics for 64-bit platforms, +* ``System.Memory``: heap memory allocation routines, +* ``System.Memory_Compare``: memory comparison routine (aka ``memcmp`` for C), +* ``System.Memory_Copy``: memory copy routine (aka ``memcpy`` for C), +* ``System.Memory_Move``: memoy move routine (aka ``memmove`` for C), +* ``System.Memory_Set``: memory set routine (aka ``memset`` for C), +* ``System.Stack_Checking[.Operations]``: stack checking without MMU, +* ``System.GCC``: support routines from the GCC library. No_Direct_Boolean_Operators --------------------------- diff --git a/gcc/ada/gnat_rm.texi b/gcc/ada/gnat_rm.texi index 5e05287..3818f22 100644 --- a/gcc/ada/gnat_rm.texi +++ b/gcc/ada/gnat_rm.texi @@ -12727,7 +12727,38 @@ delay statements and no semantic dependences on package Calendar. [RM 13.12.1] This restriction ensures at compile time that there are no dependences on a library unit. For GNAT, this includes implicit implementation dependences on units of the runtime library that are created by the compiler -to support specific constructs of the language. +to support specific constructs of the language. Here are some examples: + + +@itemize * + +@item +@code{System.Arith_64}: 64-bit arithmetics for 32-bit platforms, + +@item +@code{System.Arith_128}: 128-bit arithmetics for 64-bit platforms, + +@item +@code{System.Memory}: heap memory allocation routines, + +@item +@code{System.Memory_Compare}: memory comparison routine (aka @code{memcmp} for C), + +@item +@code{System.Memory_Copy}: memory copy routine (aka @code{memcpy} for C), + +@item +@code{System.Memory_Move}: memoy move routine (aka @code{memmove} for C), + +@item +@code{System.Memory_Set}: memory set routine (aka @code{memset} for C), + +@item +@code{System.Stack_Checking[.Operations]}: stack checking without MMU, + +@item +@code{System.GCC}: support routines from the GCC library. +@end itemize @node No_Direct_Boolean_Operators,No_Dispatch,No_Dependence,Partition-Wide Restrictions @anchor{gnat_rm/standard_and_implementation_defined_restrictions no-direct-boolean-operators}@anchor{1ca} |