...
DCL37-EX1: It is permissible to use reserved words identifiers in declarations when the risk of clashing with a preexisting variable is greater than the risk of clashing with a reserved wordidentifier. In particular, the scope must be used in a macro that may be invoked with arbitrary preexisting variables (possibly as arguments). The following code demonstrates a SWAP_UNSAFE()
macro that exchanges two values, and uses a __tmp
variable as a temporary value. This code is permitted because the temporary variable is more likely to clash with a nonreserved variable in the current scope than with a reserved wordidentifier. This code should be considered nonportable because it requires the current platform to allow the use of __tmp
.
...