This page lists the diagnostic flags currently supported by Clang.
Diagnostic flags¶ -W#pragma-messages¶This diagnostic is enabled by default.
Diagnostic text:
The text of this diagnostic is not controlled by Clang.
-W#warnings¶This diagnostic is enabled by default.
Diagnostic text:
The text of this diagnostic is not controlled by Clang.
-WCFString-literal¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â input conversion stopped due to an input byte that does not belong to the input codeset UTF-8
-WCL4¶Some of the diagnostics controlled by this flag are enabled by default.
-WIndependentClass-attribute¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â âobjc_independent_classâ attribute may be put on a typedef only; attribute is ignored
warning:Â âobjc_independent_classâ attribute may be put on Objective-C object pointer type only; attribute is ignored
-WNSObject-attribute¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â âNSObjectâ attribute may be put on a typedef only; attribute is ignored
-Wabi¶This diagnostic flag exists for GCC compatibility, and has no effect in Clang.
-Wabsolute-value¶This diagnostic is enabled by default.
Diagnostic text:
warning: absolute value function A given an argument of type B but has parameter of type C which may cause truncation of value
warning:Â taking the absolute value ofÂ
pointer
function
array
 type B is suspicious
warning: taking the absolute value of unsigned type A has no effect
warning:Â usingÂ
integer
floating point
complex
 absolute value function A when argument is ofÂ
integer
floating point
complex
 type
-Wabstract-final-class¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â abstract class is marked â
final
sealed
â
-Wabstract-vbase-init¶Diagnostic text:
warning: initializer for virtual base class A of abstract class B will never be used
-Waddress-of-packed-member¶This diagnostic is enabled by default.
Diagnostic text:
warning: taking address of packed member A of class or structure B may result in an unaligned pointer value
-Waddress-of-temporary¶This diagnostic is an error by default, but the flag -Wno-address-of-temporary
can be used to disable the error.
Diagnostic text:
error: taking the address of a temporary object of type A
-Waix-compat¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â requesting an alignment of 16 bytes or greater for struct members is not binary compatible with IBM XL C/C++ for AIX 16.1.0 and older
warning:Â #pragma align(packed) may not be compatible with objects generated with AIX XL C/C++
-Walign-mismatch¶This diagnostic is enabled by default.
Diagnostic text:
warning: passing A-byte aligned argument to B-byte aligned parameter C
 of E
 may result in an unaligned pointer access
-Walloca¶Diagnostic text:
warning: use of function A is discouraged; there is no way to check for failure but failure may still occur, resulting in a possibly exploitable security vulnerability
-Walloca-with-align-alignof¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â second argument to __builtin_alloca_with_align is supposed to be in bits
-Wambiguous-delete¶This diagnostic is enabled by default.
Diagnostic text:
warning: multiple suitable A functions for B; no âoperator deleteâ function will be invoked if initialization throws an exception
-Wambiguous-ellipsis¶This diagnostic is enabled by default.
Diagnostic text:
warning: ââ¦â in this location creates a C-style varargs function
, not a function parameter pack
-Wambiguous-macro¶This diagnostic is enabled by default.
Diagnostic text:
warning: ambiguous expansion of macro A
-Wambiguous-member-template¶This diagnostic is enabled by default.
Diagnostic text:
warning: lookup of A in member access expression is ambiguous; using member of B
-Wambiguous-reversed-operator¶This diagnostic is enabled by default.
Diagnostic text:
warning: ISO C++20 considers use of overloaded operator âAâ (with operand types B and C) to be ambiguous despite there being a unique best viable function
 with non-reversed arguments
-Wanalyzer-incompatible-plugin¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â checker plugin âAâ is not compatible with this version of the analyzer
-Wanon-enum-enum-conversion¶Some of the diagnostics controlled by this flag are enabled by default.
Also controls -Wdeprecated-anon-enum-enum-conversion.
Diagnostic text:
warning:Â
arithmetic between
bitwise operation between
comparison of
conditional expression between
compound assignment of
 different enumeration types
 (B and C)
-Wanonymous-pack-parens¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â ISO C++11 requires a parenthesized pack declaration to have a name
-Warc-maybe-repeated-use-of-weak¶Diagnostic text:
warning:Â weakÂ
variable
property
implicit property
instance variable
 B may be accessed multiple times in thisÂ
function
method
block
lambda
 and may be unpredictably set to nil; assign to a strong variable to keep the object alive
-Warc-non-pod-memaccess¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â
destination for
source of
 this B call is a pointer to ownership-qualified type C
-Warc-performSelector-leaks¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â performSelector may cause a leak because its selector is unknown
-Warc-repeated-use-of-weak¶Also controls -Warc-maybe-repeated-use-of-weak.
Diagnostic text:
warning:Â weakÂ
variable
property
implicit property
instance variable
 B is accessed multiple times in thisÂ
function
method
block
lambda
 but may be unpredictably set to nil; assign to a strong variable to keep the object alive
-Warc-retain-cycles¶This diagnostic is enabled by default.
Diagnostic text:
warning: capturing A strongly in this block is likely to lead to a retain cycle
-Warc-unsafe-retained-assign¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â assigningÂ
array literal
dictionary literal
numeric literal
boxed expression
<should not happen>
block literal
 to a weakÂ
property
variable
; object will be released after assignment
warning:Â assigning retained object toÂ
weak
unsafe_unretained
Â
property
variable
; object will be released after assignment
warning:Â assigning retained object to unsafe property; object will be released after assignment
-Wargument-outside-range¶This diagnostic is an error by default, but the flag -Wno-argument-outside-range
can be used to disable the error.
Diagnostic text:
error: argument value A is outside the valid range [B, C]
-Warray-bounds¶This diagnostic is enabled by default.
Diagnostic text:
warning: array index A is past the end of the array (which contains B element
s
)
warning: array index A refers past the last possible element for an array in B-bit address space containing C-bit (D-byte) elements (max possible E element
s
)
warning: array index A is before the beginning of the array
warning: the pointer incremented by A refers past the last possible element for an array in B-bit address space containing C-bit (D-byte) elements (max possible E element
s
)
warning:Â array argument is too small;Â
contains A elements
is of size A
, callee requires at least B
-Warray-bounds-pointer-arithmetic¶Diagnostic text:
warning: the pointer incremented by A refers past the end of the array (that contains B element
s
)
warning: the pointer decremented by A refers before the beginning of the array
-Wasm-operand-widths¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â value size does not match register size specified by the constraint and modifier
-Wassign-enum¶Diagnostic text:
warning: integer constant not in range of enumerated type A
-Wassume¶This diagnostic is enabled by default.
Diagnostic text:
warning: the argument to A has side effects that will be discarded
-Wat-protocol¶This diagnostic flag exists for GCC compatibility, and has no effect in Clang.
-Watomic-alignment¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â misaligned atomic operation may incur significant performance penalty; the expected alignment (AÂ bytes) exceeds the actual alignment (BÂ bytes)
warning:Â large atomic operation may incur significant performance penalty; the access size (AÂ bytes) exceeds the max lock-free size (BÂ Â bytes)
-Watomic-implicit-seq-cst¶Diagnostic text:
warning:Â implicit use of sequentially-consistent atomic may incur stronger memory barriers than necessary
-Watomic-memory-ordering¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â memory order argument to atomic operation is invalid
-Wattribute-packed-for-bitfield¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â âpackedâ attribute was ignored on bit-fields with single-byte alignment in older versions of GCC and Clang
-Wattribute-warning¶This diagnostic is enabled by default.
Diagnostic text:
warning: call to A declared with âwarningâ attribute: B
-Wauto-disable-vptr-sanitizer¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â implicitly disabling vptr sanitizer because rtti wasnât enabled
-Wauto-import¶Diagnostic text:
warning:Â treating #
include
import
include_next
__include_macros
 as an import of module âBâ
-Wauto-storage-class¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â âautoâ storage class specifier is not permitted in C++11, and will not be supported in future releases
-Wauto-var-id¶This diagnostic is enabled by default.
Diagnostic text:
warning: âautoâ deduced as âidâ in declaration of A
-Wavailability¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â âunavailableâ availability overrides all other availability information
warning:Â Fuchsia API Level prohibits specifying a minor or sub-minor version
warning:Â ignoring availability attributeÂ
on â+loadâ method
with constructor attribute
with destructor attribute
warning:Â only âunavailableâ and âdeprecatedâ are supported for Swift availability
warning: unknown platform A in availability macro
warning:Â feature cannot beÂ
introduced
deprecated
obsoleted
 in B version C before it wasÂ
introduced
deprecated
obsoleted
 in version E; attribute ignored
warning:Â use same version number separators â_â or â.â; as in âmajor[.minor[.subminor]]â
warning:Â availability does not match previous declaration
warning:Â
overridingÂ
methodÂ
introduced after
deprecated before
obsoleted before
Â
the protocol method it implements
overridden method
 on B (C vs. D)
warning:Â
overridingÂ
method cannot be unavailable on A whenÂ
the protocol method it implements
its overridden method
 is available
-Wavr-rtlib-linking-quirks¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â support for linking stdlibs for microcontroller âAâ is not implemented
warning:Â no avr-gcc installation can be found on the system, cannot link standard libraries
warning:Â no avr-libc installation can be found on the system, cannot link standard libraries
warning:Â support for passing the data section address to the linker for microcontroller âAâ is not implemented
warning:Â no target microcontroller specified on command line, cannot link standard libraries, please pass -mmcu=<mcu name>
warning:Â standard library not linked and so no interrupt vector table or compiler runtime routines will be linked
-Wbackend-plugin¶This diagnostic is enabled by default.
Diagnostic text:
The text of this diagnostic is not controlled by Clang.
-Wbad-function-cast¶Diagnostic text:
warning: cast from function call of type A to non-matching type B
-Wbind-to-temporary-copy¶Also controls -Wc++98-compat-bind-to-temporary-copy.
Diagnostic text:
warning: C++98 requires an accessible copy constructor for class C when binding a reference to a temporary; wasÂ
private
protected
warning:Â no viable constructorÂ
copying variable
copying parameter
initializing template parameter
returning object
initializing statement expression result
throwing object
copying member subobject
copying array element
allocating object
copying temporary
initializing base subobject
initializing vector element
capturing value
 of type B; C++98 requires a copy constructor when binding a reference to a temporary
-Wbinding-in-condition¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â ISO C++17 does not permit structured binding declaration in a condition
-Wbit-int-extension¶Diagnostic text:
warning:Â â_BitIntâ inÂ
C17 and earlier
C++
 is a Clang extension
-Wbitfield-constant-conversion¶This diagnostic is enabled by default.
Diagnostic text:
warning: implicit truncation from C to bit-field changes value from A to B
-Wbitfield-enum-conversion¶Diagnostic text:
warning: bit-field A is not wide enough to store all enumerators of B
warning: signed bit-field A needs an extra bit to represent the largest positive enumerators of B
warning: assigning value of signed enum type B to unsigned bit-field A; negative enumerators of enum B will be converted to positive values
-Wbitfield-width¶This diagnostic is enabled by default.
Diagnostic text:
warning: width of bit-field A (B bits) exceeds the width of its type; value will be truncated to C bit
s
-Wbitwise-conditional-parentheses¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â operator â?:â has lower precedence than âAâ; âAâ will be evaluated first
-Wblock-capture-autoreleasing¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â block captures an autoreleasing out-parameter, which may result in use-after-free bugs
-Wbraced-scalar-init¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â braces aroundÂ
scalarÂ
initializer
-Wbranch-protection¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â â-mbranch-protection=â option is incompatible with the âAâ architecture
warning:Â ignoring the âbranch-protectionâ attribute because the âAâ architecture does not support it
warning:Â invalid branch protection option âAâ in âBâ
warning:Â unsupported branch protection specification âAâ
-Wbridge-cast¶This diagnostic is enabled by default.
Diagnostic text:
warning: A bridges to B, not C
warning: A cannot bridge to B
-Wbuiltin-macro-redefined¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â redefining builtin macro
warning:Â undefining builtin macro
-Wbuiltin-memcpy-chk-size¶This diagnostic is enabled by default.
Diagnostic text:
warning: âAâ will always overflow; destination buffer has size B, but size argument is C
-Wc++-compat¶Diagnostic text:
warning:Â
emptyÂ
struct
union
 has size 0 in C,Â
size 1
non-zero size
 in C++
-Wc++11-compat¶Some of the diagnostics controlled by this flag are enabled by default.
Also controls -Wc++11-compat-deprecated-writable-strings, -Wc++11-compat-reserved-user-defined-literal, -Wc++11-narrowing, -Wpre-c++14-compat, -Wpre-c++17-compat, -Wpre-c++20-compat, -Wpre-c++2b-compat.
Diagnostic text:
warning:Â integer literal is too large to be represented in type âlongâ and is subject to undefined behavior under C++98, interpreting as âunsigned longâ; this literal willÂ
have type âlong longâ
be ill-formed
 in C++11 onwards
warning:Â âautoâ storage class specifier is redundant and incompatible with C++11
warning:Â identifier after literal will be treated as a user-defined literal suffix in C++11
warning:Â âAâ is a keyword in C++11
warning:Â use of right-shift operator (â>>â) in template argument will require parentheses in C++11
warning:Â explicit instantiation cannot be âinlineâ
warning: explicit instantiation of A must occur at global scope
warning: explicit instantiation of A not in a namespace enclosing B
warning: explicit instantiation of A must occur in namespace B
warning:Â integer literal is too large to be represented in type âlongâ, interpreting as âunsigned longâ per C++98; this literal willÂ
have type âlong longâ
be ill-formed
 in C++11 onwards
-Wc++11-extensions¶Some of the diagnostics controlled by this flag are enabled by default.
Also controls -Wc++11-extra-semi, -Wc++11-inline-namespace, -Wc++11-long-long.
Diagnostic text:
warning:Â alias declarations are a C++11 extension
warning: implicit conversion from array size expression of type A toÂ
integral
enumeration
 type C is a C++11 extension
warning:Â âautoâ type specifier is a C++11 extension
warning:Â enumeration types with a fixed underlying type are a C++11 extension
warning:Â
defaulted
deleted
 function definitions are a C++11 extension
warning: befriending enumeration type A is a C++11 extension
warning:Â commas at the end of enumerator lists are a C++11 extension
warning:Â explicit conversion functions are a C++11 extension
warning:Â extern templates are a C++11 extension
warning:Â range-based for loop is a C++11 extension
warning:Â generalized initializer lists are a C++11 extension
warning:Â use of enumeration in a nested name specifier is a C++11 extension
warning: non-class friend type A is a C++11 extension
warning:Â default member initializer for non-static data member is a C++11 extension
warning:Â âAâ keyword is a C++11 extension
warning:Â reference qualifiers on functions are a C++11 extension
warning:Â rvalue references are a C++11 extension
warning:Â scoped enumerations are a C++11 extension
warning: static data member A in union is a C++11 extension
warning:Â non-type template argument referring toÂ
function
object
 B with internal linkage is a C++11 extension
warning:Â âtemplateâ keyword outside of a template
warning:Â default template arguments for a function template are a C++11 extension
warning:Â âtypenameâ occurs outside of a template
warning:Â unelaborated friend declaration is a C++11 extension; specify â
struct
interface
union
class
enum
â to befriend B
warning:Â variadic templates are a C++11 extension
-Wc++11-inline-namespace¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â inline namespaces are a C++11 feature
-Wc++11-narrowing¶Some of the diagnostics controlled by this flag are enabled by default.
Diagnostic text:
error:Â
case value
enumerator value
non-type template argument
array size
explicit specifier argument
noexcept specifier argument
Â
cannot be narrowed from type C to D
evaluates to C, which cannot be narrowed to type D
error: constant expression evaluates to A which cannot be narrowed to type B
error: type A cannot be narrowed to B in initializer list
error: non-constant-expression cannot be narrowed from type A to B in initializer list
warning: constant expression evaluates to A which cannot be narrowed to type B in C++11
warning: type A cannot be narrowed to B in initializer list in C++11
warning: non-constant-expression cannot be narrowed from type A to B in initializer list in C++11
-Wc++14-extensions¶Some of the diagnostics controlled by this flag are enabled by default.
Also controls -Wc++14-attribute-extensions, -Wc++14-binary-literal.
Diagnostic text:
warning:Â use of this statement in a constexprÂ
function
constructor
 is a C++14 extension
warning:Â multiple return statements in constexpr function is a C++14 extension
warning:Â variable declaration in a constexprÂ
function
constructor
 is a C++14 extension
warning:Â type definition in a constexprÂ
function
constructor
 is a C++14 extension
warning:Â âdecltype(auto)â type specifier is a C++14 extension
warning:Â initialized lambda captures are a C++14 extension
warning:Â variable templates are a C++14 extension
-Wc++17-compat-mangling¶This diagnostic is enabled by default.
Diagnostic text:
warning: mangled name of A will change in C++17 due to non-throwing exception specification in function signature
-Wc++17-extensions¶Some of the diagnostics controlled by this flag are enabled by default.
Also controls -Wc++17-attribute-extensions.
Diagnostic text:
warning: ISO C++ standards before C++17 do not allow new expression for type A to use list-initialization
warning:Â constexpr if is a C++17 extension
warning:Â âconstexprâ on lambda expressions is a C++17 extension
warning:Â âstatic_assertâ with no message is a C++17 extension
warning:Â decomposition declarations are a C++17 extension
warning:Â pack fold expression is a C++17 extension
warning: âbeginâ and âendâ returning different types (A and B) is a C++17 extension
warning:Â hexadecimal floating literals are a C++17 feature
warning:Â â
if
switch
â initialization statements are a C++17 extension
warning:Â inline variables are a C++17 extension
warning:Â use of multiple declarators in a single using declaration is a C++17 extension
warning:Â nested namespace definition is a C++17 extension; define each namespace separately
warning:Â attributes onÂ
a namespace
an enumerator
 declaration are a C++17 extension
warning:Â capture of â*thisâ by copy is a C++17 extension
warning:Â template template parameter using âtypenameâ is a C++17 extension
warning:Â default scope specifier for attributes is a C++17 extension
warning:Â pack expansion of using declaration is a C++17 extension
-Wc++20-compat¶Some of the diagnostics controlled by this flag are enabled by default.
Also controls -Wpre-c++2b-compat.
Diagnostic text:
warning: aggregate initialization of type A with user-declared constructors is incompatible with C++20
warning:Â âconstevalâ specifier is incompatible with C++ standards before C++20
warning:Â âconstinitâ specifier is incompatible with C++ standards before C++20
warning:Â this expression will be parsed as explicit(bool) in C++20
warning:Â â<=>â is a single token in C++20; add a space to avoid a change in behavior
warning:Â type of UTF-8 string literal will change from array of const char to array of const char8_t in C++20
warning:Â âAâ is a keyword in C++20
-Wc++20-extensions¶Some of the diagnostics controlled by this flag are enabled by default.
Also controls -Wc++20-attribute-extensions, -Wc++20-designator.
Diagnostic text:
warning:Â use of function template name with no prior declaration in function call with explicit template arguments is a C++20 extension
warning:Â default member initializer for bit-field is a C++20 extension
warning:Â use of this statement in a constexprÂ
function
constructor
 is a C++20 extension
warning:Â constexpr constructor that does not initialize all members is a C++20 extension
warning:Â function try block in constexprÂ
function
constructor
 is a C++20 extension
warning:Â uninitialized variable in a constexprÂ
function
constructor
 is a C++20 extension
warning:Â constexpr union constructor that does not initialize any member is a C++20 extension
warning:Â decomposition declaration declaredÂ
âBâ
with âBâ specifiers
 is a C++20 extension
