From 9b270cce9339106ca876bf4369156ef5d2bb5588 Mon Sep 17 00:00:00 2001 From: Kazu Hirata Date: Wed, 22 Sep 2004 19:43:04 +0000 Subject: [PATCH] c-tree.texi (TRUTH_NOT_EXPR, [...]): Mention the restriction on types. * doc/c-tree.texi (TRUTH_NOT_EXPR, TRUTH_ANDIF_EXPR, TRUTH_ORIF_EXPR, TRUTH_AND_EXPR, TRUTH_OR_EXPR, TRUTH_XOR_EXPR): Mention the restriction on types. From-SVN: r87881 --- gcc/ChangeLog | 6 ++++++ gcc/doc/c-tree.texi | 11 +++++++---- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 87ae4623d37..203a65bb44f 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2004-09-22 Kazu Hirata + + * doc/c-tree.texi (TRUTH_NOT_EXPR, TRUTH_ANDIF_EXPR, + TRUTH_ORIF_EXPR, TRUTH_AND_EXPR, TRUTH_OR_EXPR, + TRUTH_XOR_EXPR): Mention the restriction on types. + 2004-09-22 Matt Austern * config/darwin.c (darwin_make_decl_one_only) diff --git a/gcc/doc/c-tree.texi b/gcc/doc/c-tree.texi index 3a9a7bcfc99..653eb09874e 100644 --- a/gcc/doc/c-tree.texi +++ b/gcc/doc/c-tree.texi @@ -1908,7 +1908,9 @@ type. The only operand is the value to be complemented. @item TRUTH_NOT_EXPR These nodes represent logical negation, and will always have integral -(or boolean) type. The operand is the value being negated. +(or boolean) type. The operand is the value being negated. The type +of the operand and that of the result are always of @code{BOOLEAN_TYPE} +or @code{INTEGER_TYPE}. @item PREDECREMENT_EXPR @itemx PREINCREMENT_EXPR @@ -2024,8 +2026,8 @@ type. These nodes represent logical and and logical or, respectively. These operators are not strict; i.e., the second operand is evaluated only if the value of the expression is not determined by evaluation of the first -operand. The type of the operands, and the result type, is always of -boolean or integral type. +operand. The type of the operands and that of the result are always of +@code{BOOLEAN_TYPE} or @code{INTEGER_TYPE}. @item TRUTH_AND_EXPR @itemx TRUTH_OR_EXPR @@ -2034,7 +2036,8 @@ These nodes represent logical and, logical or, and logical exclusive or. They are strict; both arguments are always evaluated. There are no corresponding operators in C or C++, but the front end will sometimes generate these expressions anyhow, if it can tell that strictness does -not matter. +not matter. The type of the operands and that of the result are +always of @code{BOOLEAN_TYPE} or @code{INTEGER_TYPE}. @itemx PLUS_EXPR @itemx MINUS_EXPR -- 2.30.2