VMS Help  —  CRTL  Feature-Test Macros, Using Legacy toupper and tolower Behavior (Integrity servers, Alpha)
    As of OpenVMS Version 8.3, to comply with the C99 ANSI standard
    and X/Open Specification, the _tolower and _toupper macros by
    default do not evaluate their parameter more than once. They
    simply call their respective tolower or toupper function. This
    avoids side effects (such as i++ or function calls) where the
    user can tell how many times an expression is evaluated.

    To retain the older, optimized behavior of the _tolower and _
    toupper macros, compile with /DEFINE=_FAST_TOUPPER. Then, as
    in previous releases, these macros optimize the call to avoid
    the overhead of a runtime call. However, the macro's parameter
    is evaluated more than once to determine how to calculate the
    result, possibly creating unwanted side effects.
Close Help