VMS Help  —  CC  /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.
Close Help