[multiple changes]

2009-11-30  Robert Dewar  <dewar@adacore.com>

	* gnat_rm.texi: Remove list of warning letters, and refer instead to
	using gnatmake to get a brief list.

	* debug.adb: Document -gnatd.i to disable pragma Warnings
	* par-prag.adb, sem_prag.adb: Recognize -gnatd.i to disable Warnings
	pragma.
	* vms_data.ads: Add /NOWARNINGS_PRAGMS for -gnatd.i
	
2009-11-30  Geert Bosch  <bosch@adacore.com>

	* a-ngelfu.adb (Sin): Correct spelling of sine in comment.

2009-11-30  Vincent Celier  <celier@adacore.com>

	* gnatls.adb: Do not call Get_Target_Parameters in Verbose_Mode, as it
	is not needed and gnatls fails when called with -v -nostdinc.

2009-11-30  Emmanuel Briot  <briot@adacore.com>

	* osint.adb, osint.ads (File_Time_Stamp): new subprogram.

From-SVN: r154807
This commit is contained in:
Arnaud Charlet 2009-11-30 15:15:51 +01:00
parent 509f7fdc0e
commit cca5ded093
10 changed files with 73 additions and 78 deletions

View File

@ -1,3 +1,26 @@
2009-11-30 Robert Dewar <dewar@adacore.com>
* gnat_rm.texi: Remove list of warning letters, and refer instead to
using gnatmake to get a brief list.
* debug.adb: Document -gnatd.i to disable pragma Warnings
* par-prag.adb, sem_prag.adb: Recognize -gnatd.i to disable Warnings
pragma.
* vms_data.ads: Add /NOWARNINGS_PRAGMS for -gnatd.i
2009-11-30 Geert Bosch <bosch@adacore.com>
* a-ngelfu.adb (Sin): Correct spelling of sine in comment.
2009-11-30 Vincent Celier <celier@adacore.com>
* gnatls.adb: Do not call Get_Target_Parameters in Verbose_Mode, as it
is not needed and gnatls fails when called with -v -nostdinc.
2009-11-30 Emmanuel Briot <briot@adacore.com>
* osint.adb, osint.ads (File_Time_Stamp): new subprogram.
2009-11-30 Ed Schonberg <schonberg@adacore.com>
* gnat_rm.texi, gnat_ugn.texi: Document new syntax for pragma Annotate

View File

@ -807,7 +807,7 @@ package body Ada.Numerics.Generic_Elementary_Functions is
-- The following two reductions reduce the argument to the interval
-- [-0.25 * Cycle, 0.25 * Cycle]. This reduction is exact and is needed
-- to prevent inaccuracy that may result if the sinus function uses a
-- to prevent inaccuracy that may result if the sine function uses a
-- different (more accurate) value of Pi in its reduction than is used
-- in the multiplication with Two_Pi.

View File

@ -99,7 +99,7 @@ package body Debug is
-- d.f Inhibit folding of static expressions
-- d.g Enable conversion of raise into goto
-- d.h
-- d.i
-- d.i Ignore Warnings pragmas
-- d.j
-- d.k
-- d.l Use Ada 95 semantics for limited function returns
@ -513,6 +513,10 @@ package body Debug is
-- this if this debug flag is set. Later we will enable this more
-- generally by default.
-- d.i Ignore all occurrences of pragma Warnings in the sources. This can
-- be used in particular to disable Warnings (Off) to check if any of
-- these statements are inappropriate.
-- d.l Use Ada 95 semantics for limited function returns. This may be
-- used to work around the incompatibility introduced by AI-318-2.
-- It is useful only in -gnat05 mode.

View File

@ -5197,80 +5197,12 @@ The form with a single static_string_EXPRESSION argument provides more precise
control over which warnings are active. The string is a list of letters
specifying which warnings are to be activated and which deactivated. The
code for these letters is the same as the string used in the command
line switch controlling warnings. The following is a brief summary. For
line switch controlling warnings. For a brief summary, use the gnatmake
command with no arguments, which will generate usage information containing
the list of warnings switches supported. For
full details see @ref{Warning Message Control,,, gnat_ugn, @value{EDITION}
User's Guide}.
@smallexample
a turn on all optional warnings (except d h l .o)
A turn off all optional warnings
.a* turn on warnings for failing assertions
.A turn off warnings for failing assertions
b turn on warnings for bad fixed value (not multiple of small)
B* turn off warnings for bad fixed value (not multiple of small)
.b* turn on warnings for biased representation
.B turn off warnings for biased representation
c turn on warnings for constant conditional
C* turn off warnings for constant conditional
.c turn on warnings for unrepped components
.C* turn off warnings for unrepped components
d turn on warnings for implicit dereference
D* turn off warnings for implicit dereference
e treat all warnings as errors
.e turn on every optional warning
f turn on warnings for unreferenced formal
F* turn off warnings for unreferenced formal
g* turn on warnings for unrecognized pragma
G turn off warnings for unrecognized pragma
h turn on warnings for hiding variable
H* turn off warnings for hiding variable
i* turn on warnings for implementation unit
I turn off warnings for implementation unit
j turn on warnings for obsolescent (annex J) feature
J* turn off warnings for obsolescent (annex J) feature
k turn on warnings on constant variable
K* turn off warnings on constant variable
l turn on warnings for missing elaboration pragma
L* turn off warnings for missing elaboration pragma
m turn on warnings for variable assigned but not read
M* turn off warnings for variable assigned but not read
n* normal warning mode (cancels -gnatws/-gnatwe)
o* turn on warnings for address clause overlay
O turn off warnings for address clause overlay
.o turn on warnings for out parameters assigned but not read
.O* turn off warnings for out parameters assigned but not read
p turn on warnings for ineffective pragma Inline in frontend
P* turn off warnings for ineffective pragma Inline in frontend
.p turn on warnings for parameter ordering
.P* turn off warnings for parameter ordering
q* turn on warnings for questionable missing parentheses
Q turn off warnings for questionable missing parentheses
r turn on warnings for redundant construct
R* turn off warnings for redundant construct
.r turn on warnings for object renaming function
.R* turn off warnings for object renaming function
s suppress all warnings
t turn on warnings for tracking deleted code
T* turn off warnings for tracking deleted code
u turn on warnings for unused entity
U* turn off warnings for unused entity
v* turn on warnings for unassigned variable
V turn off warnings for unassigned variable
w* turn on warnings for wrong low bound assumption
W turn off warnings for wrong low bound assumption
.w turn on warnings for unnecessary Warnings Off pragmas
.W* turn off warnings for unnecessary Warnings Off pragmas
x* turn on warnings for export/import
X turn off warnings for export/import
.x turn on warnings for non-local exceptions
.X* turn off warnings for non-local exceptions
y* turn on warnings for Ada 2005 incompatibility
Y turn off warnings for Ada 2005 incompatibility
z* turn on convention/size/align warnings for unchecked conversion
Z turn off convention/size/align warnings for unchecked conversion
* indicates default in above list
@end smallexample
@noindent
The specified warnings will be in effect until the end of the program
or another pragma Warnings is encountered. The effect of the pragma is
@ -5308,6 +5240,11 @@ pragma Warnings (On, Pattern);
In this usage, the pattern string must match in the Off and On pragmas,
and at least one matching warning must be suppressed.
Note: the debug flag -gnatd.i (@code{/NOWARNINGS_PRAGMAS} in VMS) can be
used to cause the compiler to entirely ignore all WARNINGS pragmas. This can
be useful in checking whether obsolete pragmas in existing programs are hiding
real problems.
@node Pragma Weak_External
@unnumberedsec Pragma Weak_External
@findex Weak_External

View File

@ -40,7 +40,6 @@ with Rident; use Rident;
with Sdefault;
with Snames;
with Switch; use Switch;
with Targparm; use Targparm;
with Types; use Types;
with GNAT.Case_Util; use GNAT.Case_Util;
@ -1574,8 +1573,6 @@ begin
Osint.Add_Default_Search_Dirs;
if Verbose_Mode then
Targparm.Get_Target_Parameters;
Write_Eol;
Display_Version ("GNATLS", "1997");
Write_Eol;

View File

@ -1079,6 +1079,20 @@ package body Osint is
return Internal (Name, Attr.all'Address);
end File_Time_Stamp;
function File_Time_Stamp
(Name : Path_Name_Type;
Attr : access File_Attributes) return Time_Stamp_Type is
begin
if Name = No_Path then
return Empty_Time_Stamp;
end if;
Get_Name_String (Name);
Name_Buffer (Name_Len + 1) := ASCII.NUL;
return OS_Time_To_GNAT_Time
(File_Time_Stamp (Name_Buffer'Address, Attr));
end File_Time_Stamp;
----------------
-- File_Stamp --
----------------

View File

@ -273,6 +273,9 @@ package Osint is
function File_Time_Stamp
(Name : C_File_Name;
Attr : access File_Attributes) return OS_Time;
function File_Time_Stamp
(Name : Path_Name_Type;
Attr : access File_Attributes) return Time_Stamp_Type;
-- Return the time stamp of the file
function Is_Readable_File

View File

@ -974,10 +974,11 @@ begin
-- The one argument ON/OFF case is processed by the parser, since it may
-- control parser warnings as well as semantic warnings, and in any case
-- we want to be absolutely sure that the range in the warnings table is
-- set well before any semantic analysis is performed.
-- set well before any semantic analysis is performed. Note that we
-- ignore this pragma if debug flag -gnatd.i is set.
when Pragma_Warnings =>
if Arg_Count = 1 then
if Arg_Count = 1 and then not Debug_Flag_Dot_I then
Check_No_Identifier (Arg1);
declare

View File

@ -12006,6 +12006,14 @@ package body Sem_Prag is
Check_At_Least_N_Arguments (1);
Check_No_Identifiers;
-- If debug flag -gnatd.i is set, pragma is ignored
if Debug_Flag_Dot_I then
return;
end if;
-- Process various forms of the pragma
declare
Argx : constant Node_Id := Get_Pragma_Arg (Arg1);

View File

@ -1933,6 +1933,13 @@ package VMS_Data is
--
-- Do not look for library files in the system default directory.
S_GCC_NoWarnP : aliased constant S := "/NOWARNING_PRAGMAS " &
"-gnatd.i";
-- /NOWARNING_PRAGMAS
--
-- Causes all Warnings pragmas to be ignored. Useful to check if the
-- program has obsolete warnings pragmas that are hiding problems.
S_GCC_Opt : aliased constant S := "/OPTIMIZE=" &
"ALL " &
"-O2,!-O0,!-O1,!-O3 " &
@ -3473,6 +3480,7 @@ package VMS_Data is
S_GCC_Noload 'Access,
S_GCC_Nostinc 'Access,
S_GCC_Nostlib 'Access,
S_GCC_NoWarnP 'Access,
S_GCC_Opt 'Access,
S_GCC_OptX 'Access,
S_GCC_Pointer 'Access,