warning:Â defaulted comparison operators are a C++20 extension
warning:Â explicit capture of âthisâ with a capture default of â=â is a C++20 extension
warning:Â explicit(bool) is a C++20 extension
warning:Â range-based for loop initialization statements are a C++20 extension
warning:Â initialized lambda pack captures are a C++20 extension
warning:Â inline nested namespace definition is a C++20 extension
warning:Â explicit template parameter list for lambdas is a C++20 extension
warning:Â invoking a pointer to a âconst &â member function on an rvalue is a C++20 extension
warning:Â member using declaration naming a non-member enumerator is a C++20 extension
warning:Â using declaration naming a scoped enumerator is a C++20 extension
warning:Â using enum declaration is a C++20 extension
-Wc++2b-extensions¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â alias declaration in this context is a C++2b extension
warning:Â consteval if is a C++2b extension
warning:Â âsize_tâ suffix for literals is a C++2b extension
warning:Â an attribute specifier sequence in this position is a C++2b extension
warning:Â lambda without a parameter clause is a C++2b extension
-Wc++98-compat¶Also controls -Wc++98-compat-local-type-template-args, -Wc++98-compat-unnamed-type-template-args, -Wpre-c++14-compat, -Wpre-c++17-compat, -Wpre-c++20-compat, -Wpre-c++2b-compat.
Diagnostic text:
warning:Â alias declarations are incompatible with C++98
warning:Â âalignasâ is incompatible with C++98
warning:Â alignof expressions are incompatible with C++98
warning:Â C++11 attribute syntax is incompatible with C++98
warning:Â âautoâ type specifier is incompatible with C++98
warning:Â âconstexprâ specifier is incompatible with C++98
warning:Â constructor call from initializer list is incompatible with C++98
warning:Â âdecltypeâ type specifier is incompatible with C++98
warning:Â
defaulted
deleted
 function definitions are incompatible with C++98
warning:Â delegating constructors are incompatible with C++98
warning:Â scalar initialized from empty initializer list is incompatible with C++98
warning: initializing A from an empty initializer list is incompatible with C++98
warning:Â enumeration types with a fixed underlying type are incompatible with C++98
warning: befriending enumeration type A is incompatible with C++98
warning:Â enumeration type in nested name specifier is incompatible with C++98
warning:Â explicit conversion functions are incompatible with C++98
warning:Â range-based for loop is incompatible with C++98
warning:Â friend declaration naming a member of the declaring class is incompatible with C++98
warning:Â generalized initializer lists are incompatible with C++98
warning:Â jump from this goto statement to its label is incompatible with C++98
warning:Â jump from thisÂ
indirect
asm
 goto statement to one of its possible targets is incompatible with C++98
