|
VMS Help CC, /WARNINGS *Conan The Librarian |
/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.
|
|