VMS Help  —  CC  Language topics, Predefined Macros,  HIDE FORBIDDEN NAMES
  The ANSI C standard specifies exactly what identifiers in the
  normal name space are declared by the standard header files.  A
  compiler is not free to declare additional identifiers in a header
  file unless the identifiers follow defined rules (the identifier
  must begin with an underscore followed by an uppercase letter or
  another underscore).

  When you compile with VSI C using any values of /STANDARD that set
  strict C standard conformance (ANSI89, MIA, C99, and LATEST),
  versions of the standard header files are included that hide many
  identifiers that do not follow the rules.  The header file
  <stdio.h>, for example, hides the definition of the macro TRUE.
  The compiler accomplishes this by predefining the macro
  __HIDE_FORBIDDEN_NAMES for the above-mentioned /STANDARD values.

  You can use the command line qualifier
  /UNDEFINE="__HIDE_FORBIDDEN_NAMES" to prevent the compiler from
  predefining this macro, thus including macro definitions of the
  forbidden names.

  The header files are modified to only define additional VAX C names
  if __HIDE_FORBIDDEN_NAMES is undefined.  For example, <stdio.h>
  might contain the following:

          #ifndef __HIDE_FORBIDDEN_NAMES
          #define TRUE    1
          #endif
Close Help