+{
+ return ((T[0] & T_MASK_TYPE) == T_TYPE_PTR);
+}
+#else
+# define IsTypePtr(T) (((T)[0] & T_MASK_TYPE) == T_TYPE_PTR)
+#endif
+
+#if defined(HAVE_INLINE)
+INLINE int IsTypeStruct (const type* T)
+/* Return true if this is a struct type */
+{
+ return ((T[0] & T_MASK_TYPE) == T_TYPE_STRUCT);
+}
+#else
+# define IsTypeStruct(T) (((T)[0] & T_MASK_TYPE) == T_TYPE_STRUCT)
+#endif
+
+#if defined(HAVE_INLINE)
+INLINE int IsTypeUnion (const type* T)
+/* Return true if this is a union type */
+{
+ return ((T[0] & T_MASK_TYPE) == T_TYPE_UNION);
+}
+#else
+# define IsTypeUnion(T) (((T)[0] & T_MASK_TYPE) == T_TYPE_UNION)
+#endif