(INTEGRAL_TYPE_P, FLOAT_TYPE_P): New macros.
authorRichard Kenner <kenner@gcc.gnu.org>
Mon, 26 Apr 1993 23:01:42 +0000 (19:01 -0400)
committerRichard Kenner <kenner@gcc.gnu.org>
Mon, 26 Apr 1993 23:01:42 +0000 (19:01 -0400)
From-SVN: r4240

gcc/tree.h

index 44b45f24c189de91051a1caedc635bbab88ebddd..556dac0ecfb0f667b5d59b90d7221b272778a034 100644 (file)
@@ -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))
 \f
 /* Define many boolean fields that all tree nodes have.  */