diff options
author | Robert Dewar <dewar@adacore.com> | 2008-07-31 10:19:24 +0200 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2008-07-31 10:19:24 +0200 |
commit | d47f523225d50a2858686471e22060d1fd7abfaa (patch) | |
tree | 336a355d8e36b25aaccf62395ca1657014d3e65a | |
parent | c116b9806466d5f3cfa3d274af443fc538be52e3 (diff) | |
download | gcc-d47f523225d50a2858686471e22060d1fd7abfaa.zip gcc-d47f523225d50a2858686471e22060d1fd7abfaa.tar.gz gcc-d47f523225d50a2858686471e22060d1fd7abfaa.tar.bz2 |
gnat_ugn.texi: Update -gnatN documentation.
2008-07-31 Robert Dewar <dewar@adacore.com>
* gnat_ugn.texi: Update -gnatN documentation.
* gnat_rm.texi: Add note about pre/postcondition
pragmas not checked in conjunction with front-end inlining.
From-SVN: r138366
-rw-r--r-- | gcc/ada/gnat_rm.texi | 18 | ||||
-rw-r--r-- | gcc/ada/gnat_ugn.texi | 8 |
2 files changed, 24 insertions, 2 deletions
diff --git a/gcc/ada/gnat_rm.texi b/gcc/ada/gnat_rm.texi index 1d875a1..3278d89 100644 --- a/gcc/ada/gnat_rm.texi +++ b/gcc/ada/gnat_rm.texi @@ -3792,6 +3792,13 @@ package Sort is end Sort; @end smallexample +@noindent +Note: postcondition pragmas associated with subprograms that are +marked as Inline_Always, or those marked as Inline with front-end +inlining (-gnatN option set) are accepted and legality-checked +by the compiler, but are ignored at run-time even if postcondition +checking is enabled. + @node Pragma Precondition @unnumberedsec Pragma Precondition @cindex Preconditions @@ -3826,13 +3833,22 @@ package Math_Functions is end Math_Functions; @end smallexample -@code{Postcondition} pragmas may appear either immediate following the +@noindent +@code{Precondition} pragmas may appear either immediate following the (separate) declaration of a subprogram, or at the start of the declarations of a subprogram body. Only other pragmas may intervene (that is appear between the subprogram declaration and its postconditions, or appear before the postcondition in the declaration sequence in a subprogram body). +Note: postcondition pragmas associated with subprograms that are +marked as Inline_Always, or those marked as Inline with front-end +inlining (-gnatN option set) are accepted and legality-checked +by the compiler, but are ignored at run-time even if postcondition +checking is enabled. + + + @node Pragma Profile (Ravenscar) @unnumberedsec Pragma Profile (Ravenscar) @findex Ravenscar diff --git a/gcc/ada/gnat_ugn.texi b/gcc/ada/gnat_ugn.texi index b55f398..c036178 100644 --- a/gcc/ada/gnat_ugn.texi +++ b/gcc/ada/gnat_ugn.texi @@ -2368,7 +2368,7 @@ that for inlining to actually occur as a result of the use of this switch, it is necessary to compile in optimizing mode. @cindex @option{-gnatN} switch -The use of @option{-gnatN} activates a more extensive inlining optimization +The use of @option{-gnatN} activates inlining optimization that is performed by the front end of the compiler. This inlining does not require that the code generation be optimized. Like @option{-gnatn}, the use of this switch generates additional dependencies. @@ -2376,6 +2376,12 @@ Note that @option{-gnatN} automatically implies @option{-gnatn} so it is not necessary to specify both options. +When using a gcc-based back end (in practice this means using any version +of GNAT other than the JGNAT, .NET or GNAAMP versions), then the use of +@option{-gnatN} is deprecated, and the use of @option{-gnatn} is preferred. +Historically front end inlining was more extensive than the gcc back end +inlining, but that is no longer the case. + @item If an object file @file{O} depends on the proper body of a subunit through inlining or instantiation, it depends on the parent unit of the subunit. |