#assert predicate (token-sequence) |
associates the token-sequence with the predicate in the assertion name space (separate from the space used for macro definitions). The predicate must be an identifier token.
#assert predicate |
asserts that predicate exists, but does not associate any token sequence with it.
The compiler provides the following predefined predicates by default (not in -Xc mode):
#assert system (unix) #assert machine (sparc) #assert machine (i386)(x86) #assert cpu (sparc) #assert cpu (i386)(x86) |
lint provides the following predefinition predicate by default (not in -Xc mode):
#assert lint (on) |
Any assertion may be removed by using #unassert, which uses the same syntax as assert. Using #unassert with no argument deletes all assertions on the predicate; specifying an assertion deletes only that assertion.
An assertion may be tested in a #if statement with the following syntax:
#if #predicate(non-empty token-list) |
For example, the predefined predicate system can be tested with the following line:
#if #system(unix) |
which evaluates true.