This diagnostic is enabled by default.
Diagnostic text:
The text of this diagnostic is not controlled by Clang.
This diagnostic is enabled by default.
Diagnostic text:
The text of this diagnostic is not controlled by Clang.
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 |
Some of the diagnostics controlled by this flag are enabled by default.
Controls -Wall, -Wextra.
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 |
This diagnostic is enabled by default.
Diagnostic text:
warning: ‘NSObject’ attribute may be put on a typedef only; attribute is ignored |
This diagnostic flag exists for GCC compatibility, and has no effect in Clang.
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 |
|
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 |
This diagnostic is enabled by default.
Diagnostic text:
warning: abstract class is marked ‘ |
|
‘ |
Diagnostic text:
warning: initializer for virtual base class A of abstract class B will never be used |
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 |
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 |
This diagnostic flag exists for GCC compatibility, and has no effect in Clang.
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 |
This diagnostic is enabled by default.
Diagnostic text:
warning: second argument to __builtin_alloca_with_align is supposed to be in bits |
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 |
This diagnostic is enabled by default.
Diagnostic text:
warning: ’…’ in this location creates a C-style varargs function |
, not a function parameter pack |
|
|
This diagnostic is enabled by default.
Diagnostic text:
warning: ambiguous expansion of macro A |
This diagnostic is enabled by default.
Diagnostic text:
warning: lookup of A in member access expression is ambiguous; using member of B |
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 |
This diagnostic is enabled by default.
Diagnostic text:
warning: checker plugin ‘A’ is not compatible with this version of the analyzer |
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 |
This diagnostic is enabled by default.
Diagnostic text:
warning: ISO C++11 requires a parenthesized pack declaration to have a name |
This diagnostic is enabled by default.
Diagnostic text:
warning: ’A’ casts have no effect when not using ARC |
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 |
This diagnostic is enabled by default.
Diagnostic text:
warning: |
destination for |
source of |
|
this B call is a pointer to ownership-qualified type C |
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 |
This diagnostic is enabled by default.
Diagnostic text:
warning: capturing A strongly in this block is likely to lead to a retain cycle |
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 |
|
; object will be released after assignment |
warning: assigning retained object to |
|
|
|
; object will be released after assignment |
warning: assigning retained object to unsafe property; object will be released after assignment |
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] |
This diagnostic is enabled by default.
Diagnostic text:
warning: array index A is past the end of the array (which contains B element |
|
) |
warning: array index A is before the beginning of the array |
warning: array argument is too small; |
|
, callee requires at least B |
warning: ‘static’ has no effect on zero-length arrays |
Diagnostic text:
warning: the pointer incremented by A refers past the end of the array (that contains B element |
|
) |
warning: the pointer decremented by A refers before the beginning of the array |
This diagnostic is enabled by default.
Diagnostic text:
warning: ignored A qualifier on asm |
warning: meaningless ‘volatile’ on asm outside function |
This diagnostic is enabled by default.
Diagnostic text:
warning: value size does not match register size specified by the constraint and modifier |
Diagnostic text:
warning: integer constant not in range of enumerated type A |
This diagnostic is enabled by default.
Diagnostic text:
warning: the argument to A has side effects that will be discarded |
This diagnostic flag exists for GCC compatibility, and has no effect in Clang.
This diagnostic is enabled by default.
Diagnostic text:
warning: |
|
atomic operation may incur significant performance penalty |
Diagnostic text:
warning: implicit use of sequentially-consistent atomic may incur stronger memory barriers than necessary |
This diagnostic is enabled by default.
Diagnostic text:
warning: memory order argument to atomic operation is invalid |
This diagnostic is enabled by default.
Diagnostic text:
warning: writable atomic property A cannot pair a synthesized |
|
with a user defined |
|
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 |
This diagnostic is enabled by default.
Diagnostic text:
warning: implicitly disabling vptr sanitizer because rtti wasn’t enabled |
Diagnostic text:
warning: treating # |
include |
import |
include_next |
__include_macros |
|
as an import of module ‘B’ |
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 |
This diagnostic is enabled by default.
Diagnostic text:
warning: ‘auto’ deduced as ‘id’ in declaration of A |
This diagnostic is enabled by default.
Diagnostic text:
warning: ‘unavailable’ availability overrides all other availability information |
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: |
|
method |
introduced after |
deprecated before |
obsoleted before |
|
|
the protocol method it implements |
overridden method |
|
on B (C vs. D) |
warning: |
|
method cannot be unavailable on A when |
the protocol method it implements |
its overridden method |
|
is available |
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: 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 |
This diagnostic is enabled by default.
Diagnostic text:
The text of this diagnostic is not controlled by Clang.
This diagnostic is enabled by default.
Diagnostic text:
warning: backslash and newline separated by space |
Diagnostic text:
warning: cast from function call of type A to non-matching type B |
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 |
|
warning: no viable constructor |
copying variable |
copying 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 |
This diagnostic is enabled by default.
Diagnostic text:
warning: ISO C++17 does not permit structured binding declaration in a condition |
This diagnostic is enabled by default.
Diagnostic text:
warning: implicit truncation from C to bit-field changes value from A to B |
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 |
This diagnostic is enabled by default.
Diagnostic text:
warning: width of anonymous bit-field (A bits) exceeds width of its type; value will be truncated to B bit |
|
warning: width of bit-field A (B bits) exceeds the width of its type; value will be truncated to C bit |
|
This diagnostic is enabled by default.
Diagnostic text:
warning: operator ‘?:’ has lower precedence than ‘A’; ‘A’ will be evaluated first |
This diagnostic is enabled by default.
Diagnostic text:
warning: block captures an autoreleasing out-parameter, which may result in use-after-free bugs |
This diagnostic is enabled by default.
Diagnostic text:
warning: bitwise negation of a boolean expression |
; |
always evaluates to ‘true’; |
|
did you mean logical negation? |
This diagnostic is enabled by default.
Diagnostic text:
warning: braces around scalar initializer |
This diagnostic is enabled by default.
Diagnostic text:
warning: A bridges to B, not C |
warning: A cannot bridge to B |
This diagnostic is enabled by default.
Diagnostic text:
warning: requested alignment must be A bytes or smaller; maximum alignment assumed |
This diagnostic is enabled by default.
Diagnostic text:
warning: redefining builtin macro |
warning: undefining builtin macro |
This diagnostic is enabled by default.
Diagnostic text:
warning: ’A’ will always overflow; destination buffer has size B, but size argument is C |
Diagnostic text:
warning: |
|
|
has size 0 in C, |
|
in C++ |
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, -Wc++98-c++11-c++14-c++17-compat, -Wc++98-c++11-c++14-compat, -Wc++98-c++11-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 |
This diagnostic is enabled by default.
Diagnostic text:
warning: conversion from string literal to A is deprecated |
Diagnostic text:
warning: identifier after literal will be treated as a reserved user-defined literal suffix in C++11 |
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 |
|
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: |
|
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: in-class initialization of 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 |
|
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 |
This diagnostic is enabled by default.
Diagnostic text:
warning: inline namespaces are a C++11 feature |
Diagnostic text:
warning: ‘long long’ is a C++11 extension |
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 |
constexpr if condition |
explicit 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 |
Diagnostic text:
warning: binary integer literals are a C++14 extension |
Some of the diagnostics controlled by this flag are enabled by default.
Also controls -Wc++14-binary-literal.
Diagnostic text:
warning: use of this statement in a constexpr |
|
is a C++14 extension |
warning: multiple return statements in constexpr function is a C++14 extension |
warning: variable declaration in a constexpr |
|
is a C++14 extension |
warning: type definition in a constexpr |
|
is a C++14 extension |
warning: use of the A attribute 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 |
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 |
Some of the diagnostics controlled by this flag are enabled by default.
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: use of the A attribute 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: ’ |
|
‘ 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: static_assert with no message 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 |
Some of the diagnostics controlled by this flag are enabled by default.
Diagnostic text:
warning: ‘consteval’ specifier is incompatible with C++ standards before C++20 |
warning: ‘constinit’ specifier is incompatible with C++ standards before C++20 |
warning: aggregate initialization of type A with user-declared constructors is incompatible with C++2a |
warning: this expression will be parsed as explicit(bool) in C++2a |
warning: ’<=>’ is a single token in C++2a; 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++2a |
warning: ’A’ is a keyword in C++2a |
Diagnostic text:
warning: designated initializers are a C++20 extension |
Some of the diagnostics controlled by this flag are enabled by default.
Also controls -Wc++2a-designator.
Diagnostic text:
warning: use of function template name with no prior declaration in function call with explicit template arguments is a C++2a extension |
warning: default member initializer for bit-field is a C++2a extension |
warning: use of this statement in a constexpr |
|
is a C++2a extension |
warning: constexpr constructor that does not initialize all members is a C++20 extension |
warning: function try block in constexpr |
|
is a C++2a extension |
warning: uninitialized variable in a constexpr |
|
is a C++20 extension |
warning: constexpr union constructor that does not initialize any member is a C++20 extension |
warning: use of the A attribute is a C++2a extension |
warning: decomposition declaration declared |
|
is a C++2a extension |
warning: defaulted comparison operators are a C++20 extension |
warning: explicit capture of ‘this’ with a capture default of ‘=’ is a C++2a extension |
warning: explicit(bool) is a C++2a extension |
warning: range-based for loop initialization statements are a C++2a extension |
warning: initialized lambda pack captures are a C++2a extension |
warning: inline nested namespace definition is a C++2a extension |
warning: explicit template parameter list for lambdas is a C++2a extension |
warning: invoking a pointer to a ‘const &’ member function on an rvalue is a C++2a extension |
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++2a |
warning: default member initializer for bit-field is incompatible with C++ standards before C++2a |
warning: use of this statement in a constexpr |
|
is incompatible with C++ standards before C++2a |
warning: constexpr constructor that does not initialize all members is incompatible with C++ standards before C++20 |
warning: function try block in constexpr |
|
is incompatible with C++ standards before C++2a |
warning: uninitialized variable in a constexpr |
|
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++2a |
warning: decomposition declaration declared |
|
is incompatible with C++ standards before C++2a |
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++2a |
warning: explicit capture of ‘this’ with a capture default of ‘=’ is incompatible with C++ standards before C++2a |
warning: explicit(bool) is incompatible with C++ standards before C++2a |
warning: range-based for loop initialization statements are incompatible with C++ standards before C++2a |
warning: initialized lambda capture packs are incompatible with C++ standards before C++2a |
warning: inline nested namespace definition is incompatible with C++ standards before C++2a |
warning: |
default construction |
assignment |
|
of lambda is incompatible with C++ standards before C++2a |
warning: explicit template parameter list for lambdas is incompatible with C++ standards before C++2a |
warning: ’<=>’ operator is incompatible with C++ standards before C++2a |
warning: ‘char8_t’ type specifier is incompatible with C++ standards before C++20 |
Also controls -Wc++98-c++11-c++14-c++17-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++2a |
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: |
|
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 |
Also controls -Wc++98-c++11-c++14-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 |
Diagnostic text:
warning: use of this statement in a constexpr |
|
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 |
|
is incompatible with C++ standards before C++14 |
warning: type definition in a constexpr |
|
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 |
Diagnostic text:
warning: binary integer literals are incompatible with C++ standards before C++14 |
Also controls -Wc++98-c++11-c++14-c++17-compat, -Wc++98-c++11-c++14-compat, -Wc++98-c++11-compat, -Wc++98-compat-local-type-template-args, -Wc++98-compat-unnamed-type-template-args.
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: |
|
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: 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 |
|
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: in-class initialization of non-static data members is incompatible with C++98 |
warning: |
|
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 |
|
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: using this character in an identifier 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 |
Diagnostic text:
warning: |
copying variable |
copying 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 |
Diagnostic text:
warning: local type A as template argument is incompatible with C++98 |
Diagnostic text:
warning: unnamed type as template argument is incompatible with C++98 |
Diagnostic text:
warning: anonymous unions are a C11 extension |
warning: anonymous structs are a C11 extension |
warning: ’A’ is a C11 extension |
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 |
Some of the diagnostics controlled by this flag are enabled by default.
Also controls -Wc++2a-designator.
Diagnostic text:
warning: designated initializers are a C99 feature |
warning: array designators are 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 |
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: |
|
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 |
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 |
|
of C |
Diagnostic text:
warning: cast from A to B increases required alignment from C to D |
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 |
This diagnostic is enabled by default.
Diagnostic text:
warning: cast of type A to B is deprecated; use sel_getName instead |
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 |
This diagnostic flag exists for GCC compatibility, and has no effect in Clang.
Diagnostic text:
warning: array section |
|
is of type ‘char’ |
warning: array subscript is of type ‘char’ |
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 |
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’? |
|
|
Diagnostic text:
warning: possible misuse of comma operator here |
This diagnostic is enabled by default.
Diagnostic text:
warning: comparison of distinct pointer types |
Diagnostic text:
warning: complex initialization specifying real and imaginary components is an extension |
This diagnostic is enabled by default.
Diagnostic text:
warning: ISO C++2a does not permit the ‘bool’ keyword after ‘concept’ |
This diagnostic is enabled by default.
Diagnostic text:
warning: pointer/integer type mismatch in conditional expression |
Diagnostic text:
warning: variable A may be uninitialized when |
used here |
captured by block |
|
This diagnostic is enabled by default.
Diagnostic text:
warning: |
|
of configuration macro ‘B’ has no effect on the import of ‘C’; pass ‘ |
|
‘ on the command line to configure the module |
This diagnostic is enabled by default.
Diagnostic text:
warning: ’A’ will always evaluate to ‘true’ in a manifestly constant-evaluated expression |
This diagnostic is enabled by default.
Diagnostic text:
warning: use of logical ‘A’ with constant operand |
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 |
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 |
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 |
This diagnostic is enabled by default.
Diagnostic text:
warning: A is required to declare the member ‘unhandled_exception()’ when exceptions are enabled |
Diagnostic text:
warning: default label in switch which covers all enumeration values |
Diagnostic text:
warning: A may not intend to support class template argument deduction |
This diagnostic flag exists for GCC compatibility, and has no effect in Clang.
This diagnostic is enabled by default.
Diagnostic text:
warning: imported AST from ‘A’ had been generated for a different target, current: B, imported: C |
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 ‘()’ 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++ |
Diagnostic text:
warning: atomic by default property A has a user defined |
|
(property should be marked ‘atomic’ if this is intended) |
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 |
|
|
|
|
|
array backing |
initializer list subobject of local variable |
local initializer list |
|
|
|
|
|
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 |
|
will end at the end of the full-expression |
This diagnostic is enabled by default.
Diagnostic text:
warning: add explicit braces to avoid dangling else |
This diagnostic is enabled by default.
Diagnostic text:
warning: binding reference member A to stack allocated |
|
B |
warning: |
reference |
backing array for ‘std::initializer_list’ |
|
|
|
member A |
|
a temporary object whose lifetime is shorter than the lifetime of the constructed object |
warning: initializing pointer member A with the stack address of |
|
B |
warning: temporary bound to reference member of allocated object will be destroyed at the end of the full-expression |
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 |
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 |
This diagnostic is enabled by default.
Diagnostic text:
warning: SDK settings were ignored as ‘SDKSettings.json’ could not be parsed |
Diagnostic text:
warning: expansion of date or time macro is not reproducible |
This diagnostic is enabled by default.
Diagnostic text:
warning: -dealloc is being overridden in a category |
This diagnostic is enabled by default.
Diagnostic text:
warning: cannot compress debug sections (zlib not installed) |
Diagnostic text:
warning: ISO C90 forbids mixing declarations and code |
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 |
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 |
This diagnostic is enabled by default.
Diagnostic text:
warning: |
|
called on B that is abstract but has non-virtual destructor |
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 |
Diagnostic text:
warning: |
|
called on non-final B that has virtual functions but non-virtual destructor |
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-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-register, -Wdeprecated-this-capture, -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++2a’ for Concepts support |
warning: OpenCL version A does not support the option ‘B’ |
warning: Use of ‘long’ with ‘__vector’ is deprecated |
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 is deprecated |
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 |
This diagnostic is enabled by default.
Diagnostic text:
warning: specifying vector types with the ‘mode’ attribute is deprecated; use the ‘vector_size’ attribute instead |
This diagnostic is enabled by default.
Diagnostic text:
warning: top-level comma expression in array subscript is deprecated |
Diagnostic text:
warning: definition of implicit copy |
constructor |
assignment operator |
|
for A is deprecated because it has a user-declared copy |
assignment operator |
constructor |
|
Diagnostic text:
warning: definition of implicit copy |
constructor |
assignment operator |
|
for A is deprecated because it has a user-declared destructor |
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 may be deprecated because the receiver type is unknown |
warning: A is deprecated: B |
warning: property access is using A method which is deprecated |
Diagnostic text:
warning: dynamic exception specifications are deprecated |
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 is deprecated |
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 is deprecated |
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 is deprecated |
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 |
|
|
enumeration |
floating-point |
|
type D is deprecated |
Diagnostic text:
warning: implementing deprecated |
|
warning: implementing unavailable method |
This diagnostic is enabled by default.
Diagnostic text:
warning: incrementing expression of type bool is deprecated and incompatible with C++17 |
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() |
This diagnostic is enabled by default.
Diagnostic text:
warning: ‘register’ storage class specifier is deprecated and incompatible with C++17 |
Diagnostic text:
warning: implicit capture of ‘this’ with a capture default of ‘=’ is deprecated |
This diagnostic is enabled by default.
Diagnostic text:
warning: compound assignment to object of volatile-qualified type A is deprecated |
warning: |
|
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 |
Diagnostic text:
warning: instance variable A is being directly accessed |
Diagnostic text:
warning: disabled expansion of recursive macro |
This diagnostic flag exists for GCC compatibility, and has no effect in Clang.
This diagnostic flag exists for GCC compatibility, and has no effect in Clang.
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 |
This diagnostic is enabled by default.
Diagnostic text:
warning: |
|
by zero is undefined |
This diagnostic is enabled by default.
Diagnostic text:
warning: redeclaration of A should not add B attribute |
This diagnostic is enabled by default.
Diagnostic text:
warning: explicit instantiation declaration should not be ‘dllexport’ |
This diagnostic is enabled by default.
Diagnostic text:
warning: definition of dllimport static field |
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 |
Diagnostic text:
warning: declaration is marked with ‘ |
|
deprecated’ command but does not have a deprecation attribute |
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’ |
Diagnostic text:
warning: unknown command tag name ‘A’; did you mean ‘B’? |
warning: unknown command tag name |
Diagnostic text:
warning: ’$’ in identifier |
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 |
Diagnostic text:
warning: element A has been implicitly assigned B which another element has been assigned |
Diagnostic text:
warning: redeclaration of method parameter A |
Diagnostic text:
warning: multiple declarations of method A found and ignored |
This diagnostic is enabled by default.
Diagnostic text:
warning: duplicate protocol definition of A is ignored |
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 |
|
dynamic class D; vtable pointer will be |
overwritten |
copied |
moved |
compared |
|
Some of the diagnostics controlled by this flag are enabled by default.
Also controls -Wdeprecated-dynamic-exception-spec.
Diagnostic text:
error: ISO C++17 does not allow dynamic exception specifications |
Diagnostic text:
warning: embedding a directive within macro arguments has undefined behavior |
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 |
This diagnostic is enabled by default.
Diagnostic text:
warning: ISO C++17 does not allow a decomposition group to be empty |
Diagnostic text:
warning: empty initialization statement of ‘ |
if |
switch |
range-based for |
|
‘ has no effect |
Diagnostic text:
warning: ISO C requires a translation unit to contain at least one declaration |
This diagnostic is enabled by default.
Diagnostic text:
warning: encoding of A type is incomplete because B component has unknown encoding |
This diagnostic is enabled by default.
Also controls -Wdeprecated-enum-compare, -Wenum-compare-switch.
Diagnostic text:
warning: |
arithmetic between |
bitwise operation between |
comparison of |
conditional expression between |
compound assignment of |
|
different enumeration types |
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 |
This diagnostic is enabled by default.
Diagnostic text:
warning: comparison of different enumeration types in switch statement |
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 |
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 |
|
|
enumeration |
floating-point |
|
type D |
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 |
This diagnostic is enabled by default.
Diagnostic text:
warning: cannot refer to a non-static member from the handler of a |
|
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 |
Diagnostic text:
warning: declaration requires an exit-time destructor |
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 |
This diagnostic is enabled by default.
Diagnostic text:
warning: -fexperimental-isel support for the ‘A’ architecture is incomplete |
warning: -fexperimental-isel support is incomplete for this architecture at the current optimization level |
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 |
Diagnostic text:
warning: method parameter of type A with no explicit ownership |
This diagnostic is enabled by default.
Diagnostic text:
warning: ISO C++20 does not permit |
|
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 |
This diagnostic is enabled by default.
Diagnostic text:
warning: ISO C++20 does not permit using directive to be exported |
This diagnostic is enabled by default.
Diagnostic text:
warning: |
|
|
has size 0 in C, |
|
in C++ |
This diagnostic is enabled by default.
Diagnostic text:
warning: ‘extern’ variable has an initializer |
This diagnostic is enabled by default.
Diagnostic text:
warning: falling back to A |
This diagnostic is enabled by default.
Diagnostic text:
warning: class with destructor marked ‘ |
|
‘ cannot be inherited from |
Diagnostic text:
warning: enumeration types with a fixed underlying type are a Clang extension |
This diagnostic is enabled by default.
Diagnostic text:
warning: enumeration value A is out of range of flags in enumeration type B |
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 |
Diagnostic text:
warning: comparing floating point with == or != is unsafe |
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 |
Diagnostic text:
warning: implicit conversion from A to B changes non-zero value from C to D |
Diagnostic text:
warning: variable A is |
|
both in the loop header and in the loop body |
warning: variable |
|
used in loop condition not modified in loop body |
This diagnostic is enabled by default.
Diagnostic text:
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 |
Diagnostic text:
warning: multi-character character constant |
This diagnostic is enabled by default.
Diagnostic text:
The text of this diagnostic is not controlled by Clang.
warning: stack frame size of A bytes in B |
This diagnostic is enabled by default.
Diagnostic text:
warning: public framework header includes private framework header ‘A’ |
This diagnostic is enabled by default.
Diagnostic text:
warning: function definition inside an Objective-C container is deprecated |
This diagnostic is enabled by default.
Diagnostic text:
warning: body of cpu_dispatch function will be ignored |
warning: CPU list contains duplicate entries; attribute ignored |
This diagnostic flag exists for GCC compatibility, and has no effect in Clang.
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 |
Diagnostic text:
warning: declaration requires a global constructor |
warning: declaration requires a global destructor |
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.
This diagnostic is enabled by default.
Diagnostic text:
warning: A applied to an expression is a GNU extension |
Diagnostic text:
warning: anonymous structs are a GNU extension |
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 |
Diagnostic text:
warning: ‘__auto_type’ is a GNU extension |
Diagnostic text:
warning: binary integer literals are a GNU extension |
Diagnostic text:
warning: use of GNU case range extension |
Diagnostic text:
warning: complex integer types are a GNU extension |
Diagnostic text:
warning: initialization of an array from a compound literal is a GNU extension |
Diagnostic text:
warning: use of GNU ?: conditional expression extension, omitting middle operand |
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 |
Diagnostic text:
warning: use of GNU empty initializer extension |
Diagnostic text:
warning: empty |
|
is a GNU extension |
warning: flexible array member A in otherwise empty |
struct |
interface |
union |
class |
enum |
|
is a GNU extension |
warning: |
|
without named members is a GNU extension |
Diagnostic text:
warning: flexible array initialization is a GNU extension |
Diagnostic text:
warning: flexible array member A in a union is a GNU extension |
Diagnostic text:
warning: expression is not an |
|
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 |
Diagnostic text:
warning: imaginary constants are a GNU extension |
Diagnostic text:
warning: #include_next is a language extension |
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 |
Diagnostic text:
warning: use of GNU address-of-label extension |
warning: use of GNU indirect-goto extension |
Diagnostic text:
warning: redeclaration of already-defined enum A is a GNU extension |
Diagnostic text:
warning: use of GNU statement expression extension |
This diagnostic is enabled by default.
Diagnostic text:
warning: in-class initializer for static data member of type A is a GNU extension |
This diagnostic is enabled by default.
Diagnostic text:
warning: string literal operator templates are a GNU extension |
Diagnostic text:
warning: cast to union type is a GNU extension |
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 |
Diagnostic text:
warning: #line directive with zero argument is a GNU extension |
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 |
This diagnostic is enabled by default.
Diagnostic text:
warning: ’A’ is ignored since it is only supported for HIP |
Diagnostic text:
warning: using the result of an assignment as a condition without parentheses |
This diagnostic is enabled by default.
Diagnostic text:
warning: ‘trivial_abi’ cannot be applied to A |
warning: |
|
will always resolve to A even if weak definition of B is overridden |
warning: |
|
will not be in section ‘A’ but in the same section as the |
|
warning: ‘abi_tag’ attribute on |
|
namespace ignored |
warning: attribute A after definition is ignored |
warning: ‘dllexport’ attribute ignored on explicit instantiation definition |
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 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 |
|
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 |
|
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: 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 redeclared inline; B attribute ignored |
warning: attribute A is already applied with different parameters |
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: ‘internal_linkage’ attribute on a non-static local variable is ignored |
warning: |
|
‘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: 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: ‘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 OpenCL version 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: |
|
of field B (C bits) does not match the |
|
of the first field in transparent union; transparent_union attribute ignored |
warning: first field of a transparent union cannot have |
|
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: |
|
|
’C’ in the ‘target’ attribute string; ‘target’ attribute ignored |
warning: ‘__clang__’ is a predefined macro name, not an attribute scope specifier; did you mean ‘_Clang’ instead? |
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 |
This diagnostic is enabled by default.
Diagnostic text:
warning: A is not a recognized builtin |
|
; consider including <intrin.h> to access non-builtin intrinsics |
|
This diagnostic is enabled by default.
Diagnostic text:
warning: ’#pragma optimize’ is not supported |
This diagnostic is enabled by default.
Also controls -Wignored-pragma-intrinsic, -Wignored-pragma-optimize.
Diagnostic text:
warning: expected ‘=’ following ‘#pragma |
|
‘ - ignored |
warning: invalid alignment option in ‘#pragma |
|
‘ - ignored |
warning: OpenCL extension end directive mismatches begin directive - ignoring |
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 init_seg’ is only supported when targeting a Microsoft environment |
warning: unknown action for ‘#pragma A’ - ignored |
warning: unexpected argument ‘A’ to ‘#pragma B’ |
|
warning: unknown action ‘B’ for ‘#pragma A’ - ignored |
warning: missing argument to ‘#pragma A’ |
|
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’ |
Some of the diagnostics controlled by this flag are enabled by default.
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 |
|
on return type |
|
no effect |
warning: ’A’ qualifier on function type B has no effect |
warning: ’A’ qualifier on reference type B has no effect |
Diagnostic text:
warning: property is assumed atomic when auto-synthesizing the property |
warning: property is assumed atomic by default |
This diagnostic is enabled by default.
Diagnostic text:
warning: implicit conversion turns floating-point number into bool: A to B |
This diagnostic is enabled by default.
Diagnostic text:
warning: function previously declared with an |
|
exception specification redeclared with an |
|
exception specification |
Also controls -Wimplicit-fallthrough-per-function.
Diagnostic text:
warning: fallthrough annotation in unreachable code |
warning: unannotated fall-through between switch labels |
Diagnostic text:
warning: unannotated fall-through between switch labels in partly-annotated function |
This diagnostic is enabled by default.
Diagnostic text:
warning: implicit conversion from A cannot fit within the range of values for B |
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 |
This diagnostic is enabled by default.
Diagnostic text:
warning: type specifier missing, defaults to ‘int’ |
Some of the diagnostics controlled by this flag are enabled by default.
Diagnostic text:
warning: implicit conversion from A to B may lose precision |
warning: implicit conversion from C to D changes value from A to B |
Diagnostic text:
warning: block implicitly retains ‘self’; explicitly mention ‘self’ to indicate this is intended behavior |
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 |
This diagnostic flag exists for GCC compatibility, and has no effect in Clang.
Diagnostic text:
warning: #import is a language extension |
This diagnostic is enabled by default.
Diagnostic text:
warning: direct base A is inaccessible due to ambiguity:B |
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 |
This diagnostic is enabled by default.
Diagnostic text:
warning: exception specifications of |
|
types differ |
warning: target exception specification is not superset of source |
This diagnostic is enabled by default.
Diagnostic text:
warning: incompatible function pointer types |
assigning to different types |
passing to parameter of different type |
returning from function with different return type |
converting between types |
initializing with expression of different type |
sending to parameter of different type |
casting between types |
|
|
; dereference with * |
; take the address with & |
; remove * |
; remove & |
|
This diagnostic is enabled by default.
Diagnostic text:
warning: incompatible redeclaration of library function A |
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 |
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 different types |
passing to parameter of different type |
returning from function with different return type |
converting between types |
initializing with expression of different type |
sending to parameter of different type |
casting between types |
|
|
; dereference with * |
; take the address with & |
; remove * |
; remove & |
|
This diagnostic is enabled by default.
Diagnostic text:
warning: |
assigning to different types |
passing to parameter of different type |
returning from function with different return type |
converting between types |
initializing with expression of different type |
sending to parameter of different type |
casting between types |
|
discards qualifiers in nested pointer types |
warning: |
assigning to different types |
passing to parameter of different type |
returning from function with different return type |
converting between types |
initializing with expression of different type |
sending to parameter of different type |
casting between types |
|
discards qualifiers |
This diagnostic is enabled by default.
Diagnostic text:
warning: property type A is incompatible with type B inherited from C |
This diagnostic is enabled by default.
Diagnostic text:
warning: using sysroot for ‘A’ but targeting ‘B’ |
This diagnostic is enabled by default.
Diagnostic text:
warning: skipping ‘A’ because module declaration of ‘B’ lacks the ‘framework’ qualifier |
This diagnostic is enabled by default.
Diagnostic text:
warning: method definition for A not found |
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>. |
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’ |
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 |
Diagnostic text:
warning: A overrides a destructor but is not marked ‘override’ |
This diagnostic is enabled by default.
Diagnostic text:
warning: A overrides a member function but is not marked ‘override’ |
This diagnostic is enabled by default.
Also controls -Wdeprecated-increment-bool.
Diagnostic text:
error: ISO C++17 does not allow incrementing expression of type bool |
Diagnostic text:
warning: all paths through this function will call itself |
This diagnostic flag exists for GCC compatibility, and has no effect in Clang.
This diagnostic is enabled by default.
Diagnostic text:
warning: initializer |
|
overrides prior initialization of this subobject |
warning: initializer |
|
overrides prior initialization of this subobject |
This diagnostic is enabled by default.
Diagnostic text:
warning: ISO C++ specifies that qualified reference to A is a constructor name rather than a |
|
in this context, despite preceding |
|
keyword |
This diagnostic flag exists for GCC compatibility, and has no effect in Clang.
This diagnostic is enabled by default.
Diagnostic text:
The text of this diagnostic is not controlled by Clang.
This diagnostic is enabled by default.
Diagnostic text:
warning: replacement function A cannot be declared ‘inline’ |
This diagnostic is enabled by default.
Diagnostic text:
warning: explicit instantiation of A that occurs after an explicit specialization has no effect |
This diagnostic is enabled by default.
Diagnostic text:
warning: incompatible integer to pointer conversion |
assigning to different types |
passing to parameter of different type |
returning from function with different return type |
converting between types |
initializing with expression of different type |
sending to parameter of different type |
casting between types |
|
|
; dereference with * |
; take the address with & |
; remove * |
; remove & |
|
warning: incompatible pointer to integer conversion |
assigning to different types |
passing to parameter of different type |
returning from function with different return type |
converting between types |
initializing with expression of different type |
sending to parameter of different type |
casting between types |
|
|
; dereference with * |
; take the address with & |
; remove * |
; remove & |
|
Diagnostic text:
warning: converting the enum constant to a boolean |
warning: converting the result of ‘<<’ to a boolean; did you mean ‘(A) != 0’? |
This diagnostic is enabled by default.
Also controls -Wint-to-void-pointer-cast.
Diagnostic text:
warning: cast to B from smaller integer type A |
This diagnostic is enabled by default.
Diagnostic text:
warning: cast to B from smaller integer type A |
This diagnostic is enabled by default.
Diagnostic text:
warning: overflow in expression; result is A with type B |
This diagnostic is enabled by default.
Also controls -Wignored-optimization-argument.
Diagnostic text:
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 a MSP430 device, or -mhwmult to set 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 |
This diagnostic is an error by default, but the flag -Wno-invalid-constexpr
can be used to disable the error.
Diagnostic text:
error: constexpr |
|
never produces a constant expression |
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 |
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 |
This diagnostic is enabled by default.
Diagnostic text:
warning: ’A’ is not a valid builtin name for B |
This diagnostic is enabled by default.
Diagnostic text:
warning: function declared ‘noreturn’ should not return |
warning: function A declared ‘noreturn’ should not return |
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 |
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’ |
This diagnostic is an error by default, but the flag -Wno-invalid-partial-specialization
can be used to disable the error.
Diagnostic text:
error: |
|
template partial specialization is not more specialized than the primary template |
This diagnostic flag exists for GCC compatibility, and has no effect in Clang.
This diagnostic is enabled by default.
Diagnostic text:
warning: empty character constant |
warning: missing terminating |
|
character |
This diagnostic is enabled by default.
Diagnostic text:
warning: illegal character encoding in character literal |
warning: illegal character encoding in string literal |
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 |
This diagnostic is enabled by default.
Diagnostic text:
warning: jump out of __finally block has undefined behavior |
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 |
|
Diagnostic text:
warning: keyword is hidden by macro definition |
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 ? |
This diagnostic flag exists for GCC compatibility, and has no effect in Clang.
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 |
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 |
This diagnostic is enabled by default.
Diagnostic text:
warning: logical not is only applied to the left hand side of this |
comparison |
bitwise operator |
|
Diagnostic text:
warning: ’&&’ within ‘||’ |
Also controls -Wc++11-long-long.
Diagnostic text:
warning: ‘long long’ is an extension when C99 mode is not enabled |
This diagnostic is enabled by default.
Diagnostic text:
warning: A macro redefined |
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 |
This diagnostic is enabled by default.
Diagnostic text:
warning: return type of ‘main’ is not ‘int’ |
This diagnostic is enabled by default.
Diagnostic text:
warning: too many braces around scalar initializer |
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 |
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? |
This diagnostic is enabled by default.
Diagnostic text:
warning: size argument in A call is a comparison |
Diagnostic text:
warning: conflicting parameter types in implementation of A: B vs C |
warning: conflicting return type in implementation of A: B vs C |
Some of the diagnostics controlled by this flag are enabled by default.
Controls -Winconsistent-dllimport, -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-template, -Wmicrosoft-union-member-reference, -Wmicrosoft-unqualified-friend, -Wmicrosoft-using-decl, -Wmicrosoft-void-pseudo-dtor.
Some of the diagnostics controlled by this flag are enabled by default.
Diagnostic text:
warning: types declared in an anonymous |
|
are a Microsoft extension |
warning: anonymous |
|
are a Microsoft extension |
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 |
Diagnostic text:
warning: charizing operator #@ is a Microsoft extension |
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 |
Diagnostic text:
warning: C++ operator A (aka B) used as a macro name |
This diagnostic is enabled by default.
Diagnostic text:
warning: redefinition of default argument |
This diagnostic is enabled by default.
Diagnostic text:
warning: #pragma A(“.drectve”) has undefined behavior, use #pragma comment(linker, …) instead |
Diagnostic text:
warning: treating Ctrl-Z as end-of-file is a Microsoft extension |
This diagnostic is enabled by default.
Diagnostic text:
warning: forward references to ‘enum’ types are a Microsoft extension |
Diagnostic text:
warning: enumerator value is not representable in the underlying type A |
Some of the diagnostics controlled by this flag are enabled by default.
Diagnostic text:
warning: exception specification of ‘…’ is a Microsoft extension |
warning: |
|
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: A is missing exception specification ‘B’ |
warning: exception specification of overriding function is more lax than base version |
This diagnostic is enabled by default.
Diagnostic text:
warning: dependent |
__if_not_exists |
__if_exists |
|
declarations are ignored |
This diagnostic is enabled by default.
Diagnostic text:
warning: explicit constructor calls are a Microsoft extension |
Diagnostic text:
warning: enumeration types with a fixed underlying type are a Microsoft extension |
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 |
This diagnostic is enabled by default.
Diagnostic text:
warning: jump from this goto statement to its label is a Microsoft extension |
This diagnostic is enabled by default.
Diagnostic text:
warning: accessing inaccessible direct base A of B is a Microsoft extension |
This diagnostic is enabled by default.
Diagnostic text:
warning: #include resolved using non-portable Microsoft search rules as: A |
This diagnostic is enabled by default.
Diagnostic text:
warning: ‘mutable’ on a reference type is a Microsoft extension |
This diagnostic is enabled by default.
Diagnostic text:
warning: function definition with pure-specifier is a Microsoft extension |
Diagnostic text:
warning: redeclaring non-static A as static is a Microsoft extension |
This diagnostic is enabled by default.
Diagnostic text:
warning: ‘sealed’ keyword is a Microsoft extension |
This diagnostic is enabled by default.
Diagnostic text:
warning: duplicate explicit instantiation of A ignored as a Microsoft extension |
warning: use of identifier A found via unqualified lookup into dependent bases of class templates 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 |
|
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: declaration of A shadows template parameter |
warning: use of undeclared identifier A; unqualified lookup into dependent bases of class template B is a Microsoft extension |
This diagnostic is enabled by default.
Diagnostic text:
warning: union member A has reference type B, which is a Microsoft extension |
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 |
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 |
This diagnostic is enabled by default.
Diagnostic text:
warning: pseudo-destructors on type void are a Microsoft extension |
Diagnostic text:
warning: Potential performance regression from use of __builtin_expect(): Annotation was correct on A of profiled executions. |
Diagnostic text:
warning: misleading indentation; statement is not part of the previous ‘ |
|
‘ |
This diagnostic is enabled by default.
Diagnostic text:
warning: ‘delete |
|
‘ applied to a pointer that was allocated with ‘new |
|
‘; did you mean ‘delete |
|
‘? |
This diagnostic is enabled by default.
Diagnostic text:
warning: conflicting parameter types in implementation of A |
This diagnostic is enabled by default.
Diagnostic text:
warning: conflicting return type in implementation of A |
Diagnostic text:
warning: suggest braces around initialization of subobject |
This diagnostic is enabled by default.
Diagnostic text:
warning: ‘constinit’ specifier missing on initializing declaration of A |
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 |
This diagnostic is enabled by default.
Diagnostic text:
warning: A is missing exception specification ‘B’ |
Diagnostic text:
warning: missing field A initializer |
This diagnostic flag exists for GCC compatibility, and has no effect in Clang.
Diagnostic text:
warning: method has no return type specified; defaults to ‘id’ |
This diagnostic is enabled by default.
Diagnostic text:
warning: parameter of overriding method should be annotated with __attribute__((noescape)) |
Diagnostic text:
warning: block could be declared with attribute ‘noreturn’ |
warning: |
|
B could be declared with attribute ‘noreturn’ |
This diagnostic is enabled by default.
Diagnostic text:
warning: function with no prototype cannot use the A calling convention |
Diagnostic text:
warning: no previous prototype for function A |
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 |
This diagnostic is enabled by default.
Diagnostic text:
warning: no such sysroot directory: ‘A’ |
Diagnostic text:
warning: no previous extern declaration for non-static variable A |
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’ |
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 |
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 |
This diagnostic is enabled by default.
Diagnostic text:
warning: duplicate module file extension block name ‘A’ |
Diagnostic text:
importing module ‘A’ |
|
from ‘B’ |
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 |
This diagnostic is enabled by default.
Diagnostic text:
warning: ambiguous use of internal linkage declaration A defined in multiple modules |
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 |
Some of the diagnostics controlled by this flag are enabled by default.
Controls -Wcast-of-sel-type, -Wchar-subscripts, -Wcomment, -Wdelete-non-virtual-dtor, -Wextern-c-compat, -Wformat, -Wimplicit, -Winfinite-recursion, -Wint-in-bool-context, -Wloop-analysis, -Wmismatched-tags, -Wmissing-braces, -Wmove, -Wmultichar, -Wobjc-designated-initializers, -Wobjc-flexible-array, -Wobjc-missing-super-calls, -Woverloaded-virtual, -Wprivate-extern, -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.
This diagnostic is enabled by default.
Diagnostic text:
warning: unable to find a Visual Studio installation; try running Clang from a developer command prompt |
This diagnostic is enabled by default.
Diagnostic text:
warning: multi-character character constant |
This diagnostic is enabled by default.
Diagnostic text:
warning: defaulted move assignment operator of A will move assign virtual base class B multiple times |
Diagnostic text:
warning: anonymous types declared in an anonymous |
|
are an extension |
This diagnostic flag exists for GCC compatibility, and has no effect in Clang.
This diagnostic is enabled by default.
Diagnostic text:
warning: A should not return a null pointer unless it is declared ‘throw()’ |
|
Diagnostic text:
warning: no newline at end of file |
warning: no newline at end of file |
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 |
This diagnostic is enabled by default.
Diagnostic text:
warning: expression which evaluates to zero treated as a null pointer constant of type A |
Diagnostic text:
warning: include of non-modular header inside framework module ‘A’: ‘B’ |
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 |
|
type B through variadic |
function |
block |
method |
constructor |
|
; call will abort at runtime |
error: cannot pass |
|
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 |
Diagnostic text:
warning: A has virtual functions but non-virtual destructor |
This diagnostic is enabled by default.
Diagnostic text:
warning: null passed to a callee that requires a non-null argument |
warning: null returned from |
|
that requires a non-null return value |
This diagnostic flag exists for GCC compatibility, and has no effect in Clang.
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 |
Diagnostic text:
warning: non-portable path to file ‘A’; specified path differs in case from file name on disk |
This diagnostic is enabled by default.
Diagnostic text:
warning: vector initializers are not compatible with NEON intrinsics in big endian mode |
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 |
|
This diagnostic is enabled by default.
Diagnostic text:
warning: overriding method has mismatched ns_consumed attribute on its parameter |
This diagnostic is enabled by default.
Diagnostic text:
warning: overriding method has mismatched ns_returns_ |
|
attributes |
This diagnostic is enabled by default.
Diagnostic text:
warning: use of NULL in arithmetic operation |
warning: comparison between NULL and non-pointer |
|
This diagnostic is enabled by default.
Diagnostic text:
warning: null character(s) preserved in |
|
literal |
warning: null character ignored |
This diagnostic is enabled by default.
Diagnostic text:
warning: implicit conversion of |
|
constant to B |
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 |
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 |
|
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 |
This diagnostic is enabled by default.
Also controls -Wnullability-completeness-on-arrays.
Diagnostic text:
warning: |
pointer |
block pointer |
member pointer |
|
is missing a nullability type specifier (_Nonnull, _Nullable, or _Null_unspecified) |
This diagnostic is enabled by default.
Diagnostic text:
warning: array parameter is missing a nullability type specifier (_Nonnull, _Nullable, or _Null_unspecified) |
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 |
|
? |
Diagnostic text:
warning: type nullability specifier A is a Clang extension |
This diagnostic is enabled by default.
Diagnostic text:
warning: inferring ‘_Nonnull’ for pointer type within |
|
is deprecated |
Diagnostic text:
warning: implicit conversion from nullable pointer A to non-nullable pointer type B |
This diagnostic is enabled by default.
Diagnostic text:
warning: autosynthesized property A will use |
|
instance variable C, not existing instance variable D |
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 |
This diagnostic is enabled by default.
Diagnostic text:
warning: string is ill-formed as UTF-8 and will become a null A when boxed |
This diagnostic is enabled by default.
Diagnostic text:
warning: adding A to B might cause circular dependency in container |
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’ |
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 |
This diagnostic is enabled by default.
Diagnostic text:
warning: redefinition of forward class A of a typedef name of an object type is ignored |
Diagnostic text:
warning: declaration of instance variables in the interface is deprecated |
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 |
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 |
This diagnostic is enabled by default.
Diagnostic text:
warning: ignoring redefinition of Objective-C qualifier macro |
Diagnostic text:
warning: messaging unqualified id |
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 |
Diagnostic text:
warning: auto property synthesis is synthesizing property not explicitly synthesized |
This diagnostic is enabled by default.
Diagnostic text:
warning: method possibly missing a [super A] call |
This diagnostic is enabled by default.
Diagnostic text:
warning: multiple methods named A found |
This diagnostic is enabled by default.
Diagnostic text:
warning: retain’ed block property does not copy the block - use copy attribute instead |
This diagnostic is enabled by default.
Diagnostic text:
warning: cannot catch an exception thrown with @throw in C++ in the non-unified exception model |
Diagnostic text:
warning: ‘assign’ property of object type may become a dangling reference; consider using ‘unsafe_unretained’ |
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 |
This diagnostic is enabled by default.
Diagnostic text:
warning: primary property declaration is implicitly strong while redeclaration in class extension is weak |
This diagnostic is enabled by default.
Diagnostic text:
warning: property follows Cocoa naming convention for returning ‘owned’ objects |
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 |
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 |
This diagnostic is enabled by default.
Diagnostic text:
warning: category is implementing a method which will also be implemented by its primary class |
This diagnostic is enabled by default.
Diagnostic text:
warning: auto property synthesis will not synthesize property A declared in protocol B |
This diagnostic is enabled by default.
Diagnostic text:
warning: parameterized class A already conforms to the protocols listed; did you forget a ‘*’? |
This diagnostic is enabled by default.
Diagnostic text:
warning: setter cannot be specified for a readonly property |
This diagnostic is enabled by default.
Diagnostic text:
warning: using A with a literal is redundant |
This diagnostic is enabled by default.
Diagnostic text:
warning: class A defined without specifying a base class |
This diagnostic is enabled by default.
Diagnostic text:
warning: implicit conversion from floating-point type A to ‘BOOL’ |
Diagnostic text:
warning: implicit conversion from integral type A to ‘BOOL’ |
This diagnostic is enabled by default.
Diagnostic text:
warning: direct comparison of a string literal has undefined behavior |
This diagnostic is enabled by default.
Diagnostic text:
warning: concatenated NSString literal for an NSArray expression - possibly missing a comma |
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: |
|
method B has a different number of parameters in different translation units (C vs. D) |
warning: |
|
method B has a parameter with a different types in different translation units (C vs. D) |
warning: |
|
method B has incompatible result types in different translation units (C vs. D) |
warning: |
|
method B is variadic in one translation unit and not variadic in another |
warning: property A is implemented with |
|
in one translation but |
|
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 |
|
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) |
Diagnostic text:
warning: use of old-style cast |
This diagnostic flag exists for GCC compatibility, and has no effect in Clang.
This diagnostic is enabled by default.
Diagnostic text:
warning: vector component name ‘A’ is an OpenCL version 2.2 feature |
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: unknown context selector in ‘A’ context selector set of ‘omp declare variant’ directive, ignored |
warning: zero linear step (A |
|
and other variables in clause |
|
should probably be const) |
warning: more than one ‘device_type’ clause is specified |
warning: allocate directive specifies |
|
allocator while previously used |
|
This diagnostic is enabled by default.
Diagnostic text:
warning: Type A is not trivially copyable and not guaranteed to be mapped correctly |
This diagnostic is enabled by default.
Also controls -Wopenmp-mapping.
Diagnostic text:
warning: The OpenMP offloading target ‘A’ is similar to target ‘B’ already specified - will be ignored. |
warning: No library ‘A’ found in the default clang lib directory or in LIBRARY_PATH. Expect degraded performance due to no inlining of runtime functions on target devices. |
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 |
This diagnostic is enabled by default.
Diagnostic text:
warning: option ‘-ffine-grained-bitfield-accesses’ cannot be enabled together with a sanitizer; flag ignored |
warning: The ‘A’ architecture does not support -moutline; flag ignored |
warning: option ‘A’ was ignored by the PS4 toolchain, using ‘-fPIC’ |
warning: ignoring ‘-mlong-calls’ option as it is not currently supported with |
|
-mabicalls |
warning: ignoring ‘A’ option as it cannot be used with |
|
-mabicalls and the N64 ABI |
warning: auto-vectorization requires HVX, use -mhvx to enable it |
This diagnostic is enabled by default.
Diagnostic text:
warning: ordered comparison of function pointers (A and B) |
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 |
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 |
|
Diagnostic text:
warning: type A requires B bytes of alignment and the default allocator only guarantees C bytes |
This diagnostic flag exists for GCC compatibility, and has no effect in Clang.
Diagnostic text:
warning: string literal of length A exceeds maximum length B that |
|
compilers are required to support |
This diagnostic is enabled by default.
Diagnostic text:
warning: overloaded operator |
|
has higher precedence than comparison operator |
Diagnostic text:
warning: A hides overloaded virtual |
|
This diagnostic is enabled by default.
Diagnostic text:
warning: overriding the module target triple with A |
Diagnostic text:
warning: conflicting distributed object modifiers on parameter type in declaration of A |
warning: conflicting parameter types in declaration of A |
warning: conflicting distributed object modifiers on return type in declaration of A |
warning: conflicting return type in declaration of A |
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 |
This diagnostic is enabled by default.
Diagnostic text:
warning: overriding ‘A’ option with ‘B’ |
Diagnostic text:
warning: packed attribute is unnecessary for A |
Diagnostic text:
warning: padding |
|
B with C |
|
|
to align anonymous bit-field |
warning: padding |
|
B with C |
|
|
to align E |
warning: padding size of A with B |
|
|
to alignment boundary |
This diagnostic is enabled by default.
Diagnostic text:
warning: equality comparison with extraneous parentheses |
Diagnostic text:
The text of this diagnostic is not controlled by Clang.
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’. |
This diagnostic is enabled by default.
Diagnostic text:
The text of this diagnostic is not controlled by Clang.
Diagnostic text:
The text of this diagnostic is not controlled by Clang.
This diagnostic is enabled by default.
Diagnostic text:
warning: |
precompiled header |
module |
|
uses __DATE__ or __TIME__ |
Also controls -Wc++11-extra-semi, -Wc++11-long-long, -Wc++14-binary-literal, -Wc++2a-designator, -Wc11-extensions, -Wcomplex-component-init, -Wdeclaration-after-statement, -Wdollar-in-identifier-extension, -Wembedded-directive, -Wempty-translation-unit, -Wfixed-enum-extension, -Wflexible-array-extensions, -Wfour-char-constants, -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-folding-constant, -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: duplicate ‘A’ declaration specifier |
warning: ‘enable_if’ is a clang extension |
warning: ‘diagnose_if’ is a clang 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 |
|
warning: anonymous |
|
cannot be ‘B’ |
warning: no viable constructor |
copying variable |
copying 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++2a extension |
warning: qualifier in explicit instantiation of A requires a template-id (a typedef is not permitted) |
warning: static |
|
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 |
|
) |
warning: size of static array must be an integer constant expression |
warning: initializer for aggregate is not a compile-time constant |
warning: flexible array members are a C99 feature |
warning: invalid application of ‘ |
sizeof |
alignof |
vec_step |
__builtin_omp_required_simd_align |
__alignof |
|
‘ to a function type |
warning: invalid application of ‘ |
sizeof |
alignof |
vec_step |
__builtin_omp_required_simd_align |
__alignof |
|
‘ 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 |
|
pointer |
|
to void is a GNU extension |
warning: arithmetic on |
|
pointer |
|
to |
|
function type |
|
B |
|
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 |
|
type C is a C++11 extension |
warning: |
assigning to different types |
passing to parameter of different type |
returning from function with different return type |
converting between types |
initializing with expression of different type |
sending to parameter of different type |
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: use of the A attribute is a C++14 extension |
warning: use of the A attribute is a C++17 extension |
warning: use of the A attribute is a C++2a extension |
warning: types declared in an anonymous |
|
are a Microsoft extension |
warning: format specifies type A but the argument has |
|
B |
warning: void |
|
A should not return void expression |
warning: |
|
array size |
|
is a C99 feature |
warning: extra ‘;’ |
outside of a function |
|
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 |
Diagnostic text:
warning: OpenCL extension A is core feature or supported optional core feature - ignoring |
Diagnostic text:
warning: moving a temporary object prevents copy elision |
warning: moving a local object in a return statement prevents copy elision |
Some of the diagnostics controlled by this flag are enabled by default.
Diagnostic text:
warning: arithmetic on |
|
pointer |
|
to |
|
function type |
|
B |
|
is a GNU extension |
warning: subscript of a pointer to void is a GNU extension |
warning: arithmetic on |
|
pointer |
|
to void is a GNU extension |
warning: invalid application of ‘ |
sizeof |
alignof |
vec_step |
__builtin_omp_required_simd_align |
__alignof |
|
‘ to a function type |
warning: invalid application of ‘ |
sizeof |
alignof |
vec_step |
__builtin_omp_required_simd_align |
__alignof |
|
‘ to a void type |
warning: subtraction of pointers to type A of zero size has undefined behavior |
This diagnostic is enabled by default.
Diagnostic text:
warning: nonnull |
|
’B’ will evaluate to ‘true’ on first encounter |
warning: address of |
|
’B’ will always evaluate to ‘true’ |
This diagnostic is enabled by default.
Diagnostic text:
warning: comparing a pointer to a null character constant; did you mean to compare to |
|
? |
This diagnostic is enabled by default.
Diagnostic text:
warning: comparison between pointer and integer (A and B) |
This diagnostic is enabled by default.
Diagnostic text:
warning: |
assigning to different types |
passing to parameter of different type |
returning from function with different return type |
converting between types |
initializing with expression of different type |
sending to parameter of different type |
casting between types |
|
converts between pointers to integer types with different sign |
This diagnostic flag exists for GCC compatibility, and has no effect in Clang.
This diagnostic is enabled by default.
Diagnostic text:
warning: pointer type mismatch |
Diagnostic text:
warning: include location ‘A’ is unsafe for cross-compilation |
This diagnostic is enabled by default.
Diagnostic text:
warning: expression with side effects will be evaluated despite being used as an operand to ‘typeid’ |
This diagnostic is enabled by default.
Diagnostic text:
warning: unused attribute A in ‘#pragma clang attribute push’ region |
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 |
Diagnostic text:
warning: non-default #pragma pack value changes the alignment of struct or union members in the included file |
This diagnostic is enabled by default.
Diagnostic text:
warning: predefined identifier is only valid inside function |
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 |
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’ |
Diagnostic text:
warning: profile data may be incomplete: of A function |
|
, B |
|
no data |
This diagnostic is enabled by default.
Diagnostic text:
warning: profile data may be out of date: of A function |
|
, B |
|
mismatched data that will be ignored |
This diagnostic is enabled by default.
Diagnostic text:
warning: no profile data available for file “A” |
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? |
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 |
This diagnostic is enabled by default.
Diagnostic text:
warning: method A in protocol B not implemented |
This diagnostic is enabled by default.
Diagnostic text:
warning: property |
|
was selected for synthesis |
This diagnostic is enabled by default.
Diagnostic text:
warning: function cannot return qualified void type A |
Diagnostic text:
warning: loop variable A is initialized with a value of a different type resulting in a copy |
warning: loop variable A of type B creates a copy from type C |
warning: loop variable A is always a copy because the range of type B does not return a reference |
This diagnostic is enabled by default.
Diagnostic text:
warning: readonly IBOutlet property A when auto-synthesized may not work correctly with ‘nib’ loader |
This diagnostic is enabled by default.
Diagnostic text:
warning: receiver type A is not ‘id’ or interface pointer, consider casting it to ‘id’ |
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 |
This diagnostic is enabled by default.
Diagnostic text:
warning: class member cannot be redeclared |
This diagnostic flag exists for GCC compatibility, and has no effect in Clang.
Diagnostic text:
warning: redundant move in return statement |
Diagnostic text:
warning: redundant parentheses surrounding declarator |
This diagnostic is enabled by default.
Also controls -Wdeprecated-register.
Diagnostic text:
error: ISO C++17 does not allow ‘register’ storage class specifier |
This diagnostic is enabled by default.
Diagnostic text:
warning: ‘reinterpret_cast’ |
|
class A |
|
its |
virtual base |
base at non-zero offset |
|
B behaves differently from ‘static_cast’ |
Diagnostic text:
warning: |
|
B will be initialized after |
|
D |
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 |
This diagnostic is enabled by default.
Diagnostic text:
warning: this requires expression will only be checked for syntactic validity; did you intend to place it in a nested requirement? (add another ‘requires’ before the expression) |
This diagnostic is enabled by default.
Diagnostic text:
warning: A attribute cannot be applied to |
methods in protocols |
dealloc |
|
Diagnostic text:
warning: macro name is a reserved identifier |
Some of the diagnostics controlled by this flag are enabled by default.
Also controls -Wc++11-compat-reserved-user-defined-literal.
Diagnostic text:
warning: invalid suffix on literal; C++11 requires a space between literal and identifier |
error: invalid suffix on literal; C++11 requires a space between literal and identifier |
Diagnostic text:
warning: friend function A retaining previous language linkage is an extension |
This diagnostic is enabled by default.
Diagnostic text:
warning: returning address of label, which is local |
warning: returning |
|
local temporary object |
warning: |
|
stack memory associated with |
|
B returned |
Diagnostic text:
warning: local variable A will be copied despite being |
|
by name |
Diagnostic text:
warning: prior to the resolution of a defect report against ISO C++11, local variable A would have been copied despite being returned by name, due to its not matching the function return 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 |
|
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 |
|
A should return a value |
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 |
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 blacklisted file |
is blacklisted |
|
This diagnostic is enabled by default.
Diagnostic text:
warning: section attribute is specified on redeclared variable |
warning: duplicate code segment specifiers |
warning: |
|
does not match previous declaration |
Also controls -Wselector-type-mismatch.
Diagnostic text:
warning: no method with selector A is implemented in this translation unit |
Diagnostic text:
warning: several methods with selector A of mismatched types are found for the @selector expression |
Some of the diagnostics controlled by this flag are enabled by default.
Also controls -Wself-assign-field, -Wself-assign-overloaded.
Diagnostic text:
warning: explicitly assigning value of variable of type A to itself |
This diagnostic is enabled by default.
Diagnostic text:
warning: assigning |
|
to itself |
Diagnostic text:
warning: explicitly assigning value of variable of type A to itself |
Diagnostic text:
warning: explicitly moving variable of type A to itself |
Diagnostic text:
warning: semicolon before method body is ignored |
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 |
This diagnostic is enabled by default.
Diagnostic text:
warning: unable to open file A for serializing diagnostics (B) |
warning: unable to merge a subprocess’s serialized diagnostics |
Diagnostic text:
warning: |
parameter |
non-static data member |
|
A |
|
shadows member inherited from type C |
Diagnostic text:
warning: modifying constructor parameter A that shadows a field of B |
This diagnostic is enabled by default.
Diagnostic text:
warning: local declaration of A hides instance variable |
Diagnostic text:
warning: declaration shadows a |
|
This diagnostic is enabled by default.
Diagnostic text:
warning: shift count is negative |
This diagnostic is enabled by default.
Diagnostic text:
warning: shift count >= width of type |
This diagnostic is enabled by default.
Diagnostic text:
warning: shifting a negative signed value is undefined |
This diagnostic is enabled by default.
Diagnostic text:
warning: operator ‘A’ has lower precedence than ‘B’; ‘B’ will be evaluated first |
This diagnostic is enabled by default.
Diagnostic text:
warning: signed shift result (A) requires B bits to represent, but C only has D bits |
Diagnostic text:
warning: signed shift result (A) sets the sign bit of the shift expression’s type (B) and becomes negative |
Diagnostic text:
warning: implicit conversion loses integer precision: A to B |
Diagnostic text:
warning: comparison of integers of different signs: A and B |
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 |
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 |
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 |
This diagnostic is enabled by default.
Diagnostic text:
warning: sizeof on array function parameter will return size of A instead of B |
This diagnostic is enabled by default.
Diagnostic text:
warning: sizeof on pointer operation will return size of A instead of B |
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 |
This diagnostic is enabled by default.
Diagnostic text:
warning: ’A’ will return the size of the pointer, not the array itself |
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 |
|
; expected D or an explicit length |
This diagnostic is enabled by default.
Diagnostic text:
warning: ’/UA’ treated as the ‘/U’ option |
Diagnostic text:
warning: variable A is |
|
uninitialized whenever |
|
‘D’ loop |
is entered |
exits because its condition is false |
|
|
‘D’ loop |
condition is true |
exits because its condition is false |
|
|
|
its declaration is reached |
|
|
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: OpenMP only allows an ordered construct with the simd clause nested in a simd construct |
warning: unexpected ‘#pragma omp …’ in program |
Diagnostic text:
warning: sampler initializer has invalid A bits |
This diagnostic is enabled by default.
Diagnostic text:
warning: stack nearly exhausted; compilation time may suffer, and crashes due to stack overflow are likely |
This diagnostic flag exists for GCC compatibility, and has no effect in Clang.
This diagnostic is enabled by default.
Also controls -Wgnu-static-float-init.
Diagnostic text:
error: in-class initializer for static data member of type A requires ‘constexpr’ specifier |
Some of the diagnostics controlled by this flag are enabled by default.
Diagnostic text:
warning: static |
|
B is used in an inline function with external linkage |
warning: static |
|
B is used in an inline function with external linkage |
This diagnostic is enabled by default.
Diagnostic text:
warning: ignoring ‘ |
|
‘ keyword on explicit template instantiation |
This diagnostic is enabled by default.
Diagnostic text:
warning: non-constant static local variable in inline function may be different in different files |
This diagnostic is enabled by default.
Diagnostic text:
warning: static variable A is suspiciously used within its own initialization |
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 |
This diagnostic flag exists for GCC compatibility, and has no effect in Clang.
This diagnostic flag exists for GCC compatibility, and has no effect in Clang.
This diagnostic flag exists for GCC compatibility, and has no effect in Clang.
This diagnostic flag exists for GCC compatibility, and has no effect in Clang.
This diagnostic flag exists for GCC compatibility, and has no effect in Clang.
This diagnostic flag exists for GCC compatibility, and has no effect in Clang.
This diagnostic flag exists for GCC compatibility, and has no effect in Clang.
This diagnostic flag exists for GCC compatibility, and has no effect in Clang.
This diagnostic flag exists for GCC compatibility, and has no effect in Clang.
This diagnostic flag exists for GCC compatibility, and has no effect in Clang.
This diagnostic flag exists for GCC compatibility, and has no effect in Clang.
Diagnostic text:
warning: this |
function declaration is not |
block declaration is not |
old-style function definition is not preceded by |
|
a prototype |
Diagnostic text:
warning: this |
function declaration is not |
block declaration is not |
old-style function definition is not preceded by |
|
a prototype |
Diagnostic text:
warning: multiple methods named A found |
This diagnostic is enabled by default.
Diagnostic text:
warning: result of comparison against |
|
is unspecified (use an explicit string comparison function instead) |
Diagnostic text:
warning: implicit conversion turns string literal into bool: A to B |
This diagnostic is enabled by default.
Diagnostic text:
warning: adding A to a string pointer does not append to the string |
This diagnostic is enabled by default.
Diagnostic text:
warning: adding A to a string does not append to the string |
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 |
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 |
Diagnostic text:
warning: method parameter type does not match super class method parameter type |
This diagnostic is enabled by default.
Diagnostic text:
warning: ‘size’ argument to bzero is ‘0’ |
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 |
This diagnostic is enabled by default.
Diagnostic text:
warning: switch condition has boolean value |
This diagnostic flag exists for GCC compatibility, and has no effect in Clang.
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… |
|
|
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 |
This diagnostic flag exists for GCC compatibility, and has no effect in Clang.
Diagnostic text:
warning: bitwise comparison always evaluates to |
|
warning: bitwise or with non-zero value always evaluates to true |
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 |
|
warning: result of comparison of |
|
with |
|
is always E |
This diagnostic is enabled by default.
Diagnostic text:
warning: result of comparison of |
|
with |
|
is always E |
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 |
Diagnostic text:
warning: overlapping comparisons always evaluate to |
|
This diagnostic is enabled by default.
Diagnostic text:
warning: comparison of nonnull |
|
’B’ |
|
equal to a null pointer is ‘ |
|
‘ on first encounter |
warning: comparison of |
address of |
function |
array |
|
’B’ |
|
equal to a null pointer is always |
|
Diagnostic text:
warning: result of comparison |
|
C |
|
is always E |
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 |
|
warning: ‘this’ pointer cannot be null in well-defined C++ code; comparison may be assumed to always evaluate to |
|
Diagnostic text:
warning: result of comparison of |
D |
unsigned enum expression |
|
C |
unsigned enum expression |
D |
|
is always E |
Diagnostic text:
warning: result of comparison of |
|
C |
|
is always E |
This diagnostic is enabled by default.
Diagnostic text:
warning: tentative definition of variable with internal linkage has incomplete non-array type A |
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 |
|
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 |
|
access, expected |
|
access |
warning: |
|
the value pointed to by A requires holding |
any mutex |
any mutex exclusively |
|
warning: |
|
the value pointed to by B requires holding A |
|
warning: |
|
variable A requires holding |
any mutex |
any mutex exclusively |
|
warning: |
|
variable B requires holding A |
|
Diagnostic text:
warning: invalid capability name ‘A’; capability name must be ‘mutex’ or ‘role’ |
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(“mutex”)’ 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 |
Diagnostic text:
warning: Thread safety beta warning. |
Diagnostic text:
warning: acquiring A ’B’ requires negative capability ‘C’ |
Diagnostic text:
warning: calling function B requires holding A |
|
warning: |
|
the value pointed to by B requires holding A |
|
warning: |
|
variable B requires holding A |
|
Diagnostic text:
warning: passing variable B by reference requires holding A |
|
warning: passing the value that B points to by reference requires holding A |
|
Diagnostic text:
warning: Thread safety verbose warning. |
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 |
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 |
|
warning: this type tag was not designed to be used with this function |
This diagnostic is enabled by default.
Diagnostic text:
warning: redefinition of typedef A is a C11 feature |
This diagnostic is enabled by default.
Diagnostic text:
warning: missing ‘typename’ prior to dependent type name ‘AB’ |
This diagnostic is enabled by default.
Diagnostic text:
warning: unable to open statistics output file ‘A’: ‘B’ |
This diagnostic is enabled by default.
Diagnostic text:
warning: A may be unavailable because the receiver type is unknown |
Diagnostic text:
warning: undeclared selector A |
warning: undeclared selector A; did you mean B? |
Diagnostic text:
warning: A is not defined, evaluates to 0 |
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 |
Diagnostic text:
warning: instantiation of function A required here, but no definition is available |
This diagnostic is enabled by default.
Diagnostic text:
warning: inline function A is not defined |
This diagnostic is enabled by default.
Diagnostic text:
warning: |
|
B has internal linkage but is not defined |
Diagnostic text:
warning: ISO C++ requires a definition in this translation unit for |
|
B because its type does not have linkage |
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 |
This diagnostic is enabled by default.
Diagnostic text:
warning: instantiation of variable A required here, but no definition is available |
This diagnostic is enabled by default.
Diagnostic text:
warning: underaligned exception object thrown |
This diagnostic is enabled by default.
Also controls -Wpotentially-evaluated-expression.
Diagnostic text:
warning: expression with side effects has no effect in an unevaluated context |
Some of the diagnostics controlled by this flag are enabled by default.
Also controls -Wunguarded-availability-new.
Diagnostic text:
warning: A is only available on B C or newer |
This diagnostic is enabled by default.
Diagnostic text:
warning: A is only available on B C or newer |
This diagnostic is enabled by default.
Diagnostic text:
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++ |
This diagnostic is enabled by default.
Diagnostic text:
warning: treating Unicode character <U+A> as identifier character rather than as ‘B’ symbol |
This diagnostic is enabled by default.
Diagnostic text:
warning: treating Unicode character as whitespace |
This diagnostic is enabled by default.
Diagnostic text:
warning: identifier contains Unicode character <U+A> that is invisible in some environments |
Some of the diagnostics controlled by this flag are enabled by default.
Also controls -Wsometimes-uninitialized, -Wstatic-self-init.
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 |
|
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 |
|
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’? |
This diagnostic is enabled by default.
Diagnostic text:
warning: unknown attribute A ignored |
This diagnostic is enabled by default.
Diagnostic text:
warning: Unknown CUDA version A. Assuming the latest supported version B |
This diagnostic is enabled by default.
Diagnostic text:
warning: unknown escape sequence ‘\A’ |
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_ACCESS ON is not supported, ignoring pragma |
This diagnostic is enabled by default.
Diagnostic text:
warning: unknown sanitizer ‘A’ ignored |
This diagnostic is enabled by default.
Diagnostic text:
warning: unknown warning group ‘A’, ignored |
warning: unknown |
|
option ‘B’ |
|
warning: unknown A warning specifier: ‘B’ |
Diagnostic text:
warning: |
|
B is not needed and will not be emitted |
warning: ‘static’ function A declared in header file should be declared ‘static inline’ |
Diagnostic text:
warning: member function A is not needed and will not be emitted |
Diagnostic text:
warning: ‘break’ will never be executed |
Diagnostic text:
warning: loop will run at most once (loop increment never executed) |
Diagnostic text:
warning: ‘return’ will never be executed |
This diagnostic is enabled by default.
Diagnostic text:
warning: multiple unsequenced modifications to A |
warning: unsequenced modification and access to A |
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 |
This diagnostic is enabled by default.
Diagnostic text:
warning: |
@available |
__builtin_available |
|
does not guard availability here; use if ( |
@available |
__builtin_available |
|
) instead |
This diagnostic is enabled by default.
Diagnostic text:
warning: ignoring ‘-mcompact-branches=’ option because the ‘A’ architecture does not support it |
Diagnostic text:
warning: propagating dll attribute to |
already instantiated |
explicitly specialized |
|
base class template without dll attribute is not supported |
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 |
This diagnostic is enabled by default.
Diagnostic text:
warning: ignoring ‘-mgpopt’ option as it cannot be used with |
|
-mabicalls |
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 |
This diagnostic is enabled by default.
Diagnostic text:
warning: debug information option ‘A’ is not supported for target ‘B’ |
This diagnostic is enabled by default.
Diagnostic text:
warning: target does not support ‘protected’ visibility; using ‘default’ |
This diagnostic is an error by default, but the flag -Wno-unusable-partial-specialization
can be used to disable the error.
Diagnostic text:
error: |
|
template partial specialization contains |
a template parameter |
template parameters |
|
that cannot be deduced; this partial specialization will never be used |
This diagnostic flag exists for GCC compatibility, and has no effect in Clang.
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 |
|
warning: A: ‘B’ input unused in cpp mode |
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 |
This diagnostic is enabled by default.
Diagnostic text:
warning: |
equality |
inequality |
relational |
three-way |
|
comparison result unused |
Diagnostic text:
warning: unused variable A |
Diagnostic text:
warning: unused exception parameter A |
This diagnostic is enabled by default.
Diagnostic text:
warning: property access result unused - getters should not be used for side effects |
Diagnostic text:
warning: lambda capture A is not |
used |
required to be captured for this use |
|
Diagnostic text:
warning: macro is not used |
Diagnostic text:
warning: unused parameter A |
Diagnostic text:
warning: private field A is not used |
Diagnostic text:
warning: ivar A which backs the property is not referenced in this property’s accessor |
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 |
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: 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’? |
This diagnostic is enabled by default.
Diagnostic text:
warning: expression result unused; assign into a variable to force a volatile load |
Diagnostic text:
warning: A was marked unused but was used |
This diagnostic is enabled by default.
Diagnostic text:
warning: user-defined literal suffixes not starting with ‘_’ are reserved |
; no literal will invoke this operator |
|
|
This diagnostic is enabled by default.
Diagnostic text:
The text of this diagnostic is not controlled by Clang.
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 |
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 |
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) |
Diagnostic text:
warning: incompatible vector types |
assigning to different types |
passing to parameter of different type |
returning from function with different return type |
converting between types |
initializing with expression of different type |
sending to parameter of different type |
casting between types |
|
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 |
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 |
Diagnostic text:
warning: variable length array used |
Diagnostic text:
warning: variable length arrays are a C99 feature |
This diagnostic is enabled by default.
Diagnostic text:
warning: ISO C++ does not allow indirection on operand of type A |
This diagnostic flag exists for GCC compatibility, and has no effect in Clang.
Diagnostic text:
warning: explicit template instantiation A will emit a vtable in every translation unit |
Diagnostic text:
warning: A has no out-of-line virtual method definitions; its vtable will be emitted in every translation unit |
This diagnostic is enabled by default.
Also controls -Wdeprecated-writable-strings.
Diagnostic text:
warning: ISO C++11 does not allow conversion from string literal to A |
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)? |
Diagnostic text:
warning: zero as null pointer constant |
Diagnostic text:
warning: zero size arrays are an extension |