13.5.1 Integer Type Determination

TYPE_IS_INTEGER (t) expands to a constant
expression that is 1 if the arithmetic type t is an integer type.
_Bool counts as an integer type.

TYPE_SIGNED (t) expands to a constant expression
that is 1 if the arithmetic type t is a signed integer type or a
floating type. If t is an integer type, TYPE_SIGNED (t)
expands to an integer constant expression.