P99

◆ P99_GENERIC_INTEGRAL_CONSTANT

#define P99_GENERIC_INTEGRAL_CONSTANT (   EXP,
  TRUE,
  FALSE 
)
Value:
P99_GENERIC((EXP), \
P99_GENERIC_NULLPTR_CONSTANT((void*)(ptrdiff_t)((EXP)-(EXP)), TRUE, FALSE), \
/* avoid to test with arithmetic for void* expressions */ \
(void*, FALSE), \
(void const*, FALSE), \
(void volatile*, FALSE), \
(void const volatile*, FALSE) \
)
Remarks
argument 0 maybe evaluated several times for its type but only once for its value
argument 2 maybe evaluated several times for its type but only once for its value

Definition at line 1744 of file p99_generic.h.

P99_GENERIC
#define P99_GENERIC(...)
Type generic expression in anticipation of C11 _Generic.
Definition: p99_generic.h:707
ptrdiff_t
ptrdiff_t
Definition: p99_str.h:101
P99_GENERIC_NULLPTR_CONSTANT
#define P99_GENERIC_NULLPTR_CONSTANT(PEXP, TRUE, FALSE)
Definition: p99_generic.h:1707