P99

◆ P99_CA_CALL

#define P99_CA_CALL (   NAME,
  ACHECKS,
  PCHECKS,
  ... 
)
Value:
P00_CA_MANGLE(NAME, ACHECKS, PCHECKS) \
( \
__FILE__ ":" P99_STRINGIFY(__LINE__) ": " \
P99_STRINGIFY(NAME) "(" #__VA_ARGS__ ")", \
P99_IF_EMPTY ACHECKS()(P00_CA_SIZEOFS((__VA_ARGS__), P99_NARG ACHECKS, P00_ROBUST ACHECKS),) \
P99_IF_EMPTY PCHECKS()(P00_CA_PSIZEOFS((__VA_ARGS__), P99_NARG PCHECKS, P00_ROBUST PCHECKS),) \
__VA_ARGS__ \
)
Remarks
argument 1 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
argument 3 maybe evaluated several times for its type but only once for its value
argument 4 maybe evaluated several times for its type but only once for its value
argument 5 maybe evaluated several times for its type but only once for its value

Definition at line 206 of file p99_checkargs.h.

P99_STRINGIFY
#define P99_STRINGIFY(...)
Transform the argument list into one string.
Definition: p99_compiler.h:109
P99_NARG
#define P99_NARG(...)
Return the length of the variable length argument list, where an empty argument list is considered to...
Definition: p99_args.h:117
P99_IF_EMPTY
#define P99_IF_EMPTY(...)
Definition: p99_if.h:153