Remove extra paren check from list of checks for redundant constructs
Add documentation of new -gnatyx style check (check extra parens)
Remove paragraph about gnatelim debug options.
* gnat_rm.texi: Document that Ada.Streams now forbids creating stream
objects rather than forbidding dependencies on the package Ada.Streams.
* sinfo.ads: Add ??? note that we should document pragmas passed to
back end.
* g-expect.ads: Fix a few typos in the comments.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@90915
138bc75d-0d04-0410-961f-
82ee72b054a4
-- --
-- S p e c --
-- --
--- Copyright (C) 2000-2003 Ada Core Technologies, Inc. --
+-- Copyright (C) 2000-2004 Ada Core Technologies, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
-- Non_Blocking_Spawn
-- (Fd, "ftp",
--- (1 => new String' ("machine@domaine")));
+-- (1 => new String' ("machine@domain")));
-- Timeout := 10000; -- 10 seconds
-- Expect (Fd, Result, Regexp_Array'(+"\(user\)", +"\(passwd\)"),
-- Timeout);
-- name of the language by doing:
-- declare
--- Matched : Regexp_Array (0 .. 2);
+-- Matched : Match_Array (0 .. 2);
-- begin
-- Expect (Fd, Result, "lang=(optional)? ([a-z]+)", Matched);
-- Put_Line ("Seen: " &
function "+" (S : String) return GNAT.OS_Lib.String_Access;
-- Allocate some memory for the string. This is merely a convenience
- -- convenience function to help create the array of regexps in the
- -- call to Expect.
+ -- function to help create the array of regexps in the call to Expect.
procedure Expect
(Descriptor : in out Process_Descriptor;
@item No_Streams
@findex No_Streams
-This restriction ensures at compile time that there are no implicit or
-explicit dependencies on the package @code{Ada.Streams}.
+This restriction ensures at compile/bind time that there are no
+stream objects created (and therefore no actual stream operations).
+This restriction does not forbid dependences on the package
+@code{Ada.Streams}. So it is permissible to with
+@code{Ada.Streams} (or another package that does so itself)
+as long as no actual stream objects are created.
@item No_Task_Attributes_Package
@findex No_Task_Attributes_Package
@end group
@end smallexample
-@noindent
+@noindent
Such an object is said to be @emph{unconstrained}.
The discriminant of the object
can be modified by a full assignment to the object, as long as it preserves the
Use of the operator abs on an operand that is known at compile time
to be non-negative
@item
-Use of an unnecessary extra level of parentheses (C-style) around conditions
-in @code{if} statements, @code{while} statements and @code{exit} statements.
-@item
Comparison of boolean expressions to an explicit True value.
@end itemize
A vertical bar must be surrounded by spaces.
@end itemize
+@item ^x^XTRA_PARENS^
+@emph{Check extra parentheses.}
+Check for the use of an unnecessary extra level of parentheses (C-style)
+around conditions in @code{if} statements, @code{while} statements and
+@code{exit} statements.
+
+@end table
+
@noindent
In the above rules, appearing in column one is always permitted, that is,
counts as meeting either a requirement for a required preceding space,
as meeting either a requirement for a following space, or as meeting
a requirement for no following space.
-@end table
-
@noindent
If any of these style rules is violated, a message is generated giving
details on the violation. The initial characters of such messages are
@cindex @option{^--GNATMAKE^/GNATMAKE^} (@command{gnatelim})
Instructs @code{gnatelim} to use specific @code{gnatmake} instead of one
available on the path.
-
-@item -d@var{x}
-@cindex @option{-d@var{x}} (@command{gnatelim})
-Activate internal debugging switches. @var{x} is a letter or digit, or
-string of letters or digits, which specifies the type of debugging
-mode desired. Normally these are used only for internal development
-or system debugging purposes. You can find full documentation for these
-switches in the spec of the @code{Gnatelim} unit in the compiler
-source file @file{gnatelim.ads}.
@end table
@noindent
-- Debug_Statement (Node3) (set to Empty if not Debug, Assert)
-- Next_Rep_Item (Node4-Sem)
+ -- Note: we should have a section on what pragmas are passed on to
+ -- the back end to be processed. This section should note that pragma
+ -- Psect_Object is always converted to Common_Object, but there are
+ -- undoubtedly many other similar notes required ???
+
--------------------------------------
-- 2.8 Pragma Argument Association --
--------------------------------------