warning:Â initialization of initializer_list object is incompatible with C++98
warning:Â inline namespaces are incompatible with C++98
warning:Â lambda expressions are incompatible with C++98
warning:Â â<::â is treated as digraph â<:â (aka â[â) followed by â:â in C++98
warning:Â literal operators are incompatible with C++98
warning:Â universal character name referring to a control character is incompatible with C++98
warning:Â specifying character âAâ with a universal character name is incompatible with C++98
warning:Â noexcept specifications are incompatible with C++98
warning:Â noexcept expressions are incompatible with C++98
warning: use of non-static data member A in an unevaluated context is incompatible with C++98
warning: non-class friend type A is incompatible with C++98
warning:Â default member initializer for non-static data members is incompatible with C++98
warning:Â
anonymous struct
union
 member B with a non-trivialÂ
default constructor
copy constructor
move constructor
copy assignment operator
move assignment operator
destructor
 is incompatible with C++98
warning:Â ânullptrâ is incompatible with C++98
warning:Â âAâ keyword is incompatible with C++98
warning: passing object of trivial but non-POD type A through variadicÂ
function
block
method
constructor
 is incompatible with C++98
warning:Â raw string literals are incompatible with C++98
warning:Â reference qualifiers on functions are incompatible with C++98
warning:Â reference initialized from initializer list is incompatible with C++98
warning:Â rvalue references are incompatible with C++98
warning:Â scoped enumerations are incompatible with C++98
warning:Â substitution failure due to access control is incompatible with C++98
warning:Â static_assert declarations are incompatible with C++98
warning: static data member A in union is incompatible with C++98
warning:Â jump from switch statement to this case label is incompatible with C++98
warning:Â redundant parentheses surrounding address non-type template argument are incompatible with C++98
warning:Â use of null pointer as non-type template argument is incompatible with C++98
warning:Â non-type template argument referring toÂ
function
object
 B with internal linkage is incompatible with C++98
warning:Â use of âtemplateâ keyword outside of a template is incompatible with C++98
warning:Â default template arguments for a function template are incompatible with C++98
warning:Â trailing return types are incompatible with C++98
warning:Â consecutive right angle brackets are incompatible with C++98 (use â> >â)
warning:Â use of âtypenameâ outside of a template is incompatible with C++98
warning: befriending B without â
struct
interface
union
class
enum
â keyword is incompatible with C++98
warning:Â unicode literals are incompatible with C++98
warning:Â âAâ type specifier is incompatible with C++98
warning:Â inheriting constructors are incompatible with C++98
warning:Â variadic templates are incompatible with C++98
-Wc++98-compat-bind-to-temporary-copy¶Diagnostic text:
warning:Â
copying variable
copying parameter
initializing template parameter
returning object
initializing statement expression result
throwing object
copying member subobject
copying array element
allocating object
copying temporary
initializing base subobject
initializing vector element
capturing value
 of type C when binding a reference to a temporary wouldÂ
invoke an inaccessible constructor
find no viable constructor
find ambiguous constructors
invoke a deleted constructor
 in C++98
-Wc11-extensions¶Diagnostic text:
warning:Â anonymous unions are a C11 extension
warning:Â anonymous structs are a C11 extension
warning:Â âAâ is a C11 extension
warning:Â pointer comparisons before C11 need to be between two complete or two incomplete types;Â AÂ isÂ
in
complete and B isÂ
in
complete
-Wc2x-extensions¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â â_Static_assertâ with no message is a C2x extension
warning:Â omitting the parameter name in a function definition is a C2x extension
-Wc99-compat¶Some of the diagnostics controlled by this flag are enabled by default.
Diagnostic text:
warning:Â
using this character in an identifier
starting an identifier with this character
 is incompatible with C99
warning:Â unicode literals are incompatible with C99
warning:Â integer literal is too large to be represented in type âlongâ, interpreting as âunsigned longâ per C89; this literal willÂ
have type âlong longâ
be ill-formed
 in C99 onwards
-Wc99-designator¶Some of the diagnostics controlled by this flag are enabled by default.
Also controls -Wc++20-designator.
Diagnostic text:
warning:Â designated initializers are a C99 feature
warning:Â array designators are a C99 extension
warning:Â brace elision for designated initializer is a C99 extension
warning:Â mixture of designated and non-designated initializers in the same initializer list is a C99 extension
warning:Â nested designators are a C99 extension
-Wc99-extensions¶Some of the diagnostics controlled by this flag are enabled by default.
Also controls -Wc99-designator.
Diagnostic text:
warning:Â initializer for aggregate is not a compile-time constant
warning:Â
qualifier inÂ
staticÂ
array sizeÂ
â[*] â
is a C99 feature
warning:Â compound literals are a C99-specific feature
warning:Â âAâ is a C99 extension
warning:Â flexible array members are a C99 feature
warning:Â variable declaration in for loop is a C99-specific feature
warning:Â ISO C99 requires whitespace after the macro name
warning:Â empty macro arguments are a C99 feature
warning:Â commas at the end of enumerator lists are a C99-specific feature
warning:Â hexadecimal floating constants are a C99 feature
-Wcall-to-pure-virtual-from-ctor-dtor¶This diagnostic is enabled by default.
Diagnostic text:
warning: call to pure virtual member function A has undefined behavior; overrides of A in subclasses are not available in theÂ
constructor
destructor
 of C
-Wcalled-once-parameter¶Some of the diagnostics controlled by this flag are enabled by default.
Also controls -Wcompletion-handler.
Diagnostic text:
warning:Â AÂ parameter marked âcalled_onceâ is called twice
warning:Â
capturedÂ
AÂ parameter marked âcalled_onceâ is never called
warning:Â AÂ parameter marked âcalled_onceâ is neverÂ
used
called
 whenÂ
taking true branch
taking false branch
handling this case
none of the cases applies
entering the loop
skipping the loop
taking one of the branches
-Wcast-align¶Diagnostic text:
warning: cast from A to B increases required alignment from C to D
-Wcast-calling-convention¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â cast between incompatible calling conventions âAâ and âBâ; calls through this pointer may abort at runtime
-Wcast-function-type¶Diagnostic text:
warning:Â castÂ
from A to BÂ
converts to incompatible function type
-Wcast-of-sel-type¶This diagnostic is enabled by default.
Diagnostic text:
warning: cast of type A to B is deprecated; use sel_getName instead
-Wcast-qual¶Diagnostic text:
warning: cast from A to B dropsÂ
const and volatile qualifiers
const qualifier
volatile qualifier
warning: cast from A to B must have all intermediate pointers const qualified to be safe
-Wchar-align¶This diagnostic flag exists for GCC compatibility, and has no effect in Clang.
-Wchar-subscripts¶Diagnostic text:
warning:Â array sectionÂ
lower bound
length
 is of type âcharâ
warning:Â array subscript is of type âcharâ
-Wclang-cl-pch¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â support for â/Ycâ with more than one source file not implemented yet; flag ignored
warning:Â support for â/Ycâ and â/Yuâ with different filenames not implemented yet; flags ignored
warning:Â #pragma hdrstop filename not supported, /Fp can be used to specify precompiled header filename
warning: definition of macro A does not match definition in precompiled header
-Wclass-conversion¶This diagnostic is enabled by default.
Diagnostic text:
warning: conversion function converting A to its base class B will never be used
warning: conversion function converting A to itself will never be used
warning: conversion function converting A to B will never be used
-Wclass-varargs¶Some of the diagnostics controlled by this flag are enabled by default.
Also controls -Wnon-pod-varargs.
Diagnostic text:
warning: passing object of class type A through variadicÂ
function
block
method
constructor
; did you mean to call âDâ?
-Wcmse-union-leak¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â passing union across security boundary viaÂ
parameter B
return value
 may leak information
-Wcomma¶Diagnostic text:
warning:Â possible misuse of comma operator here
-Wcompletion-handler¶Diagnostic text:
warning:Â completion handler is called twice
warning:Â
capturedÂ
completion handler is never called
warning:Â completion handler is neverÂ
used
called
 whenÂ
taking true branch
taking false branch
handling this case
none of the cases applies
entering the loop
skipping the loop
taking one of the branches
-Wcomplex-component-init¶Diagnostic text:
warning:Â complex initialization specifying real and imaginary components is an extension
-Wcompound-token-split-by-macro¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â
BÂ andÂ
CÂ tokensÂ
introducing statement expression
terminating statement expression
introducing attribute
terminating attribute
forming pointer to member type
 appear in different macro expansion contexts
-Wcompound-token-split-by-space¶Diagnostic text:
warning:Â
BÂ andÂ
CÂ tokensÂ
introducing statement expression
terminating statement expression
introducing attribute
terminating attribute
forming pointer to member type
 are separated by whitespace
-Wconcepts-ts-compat¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â ISO C++20 does not permit the âboolâ keyword after âconceptâ
-Wconditional-type-mismatch¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â pointer/integer type mismatch in conditional expression
 (A and B)
-Wconfig-macros¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â
definition
#undef
 of configuration macro âBâ has no effect on the import of âCâ; pass â
-DB=â¦
-UB
â on the command line to configure the module
-Wconstant-evaluated¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â âAâ will always evaluate to âtrueâ in a manifestly constant-evaluated expression
-Wconstexpr-not-const¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â âconstexprâ non-static member function will not be implicitly âconstâ in C++14; add âconstâ to avoid a change in behavior
-Wconsumed¶Diagnostic text:
warning: consumed analysis attribute is attached to member of class A which isnât marked as consumable
warning:Â state of variable âAâ must match at the entry and exit of loop
warning:Â parameter âAâ not in expected state when the function returns: expected âBâ, observed âCâ
warning:Â argument not in expected state; expected âAâ, observed âBâ
warning:Â return state set for an unconsumable type âAâ
warning:Â return value not in expected state; expected âAâ, observed âBâ
warning:Â invalid invocation of method âAâ on object âBâ while it is in the âCâ state
warning:Â invalid invocation of method âAâ on a temporary object while it is in the âBâ state
-Wconversion¶Some of the diagnostics controlled by this flag are enabled by default.
Also controls -Wbitfield-enum-conversion, -Wbool-conversion, -Wconstant-conversion, -Wenum-conversion, -Wfloat-conversion, -Wimplicit-float-conversion, -Wimplicit-int-conversion, -Wint-conversion, -Wliteral-conversion, -Wnon-literal-null-conversion, -Wnull-conversion, -Wobjc-literal-conversion, -Wshorten-64-to-32, -Wsign-conversion, -Wstring-conversion.
Diagnostic text:
warning: implicit conversion discards imaginary component: A to B
warning: implicit conversion turns vector to scalar: A to B
warning: passing non-generic address space pointer to A may cause dynamic conversion affecting performance
warning: non-type template argument with value âAâ converted to âBâ for unsigned template parameter of type C
warning: non-type template argument value âAâ truncated to âBâ for template parameter of type C
-Wcstring-format-directive¶Diagnostic text:
warning: using A directive inÂ
NSString
CFString
 which is being passed as a formatting argument to the formattingÂ
method
CFfunction
-Wctu¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â imported AST from âAâ had been generated for a different target, current:Â B, imported:Â C
-Wcuda-compat¶Some of the diagnostics controlled by this flag are enabled by default.
Diagnostic text:
warning: A attribute parameter B is negative and will be ignored
warning:Â nvcc does not allow â__A__â to appear after the parameter list in lambdas
warning: ignored âinlineâ attribute on kernel function A
warning: kernel function A is a member function; this may not be accepted by nvcc
warning:Â argument to â#pragma unrollâ should not be in parentheses in CUDA C/C++
-Wcustom-atomic-properties¶Diagnostic text:
warning: atomic by default property A has a user definedÂ
getter
setter
 (property should be marked âatomicâ if this is intended)
-Wcxx-attribute-extension¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â ISO C++ does not allow an attribute list to appear here
-Wdangling¶This diagnostic is enabled by default.
Also controls -Wdangling-field, -Wdangling-gsl, -Wdangling-initializer-list, -Wreturn-stack-address.
Diagnostic text:
warning:Â
temporaryÂ
whose address is used as value of
implicitlyÂ
bound to
Â
referenceÂ
member of local variable
localÂ
variable
reference
array backingÂ
initializer list subobject of local variable
local initializer list
Â
DÂ
will be destroyed at the end of the full-expression
warning:Â sorry, lifetime extension ofÂ
temporary
backing array of initializer list
 created by aggregate initialization using default member initializer is not supported; lifetime ofÂ
temporary
backing array
 will end at the end of the full-expression
-Wdangling-else¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â add explicit braces to avoid dangling else
-Wdangling-field¶This diagnostic is enabled by default.
Diagnostic text:
warning: binding reference member A to stack allocatedÂ
variable
parameter
 B
warning:Â
reference
backing array for âstd::initializer_listâ
Â
subobject ofÂ
member AÂ
binds to
is
 a temporary object whose lifetime is shorter than the lifetime of the constructed object
warning: initializing pointer member A with the stack address ofÂ
variable
parameter
 B
warning:Â temporary bound to reference member of allocated object will be destroyed at the end of the full-expression
-Wdangling-gsl¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â object backing the pointer will be destroyed at the end of the full-expression
warning: initializing pointer member A to point to a temporary object whose lifetime is shorter than the lifetime of the constructed object
-Wdangling-initializer-list¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â array backingÂ
initializer list subobject of the allocated object
the allocated initializer list
 will be destroyed at the end of the full-expression
-Wdarwin-sdk-settings¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â SDK settings were ignored as âSDKSettings.jsonâ could not be parsed
-Wdate-time¶Diagnostic text:
warning:Â expansion of date or time macro is not reproducible
-Wdealloc-in-category¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â -dealloc is being overridden in a category
-Wdeclaration-after-statement¶Diagnostic text:
warning:Â mixing declarations and code is a C99 extension
warning:Â mixing declarations and code is incompatible with standards before C99
-Wdefaulted-function-deleted¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â explicitly defaultedÂ
<ERROR>
equality
three-way
equality
relational
 comparison operator is implicitly deleted
warning:Â explicitly defaultedÂ
default constructor
copy constructor
move constructor
copy assignment operator
move assignment operator
destructor
 is implicitly deleted
-Wdelegating-ctor-cycles¶This diagnostic is an error by default, but the flag -Wno-delegating-ctor-cycles
can be used to disable the error.
Diagnostic text:
error: constructor for A creates a delegation cycle
-Wdelete-abstract-non-virtual-dtor¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â
delete
destructor
 called on B that is abstract but has non-virtual destructor
-Wdelete-incomplete¶This diagnostic is enabled by default.
Diagnostic text:
warning: cannot delete expression with pointer-to-âvoidâ type A
warning: deleting pointer to incomplete type A may cause undefined behavior
-Wdeprecated¶Some of the diagnostics controlled by this flag are enabled by default.
Also controls -Wdeprecated-anon-enum-enum-conversion, -Wdeprecated-array-compare, -Wdeprecated-attributes, -Wdeprecated-comma-subscript, -Wdeprecated-copy, -Wdeprecated-copy-with-dtor, -Wdeprecated-declarations, -Wdeprecated-dynamic-exception-spec, -Wdeprecated-enum-compare, -Wdeprecated-enum-compare-conditional, -Wdeprecated-enum-enum-conversion, -Wdeprecated-enum-float-conversion, -Wdeprecated-increment-bool, -Wdeprecated-pragma, -Wdeprecated-register, -Wdeprecated-this-capture, -Wdeprecated-type, -Wdeprecated-volatile, -Wdeprecated-writable-strings.
Diagnostic text:
warning:Â -O4 is equivalent to -O3
warning:Â access declarations are deprecated; use using declarations instead
warning:Â out-of-line definition of constexpr static data member is redundant in C++17 and is deprecated
warning:Â argument âAâ is deprecated, use âBâ instead
warning:Â treating âAâ input as âBâ when in C++ mode, this behavior is deprecated
warning:Â -fconcepts-ts is deprecated - use â-std=c++20â for Concepts support
warning:Â AÂ does not support the option âBâ
warning:Â Use of âlongâ with â__vectorâ is deprecated
-Wdeprecated-altivec-src-compat¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â Current handling of vector bool and vector pixel types in this context are deprecated. The default behaviour will soon change to that implied by the â-altivec-compat=xlâ option
-Wdeprecated-anon-enum-enum-conversion¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â
arithmetic between
bitwise operation between
comparison of
conditional expression between
compound assignment of
 different enumeration types
 (B and C)
 is deprecated
-Wdeprecated-array-compare¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â comparison between two arrays is deprecated; to compare array addresses, use unary â+â to decay operands to pointers
-Wdeprecated-attributes¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â specifying vector types with the âmodeâ attribute is deprecated; use the âvector_sizeâ attribute instead
-Wdeprecated-comma-subscript¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â top-level comma expression in array subscript is deprecated
-Wdeprecated-copy-with-user-provided-copy¶Diagnostic text:
warning:Â definition of implicit copyÂ
constructor
assignment operator
 for A is deprecated because it has a user-provided copyÂ
assignment operator
constructor
-Wdeprecated-declarations¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â specifying âuuidâ as an ATL attribute is deprecated; use __declspec instead
warning:Â use of C-style parameters in Objective-C method declarations is deprecated
warning:Â AÂ is deprecated
warning:Â AÂ may be deprecated because the receiver type is unknown
warning:Â AÂ is deprecated:Â B
warning: property access is using A method which is deprecated
-Wdeprecated-enum-compare¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â
arithmetic between
bitwise operation between
comparison of
conditional expression between
compound assignment of
 different enumeration types
 (B and C)
 is deprecated
-Wdeprecated-enum-compare-conditional¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â
arithmetic between
bitwise operation between
comparison of
conditional expression between
compound assignment of
 different enumeration types
 (B and C)
 is deprecated
-Wdeprecated-enum-enum-conversion¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â
arithmetic between
bitwise operation between
comparison of
conditional expression between
compound assignment of
 different enumeration types
 (B and C)
 is deprecated
-Wdeprecated-enum-float-conversion¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â
arithmetic between
bitwise operation between
comparison of
conditional expression between
compound assignment of
Â
floating-point
enumeration
 type CÂ
with
from
and
Â
enumeration
floating-point
 type D is deprecated
-Wdeprecated-experimental-coroutine¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â support for std::experimental::AÂ will be removed in LLVM 15; use std::AÂ instead
-Wdeprecated-increment-bool¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â incrementing expression of type bool is deprecated and incompatible with C++17
-Wdeprecated-objc-isa-usage¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â assignment to Objective-Câs isa is deprecated in favor of object_setClass()
warning:Â direct access to Objective-Câs isa is deprecated in favor of object_getClass()
-Wdeprecated-pragma¶This diagnostic is enabled by default.
Diagnostic text:
warning: macro A has been marked as deprecated
:Â C
-Wdeprecated-register¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â âregisterâ storage class specifier is deprecated and incompatible with C++17
-Wdeprecated-type¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â â_ExtIntâ is deprecated; use â_BitIntâ instead
-Wdeprecated-volatile¶This diagnostic is enabled by default.
Diagnostic text:
warning: compound assignment to object of volatile-qualified type A is deprecated
warning:Â
decrement
increment
 of object of volatile-qualified type B is deprecated
warning: use of result of assignment to object of volatile-qualified type A is deprecated
warning: volatile-qualified parameter type A is deprecated
warning: volatile-qualified return type A is deprecated
warning:Â volatile qualifier in structured binding declaration is deprecated
-Wdiscard-qual¶This diagnostic flag exists for GCC compatibility, and has no effect in Clang.
-Wdistributed-object-modifiers¶This diagnostic is enabled by default.
Diagnostic text:
warning: conflicting distributed object modifiers on parameter type in implementation of A
warning: conflicting distributed object modifiers on return type in implementation of A
-Wdivision-by-zero¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â
remainder
division
 by zero is undefined
-Wdocumentation¶Also controls -Wdocumentation-deprecated-sync, -Wdocumentation-html.
Diagnostic text:
warning:Â â
\
@
class
interface
protocol
struct
union
â command should not be used in a comment attached to a non-
class
interface
protocol
struct
union
 declaration
warning:Â duplicated command â
\
@
Bâ
warning:Â empty paragraph passed to â
\
@
Bâ command
warning:Â â
\
@
classdesign
coclass
dependency
helper
helperclass
helps
instancesize
ownership
performance
security
superclass
â command should not be used in a comment attached to a non-container declaration
warning:Â â
\
@
function
functiongroup
method
methodgroup
callback
â command should be used in a comment attached toÂ
a function
a function
an Objective-C method
an Objective-C method
a pointer to function
 declaration
warning:Â HTML start tag prematurely ended, expected attribute name or â>â
warning:Â expected quoted string after equals sign
warning:Â â
\
@
Bâ command does not have a valid word argument
warning:Â parameter âAâ is already documented
warning:Â unrecognized parameter passing direction, valid directions are â[in]â, â[out]â and â[in,out]â
warning:Â â
\
@
paramâ command used in a comment that is not attached to a function declaration
warning:Â parameter âAâ not found in the function declaration
warning:Â â
\
@
Bâ command used in a comment that is attached to aÂ
function returning void
constructor
destructor
method returning void
warning:Â â
\
@
Bâ command used in a comment that is not attached to a function or method declaration
warning:Â template parameter âAâ is already documented
warning:Â â
\
@
tparamâ command used in a comment that is not attached to a template declaration
warning:Â template parameter âAâ not found in the template declaration
warning:Â not a Doxygen trailing comment
warning:Â â
\
@
Bâ command does not terminate a verbatim text block
-Wdocumentation-html¶Diagnostic text:
warning:Â HTML end tag âAâ is forbidden
warning:Â HTML end tag does not match any start tag
warning:Â HTML tag âAâ requires an end tag
warning:Â HTML start tag âAâ closed by âBâ
-Wdtor-name¶Some of the diagnostics controlled by this flag are enabled by default.
Diagnostic text:
warning:Â ISO C++ considers this destructor name lookup to be ambiguous
warning:Â ISO C++ requires the name after â::~â to be found in the same scope as the name before â::~â
warning:Â qualified destructor name only found in lexical scope; omit the qualifier to find this type name by unqualified lookup
-Wdtor-typedef¶This diagnostic is an error by default, but the flag -Wno-dtor-typedef
can be used to disable the error.
Diagnostic text:
error:Â destructor cannot be declared using aÂ
typedef
type alias
 A of the class name
-Wduplicate-decl-specifier¶Some of the diagnostics controlled by this flag are enabled by default.
Diagnostic text:
warning:Â duplicate âAâ declaration specifier
warning:Â duplicate âAâ declaration specifier
warning:Â multiple identical address spaces specified for type
warning:Â duplicate âAâ declaration specifier
-Wduplicate-enum¶Diagnostic text:
warning: element A has been implicitly assigned B which another element has been assigned
-Wduplicate-protocol¶This diagnostic is enabled by default.
Diagnostic text:
warning: duplicate protocol definition of A is ignored
-Wdynamic-class-memaccess¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â
destination for
source of
first operand of
second operand of
 this B call is a pointer toÂ
class containing aÂ
dynamic class D; vtable pointer will beÂ
overwritten
copied
moved
compared
-Welaborated-enum-base¶This diagnostic is an error by default, but the flag -Wno-elaborated-enum-base
can be used to disable the error.
Diagnostic text:
error:Â non-defining declaration of enumeration with a fixed underlying type is only permitted as a standalone declaration
; missing list of enumerators?
-Welaborated-enum-class¶This diagnostic is an error by default, but the flag -Wno-elaborated-enum-class
can be used to disable the error.
Diagnostic text:
error:Â reference to enumeration must use âenumâ not âenumÂ
struct
class
â
-Wembedded-directive¶Diagnostic text:
warning:Â embedding a directive within macro arguments has undefined behavior
-Wempty-body¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â for loop has empty body
warning:Â if statement has empty body
warning:Â range-based for loop has empty body
warning:Â switch statement has empty body
warning:Â while loop has empty body
-Wempty-decomposition¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â ISO C++17 does not allow a decomposition group to be empty
-Wempty-init-stmt¶Diagnostic text:
warning:Â empty initialization statement of â
if
switch
range-based for
â has no effect
-Wencode-type¶This diagnostic is enabled by default.
Diagnostic text:
warning: encoding of A type is incomplete because B component has unknown encoding
-Wenum-compare-conditional¶Some of the diagnostics controlled by this flag are enabled by default.
Also controls -Wdeprecated-enum-compare-conditional.
Diagnostic text:
warning:Â
arithmetic between
bitwise operation between
comparison of
conditional expression between
compound assignment of
 different enumeration types
 (B and C)
-Wenum-compare-switch¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â comparison of different enumeration types in switch statement
 (A and B)
-Wenum-enum-conversion¶Some of the diagnostics controlled by this flag are enabled by default.
Also controls -Wdeprecated-enum-enum-conversion.
Diagnostic text:
warning:Â
arithmetic between
bitwise operation between
comparison of
conditional expression between
compound assignment of
 different enumeration types
 (B and C)
-Wenum-float-conversion¶Some of the diagnostics controlled by this flag are enabled by default.
Also controls -Wdeprecated-enum-float-conversion.
Diagnostic text:
warning:Â
arithmetic between
bitwise operation between
comparison of
conditional expression between
compound assignment of
Â
floating-point
enumeration
 type CÂ
with
from
and
Â
enumeration
floating-point
 type D
-Wenum-too-large¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â enumeration values exceed range of largest integer
warning: incremented enumerator value A is not representable in the largest integer type
-Wexceptions¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â cannot refer to a non-static member from the handler of aÂ
constructor
destructor
 function try block
warning: exception of type A will be caught by earlier handler
warning:Â AÂ has a non-throwing exception specification but can still throw
-Wexcess-initializers¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â excess elements inÂ
array
vector
scalar
union
struct
 initializer
warning: excess elements in initializer for indivisible sizeless type A
warning:Â excess elements in char array initializer
warning:Â initializer-string for char array is too long
-Wexpansion-to-defined¶Some of the diagnostics controlled by this flag are enabled by default.
Diagnostic text:
warning:Â macro expansion producing âdefinedâ has undefined behavior
warning:Â macro expansion producing âdefinedâ has undefined behavior
-Wexplicit-initialize-call¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â explicit call to +initialize results in duplicate call to +initialize
warning:Â explicit call to [super initialize] should only be in implementation of +initialize
-Wexport-unnamed¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â ISO C++20 does not permitÂ
an empty
a static_assert
 declaration to appear in an export block
warning:Â ISO C++20 does not permit a declaration that does not introduce any names to be exported
-Wexport-using-directive¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â ISO C++20 does not permit using directive to be exported
-Wextern-c-compat¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â
emptyÂ
struct
union
 has size 0 in C,Â
size 1
non-zero size
 in C++
-Wextern-initializer¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â âexternâ variable has an initializer
-Wfinal-dtor-non-final-class¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â class with destructor marked â
final
sealed
â cannot be inherited from
-Wfinal-macro¶This diagnostic is enabled by default.
Diagnostic text:
warning: macro A has been marked as final and should not beÂ
undefined
redefined
-Wfixed-enum-extension¶Diagnostic text:
warning:Â enumeration types with a fixed underlying type are a Clang extension
-Wfixed-point-overflow¶This diagnostic is enabled by default.
Diagnostic text:
warning: overflow in expression; result is A with type B
-Wflag-enum¶This diagnostic is enabled by default.
Diagnostic text:
warning: enumeration value A is out of range of flags in enumeration type B
-Wflexible-array-extensions¶Diagnostic text:
warning:Â AÂ may not be used as an array element due to flexible array member
warning:Â AÂ may not be nested in a struct due to flexible array member
-Wfloat-equal¶Diagnostic text:
warning:Â comparing floating point with == or != is unsafe
-Wfloat-overflow-conversion¶Diagnostic text:
warning: implicit conversion from A to B changes value from C to D
warning: implicit conversion of out of range value from A to B is undefined
-Wfloat-zero-conversion¶Diagnostic text:
warning: implicit conversion from A to B changes non-zero value from C to D
-Wfor-loop-analysis¶Diagnostic text:
warning: variable A isÂ
decremented
incremented
 both in the loop header and in the loop body
warning:Â variable
s
 B
s B and C
s B, C, and D
s B, C, D, and E
 used in loop condition not modified in loop body
-Wformat¶This diagnostic is enabled by default.
Also controls -Wformat-extra-args, -Wformat-insufficient-args, -Wformat-invalid-specifier, -Wformat-security, -Wformat-y2k, -Wformat-zero-length, -Wnonnull.
Diagnostic text:
warning:Â using â%%Pâ format specifier without precision
warning:Â
values of type
enum values with underlying type
 âAâ should not be used as format arguments; add an explicit cast to B instead
warning:Â using âAâ format specifier, but argument has boolean value
warning: format specifies type A but the argument hasÂ
type
underlying type
 B
warning:Â using âAâ format specifier annotation outside of os_log()/os_trace()
warning:Â invalid position specified forÂ
field width
field precision
warning:Â cannot mix positional and non-positional arguments in format string
warning:Â length modifier âAâ results in undefined behavior or no effect with âBâ conversion specifier
warning:Â format string should not be a wide string
warning:Â position arguments in format strings start counting at 1 (not 0)
warning:Â format string missing
warning:Â object format flags cannot be used with âAâ conversion specifier
warning:Â â
*
.*
â specified fieldÂ
width
precision
 is missing a matching âintâ argument
warning:Â fieldÂ
width
precision
 should have type B, but argument has type C
warning:Â missing object format flag
warning:Â format string contains â\0â within the string body
warning:Â format string is not null-terminated
warning:Â flag âAâ is ignored when flag âBâ is present
warning:Â incomplete format specifier
warning:Â âAâ is not a valid object format flag
warning:Â â%%nâ specifier not supported on this platform
warning:Â flag âAâ results in undefined behavior with âBâ conversion specifier
warning:Â
field width
precision
 used with âBâ conversion specifier, resulting in undefined behavior
warning:Â data argument position âAâ exceeds the number of data arguments (B)
warning:Â zero field width in scanf format string is unused
warning:Â no closing â]â for â%%[â in scanf format string
-Wformat-insufficient-args¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â more â%%â conversions than data arguments
-Wformat-non-iso¶Diagnostic text:
warning: âAâÂ
length modifier
conversion specifier
 is not supported by ISO C
warning:Â using length modifier âAâ with conversion specifier âBâ is not supported by ISO C
warning:Â positional arguments are not supported by ISO C
-Wformat-pedantic¶Diagnostic text:
warning:Â
values of type
enum values with underlying type
 âAâ should not be used as format arguments; add an explicit cast to B instead
warning: format specifies type A but the argument hasÂ
type
underlying type
 B
-Wformat-security¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â format string is not a string literal (potentially insecure)
-Wformat-type-confusion¶Diagnostic text:
warning: format specifies type A but the argument hasÂ
type
underlying type
 B
-Wformat-y2k¶This diagnostic flag exists for GCC compatibility, and has no effect in Clang.
-Wformat-zero-length¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â format string is empty
-Wfortify-source¶This diagnostic is enabled by default.
Diagnostic text:
warning: âAâ may overflow; destination buffer in argument B has size C, but the corresponding specifier may require size D
warning: âAâ will always overflow; destination buffer has size B, but format string expands to at least C
warning: âAâ will always overflow; destination buffer has size B, but size argument is C
warning: âAâ size argument is too large; destination buffer has size B, but size argument is C
warning: âAâ will always overflow; destination buffer has size B, but the source string has length C (including NUL byte)
-Wframe-address¶Diagnostic text:
warning:Â calling âAâ with a nonzero argument is unsafe
-Wframe-larger-than¶This diagnostic is enabled by default.
Diagnostic text:
The text of this diagnostic is not controlled by Clang.
warning:Â stack frame size (A) exceeds limit (B) in âCâ
-Wfree-nonheap-object¶This diagnostic is enabled by default.
Diagnostic text:
warning: attempt to call A on non-heapÂ
object C
object: block expression
object: lambda-to-function-pointer conversion
-Wfunction-multiversion¶This diagnostic is enabled by default.
Also controls -Wtarget-clones-mixed-specifiers.
Diagnostic text:
warning:Â body of cpu_dispatch function will be ignored
warning:Â CPU list contains duplicate entries; attribute ignored
warning:Â version list contains duplicate entries
-Wfuse-ld-path¶Diagnostic text:
warning:Â â-fuse-ld=â taking a path is deprecated; use ââld-path=â instead
-Wfuture-compat¶This diagnostic flag exists for GCC compatibility, and has no effect in Clang.
-Wgcc-compat¶Some of the diagnostics controlled by this flag are enabled by default.
Diagnostic text:
warning:Â âdiagnose_ifâ is a clang extension
warning:Â âenable_ifâ is a clang extension
warning:Â __final is a GNU extension, consider using C++11 final
warning: GCC does not allow A attribute in this position on a function definition
warning:Â âbreakâ is bound to loop, GCC binds it to switch
warning:Â GCC does not allow the âcleanupâ attribute argument to be anything other than a simple identifier
warning:Â GCC does not allow an attribute in this position on a function declaration
warning: GCC does not allow the A attribute to be written on a type
warning:Â GCC does not allow variable declarations in for loop initializers before C99
warning:Â âAâ is bound to current loop, GCC binds it to the enclosing loop
-Wglobal-constructors¶Diagnostic text:
warning:Â declaration requires a global constructor
warning:Â declaration requires a global destructor
-Wglobal-isel¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â -fglobal-isel support for the âAâ architecture is incomplete
warning:Â -fglobal-isel support is incomplete for this architecture at the current optimization level
-Wgnu¶Some of the diagnostics controlled by this flag are enabled by default.
Controls -Wgnu-alignof-expression, -Wgnu-anonymous-struct, -Wgnu-auto-type, -Wgnu-binary-literal, -Wgnu-case-range, -Wgnu-complex-integer, -Wgnu-compound-literal-initializer, -Wgnu-conditional-omitted-operand, -Wgnu-designator, -Wgnu-empty-initializer, -Wgnu-empty-struct, -Wgnu-flexible-array-initializer, -Wgnu-flexible-array-union-member, -Wgnu-folding-constant, -Wgnu-imaginary-constant, -Wgnu-include-next, -Wgnu-label-as-value, -Wgnu-redeclared-enum, -Wgnu-statement-expression, -Wgnu-static-float-init, -Wgnu-string-literal-operator-template, -Wgnu-union-cast, -Wgnu-variable-sized-type-not-at-end, -Wgnu-zero-line-directive, -Wgnu-zero-variadic-macro-arguments, -Wredeclared-class-member, -Wvla-extension, -Wzero-length-array.
-Wgnu-alignof-expression¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â AÂ applied to an expression is a GNU extension
-Wgnu-array-member-paren-init¶This diagnostic is an error by default, but the flag -Wno-gnu-array-member-paren-init
can be used to disable the error.
Diagnostic text:
error:Â parenthesized initialization of a member array is a GNU extension
-Wgnu-compound-literal-initializer¶Diagnostic text:
warning:Â initialization of an arrayÂ
of type A from a compound literal of type B
from a compound literal
 is a GNU extension
-Wgnu-designator¶Some of the diagnostics controlled by this flag are enabled by default.
Diagnostic text:
warning:Â use of GNU array range extension
warning:Â use of GNU âmissing =â extension in designator
warning:Â use of GNU old-style field designator extension
-Wgnu-empty-struct¶Diagnostic text:
warning:Â emptyÂ
struct
union
 is a GNU extension
warning: flexible array member A in otherwise emptyÂ
struct
interface
union
class
enum
 is a GNU extension
warning:Â
struct
union
 without named members is a GNU extension
-Wgnu-folding-constant¶Some of the diagnostics controlled by this flag are enabled by default.
Diagnostic text:
warning:Â expression is not anÂ
integer
integral
 constant expression; folding it to a constant is a GNU extension
warning:Â in-class initializer for static data member is not a constant expression; folding it to a constant is a GNU extension
warning:Â variable length array folded to constant array as an extension
-Wgnu-inline-cpp-without-extern¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â âgnu_inlineâ attribute without âexternâ in C++ treated as externally available, this changed in Clang 10
-Wgnu-label-as-value¶Diagnostic text:
warning:Â use of GNU address-of-label extension
warning:Â use of GNU indirect-goto extension
-Wgnu-static-float-init¶This diagnostic is enabled by default.
Diagnostic text:
warning: in-class initializer for static data member of type A is a GNU extension
-Wgnu-variable-sized-type-not-at-end¶This diagnostic is enabled by default.
Diagnostic text:
warning: field A with variable sized type B not at the end of a struct or class is a GNU extension
-Wgnu-zero-variadic-macro-arguments¶Diagnostic text:
warning: must specify at least one argument for ââ¦â parameter of variadic macro
warning:Â token pasting of â,â and __VA_ARGS__ is a GNU extension
-Wgpu-maybe-wrong-side¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â capture host side class data member by this pointer in device or host device lambda function may result in invalid memory access if this pointer is not accessible on device side
-Whip-only¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â âAâ is ignored since it is only supported for HIP
-Wignored-attributes¶This diagnostic is enabled by default.
Diagnostic text:
warning: âtrivial_abiâ cannot be applied to A
warning:Â
alias
ifunc
 will always resolve to A even if weak definition of B is overridden
warning:Â
alias
ifunc
 will not be in section âAâ but in the same section as theÂ
aliasee
resolver
warning: requested alignment is less than minimum alignment of B for type A
warning:Â âabi_tagâ attribute onÂ
non-inline
anonymous
 namespace ignored
warning: attribute A after definition is ignored
warning:Â âcmse_nonsecure_entryâ cannot be applied to functions with internal linkage
warning:Â âdllexportâ attribute ignored on explicit instantiation definition
warning: attribute A has no effect when annotating an âifÂ
constexpr
consteval
â statement
warning: attribute A has no effect when annotating an infinite loop
warning:Â AÂ attribute can only be applied to instance variables or properties
warning:Â AÂ attribute ignored
warning: A attribute ignored for field of type B
warning:Â AÂ attribute ignored on inline function
warning:Â AÂ attribute ignored on a non-definition declaration
warning:Â âAâ attribute cannot be specified on a definition
warning: attribute A ignored, because it is not attached to a declaration
warning:Â ânonnullâ attribute applied to function with no pointer arguments
warning:Â ânonnullâ attribute when used on parameters takes no arguments
warning:Â AÂ attribute ignored when parsing type
warning:Â AÂ attribute only applies to a pointer or reference (BÂ is invalid)
warning:Â AÂ attribute only applies to
 constant
 pointer arguments
warning:Â attribute declaration must precede definition
warning:Â AÂ attribute only applies to return values that are pointers
warning:Â AÂ attribute only applies to return values that are pointers or references
warning:Â âsentinelâ attribute requires named arguments
warning:Â âsentinelâ attribute only supported for variadicÂ
functions
blocks
warning:Â AÂ attribute argument not supported:Â B
warning: unknown visibility A
warning: attribute A cannot be applied toÂ
functions
Objective-C method
 without return value
warning:Â __weak attribute cannot be specified on a field declaration
warning:Â __weak attribute cannot be specified on an automatic variable when ARC is not enabled
warning:Â AÂ attribute only applies toÂ
functions
unions
variables and functions
functions and methods
functions, methods and blocks
functions, methods, and parameters
variables
variables and fields
variables, data members and tag types
types and namespaces
variables, functions and classes
kernel functions
non-K&R-style functions
warning: A attribute only applies to B
warning: conflicting attributes A are ignored
warning: attribute A ignored, because it cannot be applied to omitted return type
warning:Â AÂ calling convention is not supportedÂ
for this target
on variadic function
on constructor/destructor
on builtin function
warning: attribute A ignored, because it cannot be applied to a type
warning: ignoring __declspec(allocator) because the function return type A is not a pointer or reference type
warning: attribute A is ignored, place it after â
class
struct
interface
union
enum
â to apply attribute to type declaration
warning:Â âdeprecatedâ attribute on anonymous namespace ignored
warning:Â AÂ currently has no effect on a using declaration
warning:Â AÂ redeclared inline;Â BÂ attribute ignored
warning: attribute A is already applied with different arguments
warning: attribute A is already applied
warning:Â Objective-C GC does not allow weak variables on the stack
warning:Â âgnu_inlineâ attribute requires function to be marked âinlineâ, attribute ignored
warning:Â inheritance model ignored onÂ
primary template
partial specialization
warning:Â âobjc_externally_retainedâ can only be applied to local variablesÂ
of retainable type
with strong ownership
warning:Â importÂ
module
name
 cannot be applied to a function with a definition
warning:Â âinternal_linkageâ attribute on a non-static local variable is ignored
warning:Â
MIPS
MSP430
RISC-V
 âinterruptâ attribute only applies to functions that haveÂ
no parameters
a âvoidâ return type
warning:Â qualifiers after comma in declarator list are ignored
warning:Â âmig_server_routineâ attribute only applies to routines that return a kern_return_t
warning:Â importÂ
module
name
 (B) does not match the importÂ
module
name
 (C) of the previous declaration
warning:Â unknown attribute âAâ
warning:Â ânocf_checkâ attribute ignored; use -fcf-protection to enable the attribute
warning:Â ânoderefâ can only be used on an array or pointer type
warning:Â AÂ attribute is ignored because there exists no call expression inside the statement
warning:Â ânothrowâ attribute conflicts with exception specification; attribute ignored
warning:Â AÂ attribute only applies toÂ
Objective-C object
pointer
pointer-to-CF-pointer
pointer/reference-to-OSObject-pointer
 parameters
warning:Â AÂ attribute only applies toÂ
functions
methods
properties
 that returnÂ
an Objective-C object
a pointer
a non-retainable pointer
warning:Â AÂ attribute isnât implemented by this Objective-C runtime
warning: direct attribute on property A ignored (not implemented by this Objective-C runtime)
warning: A attribute is deprecated and ignored in B
warning:Â ârequire_constant_initializationâ attribute added after initialization of variable
warning:Â repeated RISC-V âinterruptâ attribute
warning:Â template parameter of a function template with the âsycl_kernelâ attribute cannot be a non-type template parameter
warning:Â function template with âsycl_kernelâ attribute must have a single parameter
warning:Â âsycl_kernelâ attribute only applies to a function template with at least two template parameters
warning:Â function template with âsycl_kernelâ attribute must have a âvoidâ return type
warning:Â
alignment
size
 of field B (C bits) does not match theÂ
alignment
size
 of the first field in transparent union; transparent_union attribute ignored
warning:Â first field of a transparent union cannot haveÂ
floating point
vector
 type B; transparent_union attribute ignored
warning:Â transparent_union attribute can only be applied to a union definition; attribute ignored
warning:Â transparent union definition must contain at least one field; transparent_union attribute ignored
warning:Â âAâ only applies toÂ
function
pointer
Objective-C object or block pointer
 types; type here is C
warning: __declspec attribute A is not supported
warning:Â
unsupported
duplicate
unknown
 architecture
 tune CPU
 âCâ in the â
target
target_clones
â attribute string; â
target
target_clones
â attribute ignored
warning:Â â__clang__â is a predefined macro name, not an attribute scope specifier; did you mean â_Clangâ instead?
-Wignored-optimization-argument¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â optimization flag âAâ is not supported for target âBâ
warning:Â optimization flag âAâ is not supported
-Wignored-pragma-intrinsic¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â AÂ is not a recognized builtin
; consider including <intrin.h> to access non-builtin intrinsics
-Wignored-pragmas¶This diagnostic is enabled by default.
Also controls -Wignored-pragma-intrinsic, -Wignored-pragma-optimize.
Diagnostic text:
warning:Â expected â=â following â#pragmaÂ
align
options align
â - ignored
warning:Â invalid alignment option in â#pragmaÂ
align
options align
â - ignored
warning: â#pragma comment Aâ ignored
warning:Â missing argument to debug command âAâ
warning:Â unexpected debug command âAâ
warning:Â unknown module âAâ
warning: expected action or â)â in â#pragma Aâ - ignored
warning: missing â:â after A - ignoring
warning: missing â:â or â)â after A - ignoring
warning: expected â,â in â#pragma Aâ
warning: expected identifier in â#pragma Aâ - ignored
warning: expected âcompilerâ, âlibâ, âuserâ, or a string literal for the section name in â#pragma Aâ - ignored
warning: expected integer between A and B inclusive in â#pragma Câ - ignored
warning: missing â(â after â#pragma Aâ - ignoring
warning: expected non-wide string literal in â#pragma Aâ
warning:Â expectedÂ
âenableâ, âdisableâ, âbeginâ or âendâ
âdisableâ
 - ignoring
warning: expected â)â or â,â in â#pragma Aâ
warning: missing â)â after â#pragma Aâ - ignoring
warning: expected a stack label or a string literal for the section name in â#pragma Aâ - ignored
warning: expected a string literal for the section name in â#pragma Aâ - ignored
warning: expected push, pop or a string literal for the section name in â#pragma Aâ - ignored
warning: expected string literal in â#pragma Aâ - ignoring
warning: extra tokens at end of â#pragma Aâ - ignored
warning:Â incorrect use of #pragma clang force_cuda_host_device begin|end
warning: â#pragma Aâ is not supported on this target - ignored
warning:Â â#pragma init_segâ is only supported when targeting a Microsoft environment
warning: unknown action for â#pragma Aâ - ignored
warning: unexpected argument âAâ to â#pragma Bâ
; expected D
warning: unknown action âBâ for â#pragma Aâ - ignored
warning: missing argument to â#pragma Aâ
; expected C
warning:Â incorrect use of â#pragma fenv_access (on|off)â - ignored
warning:Â incorrect use of â#pragma ms_struct on|offâ - ignored
warning:Â #pragma options align=reset failed:Â A
warning:Â expected âalignâ following â#pragma optionsâ - ignored
warning:Â expected #pragma pack parameter to be â1â, â2â, â4â, â8â, or â16â
warning:Â expected integer or identifier in â#pragma packâ - ignored
warning: #pragma A(pop, â¦) failed: B
warning:Â pragma pop_macro could not pop âAâ, no matching push_macro
warning: unknown OpenCL extension A - ignoring
warning: known but unsupported action âBâ for â#pragma Aâ - ignored
warning: unsupported OpenCL extension A - ignoring
warning:Â expected â#pragma unusedâ argument to be a variable name
warning:Â only variables can be arguments to â#pragma unusedâ
warning: undeclared variable A used as an argument for â#pragma unusedâ
warning:Â invalid or unsupported rounding mode in â#pragma STDC FENV_ROUNDâ - ignored
-Wignored-qualifiers¶Some of the diagnostics controlled by this flag are enabled by default.
Also controls -Wignored-reference-qualifiers.
Diagnostic text:
warning:Â ARCÂ
unused
__unsafe_unretained
__strong
__weak
__autoreleasing
 lifetime qualifier on return type is ignored
