[Ada] Implement PR ada/101385
Commit Message
For the sake of consistency with -Wall & -w, this makes -Werror imply -gnatwe.
Tested on x86-64/Linux, applied on the mainline.
2021-09-14 Eric Botcazou <ebotcazou@adacore.com>
PR ada/101385
* doc/gnat_ugn/building_executable_programs_with_gnat.rst
(-Wall): Minor fixes.
(-w): Likewise.
(-Werror): Document that it also sets -gnatwe by default.
* gcc-interface/lang-specs.h (ada): Expand -gnatwe if -Werror is
passed and move expansion of -gnatw switches to before -gnatez.
@@ -4157,16 +4157,16 @@ of the pragma in the :title:`GNAT_Reference_manual`).
This switch enables most warnings from the GCC back end.
The code generator detects a number of warning situations that are missed
by the GNAT front end, and this switch can be used to activate them.
- The use of this switch also sets the default front end warning mode to
- :switch:`-gnatwa`, that is, most front end warnings activated as well.
+ The use of this switch also sets the default front-end warning mode to
+ :switch:`-gnatwa`, that is, most front-end warnings are activated as well.
.. index:: -w (gcc)
:switch:`-w`
Conversely, this switch suppresses warnings from the GCC back end.
- The use of this switch also sets the default front end warning mode to
- :switch:`-gnatws`, that is, front end warnings suppressed as well.
+ The use of this switch also sets the default front-end warning mode to
+ :switch:`-gnatws`, that is, front-end warnings are suppressed as well.
.. index:: -Werror (gcc)
@@ -4175,6 +4175,9 @@ of the pragma in the :title:`GNAT_Reference_manual`).
This switch causes warnings from the GCC back end to be treated as
errors. The warning string still appears, but the warning messages are
counted as errors, and prevent the generation of an object file.
+ The use of this switch also sets the default front-end warning mode to
+ :switch:`-gnatwe`, that is, front-end warning messages and style check
+ messages are treated as errors as well.
A string of warning parameters can be used in the same parameter. For example::
@@ -36,7 +36,7 @@
"\
%{pg:%{fomit-frame-pointer:%e-pg and -fomit-frame-pointer are incompatible}}\
%{!S:%{!c:%e-c or -S required for Ada}}\
- gnat1 %{I*} %{k8:-gnatk8} %{Wall:-gnatwa} %{w:-gnatws} %{!Q:-quiet}\
+ gnat1 %{I*} %{k8:-gnatk8} %{!Q:-quiet}\
%{nostdinc*} %{nostdlib*}\
%{fcompare-debug-second:-gnatd_A} \
%{O*} %{W*} %{w} %{p} %{pg:-p} " ADA_DUMPS_OPTIONS " \
@@ -44,8 +44,9 @@
#if defined(TARGET_VXWORKS_RTP)
"%{fRTS=rtp|fRTS=rtp-smp|fRTS=ravenscar-cert-rtp:-mrtp} "
#endif
- "%{gnatea:-gnatez} %{g*&m*&f*} "
- "%1 %{!S:%{o*:%w%*-gnatO}} \
+ "%{Wall:-gnatwa} %{Werror:-gnatwe} %{w:-gnatws} \
+ %{gnatea:-gnatez} %{g*&m*&f*} \
+ %1 %{!S:%{o*:%w%*-gnatO}} \
%i %{S:%W{o*}%{!o*:-o %w%b.s}} \
%{gnatc*|gnats*: -o %j} %{-param*} \
%{!gnatc*:%{!gnats*:%(invoke_as)}}", 0, 0, 0},