aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPiotr Trojanek <trojanek@adacore.com>2021-09-06 15:40:23 +0200
committerPierre-Marie de Rodat <derodat@adacore.com>2021-10-04 08:45:12 +0000
commit29ca68773b8bbb89b6e0cbb21d55d0ceeec58f9c (patch)
tree880940a20364c9df559d9792904ba1d77823479b
parent6a53553086657d6b4668f0c3a2030ec1f63447d0 (diff)
downloadgcc-29ca68773b8bbb89b6e0cbb21d55d0ceeec58f9c.zip
gcc-29ca68773b8bbb89b6e0cbb21d55d0ceeec58f9c.tar.gz
gcc-29ca68773b8bbb89b6e0cbb21d55d0ceeec58f9c.tar.bz2
[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.
-rw-r--r--gcc/ada/doc/gnat_ugn/building_executable_programs_with_gnat.rst7
-rw-r--r--gcc/ada/gnat_ugn.texi7
2 files changed, 8 insertions, 6 deletions
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 5a69967..67fd130 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 d7627ab..81444973 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