.. # ******************************************************************************* # Copyright (c) 2026 Contributors to the Eclipse Foundation # # See the NOTICE file(s) distributed with this work for additional # information regarding copyright ownership. # # This program and the accompanying materials are made available under the # terms of the Apache License Version 2.0 which is available at # https://www.apache.org/licenses/LICENSE-2.0 # # SPDX-License-Identifier: Apache-2.0 # ******************************************************************************* CPP Toolchain Flags =================== Warnings as Errors ------------------ The following table lists all warnings that will throw an error by default. .. csv-table:: :header: "Flags", "Status / Default Value" :widths: 50, 50 "--all-warnings", "-Wall" "--extra-warnings", "-Wextra" "-W", "-Wextra" "-WNSObject-attribute", "[enabled]" "-Wabbreviated-auto-in-template-arg", "[available in C++, ObjC++]" "-Wabi", "[disabled]" "-Wabi-tag", "[available in C++, ObjC++]" "-Wabi=", "" "-Wabsolute-value", "[enabled]" "-Waddress", "[enabled]" "-Waddress-of-packed-member", "[enabled]" "-Waggregate-return", "[disabled]" "-Waggressive-loop-optimizations", "[enabled]" "-Waliasing", "[available in Fortran]" "-Walign-commons", "[available in Fortran]" "-Waligned-new=[none|global|all]", "[available in C++, ObjC++]" "-Wall", "" "-Walloc-size", "[enabled]" "-Walloc-size-larger-than=", "9223372036854775807 bytes" "-Walloc-zero", "[disabled]" "-Walloca", "[disabled]" "-Walloca-larger-than=", "9223372036854775807 bytes" "-Wampersand", "[available in Fortran]" "-Wanalyzer-allocation-size", "[enabled]" "-Wanalyzer-deref-before-check", "[enabled]" "-Wanalyzer-double-fclose", "[enabled]" "-Wanalyzer-double-free", "[enabled]" "-Wanalyzer-exposure-through-output-file", "[enabled]" "-Wanalyzer-exposure-through-uninit-copy", "[enabled]" "-Wanalyzer-fd-access-mode-mismatch", "[enabled]" "-Wanalyzer-fd-double-close", "[enabled]" "-Wanalyzer-fd-leak", "[enabled]" "-Wanalyzer-fd-phase-mismatch", "[enabled]" "-Wanalyzer-fd-type-mismatch", "[enabled]" "-Wanalyzer-fd-use-after-close", "[enabled]" "-Wanalyzer-fd-use-without-check", "[enabled]" "-Wanalyzer-file-leak", "[enabled]" "-Wanalyzer-free-of-non-heap", "[enabled]" "-Wanalyzer-imprecise-fp-arithmetic", "[enabled]" "-Wanalyzer-infinite-loop", "[enabled]" "-Wanalyzer-infinite-recursion", "[enabled]" "-Wanalyzer-jump-through-null", "[enabled]" "-Wanalyzer-malloc-leak", "[enabled]" "-Wanalyzer-mismatching-deallocation", "[enabled]" "-Wanalyzer-null-argument", "[enabled]" "-Wanalyzer-null-dereference", "[enabled]" "-Wanalyzer-out-of-bounds", "[enabled]" "-Wanalyzer-overlapping-buffers", "[enabled]" "-Wanalyzer-possible-null-argument", "[enabled]" "-Wanalyzer-possible-null-dereference", "[enabled]" "-Wanalyzer-putenv-of-auto-var", "[enabled]" "-Wanalyzer-shift-count-negative", "[enabled]" "-Wanalyzer-shift-count-overflow", "[enabled]" "-Wanalyzer-stale-setjmp-buffer", "[enabled]" "-Wanalyzer-symbol-too-complex", "[disabled]" "-Wanalyzer-tainted-allocation-size", "[enabled]" "-Wanalyzer-tainted-array-index", "[enabled]" "-Wanalyzer-tainted-assertion", "[enabled]" "-Wanalyzer-tainted-divisor", "[enabled]" "-Wanalyzer-tainted-offset", "[enabled]" "-Wanalyzer-tainted-size", "[enabled]" "-Wanalyzer-throw-of-unexpected-type", "[enabled]" "-Wanalyzer-too-complex", "[disabled]" "-Wanalyzer-undefined-behavior-ptrdiff", "[enabled]" "-Wanalyzer-undefined-behavior-strtok", "[enabled]" "-Wanalyzer-unsafe-call-within-signal-handler", "[enabled]" "-Wanalyzer-use-after-free", "[enabled]" "-Wanalyzer-use-of-pointer-in-stale-stack-frame", "[enabled]" "-Wanalyzer-use-of-uninitialized-value", "[enabled]" "-Wanalyzer-va-arg-type-mismatch", "[enabled]" "-Wanalyzer-va-list-exhausted", "[enabled]" "-Wanalyzer-va-list-leak", "[enabled]" "-Wanalyzer-va-list-use-after-va-end", "[enabled]" "-Wanalyzer-write-to-const", "[enabled]" "-Wanalyzer-write-to-string-literal", "[enabled]" "-Wany-length", "[available in Cobol]" "-Wapply-commit", "[available in Cobol]" "-Warith-conversion", "[disabled]" "-Warray-bounds", "-Warray-bounds=1" "-Warray-bounds=<0,2>", "1" "-Warray-compare", "[enabled]" "-Warray-parameter", "-Warray-parameter=2" "-Warray-parameter=<0,2>", "2" "-Warray-temporaries", "[available in Fortran]" "-Wassign-intercept", "[available in ObjC, ObjC++]" "-Wattribute-alias", "-Wattribute-alias=1" "-Wattribute-alias=<0,2>", "1" "-Wattribute-warning", "[enabled]" "-Wattributes", "[enabled]" "-Wauto-profile", "[disabled]" "-Wbad-function-cast", "[disabled]" "-Wbad-line-directive", "[available in Cobol]" "-Wbad-numeric", "[available in Cobol]" "-Wbidi-chars", "-Wbidi-chars=any" "-Wbidi-chars=", "unpaired" "-Wbinary-long-long", "[available in Cobol]" "-Wbool-compare", "[enabled]" "-Wbool-operation", "[enabled]" "-Wbuiltin-declaration-mismatch", "[enabled]" "-Wbuiltin-macro-redefined", "[enabled]" "-Wc++-compat", "[disabled]" "-Wc++0x-compat", "-Wc++11-compat" "-Wc++11-compat", "[available in C++, ObjC++]" "-Wc++11-extensions", "[available in C++, ObjC++]" "-Wc++14-compat", "[available in C++, ObjC++]" "-Wc++14-extensions", "[available in C++, ObjC++]" "-Wc++17-compat", "[available in C++, ObjC++]" "-Wc++17-extensions", "[available in C++, ObjC++]" "-Wc++1z-compat", "-Wc++17-compat" "-Wc++20-compat", "[available in C++, ObjC++]" "-Wc++20-extensions", "[available in C++, ObjC++]" "-Wc++23-extensions", "[available in C++, ObjC++]" "-Wc++26-compat", "[available in C++, ObjC++]" "-Wc++26-extensions", "[available in C++, ObjC++]" "-Wc++2a-compat", "-Wc++20-compat" "-Wc-binding-type", "[available in Fortran]" "-Wc11-c23-compat", "" "-Wc23-c2y-compat", "" "-Wc90-c99-compat", "" "-Wc99-c11-compat", "" "-Wcall-giving", "[available in Cobol]" "-Wcall-literal", "[available in Cobol]" "-Wcalloc-transposed-args", "[enabled]" "-Wcannot-profile", "[enabled]" "-Wcast-align", "[disabled]" "-Wcast-align=strict", "[disabled]" "-Wcast-function-type", "[enabled]" "-Wcast-qual", "[disabled]" "-Wcast-result", "[available in D]" "-Wcast-user-defined", "[available in C++, ObjC++]" "-Wcatch-value", "-Wcatch-value=1" "-Wcatch-value=<0,3>", "[available in C++, ObjC++]" "-Wcdf-dollar", "[available in Cobol]" "-Wcdf-invalid-parameter", "[available in Cobol]" "-Wcdf-name-not-found", "[available in Cobol]" "-Wchanges-meaning", "[available in C++, ObjC++]" "-Wchar-subscripts", "[enabled]" "-Wcharacter-truncation", "[available in Fortran]" "-Wchkp", "" "-Wclass-conversion", "[available in C++, ObjC++]" "-Wclass-memaccess", "[available in C++, ObjC++]" "-Wclobbered", "[enabled]" "-Wcobol-eject", "[available in Cobol]" "-Wcobol-resume", "[available in Cobol]" "-Wcobol-volatile", "[available in Cobol]" "-Wcomma-subscript", "[available in C++, ObjC++]" "-Wcomment", "[enabled]" "-Wcomments", "-Wcomment" "-Wcomp-6", "[available in Cobol]" "-Wcomp-x", "[available in Cobol]" "-Wcompare-distinct-pointer-types", "[enabled]" "-Wcompare-reals", "[available in Fortran]" "-Wcomplain-wrong-lang", "[enabled]" "-Wconditionally-supported", "[available in C++, ObjC++]" "-Wconversion", "[disabled]" "-Wconversion-extra", "[available in Fortran]" "-Wconversion-null", "[available in C++, ObjC++]" "-Wcopybook-found", "[available in Cobol]" "-Wcoverage-invalid-line-number", "[enabled]" "-Wcoverage-mismatch", "[enabled]" "-Wcoverage-too-many-conditions", "[enabled]" "-Wcoverage-too-many-paths", "[enabled]" "-Wcpp", "[enabled]" "-Wctad-maybe-unsupported", "[available in C++, ObjC++]" "-Wctor-dtor-privacy", "[available in C++, ObjC++]" "-Wdangling-else", "[enabled]" "-Wdangling-pointer", "-Wdangling-pointer=2" "-Wdangling-pointer=<0,2>", "2" "-Wdangling-reference", "[available in C++, ObjC++]" "-Wdate-time", "[disabled]" "-Wdeclaration-after-statement", "" "-Wdeclaration-missing-parameter-type", "[enabled]" "-Wdefaulted-function-deleted", "[available in C++, ObjC++]" "-Wdelete-incomplete", "[available in C++, ObjC++]" "-Wdelete-non-virtual-dtor", "[available in C++, ObjC++]" "-Wdeprecated", "[enabled]" "-Wdeprecated-copy", "[available in C++, ObjC++]" "-Wdeprecated-copy-dtor", "[available in C++, ObjC++]" "-Wdeprecated-declarations", "[enabled]" "-Wdeprecated-enum-enum-conversion", "[available in C++, ObjC++]" "-Wdeprecated-enum-float-conversion", "[available in C++, ObjC++]" "-Wdeprecated-literal-operator", "[available in C++, ObjC++]" "-Wdeprecated-non-prototype", "" "-Wdeprecated-openmp", "[enabled]" "-Wdeprecated-variadic-comma-omission", "[available in C++, ObjC++]" "-Wdesignated-init", "[enabled]" "-Wdisabled-optimization", "[disabled]" "-Wdiscarded-array-qualifiers", "[enabled]" "-Wdiscarded-qualifiers", "[enabled]" "-Wdiv-by-zero", "[enabled]" "-Wdo-subscript", "[available in Fortran]" "-Wdouble-promotion", "[disabled]" "-Wduplicate-decl-specifier", "[enabled]" "-Wduplicated-branches", "[disabled]" "-Wduplicated-cond", "[disabled]" "-Wec-unknown", "[available in Cobol]" "-Weffc++", "[available in C++, ObjC++]" "-Welaborated-enum-base", "[available in C++, ObjC++]" "-Wempty-body", "[enabled]" "-Wendif-labels", "[enabled]" "-Wentry-convention", "[available in Cobol]" "-Wenum-compare", "[enabled]" "-Wenum-conversion", "[enabled]" "-Wenum-int-mismatch", "[enabled]" "-Wequal-assign", "[available in Cobol]" "-Werror-implicit-function-declaration", "-Werror=implicit-function-declaration" "-Wexceptions", "[available in C++, ObjC++]" "-Wexpansion-to-defined", "[enabled]" "-Wexpose-global-module-tu-local", "[available in C++, ObjC++]" "-Wextensions", "[available in Algol68]" "-Wexternal-argument-mismatch", "[available in Fortran]" "-Wexternal-tu-local", "[available in C++, ObjC++]" "-Wextra", "[enabled]" "-Wextra-semi", "[available in C++, ObjC++]" "-Wfile-code-set", "[available in Cobol]" "-Wflex-array-member-not-at-end", "[disabled]" "-Wfloat-conversion", "[disabled]" "-Wfloat-equal", "[disabled]" "-Wformat", "-Wformat=1" "-Wformat-contains-nul", "[enabled]" "-Wformat-diag", "[enabled]" "-Wformat-extra-args", "[enabled]" "-Wformat-nonliteral", "[disabled]" "-Wformat-overflow<0,2>", "-Wformat-overflow=1" "-Wformat-overflow=<0,2>", "1" "-Wformat-security", "[disabled]" "-Wformat-signedness", "[disabled]" "-Wformat-truncation", "-Wformat-truncation=1" "-Wformat-truncation=<0,2>", "1" "-Wformat-y2k", "[disabled]" "-Wformat-zero-length", "[enabled]" "-Wformat=<0,2>", "1" "-Wframe-address", "[enabled]" "-Wframe-larger-than=", "9223372036854775807 bytes" "-Wfree-labels", "" "-Wfree-nonheap-object", "[enabled]" "-Wfunction-elimination", "[available in Fortran]" "-Wglobal-module", "[available in C++, ObjC++]" "-Whardened", "[enabled]" "-Wheader-guard", "[enabled]" "-Whidden-declarations=", "[available in Algol68]" "-Whigh-order-bit", "[available in Cobol]" "-Whsa", "[ignored]" "-Wiconv-error", "[available in Cobol]" "-Wif-not-aligned", "[enabled]" "-Wignored-attributes", "[enabled]" "-Wignored-qualifiers", "[enabled]" "-Wimplicit", "[enabled]" "-Wimplicit-fallthrough", "-Wimplicit-fallthrough=3" "-Wimplicit-fallthrough=<0,5>", "3" "-Wimplicit-function-declaration", "[enabled]" "-Wimplicit-int", "[enabled]" "-Wimplicit-interface", "[available in Fortran]" "-Wimplicit-procedure", "[available in Fortran]" "-Winaccessible-base", "[available in C++, ObjC++]" "-Winclude-file-found", "[available in Cobol]" "-Winclude-file-not-found", "[available in Cobol]" "-Wincompatible-pointer-types", "[enabled]" "-Winfinite-recursion", "[enabled]" "-Winherited-variadic-ctor", "[available in C++, ObjC++]" "-Winit-list-lifetime", "[available in C++, ObjC++]" "-Winit-self", "[disabled]" "-Winline", "[disabled]" "-Winspect-trailing", "[available in Cobol]" "-Wint-conversion", "[enabled]" "-Wint-in-bool-context", "[enabled]" "-Wint-to-pointer-cast", "[enabled]" "-Winteger-division", "[available in Fortran]" "-Winterference-size", "[available in C++, ObjC++]" "-Wintrinsic-shadow", "[available in Fortran]" "-Wintrinsics-std", "[available in Fortran]" "-Winvalid-constexpr", "[available in C++, ObjC++]" "-Winvalid-imported-macros", "[available in C++, ObjC++]" "-Winvalid-memory-model", "[enabled]" "-Winvalid-offsetof", "[available in C++, ObjC++]" "-Winvalid-pch", "[disabled]" "-Winvalid-utf8", "[disabled]" "-Wjump-misses-init", "[disabled]" "-Wkeyword-macro", "[disabled]" "-Wlarger-than-", "" "-Wlarger-than=", "9223372036854775807 bytes" "-Wleading-whitespace=", "none" "-Wlength-of", "[available in Cobol]" "-Wlevel-1-occurs", "[available in Cobol]" "-Wlevel-78", "[available in Cobol]" "-Wlevel-78-defined", "[available in Cobol]" "-Wline-truncation", "[available in Fortran]" "-Wliteral-concat", "[available in Cobol]" "-Wliteral-suffix", "[available in C++, ObjC++]" "-Wlocale-error", "[available in Cobol]" "-Wlogical-not-parentheses", "[enabled]" "-Wlogical-op", "[disabled]" "-Wlong-long", "" "-Wlto-type-mismatch", "[enabled]" "-Wmain", "[enabled]" "-Wmaybe-musttail-local-addr", "[enabled]" "-Wmaybe-uninitialized", "[enabled]" "-Wmemset-elt-size", "[enabled]" "-Wmemset-transposed-args", "[enabled]" "-Wmisleading-indentation", "[enabled]" "-Wmismatched-dealloc", "[enabled]" "-Wmismatched-new-delete", "[available in C++, ObjC++]" "-Wmismatched-special-enum", "[available in D]" "-Wmismatched-tags", "[available in C++, ObjC++]" "-Wmissing-attributes", "[enabled]" "-Wmissing-braces", "[enabled]" "-Wmissing-declarations", "[disabled]" "-Wmissing-field-initializers", "[enabled]" "-Wmissing-format-attribute", "-Wsuggest-attribute=format" "-Wmissing-include-dirs", "[disabled]" "-Wmissing-noreturn", "-Wsuggest-attribute=noreturn" "-Wmissing-parameter-name", "" "-Wmissing-parameter-type", "[enabled]" "-Wmissing-profile", "[enabled]" "-Wmissing-prototypes", "[disabled]" "-Wmissing-requires", "[available in C++, ObjC++]" "-Wmissing-template-keyword", "[available in C++, ObjC++]" "-Wmissing-variable-declarations", "[disabled]" "-Wmove-corresponding", "[available in Cobol]" "-Wmove-index", "[available in Cobol]" "-Wmove-pointer", "[available in Cobol]" "-Wmultichar", "[disabled]" "-Wmultiple-inheritance", "[available in C++, ObjC++]" "-Wmultiple-parameter-fwd-decl-lists", "[enabled]" "-Wmultistatement-macros", "[enabled]" "-Wmusttail-local-addr", "[enabled]" "-Wnamespaces", "[available in C++, ObjC++]" "-Wnarrowing", "" "-Wnested-externs", "[disabled]" "-Wnllanginfo-error", "[available in Cobol]" "-Wno-alloc-size-larger-than", "-Walloc-size-larger-than=18446744073709551615EiB" "-Wno-alloca-larger-than", "-Walloca-larger-than=18446744073709551615EiB" "-Wno-frame-larger-than", "-Wframe-larger-than=18446744073709551615EiB" "-Wno-larger-than", "-Wlarger-than=18446744073709551615EiB" "-Wno-stack-usage", "-Wstack-usage=18446744073709551615EiB" "-Wno-vla-larger-than", "-Wvla-larger-than=18446744073709551615EiB" "-Wnoexcept", "[available in C++, ObjC++]" "-Wnoexcept-type", "[available in C++, ObjC++]" "-Wnon-c-typedef-for-linkage", "[available in C++, ObjC++]" "-Wnon-template-friend", "[available in C++, ObjC++]" "-Wnon-virtual-dtor", "[available in C++, ObjC++]" "-Wnonnull", "[enabled]" "-Wnonnull-compare", "[enabled]" "-Wnormalized", "-Wnormalized=nfc" "-Wnormalized=[none|id|nfc|nfkc]", "nfc" "-Wnrvo", "[available in C++, ObjC++]" "-Wnull-dereference", "[disabled]" "-Wobjc-root-class", "[available in ObjC, ObjC++]" "-Wodr", "[enabled]" "-Wold-style-cast", "[available in C++, ObjC++]" "-Wold-style-declaration", "[enabled]" "-Wold-style-definition", "" "-Wopenacc-parallelism", "[disabled]" "-Wopenmp", "[enabled]" "-Wopenmp-simd", "[enabled]" "-Woperator-space", "[available in Cobol]" "-Woverflow", "[enabled]" "-Woverlength-strings", "[disabled]" "-Woverloaded-virtual", "-Woverloaded-virtual=2" "-Woverloaded-virtual=<0,2>", "[available in C++, ObjC++]" "-Woverride-init", "[enabled]" "-Woverride-init-side-effects", "[enabled]" "-Woverwrite-recursive", "[available in Fortran]" "-Wpacked", "[disabled]" "-Wpacked-bitfield-compat", "" "-Wpacked-not-aligned", "[enabled]" "-Wpadded", "[disabled]" "-Wparentheses", "[enabled]" "-Wpedantic", "[disabled]" "-Wpedantic-cast", "[disabled]" "-Wpedantic-param-names", "[disabled]" "-Wpessimizing-move", "[available in C++, ObjC++]" "-Wplacement-new", "-Wplacement-new=1" "-Wplacement-new=<0,2>", "[available in C++, ObjC++]" "-Wpmf-conversions", "[available in C++, ObjC++]" "-Wpointer-arith", "[disabled]" "-Wpointer-compare", "[enabled]" "-Wpointer-sign", "[enabled]" "-Wpointer-to-int-cast", "[enabled]" "-Wpragma-once-outside-header", "[enabled]" "-Wpragmas", "[enabled]" "-Wpreprocessor-error", "[available in Cobol]" "-Wprio-ctor-dtor", "[enabled]" "-Wprocedure-not-found", "[available in Cobol]" "-Wprocedure-pointer", "[available in Cobol]" "-Wproperty-assign-default", "[available in ObjC, ObjC++]" "-Wprotocol", "[available in ObjC, ObjC++]" "-Wpsabi", "[enabled]" "-Wrange-loop-construct", "[available in C++, ObjC++]" "-Wreal-q-constant", "[available in Fortran]" "-Wrealloc-lhs", "[available in Fortran]" "-Wrealloc-lhs-all", "[available in Fortran]" "-Wrecording-mode", "[available in Cobol]" "-Wredundant-decls", "[disabled]" "-Wredundant-move", "[available in C++, ObjC++]" "-Wredundant-tags", "[available in C++, ObjC++]" "-Wregister", "[available in C++, ObjC++]" "-Wreorder", "[available in C++, ObjC++]" "-Wreplace-error", "[available in Cobol]" "-Wrestrict", "[enabled]" "-Wreturn-local-addr", "[enabled]" "-Wreturn-mismatch", "[enabled]" "-Wreturn-type", "[enabled]" "-Wreturning-number", "[available in Cobol]" "-Wscalar-storage-order", "[enabled]" "-Wscope", "[available in Algol68]" "-Wsegment", "[available in Cobol]" "-Wsegment-error", "[available in Cobol]" "-Wsegment-negative", "[available in Cobol]" "-Wselector", "[available in ObjC, ObjC++]" "-Wself-move", "[available in C++, ObjC++]" "-Wsequence-point", "[enabled]" "-Wset-locale-to", "[available in Cobol]" "-Wset-to-locale", "[available in Cobol]" "-Wsfinae-incomplete", "-Wsfinae-incomplete=1" "-Wsfinae-incomplete=<0,2>", "[available in C++, ObjC++]" "-Wshadow", "[disabled]" "-Wshadow-compatible-local", "-Wshadow=compatible-local" "-Wshadow-ivar", "[available in ObjC, ObjC++]" "-Wshadow-local", "-Wshadow=local" "-Wshadow=compatible-local", "[disabled]" "-Wshadow=global", "-Wshadow" "-Wshadow=local", "[disabled]" "-Wshift-count-negative", "[enabled]" "-Wshift-count-overflow", "[enabled]" "-Wshift-negative-value", "" "-Wshift-overflow", "-Wshift-overflow=1" "-Wshift-overflow=<0,2>", "-1" "-Wsign-compare", "[enabled]" "-Wsign-conversion", "[disabled]" "-Wsign-promo", "[available in C++, ObjC++]" "-Wsized-deallocation", "[available in C++, ObjC++]" "-Wsizeof-array-argument", "[enabled]" "-Wsizeof-array-div", "[enabled]" "-Wsizeof-pointer-div", "[enabled]" "-Wsizeof-pointer-memaccess", "[enabled]" "-Wstack-protector", "[disabled]" "-Wstack-usage=", "9223372036854775807 bytes" "-Wstop-number", "[available in Cobol]" "-Wstray-indicator", "[available in Cobol]" "-Wstrict-aliasing", "" "-Wstrict-aliasing=<0,3>", "3" "-Wstrict-flex-arrays", "[disabled]" "-Wstrict-null-sentinel", "[available in C++, ObjC++]" "-Wstrict-overflow", "" "-Wstrict-overflow=<0,5>", "1" "-Wstrict-prototypes", "[disabled]" "-Wstrict-selector-match", "[available in ObjC, ObjC++]" "-Wstring-compare", "[enabled]" "-Wstringop-overflow", "-Wstringop-overflow=2" "-Wstringop-overflow=<0,4>", "2" "-Wstringop-overread", "[enabled]" "-Wstringop-truncation", "[enabled]" "-Wstyle", "[disabled]" "-Wsubobject-linkage", "[available in C++, ObjC++]" "-Wsuggest-attribute=cold", "[disabled]" "-Wsuggest-attribute=const", "[disabled]" "-Wsuggest-attribute=format", "[disabled]" "-Wsuggest-attribute=malloc", "[disabled]" "-Wsuggest-attribute=noreturn", "[disabled]" "-Wsuggest-attribute=pure", "[disabled]" "-Wsuggest-attribute=returns_nonnull", "[disabled]" "-Wsuggest-final-methods", "[disabled]" "-Wsuggest-final-types", "[disabled]" "-Wsuggest-override", "[available in C++, ObjC++]" "-Wsurprising", "[available in Fortran]" "-Wswitch", "[enabled]" "-Wswitch-bool", "[enabled]" "-Wswitch-default", "[disabled]" "-Wswitch-enum", "[disabled]" "-Wswitch-outside-range", "[enabled]" "-Wswitch-unreachable", "[enabled]" "-Wsync-nand", "[enabled]" "-Wsynth", "[ignored]" "-Wsystem-headers", "[disabled]" "-Wtabs", "[available in Fortran]" "-Wtarget-lifetime", "[available in Fortran]" "-Wtautological-compare", "[enabled]" "-Wtemplate-body", "[available in C++, ObjC++]" "-Wtemplate-id-cdtor", "[available in C++, ObjC++]" "-Wtemplate-names-tu-local", "[available in C++, ObjC++]" "-Wtemplates", "[available in C++, ObjC++]" "-Wterminate", "[available in C++, ObjC++]" "-Wtraditional", "[disabled]" "-Wtraditional-conversion", "[disabled]" "-Wtrailing-whitespace", "-Wtrailing-whitespace=blanks" "-Wtrailing-whitespace=", "none" "-Wtrampolines", "[disabled]" "-Wtrigraphs", "[enabled]" "-Wtrivial-auto-var-init", "[disabled]" "-Wtsan", "[enabled]" "-Wtype-limits", "[enabled]" "-Wundeclared-selector", "[available in ObjC, ObjC++]" "-Wundef", "[disabled]" "-Wundefined-do-loop", "[available in Fortran]" "-Wunderflow", "[available in Fortran]" "-Wunicode", "[enabled]" "-Wuninit-variable-checking", "[disabled]" "-Wuninit-variable-checking=", "" "-Wuninitialized", "[enabled]" "-Wunknown-pragmas", "[enabled]" "-Wunreachable-code", "[ignored]" "-Wunsafe-loop-optimizations", "[ignored]" "-Wunsuffixed-float-constants", "[disabled]" "-Wunterminated-string-initialization", "[enabled]" "-Wunused", "[enabled]" "-Wunused-but-set-parameter", "-Wunused-but-set-parameter=3" "-Wunused-but-set-parameter=<0,3>", "1" "-Wunused-but-set-variable", "-Wunused-but-set-variable=3" "-Wunused-but-set-variable=<0,3>", "1" "-Wunused-const-variable", "-Wunused-const-variable=2" "-Wunused-const-variable=<0,2>", "1" "-Wunused-dummy-argument", "[available in Fortran]" "-Wunused-function", "[enabled]" "-Wunused-label", "[enabled]" "-Wunused-local-typedefs", "[enabled]" "-Wunused-macros", "[disabled]" "-Wunused-parameter", "[available in Modula-2]" "-Wunused-result", "[enabled]" "-Wunused-value", "[enabled]" "-Wunused-variable", "[enabled]" "-Wusage-typename", "[available in Cobol]" "-Wuse-after-free", "-Wuse-after-free=1" "-Wuse-after-free=<0,3>", "2" "-Wuse-without-only", "[available in Fortran]" "-Wuseless-cast", "[disabled]" "-Wvarargs", "[enabled]" "-Wvariadic-macros", "[disabled]" "-Wvector-operation-performance", "[disabled]" "-Wverbose-unbounded", "[disabled]" "-Wvexing-parse", "[available in C++, ObjC++]" "-Wvirtual-inheritance", "[available in C++, ObjC++]" "-Wvirtual-move-assign", "[available in C++, ObjC++]" "-Wvla", "" "-Wvla-larger-than=", "9223372036854775807 bytes" "-Wvla-parameter", "[enabled]" "-Wvoiding", "[available in Algol68]" "-Wvolatile", "[available in C++, ObjC++]" "-Wvolatile-register-var", "[enabled]" "-Wwrite-strings", "[disabled]" "-Wxor-used-as-pow", "[enabled]" "-Wzero-as-null-pointer-constant", "[disabled]" "-Wzero-length-bounds", "[enabled]" "-Wzerotrip", "[available in Fortran]" "-frequire-return-statement", "[available in Go]"