VMS Help
CC, Language topics, Predefined Macros, HIDE FORBIDDEN NAMES

 *Conan The Librarian (sorry for the slow response - running on an old VAX)

  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 running the Compaq C compiler in strict ANSI C mode
  (/STANDARD=ANSI89), 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 in strict ANSI mode.

  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     HLB-list     TLB-list     Help  

[legal] [privacy] [GNU] [policy] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.