/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.