[Ada] Use "aspect" instead of "pragma" in warnings

For warnings related to the Unreferenced, Unmodified, and Unused
aspects, refer to the "aspect", not the "pragma". Note that the aspect
can be set by an aspect_specification or a pragma, so the term "aspect"
is correct even in the pragma case.  However, messages in sem_prag.adb
use Fix_Error, so they refer to "aspect" or "pragma". It's not clear
that we really ought to refer to "pragma", now that those are obsolete,
but de call Fix_Error for uniformity. We do not attempt to make
Fix_Error available outside sem_prag.adb -- too much trouble for
something that perhaps ought to be removed.

gcc/ada/

	* lib-xref.adb, sem_util.adb: Change wording of warning messages
	to use "aspect".
	* sem_prag.adb: Use Fix_Error to change wording of warnings.
	* doc/gnat_rm/implementation_defined_pragmas.rst: Minor: fix
	cut&paste error.
	* gnat_rm.texi: Regenerate.
This commit is contained in:
Bob Duff 2022-01-10 10:29:40 -05:00 committed by Pierre-Marie de Rodat
parent 82bd388bf0
commit 320eb42df0
5 changed files with 19 additions and 17 deletions

View file

@ -7313,7 +7313,7 @@ For the variable case, warnings are never given for unreferenced
variables whose name contains one of the substrings
``DISCARD, DUMMY, IGNORE, JUNK, UNUSED`` in any casing. Such names
are typically to be used in cases where such warnings are expected.
Thus it is never necessary to use ``pragma Unmodified`` for such
Thus it is never necessary to use ``pragma Unused`` for such
variables, though it is harmless to do so.
Pragma Validity_Checks

View file

@ -21,7 +21,7 @@
@copying
@quotation
GNAT Reference Manual , Jan 03, 2022
GNAT Reference Manual , Apr 22, 2022
AdaCore
@ -8837,7 +8837,7 @@ For the variable case, warnings are never given for unreferenced
variables whose name contains one of the substrings
@code{DISCARD, DUMMY, IGNORE, JUNK, UNUSED} in any casing. Such names
are typically to be used in cases where such warnings are expected.
Thus it is never necessary to use @code{pragma Unmodified} for such
Thus it is never necessary to use @code{pragma Unused} for such
variables, though it is harmless to do so.
@node Pragma Validity_Checks,Pragma Volatile,Pragma Unused,Implementation Defined Pragmas

View file

@ -936,10 +936,10 @@ package body Lib.Xref is
if Chars (BE) = Chars (E) then
if Has_Pragma_Unused (E) then
Error_Msg_NE -- CODEFIX
("??pragma Unused given for&!", N, BE);
("??aspect Unused specified for&!", N, BE);
else
Error_Msg_NE -- CODEFIX
("??pragma Unreferenced given for&!", N, BE);
("??aspect Unreferenced specified for&!", N, BE);
end if;
exit;
end if;
@ -952,10 +952,10 @@ package body Lib.Xref is
elsif Has_Pragma_Unused (E) then
Error_Msg_NE -- CODEFIX
("??pragma Unused given for&!", N, E);
("??aspect Unused specified for&!", N, E);
else
Error_Msg_NE -- CODEFIX
("??pragma Unreferenced given for&!", N, E);
("??aspect Unreferenced specified for&!", N, E);
end if;
end if;

View file

@ -5168,12 +5168,12 @@ package body Sem_Prag is
elsif Has_Pragma_Unmodified (Arg_Id) then
if Has_Pragma_Unused (Arg_Id) then
Error_Msg_NE
("??pragma Unused already given for &!", Arg_Expr,
Arg_Id);
(Fix_Error ("??pragma Unused already given for &!"),
Arg_Expr, Arg_Id);
else
Error_Msg_NE
("??pragma Unmodified already given for &!", Arg_Expr,
Arg_Id);
(Fix_Error ("??pragma Unmodified already given for &!"),
Arg_Expr, Arg_Id);
end if;
-- Otherwise the pragma referenced an illegal entity
@ -5276,12 +5276,13 @@ package body Sem_Prag is
if Has_Pragma_Unreferenced (Arg_Id) then
if Has_Pragma_Unused (Arg_Id) then
Error_Msg_NE
("??pragma Unused already given for &!", Arg_Expr,
Arg_Id);
(Fix_Error ("??pragma Unused already given for &!"),
Arg_Expr, Arg_Id);
else
Error_Msg_NE
("??pragma Unreferenced already given for &!",
Arg_Expr, Arg_Id);
(Fix_Error
("??pragma Unreferenced already given for &!"),
Arg_Expr, Arg_Id);
end if;
-- Apply Unreferenced to the entity

View file

@ -25698,10 +25698,11 @@ package body Sem_Util is
-- of pragma Unused.
if Has_Pragma_Unused (Ent) then
Error_Msg_NE ("??pragma Unused given for &!", N, Ent);
Error_Msg_NE
("??aspect Unused specified for &!", N, Ent);
else
Error_Msg_NE
("??pragma Unmodified given for &!", N, Ent);
("??aspect Unmodified specified for &!", N, Ent);
end if;
end if;