warning: âAâ qualifier on omitted return type B has no effect
warning:Â âAâ type qualifier
s
 on return typeÂ
has
have
 no effect
warning: âAâ qualifier on function type B has no effect
-Wimplicit-atomic-properties¶Diagnostic text:
warning:Â property is assumed atomic when auto-synthesizing the property
warning:Â property is assumed atomic by default
-Wimplicit-exception-spec-mismatch¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â function previously declared with anÂ
explicit
implicit
 exception specification redeclared with anÂ
implicit
explicit
 exception specification
-Wimplicit-fixed-point-conversion¶This diagnostic is enabled by default.
Diagnostic text:
warning: implicit conversion from A cannot fit within the range of values for B
-Wimplicit-function-declaration¶Some of the diagnostics controlled by this flag are enabled by default.
Diagnostic text:
warning: implicit declaration of function A is invalid in C99
warning: implicitly declaring library function âAâ with type B
error: use of unknown builtin A
warning: implicit declaration of function A
-Wimplicit-int¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â type specifier missing, defaults to âintâ
-Wimplicit-retain-self¶Diagnostic text:
warning:Â block implicitly retains âselfâ; explicitly mention âselfâ to indicate this is intended behavior
-Wimplicitly-unsigned-literal¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â integer literal is too large to be represented in a signed integer type, interpreting as unsigned
-Wimport¶This diagnostic flag exists for GCC compatibility, and has no effect in Clang.
-Winaccessible-base¶This diagnostic is enabled by default.
Diagnostic text:
warning: direct base A is inaccessible due to ambiguity:B
-Winclude-next-absolute-path¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â #include_next in file found relative to primary source file or found by absolute path; will search from start of include path
-Wincompatible-exception-spec¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â exception specifications ofÂ
return
argument
 types differ
warning:Â target exception specification is not superset of source
-Wincompatible-function-pointer-types¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â incompatible function pointer typesÂ
assigning to A from B
assigning to different types
passing A to parameter of type B
passing to parameter of different type
returning A from a function with result type B
returning from function with different return type
converting A to type B
converting between types
initializing A with an expression of type B
initializing with expression of different type
sending A to parameter of type B
sending to parameter of different type
casting A to type B
casting between types
; dereference with *
; take the address with &
; remove *
; remove &
-Wincompatible-ms-struct¶This diagnostic is an error by default, but the flag -Wno-incompatible-ms-struct
can be used to disable the error.
Diagnostic text:
error:Â ms_struct may not produce Microsoft-compatible layouts for classes with base classes or virtual functions
error:Â ms_struct may not produce Microsoft-compatible layouts with fundamental data types with sizes that arenât a power of two
-Wincompatible-pointer-types¶This diagnostic is enabled by default.
Also controls -Wincompatible-function-pointer-types, -Wincompatible-pointer-types-discards-qualifiers.
Diagnostic text:
warning:Â incompatible pointer typesÂ
assigning to A from B
assigning to different types
passing A to parameter of type B
passing to parameter of different type
returning A from a function with result type B
returning from function with different return type
converting A to type B
converting between types
initializing A with an expression of type B
initializing with expression of different type
sending A to parameter of type B
sending to parameter of different type
casting A to type B
casting between types
; dereference with *
; take the address with &
; remove *
; remove &
-Wincompatible-pointer-types-discards-qualifiers¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â
assigning to A from B
assigning to different types
passing A to parameter of type B
passing to parameter of different type
returning A from a function with result type B
returning from function with different return type
converting A to type B
converting between types
initializing A with an expression of type B
initializing with expression of different type
sending A to parameter of type B
sending to parameter of different type
casting A to type B
casting between types
 discards qualifiers in nested pointer types
warning:Â
assigning to A from B
assigning to different types
passing A to parameter of type B
passing to parameter of different type
returning A from a function with result type B
returning from function with different return type
converting A to type B
converting between types
initializing A with an expression of type B
initializing with expression of different type
sending A to parameter of type B
sending to parameter of different type
casting A to type B
casting between types
 discards qualifiers
warning:Â
reinterpret_cast
C-style cast
 from B to C changes address space of nested pointers
-Wincompatible-property-type¶This diagnostic is enabled by default.
Diagnostic text:
warning: property type A is incompatible with type B inherited from C
-Wincompatible-sysroot¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â using sysroot for âAâ but targeting âBâ
-Wincomplete-setjmp-declaration¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â declaration of built-in function âAâ requires the declaration of the âjmp_bufâ type, commonly provided in the header <setjmp.h>.
-Wincomplete-umbrella¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â missing submodule âAâ
warning:Â umbrella directory âAâ not found
warning:Â umbrella header for module âAâ does not include header âBâ
-Winconsistent-dllimport¶This diagnostic is enabled by default.
Diagnostic text:
warning: A redeclared without B attribute: previous B ignored
warning:Â AÂ redeclared without âdllimportâ attribute: âdllexportâ attribute added
-Winit-self¶This diagnostic flag exists for GCC compatibility, and has no effect in Clang.
-Winitializer-overrides¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â initializerÂ
partiallyÂ
overrides prior initialization of this subobject
warning:Â initializerÂ
partiallyÂ
overrides prior initialization of this subobject
-Winjected-class-name¶This diagnostic is enabled by default.
Diagnostic text:
warning: ISO C++ specifies that qualified reference to A is a constructor name rather than aÂ
template name
type
 in this context, despite precedingÂ
âtypenameâ
âtemplateâ
 keyword
-Winline¶This diagnostic flag exists for GCC compatibility, and has no effect in Clang.
-Winline-asm¶This diagnostic is enabled by default.
Diagnostic text:
The text of this diagnostic is not controlled by Clang.
-Winline-new-delete¶This diagnostic is enabled by default.
Diagnostic text:
warning: replacement function A cannot be declared âinlineâ
-Winstantiation-after-specialization¶This diagnostic is enabled by default.
Diagnostic text:
warning: explicit instantiation of A that occurs after an explicit specialization has no effect
-Wint-conversion¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â incompatible integer to pointer conversionÂ
assigning to A from B
assigning to different types
passing A to parameter of type B
passing to parameter of different type
returning A from a function with result type B
returning from function with different return type
converting A to type B
converting between types
initializing A with an expression of type B
initializing with expression of different type
sending A to parameter of type B
sending to parameter of different type
casting A to type B
casting between types
; dereference with *
; take the address with &
; remove *
; remove &
warning:Â incompatible pointer to integer conversionÂ
assigning to A from B
assigning to different types
passing A to parameter of type B
passing to parameter of different type
returning A from a function with result type B
returning from function with different return type
converting A to type B
converting between types
initializing A with an expression of type B
initializing with expression of different type
sending A to parameter of type B
sending to parameter of different type
casting A to type B
casting between types
; dereference with *
; take the address with &
; remove *
; remove &
-Wint-in-bool-context¶Diagnostic text:
warning:Â converting the enum constant to a boolean
warning:Â converting the result of â<<â to a boolean; did you mean â(A) != 0â?
-Winteger-overflow¶This diagnostic is enabled by default.
Diagnostic text:
warning: overflow in expression; result is A with type B
-Winterrupt-service-routine¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â interrupt service routine should only call a function with attribute âno_caller_saved_registersâ
-Winvalid-command-line-argument¶This diagnostic is enabled by default.
Also controls -Wignored-optimization-argument.
Diagnostic text:
warning: missing plugin argument for plugin A in B
warning: missing plugin name in A
warning: the given MCU supports A hardware multiply, but â-mhwmultâ is set to B
warning:Â no MCU device specified, but â-mhwmultâ is set to âautoâ, assuming no hardware multiply; use â-mmcuâ to specify an MSP430 device, or â-mhwmultâ to set the hardware multiply type explicitly
warning: the given MCU does not support hardware multiply, but â-mhwmultâ is set to A
warning:Â the object size sanitizer has no effect at -O0, but is explicitly enabled:Â A
warning:Â optimization level âAâ is not supported; using âBCâ instead
warning:Â ignoring extension âAâ because the âBâ architecture does not support it
-Winvalid-constexpr¶This diagnostic is an error by default, but the flag -Wno-invalid-constexpr
can be used to disable the error.
Diagnostic text:
error:Â
constexpr
consteval
Â
function
constructor
 never produces a constant expression
-Winvalid-iboutlet¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â
instance variable
property
 with A attribute must be an object type (invalid B)
warning:Â IBOutletCollection properties should be copy/strong and not assign
-Winvalid-ios-deployment-target¶This diagnostic is an error by default, but the flag -Wno-invalid-ios-deployment-target
can be used to disable the error.
Diagnostic text:
error:Â invalid iOS deployment version âAâ, iOS 10 is the maximum deployment target for 32-bit targets
-Winvalid-noreturn¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â function declared ânoreturnâ should not return
warning: function A declared ânoreturnâ should not return
-Winvalid-offsetof¶This diagnostic is enabled by default.
Diagnostic text:
warning: offset of on non-POD type A
warning: offset of on non-standard-layout type A
-Winvalid-or-nonexistent-directory¶Some of the diagnostics controlled by this flag are enabled by default.
Diagnostic text:
warning:Â environment variable SCE_ORBIS_SDK_DIR is set, but points to invalid or nonexistent directory âAâ
warning: unable to find A directory, expected to be in âBâ
-Winvalid-partial-specialization¶This diagnostic is an error by default, but the flag -Wno-invalid-partial-specialization
can be used to disable the error.
Diagnostic text:
error:Â
class
variable
 template partial specialization is not more specialized than the primary template
