A local use of pragma Warnings Off to suppress specific messages, when
not followed by a matching pragma Warnings On, extends until the end of
the file.

Tested on x86_64-pc-linux-gnu, committed on trunk

2018-05-23  Yannick Moy  <m...@adacore.com>

gcc/ada/

        * doc/gnat_rm/implementation_defined_pragmas.rst: Clarify meaning of
        local pragma Warnings Off without On.
        * gnat_rm.texi: Regenerate.
--- gcc/ada/doc/gnat_rm/implementation_defined_pragmas.rst
+++ gcc/ada/doc/gnat_rm/implementation_defined_pragmas.rst
@@ -7456,6 +7456,10 @@ In this usage, the pattern string must match in the Off and On
 pragmas, and (if *-gnatw.w* is given) at least one matching
 warning must be suppressed.
 
+Note: if the ON form is not found, then the effect of the OFF form extends
+until the end of the file (pragma Warnings is purely textual, so its effect
+does not stop at the end of the enclosing scope).
+
 Note: to write a string that will match any warning, use the string
 ``"***"``. It will not work to use a single asterisk or two
 asterisks since this looks like an operator name. This form with three

--- gcc/ada/gnat_rm.texi
+++ gcc/ada/gnat_rm.texi
@@ -8893,6 +8893,10 @@ In this usage, the pattern string must match in the Off and On
 pragmas, and (if @emph{-gnatw.w} is given) at least one matching
 warning must be suppressed.
 
+Note: if the ON form is not found, then the effect of the OFF form extends
+until the end of the file (pragma Warnings is purely textual, so its effect
+does not stop at the end of the enclosing scope).
+
 Note: to write a string that will match any warning, use the string
 @code{"***"}. It will not work to use a single asterisk or two
 asterisks since this looks like an operator name. This form with three

Reply via email to