@c formatted for inclusion in the CPP manual; otherwise the main GCC manual.
@opindex Wcomment
+@opindex Wno-comment
@opindex Wcomments
+@opindex Wno-comments
@item -Wcomment
@itemx -Wcomments
Warn whenever a comment-start sequence @samp{/*} appears in a @samp{/*}
This warning is enabled by @option{-Wall}.
@opindex Wtrigraphs
+@opindex Wno-trigraphs
@item -Wtrigraphs
@anchor{Wtrigraphs}
Warn if any trigraphs are encountered that might change the meaning of
Such identifiers are replaced with zero.
@opindex Wexpansion-to-defined
+@opindex Wno-expansion-to-defined
@item -Wexpansion-to-defined
Warn whenever @samp{defined} is encountered in the expansion of a macro
(including the case where the macro is expanded by an @samp{#if} directive).
This warning is also enabled by @option{-Wpedantic} and @option{-Wextra}.
@opindex Wunused-macros
+@opindex Wno-unused-macros
@item -Wunused-macros
Warn about macros defined in the main file that are unused. A macro
is @dfn{used} if it is expanded or tested for existence at least once.
@table @gcctabopt
@opindex Wabi-tag
+@opindex Wno-abi-tag
@item -Wabi-tag @r{(C++ and Objective-C++ only)}
Warn when a type with an ABI tag is used in a context that does not
have that ABI tag. See @ref{C++ Attributes} for more information
and no warning is issued for them.
@opindex Wobjc-root-class
+@opindex Wno-objc-root-class
@item -Wobjc-root-class @r{(Objective-C and Objective-C++ only)}
Warn if a class interface lacks a superclass. Most classes will inherit
from @code{NSObject} (or @code{Object}) for example. When declaring
Warn when a literal @samp{0} is used as null pointer constant.
@opindex Wzero-length-bounds
-@opindex Wzero-length-bounds
+@opindex Wno-zero-length-bounds
@item -Wzero-length-bounds
Warn about accesses to elements of zero-length array members that might
overlap other members of the same object. Declaring interior zero-length
Objective-C method.
@opindex Wshadow=global
+@opindex Wno-shadow=global
@item -Wshadow=global
Warn for any shadowing.
Same as @option{-Wshadow}.
@opindex Wshadow=local
+@opindex Wno-shadow=local
@item -Wshadow=local
Warn when a local variable shadows another local variable or parameter.
@opindex Wshadow=compatible-local
+@opindex Wno-shadow=compatible-local
@item -Wshadow=compatible-local
Warn when a local variable shadows another local variable or parameter
whose type is compatible with that of the shadowing variable. In C++,
two- or four-byte boundaries.
@opindex Wcast-align=strict
-@item -Wcast-align=strict
+@opindex Wno-cast-align=strict
Warn whenever a pointer is cast such that the required alignment of the
target is increased. For example, warn if a @code{char *} is cast to
an @code{int *} regardless of the target machine.
produced by @option{-gctf} or @option{-gsctf} for unsupported languages.
@opindex Wcompare-distinct-pointer-types
+@opindex Wno-compare-distinct-pointer-types
@item -Wcompare-distinct-pointer-types @r{(C and Objective-C only)}
Warn if pointers of distinct types are compared without a cast. This
warning is enabled by default.
@option{-pedantic-errors}.
@opindex Wheader-guard
+@opindex Wno-header-guard
@item -Wheader-guard
Warn if a valid preprocessor header multiple inclusion guard has
a @code{#define} directive right after @code{#ifndef} or @code{#if !defined}
warnings produced by @option{-Winline} to appear or disappear.
@opindex Winterference-size
+@opindex Wno-interference-size
@item -Winterference-size
Warn about use of C++17 @code{std::hardware_destructive_interference_size}
without specifying its value with @option{--param destructive-interference-size}.