-Winvalid-pch¶This diagnostic flag exists for GCC compatibility, and has no effect in Clang.
-Winvalid-pp-token¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â empty character constant
warning:Â missing terminatingÂ
â
âââ
 character
-Winvalid-source-encoding¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â illegal character encoding in character literal
warning:Â illegal character encoding in string literal
-Winvalid-token-paste¶This diagnostic is an error by default, but the flag -Wno-invalid-token-paste
can be used to disable the error.
Diagnostic text:
error:Â pasting formed âAâ, an invalid preprocessing token
-Wjump-seh-finally¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â jump out of __finally block has undefined behavior
-Wkeyword-compat¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â keyword âAâ will be made available as an identifierÂ
here
for the remainder of the translation unit
-Wlarge-by-value-copy¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â AÂ is a large (BÂ bytes) pass-by-value argument; pass it by reference instead ?
warning: return value of A is a large (B bytes) pass-by-value object; pass it by reference instead ?
-Wliblto¶This diagnostic flag exists for GCC compatibility, and has no effect in Clang.
-Wlinker-warnings¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â linking module âAâ:Â B
-Wliteral-conversion¶This diagnostic is enabled by default.
Diagnostic text:
warning: implicit conversion from A to B changes value from C to D
warning: implicit conversion of out of range value from A to B is undefined
-Wliteral-range¶This diagnostic is enabled by default.
Diagnostic text:
warning: magnitude of floating-point constant too large for type A; maximum is B
warning: magnitude of floating-point constant too small for type A; minimum is B
-Wlogical-not-parentheses¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â logical not is only applied to the left hand side of thisÂ
comparison
bitwise operator
-Wmacro-redefined¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â AÂ macro redefined
-Wmain¶Some of the diagnostics controlled by this flag are enabled by default.
Diagnostic text:
warning:Â ISO C++ does not allow âmainâ to be used by a program
warning:Â âmainâ is not allowed to be declared _Noreturn
warning:Â âmainâ is not allowed to be declared variadic
warning:Â only one parameter on âmainâ declaration
warning:Â variable named âmainâ with external linkage has undefined behavior
warning:Â bool literal returned from âmainâ
warning:Â âmainâ should not be declared static
-Wmain-return-type¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â return type of âmainâ is not âintâ
-Wmalformed-warning-check¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â __has_warning expected option name (e.g. â-Wundefâ)
-Wmax-tokens¶Diagnostic text:
warning:Â the number of preprocessor source tokens (A) exceeds this token limit (B)
warning:Â the total number of preprocessor source tokens (A) exceeds the token limit (B)
The warning is issued if the number of pre-processor tokens exceeds the token limit, which can be set in three ways:
As a limit at a specific point in a file, using the clang max_tokens_here
pragma:
As a per-translation unit limit, using the -fmax-tokens=
command-line flag:
As a per-translation unit limit using the clang max_tokens_total
pragma, which works like and overrides the -fmax-tokens=
flag:
These limits can be helpful in limiting code growth through included files.
Setting a token limit of zero means no limit.
Note that the warning is disabled by default, so -Wmax-tokens must be used in addition with the pragmas or -fmax-tokens flag to get any warnings.
-Wmax-unsigned-zero¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â taking the max ofÂ
a value and unsigned zero
unsigned zero and a value
 is always equal to the other value
-Wmemset-transposed-args¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â
âsizeâ argument to memset is â0â
setting buffer to a âsizeofâ expression
; did you mean to transpose the last two arguments?
-Wmemsize-comparison¶This diagnostic is enabled by default.
Diagnostic text:
warning: size argument in A call is a comparison
-Wmethod-signatures¶Diagnostic text:
warning: conflicting parameter types in implementation of A: B vs C
warning: conflicting return type in implementation of A: B vs C
-Wmicrosoft¶Some of the diagnostics controlled by this flag are enabled by default.
Controls -Winconsistent-dllimport, -Wmicrosoft-abstract, -Wmicrosoft-anon-tag, -Wmicrosoft-cast, -Wmicrosoft-charize, -Wmicrosoft-comment-paste, -Wmicrosoft-const-init, -Wmicrosoft-cpp-macro, -Wmicrosoft-default-arg-redefinition, -Wmicrosoft-drectve-section, -Wmicrosoft-end-of-file, -Wmicrosoft-enum-forward-reference, -Wmicrosoft-enum-value, -Wmicrosoft-exception-spec, -Wmicrosoft-explicit-constructor-call, -Wmicrosoft-extra-qualification, -Wmicrosoft-fixed-enum, -Wmicrosoft-flexible-array, -Wmicrosoft-goto, -Wmicrosoft-include, -Wmicrosoft-mutable-reference, -Wmicrosoft-pure-definition, -Wmicrosoft-redeclare-static, -Wmicrosoft-sealed, -Wmicrosoft-static-assert, -Wmicrosoft-template, -Wmicrosoft-union-member-reference, -Wmicrosoft-unqualified-friend, -Wmicrosoft-using-decl, -Wmicrosoft-void-pseudo-dtor.
-Wmicrosoft-abstract¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â âabstractâ keyword is a Microsoft extension
-Wmicrosoft-anon-tag¶Some of the diagnostics controlled by this flag are enabled by default.
Diagnostic text:
warning:Â types declared in an anonymousÂ
struct
union
 are a Microsoft extension
warning:Â anonymousÂ
structs
unions
 are a Microsoft extension
-Wmicrosoft-cast¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â static_cast between pointer-to-function and pointer-to-object is a Microsoft extension
warning:Â implicit conversion between pointer-to-function and pointer-to-object is a Microsoft extension
-Wmicrosoft-const-init¶This diagnostic is enabled by default.
Diagnostic text:
warning: default initialization of an object of const type A
 without a user-provided default constructor
 is a Microsoft extension
-Wmicrosoft-drectve-section¶This diagnostic is enabled by default.
Diagnostic text:
warning: #pragma A(â.drectveâ) has undefined behavior, use #pragma comment(linker, â¦) instead
-Wmicrosoft-exception-spec¶Some of the diagnostics controlled by this flag are enabled by default.
Diagnostic text:
warning: exception specification of ââ¦â is a Microsoft extension
warning:Â
pointer toÂ
reference toÂ
incomplete type B is not allowed in exception specification
warning:Â exception specification in declaration does not match previous declaration
warning:Â exception specification in explicit instantiation does not match instantiated one
warning:Â exception specification of overriding function is more lax than base version
-Wmicrosoft-exists¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â dependentÂ
__if_not_exists
__if_exists
 declarations are ignored
-Wmicrosoft-fixed-enum¶Diagnostic text:
warning:Â enumeration types with a fixed underlying type are a Microsoft extension
-Wmicrosoft-flexible-array¶Diagnostic text:
warning: flexible array member A in otherwise emptyÂ
struct
interface
union
class
enum
 is a Microsoft extension
warning: flexible array member A in a union is a Microsoft extension
-Wmicrosoft-goto¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â jump from this goto statement to its label is a Microsoft extension
-Wmicrosoft-inaccessible-base¶This diagnostic is enabled by default.
Diagnostic text:
warning: accessing inaccessible direct base A of B is a Microsoft extension
-Wmicrosoft-include¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â #include resolved using non-portable Microsoft search rules as:Â A
-Wmicrosoft-mutable-reference¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â âmutableâ on a reference type is a Microsoft extension
-Wmicrosoft-pure-definition¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â function definition with pure-specifier is a Microsoft extension
-Wmicrosoft-sealed¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â âsealedâ keyword is a Microsoft extension
-Wmicrosoft-static-assert¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â use of âstatic_assertâ without inclusion of <assert.h> is a Microsoft extension
-Wmicrosoft-template¶This diagnostic is enabled by default.
Also controls -Wmicrosoft-template-shadow.
Diagnostic text:
warning: duplicate explicit instantiation of A ignored as a Microsoft extension
warning: use of member A found via unqualified lookup into dependent bases of class templates is a Microsoft extension
warning: use of member A before its declaration is a Microsoft extension
warning: using the undeclared type A as a default template argument is a Microsoft extension
warning:Â non-type template argument containing a dereference operation is a Microsoft extension
warning:Â
class template
class template partial
variable template
variable template partial
function template
member function
static data member
member class
member enumeration
 specialization of B not inÂ
a namespace enclosing C
class C or an enclosing namespace
 is a Microsoft extension
warning:Â template argument for template type parameter must be a type; omitted âtypenameâ is a Microsoft extension
warning:Â âstaticâ can only be specified inside the class definition
warning: use of undeclared identifier A; unqualified lookup into dependent bases of class template B is a Microsoft extension
-Wmicrosoft-unqualified-friend¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â unqualified friend declaration referring to type outside of the nearest enclosing namespace is a Microsoft extension; add a nested name specifier
-Wmicrosoft-using-decl¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â using declaration referring to inaccessible member âAâ (which refers to accessible member âBâ) is a Microsoft compatibility extension
-Wmicrosoft-void-pseudo-dtor¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â pseudo-destructors on type void are a Microsoft extension
-Wmisleading-indentation¶Diagnostic text:
warning:Â misleading indentation; statement is not part of the previous â
if
else
for
while
â
-Wmismatched-new-delete¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â âdelete
[]
â applied to a pointer that was allocated with ânew
[]
â; did you mean âdelete
[]
â?
-Wmismatched-parameter-types¶This diagnostic is enabled by default.
Diagnostic text:
warning: conflicting parameter types in implementation of A
: B vs C
-Wmismatched-return-types¶This diagnostic is enabled by default.
Diagnostic text:
warning: conflicting return type in implementation of A
: B vs C
-Wmissing-braces¶Diagnostic text:
warning:Â suggest braces around initialization of subobject
-Wmissing-constinit¶This diagnostic is enabled by default.
Diagnostic text:
warning: âconstinitâ specifier missing on initializing declaration of A
-Wmissing-declarations¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â declaration does not declare anything
warning:Â âAâ is not permitted on a declaration of a type
warning:Â typedef requires a name
warning:Â âAâ ignored on this declaration
-Wmissing-exception-spec¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â AÂ is missing exception specification âBâ
-Wmissing-noescape¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â parameter of overriding method should be annotated with __attribute__((noescape))
-Wmissing-noreturn¶Diagnostic text:
warning:Â block could be declared with attribute ânoreturnâ
warning:Â
function
method
 B could be declared with attribute ânoreturnâ
-Wmissing-prototype-for-cc¶This diagnostic is enabled by default.
Diagnostic text:
warning: function with no prototype cannot use the A calling convention
-Wmissing-selector-name¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â AÂ used as the name of the previous parameter rather than as part of the selector
-Wmissing-sysroot¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â no such sysroot directory: âAâ
-Wmisspelled-assumption¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â unknown assumption string âAâ may be misspelled; attribute is potentially ignored, did you mean âBâ?
-Rmodule-build¶Diagnostic text:
 building module âAâ as âBâ
 finished building module âAâ
 could not acquire lock file for module âAâ: B
 timed out waiting to acquire lock file for module âAâ
-Wmodule-conflict¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â module âAâ conflicts with already-imported module âBâ:Â C
warning:Â module file âAâ was validated as a system module and is now being imported as a non-system module; any difference in diagnostic options will be ignored
-Wmodule-file-config-mismatch¶This diagnostic is an error by default, but the flag -Wno-module-file-config-mismatch
can be used to disable the error.
Diagnostic text:
error: module file A cannot be loaded due to a configuration mismatch with the current compilation
-Wmodule-file-extension¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â duplicate module file extension block name âAâ
-Rmodule-import¶Diagnostic text:
 importing module âAâ
 into âDâ
 from âBâ
-Wmodule-import-in-extern-c¶This diagnostic is an error by default, but the flag -Wno-module-import-in-extern-c
can be used to disable the error.
Diagnostic text:
error:Â import of C++ module âAâ appears within extern âCâ language linkage specification
-Wmodules-import-nested-redundant¶This diagnostic is an error by default, but the flag -Wno-modules-import-nested-redundant
can be used to disable the error.
Diagnostic text:
error: redundant #include of module âAâ appears within B
-Wmost¶Some of the diagnostics controlled by this flag are enabled by default.
Controls -Wbool-operation, -Wcast-of-sel-type, -Wchar-subscripts, -Wcomment, -Wdelete-non-virtual-dtor, -Wextern-c-compat, -Wfor-loop-analysis, -Wformat, -Wframe-address, -Wimplicit, -Winfinite-recursion, -Wint-in-bool-context, -Wmismatched-tags, -Wmissing-braces, -Wmove, -Wmultichar, -Wobjc-designated-initializers, -Wobjc-flexible-array, -Wobjc-missing-super-calls, -Woverloaded-virtual, -Wprivate-extern, -Wrange-loop-construct, -Wreorder, -Wreturn-type, -Wself-assign, -Wself-move, -Wsizeof-array-argument, -Wsizeof-array-decay, -Wstring-plus-int, -Wtautological-compare, -Wtrigraphs, -Wuninitialized, -Wunknown-pragmas, -Wunused, -Wuser-defined-warnings, -Wvolatile-register-var.
-Wmsvc-not-found¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â unable to find a Visual Studio installation; try running Clang from a developer command prompt
-Wmultichar¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â multi-character character constant
-Wmultiple-move-vbase¶This diagnostic is enabled by default.
Diagnostic text:
warning: defaulted move assignment operator of A will move assign virtual base class B multiple times
-Wnested-anon-types¶Diagnostic text:
warning:Â anonymous types declared in an anonymousÂ
struct
union
 are an extension
-Wnested-externs¶This diagnostic flag exists for GCC compatibility, and has no effect in Clang.
-Wnew-returns-null¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â AÂ should not return a null pointer unless it is declared âthrow()â
 or ânoexceptâ
-Wnewline-eof¶Diagnostic text:
warning:Â no newline at end of file
warning:Â no newline at end of file
-Wnoderef¶This diagnostic is enabled by default.
Diagnostic text:
warning: dereferencing A; was declared with a ânoderefâ type
warning:Â dereferencing expression marked as ânoderefâ
warning:Â casting to dereferenceable pointer removes ânoderefâ attribute
-Wnon-c-typedef-for-linkage¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â anonymous non-C-compatible type given name for linkage purposes byÂ
typedef
alias
 declaration; add a tag name here
-Wnon-literal-null-conversion¶This diagnostic is enabled by default.
Diagnostic text:
warning: expression which evaluates to zero treated as a null pointer constant of type A
-Wnon-pod-varargs¶This diagnostic is an error by default, but the flag -Wno-non-pod-varargs
can be used to disable the error.
Diagnostic text:
error:Â cannot pass object ofÂ
non-POD
non-trivial
 type B through variadicÂ
function
block
method
constructor
; call will abort at runtime
error:Â cannot passÂ
non-POD
non-trivial
 object of type B to variadicÂ
function
block
method
constructor
; expected type from format string was D
error: second argument to âva_argâ is of non-POD type A
error: second argument to âva_argâ is of ARC ownership-qualified type A
-Wnonnull¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â null passed to a callee that requires a non-null argument
warning:Â null returned fromÂ
function
method
 that requires a non-null return value
-Wnonportable-include-path¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â non-portable path to file âAâ; specified path differs in case from file name on disk
-Wnontrivial-memaccess¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â
destination for
source of
first operand of
second operand of
 this B call is a pointer to record C that is not trivial toÂ
primitive-default-initialize
primitive-copy
-Wnsconsumed-mismatch¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â overriding method has mismatched ns_consumed attribute on its parameter
-Wnsreturns-mismatch¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â overriding method has mismatched ns_returns_
not_retained
retained
 attributes
-Wnull-arithmetic¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â use of NULL in arithmetic operation
warning:Â comparison between NULL and non-pointerÂ
(BÂ and NULL)
(NULL and B)
-Wnull-character¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â null character(s) preserved inÂ
char
string
 literal
warning:Â null character ignored
-Wnull-conversion¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â implicit conversion ofÂ
NULL
nullptr
 constant to B
-Wnull-dereference¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â binding dereferenced null pointer to reference has undefined behavior
warning:Â indirection of non-volatile null pointer will be deleted, not trap
-Wnull-pointer-arithmetic¶Diagnostic text:
warning:Â arithmetic on a null pointer treated as a cast from integer to pointer is a GNU extension
warning:Â performing pointer arithmetic on a null pointer has undefined behavior
 if the offset is nonzero
-Wnull-pointer-subtraction¶Diagnostic text:
warning:Â performing pointer subtraction with a null pointerÂ
has
may have
 undefined behavior
-Wnullability¶This diagnostic is enabled by default.
Diagnostic text:
warning: conflicting nullability specifier on parameter types, A conflicts with existing specifier B
warning: conflicting nullability specifier on return types, A conflicts with existing specifier B
warning: nullability specifier A conflicts with existing specifier B
warning: synthesized setter A for null_resettable property B does not handle nil
warning: duplicate nullability specifier A
-Wnullability-completeness-on-arrays¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â array parameter is missing a nullability type specifier (_Nonnull, _Nullable, or _Null_unspecified)
-Wnullability-declspec¶This diagnostic is an error by default, but the flag -Wno-nullability-declspec
can be used to disable the error.
Diagnostic text:
error: nullability specifier A cannot be applied to non-pointer type B; did you mean to apply the specifier to theÂ
pointer
block pointer
member pointer
function pointer
member function pointer
?
-Wobjc-bool-constant-conversion¶This diagnostic is enabled by default.
Diagnostic text:
warning: implicit conversion from constant value A to âBOOLâ; the only well defined values for âBOOLâ are YES and NO
-Wobjc-boxing¶This diagnostic is enabled by default.
Diagnostic text:
warning: string is ill-formed as UTF-8 and will become a null A when boxed
-Wobjc-circular-container¶This diagnostic is enabled by default.
Diagnostic text:
warning: adding A to B might cause circular dependency in container
-Wobjc-designated-initializers¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â designated initializer missing a âsuperâ call to a designated initializer of the super class
warning:Â designated initializer invoked a non-designated initializer
warning:Â designated initializer should only invoke a designated initializer on âsuperâ
warning: method override for the designated initializer of the superclass A not found
warning:Â convenience initializer missing a âselfâ call to another initializer
warning:Â convenience initializer should not invoke an initializer on âsuperâ
-Wobjc-flexible-array¶This diagnostic is enabled by default.
Diagnostic text:
warning: field A can overwrite instance variable B with variable sized type C in superclass D
warning: field A with variable sized type B is not visible to subclasses and can conflict with their instance variables
-Wobjc-forward-class-redefinition¶This diagnostic is enabled by default.
Diagnostic text:
warning: redefinition of forward class A of a typedef name of an object type is ignored
-Wobjc-literal-compare¶This diagnostic is enabled by default.
Also controls -Wobjc-string-compare.
Diagnostic text:
warning:Â direct comparison ofÂ
an array literal
a dictionary literal
a numeric literal
a boxed expression
 has undefined behavior
-Wobjc-literal-conversion¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â implicit boolean conversion of Objective-C object literal always evaluates to true
warning: object of type A is not compatible withÂ
array element type
dictionary key type
dictionary value type
 C
-Wobjc-macro-redefinition¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â ignoring redefinition of Objective-C qualifier macro
-Wobjc-method-access¶This diagnostic is enabled by default.
Diagnostic text:
warning: class method A not found (return type defaults to âidâ)
warning: class method A not found (return type defaults to âidâ); did you mean C?
warning: instance method A not found (return type defaults to âidâ)
warning: instance method A not found (return type defaults to âidâ); did you mean C?
warning: instance method A found instead of class method B
warning: instance method A is being used on âClassâ which is not in the root class
-Wobjc-nonunified-exceptions¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â cannot catch an exception thrown with @throw in C++ in the non-unified exception model
-Wobjc-property-implementation¶This diagnostic is enabled by default.
Diagnostic text:
warning: class property A requires method B to be defined - use @dynamic or provide a method implementation in this class implementation
warning: class property A requires method B to be defined - use @dynamic or provide a method implementation in this category
warning: property A requires method B to be defined - use @synthesize, @dynamic or provide a method implementation in this class implementation
warning: property A requires method B to be defined - use @dynamic or provide a method implementation in this category
-Wobjc-property-implicit-mismatch¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â primary property declaration is implicitly strong while redeclaration in class extension is weak
-Wobjc-property-no-attribute¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â default property attribute âassignâ not appropriate for object
warning:Â no âassignâ, âretainâ, or âcopyâ attribute is specified - âassignâ is assumed
-Wobjc-property-synthesis¶This diagnostic is enabled by default.
Diagnostic text:
warning: auto property synthesis will not synthesize property A; it will be implemented by its superclass, use @dynamic to acknowledge intention
warning: auto property synthesis will not synthesize property A because it is âreadwriteâ but it will be synthesized âreadonlyâ via another property
warning: auto property synthesis will not synthesize property A because it cannot share an ivar with another synthesized property
-Wobjc-protocol-property-synthesis¶This diagnostic is enabled by default.
Diagnostic text:
warning: auto property synthesis will not synthesize property A declared in protocol B
-Wobjc-protocol-qualifiers¶This diagnostic is enabled by default.
Diagnostic text:
warning: parameterized class A already conforms to the protocols listed; did you forget a â*â?
-Wobjc-root-class¶This diagnostic is enabled by default.
Diagnostic text:
warning: class A defined without specifying a base class
-Wobjc-string-compare¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â direct comparison of a string literal has undefined behavior
-Wobjc-string-concatenation¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â concatenated NSString literal for an NSArray expression - possibly missing a comma
-Wobjc-unsafe-perform-selector¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â AÂ is incompatible with selectors that return aÂ
struct
union
vector
 type
-Wodr¶This diagnostic is enabled by default.
Diagnostic text:
warning: template parameter lists have a different number of parameters (A vs B)
warning:Â template parameter has different kinds in different translation units
warning: field A declared with incompatible types in different translation units (B vs. C)
warning: external function A declared with incompatible types in different translation units (B vs. C)
warning: instance variable A declared with incompatible types in different translation units (B vs. C)
warning: non-type template parameter declared with incompatible types in different translation units (A vs. B)
warning:Â
class
instance
 method B has a different number of parameters in different translation units (C vs. D)
warning:Â
class
instance
 method B has a parameter with a different types in different translation units (C vs. D)
warning:Â
class
instance
 method B has incompatible result types in different translation units (C vs. D)
warning:Â
class
instance
 method B is variadic in one translation unit and not variadic in another
warning: property A is implemented withÂ
@synthesize
@dynamic
 in one translation butÂ
@dynamic
@synthesize
 in another translation unit
warning: property A declared with incompatible types in different translation units (B vs. C)
warning: class A has incompatible superclasses
warning: property A is synthesized to different ivars in different translation units (B vs. C)
warning:Â parameter kind mismatch; parameter isÂ
not a
a
 parameter pack
warning: type A has incompatible definitions in different translation units
warning: external variable A defined in multiple translation units
warning: external variable A declared with incompatible types in different translation units (B vs. C)
-Wopencl-unsupported-rgba¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â vector component name âAâ is a feature from OpenCL version 3.0 onwards
-Wopenmp-51-extensions¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â specifying OpenMP directives with [[]] is an OpenMP 5.1 extension
-Wopenmp-clauses¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â aligned clause will be ignored because the requested alignment is not a power of 2
warning:Â allocator with the âthreadâ trait access has unspecified behavior on âAâ directive
warning:Â the context property âAâ is not valid for the context selector âBâ and the context set âCâ; property ignored
warning:Â the context selector âAâ in the context set âBâ cannot have a score (âCâ); score ignored
warning:Â the context selector âAâ is not valid for the context set âBâ; selector ignored
warning:Â the context selector âAâ in context set âBâ requires a context property defined in parentheses; selector ignored
warning:Â the contextÂ
set
selector
property
 âBâ was used already in the same âomp declare variantâ directive;Â
set
selector
property
 ignored
warning:Â âAâ is not a valid context property for the context selector âBâ and the context set âCâ; property ignored
warning:Â âAâ is not a valid context selector for the context set âBâ; selector ignored
warning:Â âAâ is not a valid context set in a `declare variant`; set ignored
warning: expected âAâ after the B; âAâ assumed
warning:Â expected identifier or string literal describing a contextÂ
set
selector
property
;Â
set
selector
property
 skipped
warning:Â zero linear step (AÂ
and other variables in clauseÂ
should probably be const)
warning:Â more than one âdevice_typeâ clause is specified
warning:Â interop type âAâ cannot be specified more than once
warning: valid A clauses start with B;Â
token
tokens
 will be ignored
warning:Â AÂ clause should not be followed by arguments; tokens will be ignored
warning:Â allocate directive specifiesÂ
default
âBâ
 allocator while previously usedÂ
default
âDâ
-Wopenmp-loop-form¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â initialization clause of OpenMP for loop is not in canonical form (âvar = initâ or âT var = initâ)
warning:Â OpenMP loop iteration variable cannot have more than 64 bits size and will be narrowed
-Wopenmp-mapping¶This diagnostic is enabled by default.
Diagnostic text:
warning: Type A is not trivially copyable and not guaranteed to be mapped correctly
-Wopenmp-target¶This diagnostic is enabled by default.
Also controls -Wopenmp-mapping.
Diagnostic text:
warning:Â OpenMP offloading target âAâ is similar to target âBâ already specified; will be ignored
warning:Â declaration marked as declare target after first use, it may lead to incorrect results
warning:Â declaration is not declared in any declare target region
-Woption-ignored¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â option â-ffine-grained-bitfield-accessesâ cannot be enabled together with a sanitizer; flag ignored
warning:Â âAâ does not support â-Bâ; flag ignored
warning:Â âAâ does not support â-moutlineâ; flag ignored
warning:Â AÂ requires HVX, use -mhvx/-mhvx= to enable it
warning:Â option âAâ was ignored by the PS4 toolchain, using â-fPICâ
warning:Â ignoring â-mlong-callsâ option as it is not currently supported withÂ
the implicit usage ofÂ
-mabicalls
warning:Â ignoring âAâ option as it is not currently supported for offload arch âBâ. Use it with an offload arch containing âCâ instead
warning:Â ignoring âAâ option as it is not currently supported for target âBâ
warning:Â ignoring âAâ option as it cannot be used withÂ
implicit usage of
 -mabicalls and the N64 ABI
warning:Â ignoring â-msmall-data-limit=â with -mcmodel=large for -fpic or RV64
-Wordered-compare-function-pointers¶This diagnostic is enabled by default.
Diagnostic text:
warning: ordered comparison of function pointers (A and B)
warning: ordered comparison of function pointers (A and B)
-Wout-of-line-declaration¶This diagnostic is an error by default, but the flag -Wno-out-of-line-declaration
can be used to disable the error.
Diagnostic text:
error:Â out-of-line declaration of a member must be a definition
-Wout-of-scope-function¶This diagnostic is enabled by default.
Diagnostic text:
warning: use of out-of-scope declaration of A
 whose type is not compatible with that of an implicit declaration
-Wover-aligned¶Diagnostic text:
warning: type A requires B bytes of alignment and the default allocator only guarantees C bytes
-Woverflow¶This diagnostic flag exists for GCC compatibility, and has no effect in Clang.
-Woverlength-strings¶Diagnostic text:
warning: string literal of length A exceeds maximum length B thatÂ
C90
ISO C99
C++
 compilers are required to support
-Woverloaded-shift-op-parentheses¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â overloaded operatorÂ
>>
<<
 has higher precedence than comparison operator
-Woverride-module¶This diagnostic is enabled by default.
Diagnostic text:
warning: overriding the module target triple with A
-Woverriding-method-mismatch¶Diagnostic text:
warning: conflicting distributed object modifiers on parameter type in declaration of A
warning: conflicting parameter types in declaration of A
: B vs C
warning: conflicting distributed object modifiers on return type in declaration of A
warning: conflicting return type in declaration of A
: B vs C
warning:Â conflicting variadic declaration of method and its implementation
warning: conflicting parameter types in declaration of A: B vs C
warning: conflicting return type in declaration of A: B vs C
-Woverriding-t-option¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â overriding âAâ option with âBâ
-Wpacked¶Diagnostic text:
warning: packed attribute is unnecessary for A
-Wpadded¶Diagnostic text:
warning:Â paddingÂ
struct
interface
class
 B with CÂ
byte
bit
s
 to align anonymous bit-field
warning:Â paddingÂ
struct
interface
class
 B with CÂ
byte
bit
s
 to align E
warning: padding size of A with BÂ
byte
bit
s
 to alignment boundary
-Wparentheses-equality¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â equality comparison with extraneous parentheses
-Rpass¶Diagnostic text:
The text of this diagnostic is not controlled by Clang.
-Rpass-analysis¶Diagnostic text:
The text of this diagnostic is not controlled by Clang.
 A; allow reordering by specifying â#pragma clang loop vectorize(enable)â before the loop. If the arrays will always be independent specify â#pragma clang loop vectorize(assume_safety)â before the loop or provide the â__restrict__â qualifier with the independent array arguments. Erroneous results will occur if these options are incorrectly applied!
 A; allow reordering by specifying â#pragma clang loop vectorize(enable)â before the loop or by providing the compiler option â-ffast-mathâ.
-Wpass-failed¶This diagnostic is enabled by default.
Diagnostic text:
The text of this diagnostic is not controlled by Clang.
-Rpass-missed¶Diagnostic text:
The text of this diagnostic is not controlled by Clang.
-Wpch-date-time¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â
precompiled header
module
 uses __DATE__ or __TIME__
-Wpedantic¶Also controls -Wbit-int-extension, -Wc++11-extra-semi, -Wc++11-long-long, -Wc++14-attribute-extensions, -Wc++14-binary-literal, -Wc++17-attribute-extensions, -Wc++20-attribute-extensions, -Wc++20-designator, -Wc11-extensions, -Wcomplex-component-init, -Wdelimited-escape-sequence-extension, -Wdollar-in-identifier-extension, -Wembedded-directive, -Wempty-translation-unit, -Wfixed-enum-extension, -Wflexible-array-extensions, -Wfuture-attribute-extensions, -Wgnu-anonymous-struct, -Wgnu-auto-type, -Wgnu-binary-literal, -Wgnu-case-range, -Wgnu-complex-integer, -Wgnu-compound-literal-initializer, -Wgnu-conditional-omitted-operand, -Wgnu-empty-initializer, -Wgnu-empty-struct, -Wgnu-flexible-array-initializer, -Wgnu-flexible-array-union-member, -Wgnu-imaginary-constant, -Wgnu-include-next, -Wgnu-label-as-value, -Wgnu-redeclared-enum, -Wgnu-statement-expression, -Wgnu-union-cast, -Wgnu-zero-line-directive, -Wgnu-zero-variadic-macro-arguments, -Wimport-preprocessor-directive-pedantic, -Wkeyword-macro, -Wlanguage-extension-token, -Wlong-long, -Wmicrosoft-charize, -Wmicrosoft-comment-paste, -Wmicrosoft-cpp-macro, -Wmicrosoft-end-of-file, -Wmicrosoft-enum-value, -Wmicrosoft-fixed-enum, -Wmicrosoft-flexible-array, -Wmicrosoft-redeclare-static, -Wnested-anon-types, -Wnullability-extension, -Woverlength-strings, -Wretained-language-linkage, -Wundefined-internal-type, -Wvla-extension, -Wzero-length-array.
Diagnostic text:
warning:Â expression is not anÂ
integer
integral
 constant expression; folding it to a constant is a GNU extension
warning:Â designated initializers are a C99 feature
warning:Â ISO C++ does not allow âmainâ to be used by a program
warning: C++98 requires an accessible copy constructor for class C when binding a reference to a temporary; wasÂ
private
protected
warning:Â anonymousÂ
struct
union
 cannot be âBâ
warning:Â ISO C++ requires the name after â::~â to be found in the same scope as the name before â::~â
warning:Â ISO C++ considers this destructor name lookup to be ambiguous
warning:Â no viable constructorÂ
copying variable
copying parameter
initializing template parameter
returning object
initializing statement expression result
throwing object
copying member subobject
copying array element
allocating object
copying temporary
initializing base subobject
initializing vector element
capturing value
 of type B; C++98 requires a copy constructor when binding a reference to a temporary
warning: ISO C++ standards before C++17 do not allow new expression for type A to use list-initialization
warning: parameter A was not declared, defaulting to type âintâ
warning:Â invoking a pointer to a âconst &â member function on an rvalue is a C++20 extension
warning: qualifier in explicit instantiation of A requires a template-id (a typedef is not permitted)
warning:Â staticÂ
function
variable
 B is used in an inline function with external linkage
warning:Â ISO C forbids forward references to âenumâ types
warning:Â ISO C restricts enumerator values to range of âintâ (AÂ is tooÂ
small
large
)
warning:Â initializer for aggregate is not a compile-time constant
warning:Â flexible array members are a C99 feature
warning:Â invalid application of âAâ to a function type
warning:Â invalid application of âAâ to a void type
warning:Â ISO C90 does not allow subscripting non-lvalue array
warning:Â subscript of a pointer to void is a GNU extension
warning:Â ISO C forbids taking the address of an expression of type âvoidâ
warning: ordered comparison between pointer and zero (A and B) is an extension
warning: equality comparison between function pointer and void pointer (A and B)
warning:Â arithmetic on
 a
 pointer
s
 to void is a GNU extension
warning:Â arithmetic on
 a
 pointer
s
 to
 the
 function type
s
 B
 and D
 is a GNU extension
warning: ISO C does not support â++â/âââ on complex integer type A
warning: ISO C does not support â~â for complex conjugation of A
warning:Â complex numbers are an extension in a freestanding C99 implementation
warning:Â cast between pointer-to-function and pointer-to-object is an extension
warning: implicit conversion from array size expression of type A toÂ
integral
enumeration
 type C is a C++11 extension
warning:Â
assigning to A from B
assigning to different types
passing A to parameter of type B
passing to parameter of different type
returning A from a function with result type B
returning from function with different return type
converting A to type B
converting between types
initializing A with an expression of type B
initializing with expression of different type
sending A to parameter of type B
sending to parameter of different type
casting A to type B
casting between types
 converts between void pointer and function pointer
warning: kernel function A is a member function; this may not be accepted by nvcc
warning:Â C99 forbids conditional expressions with only one void side
warning: C99 forbids casting nonscalar type A to the same type
warning:Â in-class initializer for static data member is not a constant expression; folding it to a constant is a GNU extension
warning:Â types declared in an anonymousÂ
struct
union
 are a Microsoft extension
warning: format specifies type A but the argument hasÂ
type
underlying type
 B
warning:Â voidÂ
function
method
block
 A should not return void expression
warning:Â mixing declarations and code is a C99 extension
warning:Â
qualifier inÂ
staticÂ
array sizeÂ
â[*] â
is a C99 feature
warning:Â Clang permits use of type âdoubleâ regardless pragma if âcl_khr_fp64â is supported
warning: extra â;âÂ
outside of a function
inside a B
inside instance variable list
after member function definition
warning:Â â__threadâ before âAâ
warning:Â type-less parameter names in function declaration
warning:Â variable declaration in for loop is a C99-specific feature
warning:Â compound literals are a C99-specific feature
warning:Â commas at the end of enumerator lists are a C99-specific feature
warning:Â commas at the end of enumerator lists are a C++11 extension
warning:Â enumeration types with a fixed underlying type are a C++11 extension
warning:Â âAâ is a C99 extension
warning:Â use of GNU array range extension
warning: exception specification of ââ¦â is a Microsoft extension
warning:Â attributes onÂ
a namespace
an enumerator
 declaration are a C++17 extension
warning:Â extern templates are a C++11 extension
warning:Â multi-line // comment
warning:Â // comments are not allowed in this language
warning:Â no newline at end of file
warning:Â use of non-standard escape character â\Aâ
warning:Â hexadecimal floating constants are a C99 feature
warning:Â hexadecimal floating literals are a C++17 feature
warning:Â #ident is a language extension
warning:Â #warning is a language extension
warning:Â comma operator in operand of #if
warning:Â __VA_ARGS__ can only appear in the expansion of a C99 variadic macro
warning:Â variadic macros are a C99 feature
warning:Â named variadic macros are a GNU extension
warning:Â empty macro arguments are a C99 feature
warning:Â variadic macros are a Clang extension in OpenCL
warning: C requires #line number to be less than A, allowed as extension
warning:Â macro expansion producing âdefinedâ has undefined behavior
warning:Â duplicate âAâ declaration specifier
warning:Â âenable_ifâ is a clang extension
warning:Â âdiagnose_ifâ is a clang extension
-Wpedantic-core-features¶Diagnostic text:
warning:Â AÂ is a core feature inÂ
OpenCL C
C++ for OpenCL
 version C but not supported on this target
warning: OpenCL extension A is core feature or supported optional core feature - ignoring
-Wpessimizing-move¶Diagnostic text:
warning:Â moving a temporary object prevents copy elision
warning:Â moving a local object in a return statement prevents copy elision
-Wpointer-arith¶Some of the diagnostics controlled by this flag are enabled by default.
Diagnostic text:
warning:Â arithmetic on
 a
 pointer
s
 to
 the
 function type
s
 B
 and D
 is a GNU extension
warning:Â subscript of a pointer to void is a GNU extension
warning:Â arithmetic on
 a
 pointer
s
 to void is a GNU extension
warning:Â invalid application of âAâ to a function type
warning:Â invalid application of âAâ to a void type
warning: subtraction of pointers to type A of zero size has undefined behavior
-Wpointer-bool-conversion¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â nonnullÂ
function call
parameter
 âBâ will evaluate to âtrueâ on first encounter
warning:Â address of
 function
 array
 âBâ will always evaluate to âtrueâ
-Wpointer-compare¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â comparing a pointer to a null character constant; did you mean to compare toÂ
NULL
(void *)0
?
-Wpointer-integer-compare¶This diagnostic is enabled by default.
Diagnostic text:
warning: comparison between pointer and integer (A and B)
-Wpointer-sign¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â
assigning to A from B
assigning to different types
passing A to parameter of type B
passing to parameter of different type
returning A from a function with result type B
returning from function with different return type
converting A to type B
converting between types
initializing A with an expression of type B
initializing with expression of different type
sending A to parameter of type B
sending to parameter of different type
casting A to type B
casting between types
 converts between pointers to integer typesÂ
with different sign
where one is of the unique plain âcharâ type and the other is not
-Wpointer-type-mismatch¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â pointer type mismatch
 (A and B)
