https://gcc.gnu.org/g:3dabe6a53ef3ac24956938e2974d1c21a2a5c7ee

commit r16-9-g3dabe6a53ef3ac24956938e2974d1c21a2a5c7ee
Author: Eric Botcazou <ebotca...@gcc.gnu.org>
Date:   Thu Apr 17 20:46:57 2025 +0200

    Document peculiarities of BOOLEAN_TYPE
    
    gcc/
            * tree.def (BOOLEAN_TYPE): Add more details.

Diff:
---
 gcc/tree.def | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/gcc/tree.def b/gcc/tree.def
index c4ad8d08f10c..2c37e449442d 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.

Reply via email to