From 3fdd06e1ec6e3fd364b2958f4fefe9eb3b09d1ad Mon Sep 17 00:00:00 2001 From: Vincent Celier Date: Wed, 28 May 2008 17:55:41 +0200 Subject: [PATCH] re PR ada/34446 (gnatprep evaluating "not" operator at incorrect precidence) 2008-05-28 Vincent Celier PR ada/34446 * gnat_ugn.texi: Document restriction introduced on 2007-04-20 in preprocessing expressions From-SVN: r136111 --- gcc/ada/gnat_ugn.texi | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/gcc/ada/gnat_ugn.texi b/gcc/ada/gnat_ugn.texi index 4f96a2d..d40d0e8 100644 --- a/gcc/ada/gnat_ugn.texi +++ b/gcc/ada/gnat_ugn.texi @@ -17837,6 +17837,21 @@ In this example, @i{expression} is defined by the following grammar: @i{expression} ::= ( @i{expression} ) @end smallexample +The following restriction exists: it is not allowed to have "and" or "or" +following "not" in the same expression without parentheses. For example, this +is not allowed: + +@smallexample + not X or Y +@end smallexample + +This should be one of the following: + +@smallexample + (not X) or Y + not (X or Y) +@end smallexample + @noindent For the first test (@i{expression} ::= ) the symbol must have either the value true or false, that is to say the right-hand of the -- 2.7.4