Commit 383b707e authored by Ken Raeburn's avatar Ken Raeburn
Browse files

Comment the ENABLE_CHECKING version of the CHECK macro.

parent c9b3d6a5
......@@ -84,6 +84,20 @@ extern void die P_((const char *, const char *, int)) NO_RETURN;
/* The suppress_checking variable is initialized to 0 in alloc.c. Set
it to 1 using a debugger to temporarily disable aborting on
detected internal inconsistencies or error conditions.
Testing suppress_checking after the supplied condition ensures that
the side effects produced by CHECK will be consistent, independent
of whether ENABLE_CHECKING is defined, or whether the checks are
suppressed at run time.
In some cases, a good compiler may be able to optimize away the
CHECK macro altogether, e.g., if XSTRING (x) uses CHECK to test
STRINGP (x), but a particular use of XSTRING is invoked only after
testing that STRINGP (x) is true, making the test redundant. */
#define CHECK(check,msg) (((check) || suppress_checking \
? (void) 0 \
: die ((msg), __FILE__, __LINE__)), \
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment