CPP Toolchain Flags#

Warnings as Errors#

The following table lists all warnings that will throw an error by default.

Flags

Status / Default Value

–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=<bytes>

9223372036854775807 bytes

-Walloc-zero

[disabled]

-Walloca

[disabled]

-Walloca-larger-than=<number>

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=<byte-size>

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=<byte-size>

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=<byte-size>

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=<number>

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]