--all-warnings alias for -Wall
--extra-warnings alias for -Wextra
-W alias for -Wextra
+-WNSObject-attribute objc and objc++
-Wabi this is now a no-op
-Wabi-tag c++
-Wabi= c++
-Walloca-larger-than=<number> FIXME: choose something sane?
-Wampersand fortran
-Wanalyzer-allocation-size enabled by -fanalyzer
+-Wanalyzer-undefined-behavior-ptrdiff enabled by -fanalyzer
-Wanalyzer-deref-before-check enabled by -fanalyzer
-Wanalyzer-double-fclose enabled by -fanalyzer
-Wanalyzer-double-free enabled by -fanalyzer
-Wc++2a-compat c++
-Wc-binding-type fortran
-Wc11-c23-compat c compatibility
+-Wc23-c2y-compat c compatibility
-Wc90-c99-compat c compatibility
-Wc99-c11-compat c compatibility
-Wcalloc-transposed-args enabled by -Wextra
-Wcast-function-type enabled by -Wextra
-Wcast-qual FIXME maybe? too much noise; encourages bad changes
-Wcast-result D
+-Wcast-user-defined default
-Wcatch-value c++
-Wcatch-value=<0,3> c++
-Wchanges-meaning c++
-Wconditionally-supported c++ and objc++
-Wconversion FIXME maybe? too much noise; encourages bad changes
-Wcoverage-too-many-conditions default
+-Wcoverage-too-many-paths default
-Wconversion-extra fortran
-Wconversion-null c++ and objc++
-Wcoverage-invalid-line-number default if --coverage
-Wdangling-reference c++ and objc++
-Wdeclaration-after-statement needed only for pre-C99, so obsolete
-Wdeclaration-missing-parameter-type default
+-Wdefaulted-function-deleted default, c++ and objc++
-Wdelete-incomplete c++ and objc++
-Wdelete-non-virtual-dtor c++
-Wdeprecated default
-Wdeprecated-declarations default
-Wdeprecated-enum-enum-conversion c++ and objc++
-Wdeprecated-enum-float-conversion c++ and objc++
+-Wdeprecated-literal-operator c++ and objc++
+-Wdeprecated-non-prototype c compatibility
+-Wdeprecated-variadic-comma-omission c++ and objc+++ compatibility
-Wdesignated-init default
-Wdiscarded-array-qualifiers default
-Wdiscarded-qualifiers default
-Werror-implicit-function-declaration deprecated
-Wexceptions c++ and objc++
-Wexpansion-to-defined enabled by -Wextra
+-Wexternal-argument-mismatch fortran
-Wextra-semi c++
-Wfloat-conversion FIXME maybe? borderline. some will want this
-Wfloat-equal FIXME maybe? borderline. some will want this
-Wformat=<0,2> gcc --help=warnings artifact
-Wframe-address enabled by -Wall
-Wframe-larger-than=<byte-size> FIXME: choose something sane?
+-Wfree-labels c and objc compatibility
-Wfree-nonheap-object default
-Wfunction-elimination fortran
-Wglobal-module default, c++ and objc++
-Whardened default
+-Wheader-guard enabled by -Wall
-Whsa default
-Wif-not-aligned default
-Wignored-attributes default
-Wjump-misses-init only useful for code meant to be compiled by a C++ compiler
-Wlarger-than- gcc --help=warnings artifact
-Wlarger-than=<byte-size> FIXME: choose something sane?
+-Wleading-whitespace= specific to project coding style
-Wline-truncation fortran
-Wliteral-suffix c++ and objc++
-Wlogical-not-parentheses enabled by -Wall
-Wmemset-elt-size enabled by -Wall
-Wmemset-transposed-args enabled by -Wall
-Wmisleading-indentation enabled by -Wall
+-Wmissing-parameter-name c and objc compatibility
-Wmismatched-dealloc default
-Wmismatched-new-delete default, c++ and objc++
-Wmismatched-special-enum d
-Wnonnull-compare enabled by -Wall
-Wnormalized default
-Wnormalized=[none|id|nfc|nfkc] defaults to nfc
--WNSObject-attribute objc and objc++
+-Wnrvo c++ and objc++
-Wobjc-root-class objc and objc++
-Wodr default
-Wold-style-cast c++ and objc++
-Wpointer-compare default
-Wpointer-sign enabled by -Wall
-Wpointer-to-int-cast default
+-Wpragma-once-outside-header default
-Wpragmas default
-Wprio-ctor-dtor c++
-Wproperty-assign-default objc++
-Wtabs fortran
-Wtarget-lifetime fortran
-Wtautological-compare enabled by -Wall
+-Wtemplate-body default, c++ and objc++
-Wtemplate-id-cdtor default, c++ and objc++
+-Wtemplate-names-tu-local enabled by -Wextra, c++
-Wtemplates c++ and objc++
-Wterminate c++ and objc++
-Wtraditional obsolescent
-Wtraditional-conversion obsolescent
+-Wtrailing-whitespace specific to project coding style
+-Wtrailing-whitespace= specific to project coding style
-Wtrigraphs enabled by -Wall
-Wtrivial-auto-var-init subsumed by -Wmaybe-uninitialized
-Wtsan default
-Wunicode default
-Wunreachable-code obsolescent no-op
-Wunsuffixed-float-constants triggers warning in gnulib's timespec.h
+-Wunterminated-string-initialization enabled by -Wextra
-Wunused enabled by -Wall
-Wunused-but-set-parameter enabled by -Wunused
-Wunused-but-set-variable enabled by -Wunused