Copyright Digital Equipment Corp. All rights reserved.

/WARNINGS

    /WARNINGS[=(option[,...])]
    /WARNINGS (D)
    /NOWARNINGS

 Controls the issuance of compiler diagnostic messages, or groups of
 messages.  The default qualifier, /WARNINGS, enables all warning
 and informational messages for the compiler mode you are using.
 The /NOWARNINGS qualifier suppresses the informational and warning
 messages.  Also see the #pragma message preprocessor directive.

 The options are:

 DISABLE=msg-list          Suppresses the issuance of the indicated
                           messages.

                           Only messages of severity Warning (W) or
                           Information (I) can be disabled.  If the
                           message has severity of Error (E) or
                           Fatal (F), it is issued regardless of any
                           attempt to disable it.

 ENABLE=msg-list           Enables the issuance of the indicated
                           messages.

 NOINFORMATIONALS          Suppresses informational messages.

 EMIT_ONCE=msg-list        Emits the specified messages only once
                           per compilation.  Errors and Fatals are
                           always emitted.  You cannot set them to
                           EMIT_ONCE.

 EMIT_ALWAYS=msg-list      Emits the specified messages at every
                           occurrence of the condition.

 ERRORS=msg-list           Sets the severity of each message in the
                           message-list to Error.

                           Note that supplied Error messages and
                           Fatal messages cannot be made less
                           severe.  (Exception:  A message can be
                           upgraded from Error to Fatal, then later
                           downgraded to Error again, but it can
                           never be downgraded from Error.)

                           Warnings and Informationals can be made
                           any severity.

 FATALS=msg-list           Sets the severity of each message on the
                           message-list to Fatal.

 INFORMATIONALS=msg-list   Sets the severity of each message in the
                           message-list to Informational.  Note that
                           Fatal and Error messages cannot be made
                           less severe.

 WARNINGS=msg-list         Sets the severity of each message in the
                           message-list to Warning.  Note that Fatal
                           and Error messages cannot be made less
                           severe.

 VERBOSE                   Displays the full message information for
                           every compiler message encountered.  This
                           information includes the message
                           description and user action, as well as
                           the identifier, severity, and message
                           text.

                           When /WARNINGS=VERBOSE is used with
                           /LIST/SHOW=MESSAGES, a list of all
                           messages in effect at compilation are
                           added to the listing file, showing the
                           full information for each message.

 The msg-list can be any one of the following:

  o  A single message identifier (within parentheses, or not).  The
     message identifier is the name following the severity at the
     start of a line when a message is issued.  For example, in the
     following message, the message identifier is GLOBALEXT:

               %CC-W-GLOBALEXT, a storage class of globaldef,
               globalref, or globalvalue is a language extension.

  o  A single message-group name (within parentheses, or not).
     Message-group names are:

          ALL             All the messages in the compiler

          ALIGNMENT       Messages about unusual or inefficient data
                          alignment.

          C_TO_CXX        Messages reporting the use of C features
                          that would be invalid or have a different
                          meaning if compiled by a C++ compiler.

          CDD             Messages about CDD (Common Data
                          Dictionary) support.

          CHECK           Messages reporting code or practices that,
                          although correct and perhaps portable, are
                          sometimes considered ill-advised because
                          they can be confusing or fragile to
                          maintain.  For example, assignment as the
                          test expression in an "if" statement.

                          NOTE:  The check group gets defined by
                          enabling LEVEL5 messages.

          DEFUNCT         Messages reporting the use of obsolete
                          features:  ones that were commonly
                          accepted by early C compilers but were
                          subsequently removed from the language.

          NEWC99          Messages reporting the use of the new C99
                          Standard features.

          NOANSI          This is a deprecated message group.  It is
                          an obsolete synonym for NOC89.  Also see
                          message groups NEWC99, NOC89, NOC99.

          NOC89           Messages reporting the use of non-C89
                          Standard features.

          NOC99           Messages reporting the use of non-C99
                          Standard features.

          OBSOLESCENT     Messages reporting the use of features
                          that are valid in ANSI Standard C, but
                          which were identified in the standard as
                          being obsolescent and likely to be removed
                          from the language in a future version of
                          the standard.

          OVERFLOW        Messages that report assignments and/or
                          casts that can cause overflow or other
                          loss of data significance.

          PERFORMANCE     Messages reporting code that might result
                          in poor run-time performance.

          PORTABLE        Messages reporting the use of language
                          extensions or other constructs that might
                          not be portable to other compilers or
                          platforms.

          PREPROCESSOR    Messages reporting questionable or
                          non-portable use of preprocessing
                          constructs.

          QUESTCODE       Messages reporting questionable coding
                          practices.  Similar to the CHECK group,
                          but messages in this group are more likely
                          to indicate a programming error rather
                          than just a non-robust style.

                          Enabling the QUESTCODE group provides
                          lint-like checking.

          RETURNCHECKS    Messages related to function return
                          values.

          UNINIT          Messages related to using uninitialized
                          variables.

          UNUSED          Messages reporting expressions,
                          declarations, header files, CDD records,
                          static functions, and code paths that are
                          not used.

  o  A single message-level name (within parentheses, or not).

     Note:  There is a core of very important compiler messages that
     are enabled by default, regardless of what you specify with
     /WARNINGS or #pragma message.  Referred to as message level 0,
     it includes all messages issued in header files, and comprises
     what is known as the nostandard group.  All other message
     levels add additional messages to this core of enabled
     messages.

     You cannot modify level 0 (You cannot disable it, enable it,
     change its severity, or change its EMIT_ONCE characteristic).
     However, you can modify individual messages in level 0,
     provided such modification is allowed by the action.  For
     example, you can disable a warning or informational in level 0,
     or you can change an error in level 0 to a fatal, and so on.
     (See above restrictions on modifying individual messages.)

     Message-level names are:

          LEVEL1          Important messages.  These are less
                          important than the level 0 core messages,
                          because messages in this group are not
                          displayed if #pragma nostandard is active.

          LEVEL2          Moderately important messages.

          LEVEL3          Less important messages.  LEVEL3 is the
                          default message level.

          LEVEL4          Useful check/portable messages.

          LEVEL5          Not so useful check/portable messages.

          LEVEL6          Additional "noisy" messages.

       Enabling a level also enables all the messages in the levels
       below it.  So enabling LEVEL3 messages also enables messages
       in LEVEL2 and LEVEL1.

       Disabling a level also disables all the messages in the
       levels above it.  So disabling LEVEL4 messages also disables
       messages in LEVEL5 and LEVEL6.

  o  A comma-separated list of message identifiers, group names, and
     messages levels, freely mixed, enclosed in parentheses.

 The default is /WARNINGS.  This enables all diagnostic messages for
 the selected compiler mode.

 Notes:

  o  If a message is on both the enabled and disabled list, it is
     disabled.

  o  If a message is on both the EMIT_ONCE and the EMIT_ALWAYS list,
     it is considered to be on the EMIT_ONCE list.

  o  If a message is on more than one of the FATALS, ERRORS,
     WARNINGS, or INFORMATIONALS lists, the message is given the
     least severe level.

  o  The NOINFORMATIONALS option is not the negation of
     INFORMATIONALS=msg-list.  It is valid to say:

     /WARN=(INFORMATIONALS=message_list,NOINFORMATIONALS)

     This has the effect of making the messages on the message_list
     informationals, and causing the compiler to suppress any
     informational messages.