__builtin_constant_p —
GNU extension to determine compile time constants
int
__builtin_constant_p(value);
The __builtin_constant_p() is a GNU extension for
  determining whether a value is known to be constant at compile time. The
  function is closely related to the concept of “constant folding”
  used by modern optimizing compilers.
If the value is known to be a compile-time
    constant, a value 1 is returned. If
    __builtin_constant_p() returns 0, the
    value is not a compile-time constant in the sense that
    gcc(1) was unable to determine
    whether the value is constant or not.
A typical example of the use of __builtin_constant_p()
  involves a situation where it may be desirable to fold the computation if it
  involves a constant, but a function call is needed otherwise. For instance,
  bswap16(3) is defined in
  NetBSD as:
#define bswap16(x) \
        (__builtin_constant_p((x)) ? \
         __byte_swap_u16_constant(x) : __BYTE_SWAP_U16_VARIABLE(x))
 
This is a non-standard, compiler-specific extension.