From: Piotr Trojanek Date: Mon, 6 Sep 2021 13:40:23 +0000 (+0200) Subject: [Ada] Document the current behaviour of -gnateA switch X-Git-Tag: basepoints/gcc-13~4177 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=29ca68773b8bbb89b6e0cbb21d55d0ceeec58f9c;p=thirdparty%2Fgcc.git [Ada] Document the current behaviour of -gnateA switch gcc/ada/ * doc/gnat_ugn/building_executable_programs_with_gnat.rst (gnateA): This switch no longer looks at the formal parameter type being composite (as originally mandated by SPARK), but in the parameter passing mechanism being not specified (as currently mandated by Ada). * gnat_ugn.texi: Regenerate. --- diff --git a/gcc/ada/doc/gnat_ugn/building_executable_programs_with_gnat.rst b/gcc/ada/doc/gnat_ugn/building_executable_programs_with_gnat.rst index 5a69967615ff..67fd1301a67e 100644 --- a/gcc/ada/doc/gnat_ugn/building_executable_programs_with_gnat.rst +++ b/gcc/ada/doc/gnat_ugn/building_executable_programs_with_gnat.rst @@ -1497,9 +1497,10 @@ Alphabetical List of All Switches :switch:`-gnateA` Check that the actual parameters of a subprogram call are not aliases of one - another. To qualify as aliasing, the actuals must denote objects of a composite - type, their memory locations must be identical or overlapping, and at least one - of the corresponding formal parameters must be of mode OUT or IN OUT. + another. To qualify as aliasing, their memory locations must be identical or + overlapping, at least one of the corresponding formal parameters must be of + mode OUT or IN OUT, and at least one of the corresponding formal parameters + must have its parameter passing mechanism not specified. .. code-block:: ada diff --git a/gcc/ada/gnat_ugn.texi b/gcc/ada/gnat_ugn.texi index d7627ab413fd..8144497327c4 100644 --- a/gcc/ada/gnat_ugn.texi +++ b/gcc/ada/gnat_ugn.texi @@ -8933,9 +8933,10 @@ also suppresses generation of cross-reference information @item @code{-gnateA} Check that the actual parameters of a subprogram call are not aliases of one -another. To qualify as aliasing, the actuals must denote objects of a composite -type, their memory locations must be identical or overlapping, and at least one -of the corresponding formal parameters must be of mode OUT or IN OUT. +another. To qualify as aliasing, their memory locations must be identical or +overlapping, at least one of the corresponding formal parameters must be of +mode OUT or IN OUT, and at least one of the corresponding formal parameters +must have its parameter passing mechanism not specified. @example type Rec_Typ is record