From: Richard Kenner Date: Mon, 26 Apr 1993 23:01:42 +0000 (-0400) Subject: (INTEGRAL_TYPE_P, FLOAT_TYPE_P): New macros. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=8729113865444cd9afe48970e6f813a982583eb0;p=gcc.git (INTEGRAL_TYPE_P, FLOAT_TYPE_P): New macros. From-SVN: r4240 --- diff --git a/gcc/tree.h b/gcc/tree.h index 44b45f24c18..556dac0ecfb 100644 --- a/gcc/tree.h +++ b/gcc/tree.h @@ -205,6 +205,21 @@ struct tree_common && (TREE_TYPE (EXP) \ == TREE_TYPE (TREE_OPERAND (EXP, 0)))) \ (EXP) = TREE_OPERAND (EXP, 0); + +/* Nonzero if TYPE represents an integral type. Note that we do not + include COMPLEX types here. */ + +#define INTEGRAL_TYPE_P(TYPE) \ + (TREE_CODE (TYPE) == INTEGER_TYPE || TREE_CODE (TYPE) == ENUMERAL_TYPE \ + || TREE_CODE (TYPE) == BOOLEAN_TYPE || TREE_CODE (TYPE) == CHAR_TYPE) + +/* Nonzero if TYPE represents a floating-point type, including complex + floating-point types. */ + +#define FLOAT_TYPE_P(TYPE) \ + (TREE_CODE (TYPE) == REAL_TYPE \ + || (TREE_CODE (TYPE) == COMPLEX_TYPE \ + && TREE_CODE (TREE_TYPE (TYPE)) == REAL_TYPE)) /* Define many boolean fields that all tree nodes have. */