-Wpotentially-direct-selector¶This diagnostic is enabled by default.
Diagnostic text:
warning: @selector expression formed with potentially direct selector A
-Wpotentially-evaluated-expression¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â expression with side effects will be evaluated despite being used as an operand to âtypeidâ
-Wpragma-clang-attribute¶This diagnostic is enabled by default.
Diagnostic text:
warning: unused attribute A in â#pragma clang attribute pushâ region
-Wpragma-pack¶Some of the diagnostics controlled by this flag are enabled by default.
Also controls -Wpragma-pack-suspicious-include.
Diagnostic text:
warning:Â the current #pragma pack alignment value is modified in the included file
warning: unterminated â#pragma pack (push, â¦)â at end of file
-Wpre-c++14-compat¶Diagnostic text:
warning:Â use of this statement in a constexprÂ
function
constructor
 is incompatible with C++ standards before C++14
warning:Â multiple return statements in constexpr function is incompatible with C++ standards before C++14
warning:Â constexpr function with no return statements is incompatible with C++ standards before C++14
warning:Â variable declaration in a constexprÂ
function
constructor
 is incompatible with C++ standards before C++14
warning:Â type definition in a constexprÂ
function
constructor
 is incompatible with C++ standards before C++14
warning:Â âdecltype(auto)â type specifier is incompatible with C++ standards before C++14
warning:Â return type deduction is incompatible with C++ standards before C++14
warning:Â digit separators are incompatible with C++ standards before C++14
warning:Â generic lambdas are incompatible with C++11
warning:Â initialized lambda captures are incompatible with C++ standards before C++14
warning:Â variable templates are incompatible with C++ standards before C++14
-Wpre-c++17-compat¶Diagnostic text:
warning:Â class template argument deduction is incompatible with C++ standards before C++17
; for compatibility, use explicit type name B
warning:Â constexpr if is incompatible with C++ standards before C++17
warning:Â constexpr on lambda expressions is incompatible with C++ standards before C++17
warning:Â decomposition declarations are incompatible with C++ standards before C++17
warning:Â pack fold expression is incompatible with C++ standards before C++17
warning:Â
if
switch
 initialization statements are incompatible with C++ standards before C++17
warning:Â inline variables are incompatible with C++ standards before C++17
warning:Â nested namespace definition is incompatible with C++ standards before C++17
warning:Â by value capture of â*thisâ is incompatible with C++ standards before C++17
warning:Â âstatic_assertâ with no message is incompatible with C++ standards before C++17
warning: non-type template parameters declared with A are incompatible with C++ standards before C++17
warning:Â template template parameter using âtypenameâ is incompatible with C++ standards before C++17
warning:Â unicode literals are incompatible with C++ standards before C++17
warning:Â default scope specifier for attributes is incompatible with C++ standards before C++17
warning:Â use of multiple declarators in a single using declaration is incompatible with C++ standards before C++17
warning:Â pack expansion using declaration is incompatible with C++ standards before C++17
warning: âbeginâ and âendâ returning different types (A and B) is incompatible with C++ standards before C++17
-Wpre-c++17-compat-pedantic¶Also controls -Wpre-c++17-compat.
Diagnostic text:
warning:Â attributes onÂ
a namespace
an enumerator
 declaration are incompatible with C++ standards before C++17
warning:Â hexadecimal floating literals are incompatible with C++ standards before C++17
-Wpre-c++20-compat¶Diagnostic text:
warning:Â use of function template name with no prior function template declaration in function call with explicit template arguments is incompatible with C++ standards before C++20
warning:Â default member initializer for bit-field is incompatible with C++ standards before C++20
warning:Â use of this statement in a constexprÂ
function
constructor
 is incompatible with C++ standards before C++20
warning:Â constexpr constructor that does not initialize all members is incompatible with C++ standards before C++20
warning:Â function try block in constexprÂ
function
constructor
 is incompatible with C++ standards before C++20
warning:Â uninitialized variable in a constexprÂ
function
constructor
 is incompatible with C++ standards before C++20
warning:Â constexpr union constructor that does not initialize any member is incompatible with C++ standards before C++20
warning:Â virtual constexpr functions are incompatible with C++ standards before C++20
warning:Â decomposition declaration declaredÂ
âBâ
with âBâ specifiers
 is incompatible with C++ standards before C++20
warning:Â defaulted comparison operators are incompatible with C++ standards before C++20
warning:Â explicitly defaulting thisÂ
default constructor
copy constructor
move constructor
copy assignment operator
move assignment operator
destructor
 with a type different from the implicit type is incompatible with C++ standards before C++20
warning:Â explicit capture of âthisâ with a capture default of â=â is incompatible with C++ standards before C++20
warning:Â explicit(bool) is incompatible with C++ standards before C++20
warning:Â range-based for loop initialization statements are incompatible with C++ standards before C++20
warning:Â initialized lambda capture packs are incompatible with C++ standards before C++20
warning:Â inline nested namespace definition is incompatible with C++ standards before C++20
warning:Â
default construction
assignment
 of lambda is incompatible with C++ standards before C++20
warning:Â explicit template parameter list for lambdas is incompatible with C++ standards before C++20
warning: passing no argument for the ââ¦â parameter of a variadic macro is incompatible with C++ standards before C++20
warning:Â â<=>â operator is incompatible with C++ standards before C++20
warning: non-type template parameter of type A is incompatible with C++ standards before C++20
warning:Â âchar8_tâ type specifier is incompatible with C++ standards before C++20
warning:Â member using declaration naming a non-member enumerator is incompatible with C++ standards before C++20
warning:Â member using declaration naming non-class âAâ enumerator is incompatible with C++ standards before C++20
warning:Â using declaration naming a scoped enumerator is incompatible with C++ standards before C++20
warning:Â using enum declaration is incompatible with C++ standards before C++20
-Wpre-c++20-compat-pedantic¶Also controls -Wpre-c++20-compat.
Diagnostic text:
warning:Â designated initializers are incompatible with C++ standards before C++20
warning:Â invoking a pointer to a âconst &â member function on an rvalue is incompatible with C++ standards before C++20
-Wpre-c++2b-compat¶Diagnostic text:
warning:Â alias declaration in this context is incompatible with C++ standards before C++2b
warning:Â consteval if is incompatible with C++ standards before C++2b
warning:Â an attribute specifier sequence in this position is incompatible with C++ standards before C++2b
warning:Â âsize_tâ suffix for literals is incompatible with C++ standards before C++2b
-Wpre-c2x-compat¶Diagnostic text:
warning:Â â_BitIntâ is incompatible with C standards before C2x
warning:Â â_Static_assertâ with no message is incompatible with C standards before C2x
warning:Â digit separators are incompatible with C standards before C2x
-Wpre-openmp-51-compat¶Diagnostic text:
warning:Â specifying OpenMP directives with [[]] is incompatible with OpenMP standards before OpenMP 5.1
-Wprivate-extern¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â use of __private_extern__ on a declaration may not produce external symbol private to the linkage unit and is deprecated
-Wprivate-module¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â expected canonical name for private module âAâ
warning:Â private submodule âAâ in private module map, expected top-level module
warning:Â module âAâ already re-exported as âBâ
warning: no submodule named A in module âBâ; using top level âCâ
-Wprofile-instr-missing¶Diagnostic text:
warning: profile data may be incomplete: of A function
s
, BÂ
has
have
 no data
-Wprofile-instr-out-of-date¶This diagnostic is enabled by default.
Diagnostic text:
warning: profile data may be out of date: of A function
s
, BÂ
has
have
 mismatched data that will be ignored
-Wproperty-access-dot-syntax¶This diagnostic is enabled by default.
Diagnostic text:
warning: property A not found on object of type B; did you mean to access property C?
-Wproperty-attribute-mismatch¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â property attribute in class extension does not match the primary class
warning: âBâ attribute on property A does not match the property inherited from C
warning:Â getter name mismatch between property redeclaration (B) and its original declaration (A)
warning: attribute âreadonlyâ of property A restricts attribute âreadwriteâ of property inherited from B
-Wprotocol¶This diagnostic is enabled by default.
Diagnostic text:
warning: method A in protocol B not implemented
-Wprotocol-property-synthesis-ambiguity¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â propertyÂ
of type B
with attribute âBâ
without attribute âBâ
with getter B
with setter B
 was selected for synthesis
-Wpsabi¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â AVX vectorÂ
return
argument
 of type B without âCâ enabled changes the ABI
-Wrange-loop-construct¶Diagnostic text:
warning: loop variable AÂ
of type B binds to a temporary constructed from type C
binds to a temporary constructed from a different type
warning: loop variable A creates a copy from type B
-Wreadonly-iboutlet-property¶This diagnostic is enabled by default.
Diagnostic text:
warning: readonly IBOutlet property A when auto-synthesized may not work correctly with ânibâ loader
-Wreceiver-expr¶This diagnostic is enabled by default.
Diagnostic text:
warning: receiver type A is not âidâ or interface pointer, consider casting it to âidâ
-Wreceiver-forward-class¶Some of the diagnostics controlled by this flag are enabled by default.
Diagnostic text:
warning: receiver A is a forward class and corresponding @interface may not exist
warning: receiver type A for instance message is a forward declaration
-Wredundant-consteval-if¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â consteval if is always true in anÂ
unevaluated
immediate
 context
-Wredundant-decls¶This diagnostic flag exists for GCC compatibility, and has no effect in Clang.
-Wregister¶This diagnostic is enabled by default.
Also controls -Wdeprecated-register.
Diagnostic text:
error:Â ISO C++17 does not allow âregisterâ storage class specifier
-Wreinterpret-base-class¶This diagnostic is enabled by default.
Diagnostic text:
warning: âreinterpret_castâÂ
from
to
 class AÂ
to
from
 itsÂ
virtual base
base at non-zero offset
 B behaves differently from âstatic_castâ
-Wreorder-ctor¶Diagnostic text:
warning:Â
field
base class
 B will be initialized afterÂ
field
base
 D
warning:Â initializer order does not match the declaration order
-Wreorder-init-list¶This diagnostic is enabled by default.
Diagnostic text:
warning: ISO C++ requires field designators to be specified in declaration order; field B will be initialized after field A
-Wrequires-super-attribute¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â AÂ attribute cannot be applied toÂ
methods in protocols
dealloc
-Wreserved-identifier¶Also controls -Wreserved-macro-identifier.
Diagnostic text:
warning: identifier A is reserved becauseÂ
<ERROR>
it starts with â_â at global scope
it starts with â_â and has C language linkage
it starts with â__â
it starts with â_â followed by a capital letter
it contains â__â
-Wrestrict-expansion¶This diagnostic is enabled by default.
Diagnostic text:
warning: macro A has been marked as unsafe for use in headers
:Â C
-Wreturn-stack-address¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â returning address of label, which is local
warning:Â returningÂ
address of
reference to
 local temporary object
warning:Â
address of
reference to
 stack memory associated withÂ
local variable
parameter
 B returned
-Wreturn-std-move¶This diagnostic flag exists for GCC compatibility, and has no effect in Clang.
-Wreturn-type¶This diagnostic is enabled by default.
Also controls -Wreturn-type-c-linkage.
Diagnostic text:
error:Â
void function
void method
constructor
destructor
 A should not return a value
error:Â non-voidÂ
function
method
 A should return a value
warning:Â non-void coroutine does not return a value
warning:Â non-void function does not return a value
warning:Â non-void lambda does not return a value
warning:Â non-void coroutine does not return a value in all control paths
warning:Â non-void function does not return a value in all control paths
warning:Â non-void lambda does not return a value in all control paths
error:Â non-voidÂ
function
method
 A should return a value
-Wreturn-type-c-linkage¶This diagnostic is enabled by default.
Diagnostic text:
warning: A has C-linkage specified, but returns user-defined type B which is incompatible with C
warning: A has C-linkage specified, but returns incomplete type B which could be incompatible with C
-Wrewrite-not-bool¶This diagnostic is enabled by default.
Diagnostic text:
warning: ISO C++20 requires return type of selected âoperator==â function for rewritten âBâ comparison to be âboolâ, not A
-Wrtti¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â dynamic_cast will not work since RTTI data is disabled byÂ
-fno-rtti-data
/GR-
warning:Â typeid will not work since RTTI data is disabled byÂ
-fno-rtti-data
/GR-
-Rsanitize-address¶Diagnostic text:
 -fsanitize-address-field-padding applied to A
 -fsanitize-address-field-padding ignored for A because itÂ
is not C++
is packed
is a union
is trivially copyable
has trivial destructor
is standard layout
is in a ignorelisted file
is ignorelisted
-Wsection¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â section attribute is specified on redeclared variable
warning:Â duplicate code segment specifiers
warning:Â
codeseg
section
 does not match previous declaration
-Wselector-type-mismatch¶Diagnostic text:
warning: several methods with selector A of mismatched types are found for the @selector expression
-Wself-assign-field¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â assigningÂ
field
instance variable
 to itself
-Wself-move¶Diagnostic text:
warning: explicitly moving variable of type A to itself
-Wsemicolon-before-method-body¶Diagnostic text:
warning:Â semicolon before method body is ignored
-Wsentinel¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â missing sentinel inÂ
function call
method dispatch
block call
warning: not enough variable arguments in A declaration to fit a sentinel
-Wserialized-diagnostics¶This diagnostic is enabled by default.
Diagnostic text:
warning: unable to open file A for serializing diagnostics (B)
warning:Â Received warning after diagnostic serialization teardown was underway:Â A
warning:Â unable to merge a subprocessâs serialized diagnostics
-Wshadow¶Some of the diagnostics controlled by this flag are enabled by default.
Also controls -Wshadow-field-in-constructor-modified, -Wshadow-ivar.
Diagnostic text:
warning:Â declaration shadows aÂ
local variable
variable in C
static data member of C
field of C
typedef in C
type alias in C
structured binding
-Wshadow-field¶Diagnostic text:
warning:Â
parameter
non-static data member
 AÂ
of BÂ
shadows member inherited from type C
-Wshadow-ivar¶This diagnostic is enabled by default.
Diagnostic text:
warning: local declaration of A hides instance variable
-Wshadow-uncaptured-local¶Diagnostic text:
warning:Â declaration shadows aÂ
local variable
variable in C
static data member of C
field of C
typedef in C
type alias in C
structured binding
-Wshift-negative-value¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â shifting a negative signed value is undefined
-Wshift-op-parentheses¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â operator âAâ has lower precedence than âBâ; âBâ will be evaluated first
-Wshift-overflow¶This diagnostic is enabled by default.
Diagnostic text:
warning: signed shift result (A) requires B bits to represent, but C only has D bits
-Wshift-sign-overflow¶Diagnostic text:
warning:Â signed shift result (A) sets the sign bit of the shift expressionâs type (B) and becomes negative
-Wshorten-64-to-32¶Diagnostic text:
warning: implicit conversion loses integer precision: A to B
-Wsign-compare¶Diagnostic text:
warning: comparison of integers of different signs: A and B
-Wsign-conversion¶Diagnostic text:
warning: implicit conversion changes signedness: A to B
warning: operand of ? changes signedness: A to B
warning:Â the resulting value is always non-negative after implicit conversion
-Wsigned-enum-bitfield¶Diagnostic text:
warning: enums in the Microsoft ABI are signed integers by default; consider giving the enum A an unsigned underlying type to make this code portable
-Wsigned-unsigned-wchar¶This diagnostic is an error by default, but the flag -Wno-signed-unsigned-wchar
can be used to disable the error.
Diagnostic text:
error:Â âAâ cannot be signed or unsigned
-Wsizeof-array-argument¶This diagnostic is enabled by default.
Diagnostic text:
warning: sizeof on array function parameter will return size of A instead of B
-Wsizeof-array-decay¶This diagnostic is enabled by default.
Diagnostic text:
warning: sizeof on pointer operation will return size of A instead of B
-Wsizeof-array-div¶This diagnostic is enabled by default.
Diagnostic text:
warning: expression does not compute the number of elements in this array; element type is A, not B
-Wsizeof-pointer-div¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â âAâ will return the size of the pointer, not the array itself
-Wsizeof-pointer-memaccess¶This diagnostic is enabled by default.
Diagnostic text:
warning: âAâ call operates on objects of type B while the size is based on a different type C
warning: argument to âsizeofâ in A call is the same pointer type B as theÂ
destination
source
; expected D or an explicit length
-Wslash-u-filename¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â â/UAâ treated as the â/Uâ option
-Wslh-asm-goto¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â Speculative load hardening does not protect functions with asm goto
-Wsometimes-uninitialized¶Diagnostic text:
warning: variable A isÂ
used
captured
 uninitialized wheneverÂ
âDâ condition isÂ
true
false
âDâ loopÂ
is entered
exits because its condition is false
âDâ loopÂ
condition is true
exits because its condition is false
switch D is taken
its declaration is reached
DÂ is called
-Wsource-mgr¶This diagnostic is enabled by default.
Diagnostic text:
The text of this diagnostic is not controlled by Clang.
-Wsource-uses-openmp¶Some of the diagnostics controlled by this flag are enabled by default.
Diagnostic text:
warning:Â â#pragma omp declare variantâ cannot be applied to the function that was defined already; the original function might be used
warning:Â â#pragma omp declare variantâ cannot be applied for function after first usage; the original function might be used
warning:Â variant function in â#pragma omp declare variantâ is itself marked as â#pragma omp declare variantâ
warning:Â score expressions in the OpenMP context selector need to be constant;Â AÂ is not and will be ignored
warning:Â OpenMP only allows an ordered construct with the simd clause nested in a simd construct
warning: unexpected â#pragma omp â¦â in program
warning:Â isa trait âAâ is not known to the current target; verify the spelling or consider restricting the context selector with the âarchâ selector further
-Wspir-compat¶Diagnostic text:
warning: sampler initializer has invalid A bits
-Wstack-exhausted¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â stack nearly exhausted; compilation time may suffer, and crashes due to stack overflow are likely
-Wstack-protector¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â Unable to protect inline asm that clobbers stack pointer against stack clash
-Wstatic-in-inline¶Some of the diagnostics controlled by this flag are enabled by default.
Diagnostic text:
warning:Â staticÂ
function
variable
 B is used in an inline function with external linkage
warning:Â staticÂ
function
variable
 B is used in an inline function with external linkage
-Wstatic-local-in-inline¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â non-constant static local variable in inline function may be different in different files
-Wstatic-self-init¶This diagnostic is enabled by default.
Diagnostic text:
warning: static variable A is suspiciously used within its own initialization
-Wstdlibcxx-not-found¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â include path for libstdc++ headers not found; pass â-stdlib=libc++â on the command line to use the libc++ standard library instead
-Wstrict-aliasing¶This diagnostic flag exists for GCC compatibility, and has no effect in Clang.
-Wstrict-overflow¶This diagnostic flag exists for GCC compatibility, and has no effect in Clang.
-Wstrict-prototypes¶Diagnostic text:
warning:Â thisÂ
function declaration is not
block declaration is not
old-style function definition is not preceded by
 a prototype
-Wstring-compare¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â result of comparison againstÂ
a string literal
@encode
 is unspecified (use an explicit string comparison function instead)
