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.