> I'd reword this to
>
> "Similarly, TYPE_UNSIGNED is false for components of vector masks and
> possibly for boolean types in languages other than C."
>
> That is, the C/middle-end boolean_type_node is always unsigned.
OK, thanks, I have installed the attached patch.
--
Eric Botcazou
diff --git a/gcc/tree.def b/gcc/tree.def
index c4ad8d08f10..2c37e449442 100644
--- a/gcc/tree.def
+++ b/gcc/tree.def
@@ -135,7 +135,11 @@ DEFTREECODE (OFFSET_TYPE, "offset_type", tcc_type, 0)
DEFTREECODE (ENUMERAL_TYPE, "enumeral_type", tcc_type, 0)
/* Boolean type (true or false are the only values). Looks like an
- INTEGRAL_TYPE. */
+ INTEGER_TYPE, but must be dealt with specially because TYPE_PRECISION
+ may be arbitrary despite the restricted set of valid values (in other
+ words, boolean types with TYPE_PRECISION > 1 exist in some languages).
+ Similarly, TYPE_UNSIGNED may be false for components of vector masks,
+ as well as for boolean types in languages other than C. */
DEFTREECODE (BOOLEAN_TYPE, "boolean_type", tcc_type, 0)
/* Integer types in all languages, including char in C.