-Wstring-concatenation¶Diagnostic text:
warning:Â suspicious concatenation of string literals in an array initialization; did you mean to separate the elements with a comma?
-Wstring-conversion¶Diagnostic text:
warning: implicit conversion turns string literal into bool: A to B
-Wstring-plus-char¶This diagnostic is enabled by default.
Diagnostic text:
warning: adding A to a string pointer does not append to the string
-Wstring-plus-int¶This diagnostic is enabled by default.
Diagnostic text:
warning: adding A to a string does not append to the string
-Wstrlcpy-strlcat-size¶This diagnostic is enabled by default.
Diagnostic text:
warning: size argument in A call appears to be size of the source; expected the size of the destination
-Wstrncat-size¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â the value of the size argument in âstrncatâ is too large, might lead to a buffer overflow
warning:Â size argument in âstrncatâ call appears to be size of the source
warning:Â the value of the size argument to âstrncatâ is wrong
-Wsuggest-override¶Diagnostic text:
warning:Â AÂ overrides a member function but is not marked âoverrideâ
-Wsuper-class-method-mismatch¶Diagnostic text:
warning:Â method parameter typeÂ
A does not match super class method parameter type B
does not match super class method parameter type
-Wsuspicious-bzero¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â âsizeâ argument to bzero is â0â
-Wswift-name-attribute¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â AÂ attribute cannot be applied to this declaration
warning:Â AÂ attribute cannot be applied to aÂ
function
method
 with no parameters
warning:Â AÂ attribute argument must be a string literal specifying a Swift function name
warning:Â AÂ attribute for getter must not have any parameters besides âself:â
warning:Â AÂ attribute has invalid identifier for theÂ
base
context
parameter
 name
warning:Â AÂ attribute is missing parameter label clause
warning:Â AÂ attribute cannot specify more than one âself:â parameter
warning:Â tooÂ
few
many
 parameters in the signature specified by the B attribute (expected C; got D)
warning:Â AÂ attribute for setter must have one parameter for new value
warning:Â AÂ attribute for âsubscriptâ getter cannot have a ânewValue:â parameter
warning:Â AÂ attribute for âsubscriptâ mustÂ
be a getter or setter
have at least one parameter
have a âself:â parameter
warning:Â AÂ attribute for âsubscriptâ setter cannot have multiple ânewValue:â parameters
warning:Â AÂ attribute for âsubscriptâ setter must have a ânewValue:â parameter
-Wswitch¶This diagnostic is enabled by default.
Diagnostic text:
warning: overflow converting case value to switch condition type (A to B)
warning:Â
enumeration value B not handled in switch
enumeration values B and C not handled in switch
enumeration values B, C, and D not handled in switch
A enumeration values not handled in switch: B, C, Dâ¦
warning: case value not in enumerated type A
-Wswitch-bool¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â switch condition has boolean value
-Wswitch-default¶This diagnostic flag exists for GCC compatibility, and has no effect in Clang.
-Wswitch-enum¶Diagnostic text:
warning:Â
enumeration value B not explicitly handled in switch
enumeration values B and C not explicitly handled in switch
enumeration values B, C, and D not explicitly handled in switch
A enumeration values not explicitly handled in switch: B, C, Dâ¦
-Wsync-fetch-and-nand-semantics-changed¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â the semantics of this intrinsic changed with GCC version 4.4 - the newer semantics are provided here
-Wsynth¶This diagnostic flag exists for GCC compatibility, and has no effect in Clang.
-Wtarget-clones-mixed-specifiers¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â mixing âtarget_clonesâ specifier mechanisms is permitted for GCC compatibility; use a comma separated sequence of string literals, or a string literal containing a comma-separated list of versions
-Wtautological-bitwise-compare¶Diagnostic text:
warning:Â bitwise comparison always evaluates toÂ
false
true
warning:Â bitwise or with non-zero value always evaluates to true
-Wtautological-constant-compare¶This diagnostic is enabled by default.
Also controls -Wtautological-constant-out-of-range-compare.
Diagnostic text:
warning:Â converting the result of â?:â with integer constants to a boolean always evaluates to âtrueâ
warning:Â converting the result of â<<â to a boolean always evaluates toÂ
false
true
warning:Â result of comparison ofÂ
constant A
true
false
 withÂ
expression of type C
boolean expression
 is always E
-Wtautological-objc-bool-compare¶This diagnostic is enabled by default.
Diagnostic text:
warning: result of comparison of constant A with expression of type âBOOLâ is always B, as the only well defined values for âBOOLâ are YES and NO
-Wtautological-pointer-compare¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â comparison of nonnullÂ
function call
parameter
 âBâÂ
notÂ
equal to a null pointer is â
true
false
â on first encounter
warning:Â comparison ofÂ
address of
function
array
 âBâÂ
notÂ
equal to a null pointer is alwaysÂ
true
false
-Wtautological-undefined-compare¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â reference cannot be bound to dereferenced null pointer in well-defined C++ code; comparison may be assumed to always evaluate toÂ
true
false
warning:Â âthisâ pointer cannot be null in well-defined C++ code; comparison may be assumed to always evaluate toÂ
true
false
-Wtcb-enforcement¶This diagnostic is enabled by default.
Diagnostic text:
warning: calling A is a violation of trusted computing base âBâ
-Wthread-safety-analysis¶Diagnostic text:
warning:Â AÂ âBâ must be acquired before âCâ
warning:Â Cycle in acquired_before/after dependencies, starting with âAâ
warning:Â cannot resolve lock expression
warning: acquiring A âBâ that is already held
warning: expecting A âBâ to be held at start of each loop
warning: expecting A âBâ to be held at the end of function
warning: cannot call function âBâ while A âCâ is held
warning: calling function B requires holding AÂ
âCâ
âCâ exclusively
warning: calling function A requires negative capability âBâ
warning:Â AÂ âBâ is acquired exclusively and shared in the same scope
warning:Â AÂ âBâ is not held on every path through here
warning:Â AÂ âBâ is still held at the end of function
warning: releasing A âBâ that was not held
warning: releasing A âBâ usingÂ
shared
exclusive
 access, expectedÂ
shared
exclusive
 access
warning:Â
reading
writing
 the value pointed to by A requires holdingÂ
any mutex
any mutex exclusively
warning:Â
reading
writing
 the value pointed to by B requires holding AÂ
âCâ
âCâ exclusively
warning:Â
reading
writing
 variable A requires holdingÂ
any mutex
any mutex exclusively
warning:Â
reading
writing
 variable B requires holding AÂ
âCâ
âCâ exclusively
-Wthread-safety-attributes¶Diagnostic text:
warning: A attribute requires arguments whose type is annotated with âcapabilityâ attribute; type here is B
warning:Â AÂ attribute can only be applied in a context annotated with âcapabilityâ attribute
warning: A only applies to pointer types; type here is B
warning: ignoring A attribute because its argument is invalid
warning: A attribute without capability arguments refers to âthisâ, but B isnât annotated with âcapabilityâ or âscoped_lockableâ attribute
warning:Â AÂ attribute without capability arguments can only be applied to non-static methods of a class
-Wthread-safety-precise¶Diagnostic text:
warning: calling function B requires holding AÂ
âCâ
âCâ exclusively
warning:Â
reading
writing
 the value pointed to by B requires holding AÂ
âCâ
âCâ exclusively
warning:Â
reading
writing
 variable B requires holding AÂ
âCâ
âCâ exclusively
-Wthread-safety-reference¶Diagnostic text:
warning: passing variable B by reference requires holding AÂ
âCâ
âCâ exclusively
warning: passing the value that B points to by reference requires holding AÂ
âCâ
âCâ exclusively
-Wtrigraphs¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â trigraph converted to âAâ character
warning:Â trigraph ends block comment
warning:Â trigraph ignored
warning:Â ignored trigraph would end block comment
-Wtype-safety¶This diagnostic is enabled by default.
Diagnostic text:
warning: specified A type tag requires a null pointer
warning: argument type A doesnât match specified B type tagÂ
that requires D
warning:Â this type tag was not designed to be used with this function
-Wtypedef-redefinition¶This diagnostic is enabled by default.
Diagnostic text:
warning: redefinition of typedef A is a C11 feature
-Wtypename-missing¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â missing âtypenameâ prior to dependent type name âABâ
-Wunable-to-open-stats-file¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â unable to open statistics output file âAâ: âBâ
-Wunaligned-access¶Diagnostic text:
warning: field B within A is less aligned than C and is usually due to A being packed, which can lead to unaligned accesses
-Wunavailable-declarations¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â AÂ may be unavailable because the receiver type is unknown
-Wundeclared-selector¶Diagnostic text:
warning: undeclared selector A
warning: undeclared selector A; did you mean B?
-Wundef¶Diagnostic text:
warning:Â AÂ is not defined, evaluates to 0
-Wundefined-bool-conversion¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â reference cannot be bound to dereferenced null pointer in well-defined C++ code; pointer may be assumed to always convert to true
warning:Â âthisâ pointer cannot be null in well-defined C++ code; pointer may be assumed to always convert to true
-Wundefined-inline¶This diagnostic is enabled by default.
Diagnostic text:
warning: inline function A is not defined
-Wundefined-internal¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â
function
variable
 B has internal linkage but is not defined
-Wundefined-internal-type¶Diagnostic text:
warning:Â ISO C++ requires a definition in this translation unit forÂ
function
variable
 B because its type does not have linkage
-Wundefined-reinterpret-cast¶Diagnostic text:
warning: dereference of type B that was reinterpret_cast from type A has undefined behavior
warning: reinterpret_cast from A to B has undefined behavior
-Wundefined-var-template¶This diagnostic is enabled by default.
Diagnostic text:
warning: instantiation of variable A required here, but no definition is available
-Wunicode¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â empty delimited universal character name; treating as â\â âuâ â{â â}â
warning:Â incomplete delimited universal character name; treating as â\â âuâ â{â identifier
warning:Â incomplete universal character name; treating as â\â followed by identifier
warning:Â \AÂ used with no following hex digits; treating as â\â followed by identifier
warning:Â universal character name refers to a surrogate character
warning:Â universal character names are only valid in C99 or C++; treating as â\â followed by identifier
warning:Â universal character names are only valid in C99 or C++
-Wunicode-homoglyph¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â treating Unicode character <U+A> as identifier character rather than as âBâ symbol
-Wunicode-whitespace¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â treating Unicode character as whitespace
-Wunicode-zero-width¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â identifier contains Unicode character <U+A> that is invisible in some environments
-Wuninitialized¶Some of the diagnostics controlled by this flag are enabled by default.
Also controls -Wsometimes-uninitialized, -Wstatic-self-init, -Wuninitialized-const-reference.
Diagnostic text:
warning: base class A is uninitialized when used here to access B
warning: field A is uninitialized when used here
warning: reference A is not yet bound to a value when used here
warning: block pointer variable A isÂ
uninitialized
null
 when captured by block
warning: variable A is uninitialized when used within its own initialization
warning: reference A is not yet bound to a value when used within its own initialization
warning: variable A is uninitialized whenÂ
used here
captured by block
-Wunknown-argument¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â unknown argument ignored in clang-cl: âAâ
warning:Â unknown argument ignored in clang-cl âAâ; did you mean âBâ?
-Wunknown-assumption¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â unknown assumption string âAâ; attribute is potentially ignored
-Wunknown-attributes¶This diagnostic is enabled by default.
Diagnostic text:
warning: unknown attribute A ignored
-Wunknown-cuda-version¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â CUDA versionAÂ is newer than the latest
 partially
 supported version C
warning: CUDA version A is only partially supported
-Wunknown-pragmas¶Some of the diagnostics controlled by this flag are enabled by default.
Diagnostic text:
warning:Â expected âONâ or âOFFâ or âDEFAULTâ in pragma
warning:Â expected end of directive in pragma
warning:Â unknown pragma in STDC namespace
warning:Â pragma diagnostic pop could not pop, no matching push
warning:Â pragma diagnostic expected âerrorâ, âwarningâ, âignoredâ, âfatalâ, âpushâ, or âpopâ
warning:Â pragma diagnostic expected option name (e.g. â-Wundefâ)
warning:Â unexpected token in pragma diagnostic
warning:Â #pragma execution_character_set expected âAâ
warning:Â #pragma execution_character_set invalid value âAâ, only âUTF-8â is supported
warning:Â #pragma execution_character_set expected âpushâ or âpopâ
warning:Â unknown pragma ignored
warning:Â pragma include_alias expected âAâ
warning:Â pragma include_alias expected include filename
warning:Â angle-bracketed include <A> cannot be aliased to double-quoted include âBâ
warning:Â double-quoted include âAâ cannot be aliased to angle-bracketed include <B>
warning:Â #pragma warning expected âAâ
warning:Â #pragma warning expected a warning number
warning:Â #pragma warning(push, level) requires a level between 0 and 4
warning:Â #pragma warning expected âpushâ, âpopâ, âdefaultâ, âdisableâ, âerrorâ, âonceâ, âsuppressâ, 1, 2, 3, or 4
warning:Â pragma STDC FENV_ROUND is not supported
-Wunknown-sanitizers¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â unknown sanitizer âAâ ignored
-Wunknown-warning-option¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â unknown warning group âAâ, ignored
warning:Â unknownÂ
warning
remark
 option âBâ
; did you mean âDâ?
warning: unknown A warning specifier: âBâ
-Wunneeded-internal-declaration¶Diagnostic text:
warning:Â
function
variable
 B is not needed and will not be emitted
warning: âstaticâ function A declared in header file should be declared âstatic inlineâ
-Wunsequenced¶This diagnostic is enabled by default.
Diagnostic text:
warning: multiple unsequenced modifications to A
warning: unsequenced modification and access to A
-Wunsupported-abi¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â float ABI âAâ is not supported by current library
-Wunsupported-abs¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â ignoring â-mabs=2008â option because the âAâ architecture does not support it
warning:Â ignoring â-mabs=legacyâ option because the âAâ architecture does not support it
-Wunsupported-availability-guard¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â
@available
__builtin_available
 does not guard availability here; use if (
@available
__builtin_available
) instead
-Wunsupported-cb¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â ignoring â-mcompact-branches=â option because the âAâ architecture does not support it
-Wunsupported-dll-base-class-template¶Diagnostic text:
warning:Â propagating dll attribute toÂ
already instantiated
explicitly specialized
 base class template without dll attribute is not supported
-Wunsupported-floating-point-opt¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â overriding currently unsupported use of floating point exceptions on this target
warning:Â overriding currently unsupported rounding mode on this target
-Wunsupported-friend¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â dependent nested name specifier âAâ for friend template declaration is not supported; ignoring this friend declaration
warning: dependent nested name specifier âAâ for friend class declaration is not supported; turning off access control for B
-Wunsupported-gpopt¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â ignoring â-mgpoptâ option as it cannot be used withÂ
the implicit usage ofÂ
-mabicalls
-Wunsupported-nan¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â ignoring â-mnan=2008â option because the âAâ architecture does not support it
warning:Â ignoring â-mnan=legacyâ option because the âAâ architecture does not support it
-Wunsupported-target-opt¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â debug information option âAâ is not supported; requires DWARF-CÂ but target âBâ only provides DWARF-D
warning:Â debug information option âAâ is not supported for target âBâ
-Wunsupported-visibility¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â target does not support âprotectedâ visibility; using âdefaultâ
-Wunusable-partial-specialization¶This diagnostic is an error by default, but the flag -Wno-unusable-partial-specialization
can be used to disable the error.
Diagnostic text:
error:Â
class
variable
 template partial specialization containsÂ
a template parameter
template parameters
 that cannot be deduced; this partial specialization will never be used
-Wunused-argument¶This diagnostic flag exists for GCC compatibility, and has no effect in Clang.
-Wunused-command-line-argument¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â argument âAâ requires profile-guided optimization information
warning:Â joined argument expects additional value: âAâ
warning:Â A: âBâ input unused
 when âDâ is present
warning:Â A: âBâ input unused in cpp mode
warning:Â ignoring invalid /arch: argument âAâ; forÂ
64
32
-bit expected one of C
warning:Â A: previously preprocessed input
 unused when âCâ is present
warning:Â argument unused during compilation: âAâ
warning:Â the flag âAâ has been deprecated and will be ignored
warning:Â ignoring -fdiscard-value-names for LLVM Bitcode
warning:Â ignoring -fverify-debuginfo-preserve-export=AÂ because -fverify-debuginfo-preserve wasnât enabled
-Wunused-comparison¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â
equality
inequality
relational
three-way
 comparison result unused
-Wunused-getter-return-value¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â property access result unused - getters should not be used for side effects
-Wunused-property-ivar¶Diagnostic text:
warning: ivar A which backs the property is not referenced in this propertyâs accessor
-Wunused-result¶This diagnostic is enabled by default.
Diagnostic text:
warning: ignoring return value of function declared with A attribute
warning: ignoring return value of function declared with A attribute: B
-Wunused-value¶This diagnostic is enabled by default.
Also controls -Wunevaluated-expression, -Wunused-comparison, -Wunused-result.
Diagnostic text:
warning: ignoring return value of function declared with A attribute
warning:Â left operand of comma operator has no effect
warning: ignoring temporary created by a constructor declared with A attribute
warning: ignoring temporary created by a constructor declared with A attribute: B
warning:Â container access result unused - container access should not be used for side effects
warning:Â expression result unused
warning:Â expression result unused; should this cast be to âvoidâ?
-Wunused-volatile-lvalue¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â expression result unused; assign into a variable to force a volatile load
-Wuser-defined-literals¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â user-defined literal suffixes not starting with â_â are reserved
; no literal will invoke this operator
-Wuser-defined-warnings¶This diagnostic is enabled by default.
Diagnostic text:
The text of this diagnostic is not controlled by Clang.
-Wvarargs¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â second argument to âva_startâ is not the last named parameter
warning: second argument to âva_argâ is of promotable type A; this va_arg has undefined behavior because arguments will be promoted to B
warning:Â passingÂ
an object that undergoes default argument promotion
an object of reference type
a parameter declared with the âregisterâ keyword
 to âva_startâ has undefined behavior
-Wvariadic-macros¶Some of the diagnostics controlled by this flag are enabled by default.
Diagnostic text:
warning:Â named variadic macros are a GNU extension
warning:Â __VA_OPT__ can only appear in the expansion of a variadic macro
warning:Â variadic macros are a C99 feature
-Wvec-elem-size¶This diagnostic is an error by default, but the flag -Wno-vec-elem-size
can be used to disable the error.
Diagnostic text:
error: vector operands do not have the same elements sizes (A and B)
-Wvector-conversion¶Diagnostic text:
warning:Â incompatible vector typesÂ
assigning to A from B
assigning to different types
passing A to parameter of type B
passing to parameter of different type
returning A from a function with result type B
returning from function with different return type
converting A to type B
converting between types
initializing A with an expression of type B
initializing with expression of different type
sending A to parameter of type B
sending to parameter of different type
casting A to type B
casting between types
-Wvexing-parse¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â empty parentheses interpreted as a function declaration
warning:Â parentheses were disambiguated as a function declaration
warning: parentheses were disambiguated as redundant parentheses around declaration of variable named A
-Wvisibility¶This diagnostic is enabled by default.
Diagnostic text:
warning: declaration of A will not be visible outside of this function
warning: redefinition of A will not be visible outside of this function
-Wvla-extension¶Diagnostic text:
warning:Â variable length arrays are a C99 feature
-Wvoid-ptr-dereference¶This diagnostic is enabled by default.
Diagnostic text:
warning: ISO C++ does not allow indirection on operand of type A
-Wwasm-exception-spec¶This diagnostic is enabled by default.
Diagnostic text:
warning:Â dynamic exception specifications with types are currently ignored in wasm
-Wweak-template-vtables¶Diagnostic text:
warning:Â this warning is no longer in use and will be removed in the next release
-Wweak-vtables¶Diagnostic text:
warning:Â AÂ has no out-of-line virtual method definitions; its vtable will be emitted in every translation unit
-Wxor-used-as-pow¶This diagnostic is enabled by default.
Diagnostic text:
warning: result of âAâ is B; did you mean exponentiation?
warning: result of âAâ is B; did you mean âCâ?
warning: result of âAâ is B; did you mean âCâ (D)?
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4