-WCFString-literal |
input conversion stopped due to an input byte that does not belong to the input codeset UTF-8 |
-WNSObject-attribute |
__attribute ((NSObject)) may be put on a typedef only, attribute is ignored |
-Wabstract-vbase-init |
initializer for virtual base class %0 of abstract class %1 will never be used |
-Waddress-of-array-temporary |
pointer is initialized by a temporary array, which will be destroyed at the end of the full-expression |
-Warc-maybe-repeated-use-of-weak |
"weak %select{variable/property/implicit property/instance variable}0 %1 may be accessed multiple times in this %select{function/method/block/lambda}2 and may be unpredictably set to nil assign to a strong variable to keep the object alive |
-Warc-non-pod-memaccess |
%select{destination for/source of}0 this %1 call is a pointer to ownership-qualified type %2 |
-Warc-performSelector-leaks |
performSelector may cause a leak because its selector is unknown |
-Warc-repeated-use-of-weak |
"weak %select{variable/property/implicit property/instance variable}0 %1 is accessed multiple times in this %select{function/method/block/lambda}2 but may be unpredictably set to nil assign to a strong variable to keep the object alive |
-Warc-retain-cycles |
capturing %0 strongly in this block is likely to lead to a retain cycle |
-Warc-unsafe-retained-assign |
assigning retained object to unsafe property object will be released after assignment |
-Warc-unsafe-retained-assign |
assigning %select{array literal/dictionary literal/numeric literal/boxed expression/should not happen/block literal}0 to a weak %select{property/variable}1 object will be released after assignment |
-Warc-unsafe-retained-assign |
assigning retained object to %select{weak/unsafe_unretained}0 %select{property/variable}1 object will be released after assignment |
-Warray-bounds |
array index %0 is past the end of the array (which contains %1 element%s2) |
-Warray-bounds |
array index %0 is before the beginning of the array |
-Warray-bounds |
'static' has no effect on zero-length arrays |
-Warray-bounds |
array argument is too small contains %0 elements, callee requires at least %1 |
-Warray-bounds-pointer-arithmetic |
the pointer incremented by %0 refers past the end of the array (that contains %1 element%s2) |
-Warray-bounds-pointer-arithmetic |
the pointer decremented by %0 refers before the beginning of the array |
-Wassign-enum |
integer constant not in range of enumerated type %0 |
-Watomic-property-with-user-defined-accessor |
writable atomic property %0 cannot pair a synthesized %select{getter/setter}1 with a user defined %select{getter/setter}2 |
-Wattributes |
unknown attribute %0 ignored |
-Wauto-var-id |
'auto' deduced as 'id' in declaration of %0 |
-Wavailability |
unknown platform %0 in availability macro |
-Wavailability |
overriding method %select{introduced after/deprecated before/obsoleted before}0 overridden method on %1 (%2 vs. %3) |
-Wavailability |
availability does not match previous declaration |
-Wavailability |
overriding method cannot be unavailable on %0 when its overridden method is available |
-Wavailability |
feature cannot be %select{introduced/deprecated/obsoleted}0 in %1 version %2 before it was %select{introduced/deprecated/obsoleted}3 in version %4 attribute ignored |
-Wbad-function-cast |
cast from function call of type %0 to non-matching type %1 |
-Wbitfield-constant-conversion |
implicit truncation from %2 to bitfield changes value from %0 to %1 |
-Wbitwise-op-parentheses |
'&' within '/' |
-Wbool-conversion |
"initialization of pointer of type %0 to null from a constant boolean " "expression |
-Wbridge-cast |
%0 cannot bridge to %1 |
-Wbridge-cast |
%0 bridges to %1, not %2 |
-Wbuiltin-requires-header |
declaration of built-in function '%0' requires inclusion of the header stdio.h |
-Wbuiltin-requires-header |
declaration of built-in function '%0' requires inclusion of the header setjmp.h |
-Wbuiltin-requires-header |
declaration of built-in function '%0' requires inclusion of the header ucontext.h |
-Wc++-compat |
%select{/empty }0%select{struct/union}1 has size 0 in C, %select{size 1/non-zero size}2 in C++ |
-Wc++11-compat |
explicit instantiation cannot be 'inline' |
-Wc++11-compat |
explicit instantiation of %0 must occur at global scope |
-Wc++11-compat |
explicit instantiation of %0 not in a namespace enclosing %1 |
-Wc++11-compat |
explicit instantiation of %q0 must occur in namespace %1 |
-Wc++11-narrowing |
constant expression evaluates to %0 which cannot be narrowed to type %1 in C++11 |
-Wc++11-narrowing |
type %0 cannot be narrowed to %1 in initializer list in C++11 |
-Wc++11-narrowing |
non-constant-expression cannot be narrowed from type %0 to %1 in initializer list in C++11 |
-Wc++98-c++11-compat |
type definition in a constexpr %select{function/constructor}0 is incompatible with C++ standards before C++1y |
-Wc++98-c++11-compat |
use of this statement in a constexpr %select{function/constructor}0 is incompatible with C++ standards before C++1y |
-Wc++98-c++11-compat |
init-captures.def warn_cxx11_compat_init_capture : Warning "initialized lambda captures are incompatible with C++ standards " "before C++1y |
-Wc++98-c++11-compat |
variable declaration in a constexpr %select{function/constructor}0 is incompatible with C++ standards before C++1y |
-Wc++98-c++11-compat |
constexpr function with no return statements is incompatible with C++ standards before C++1y |
-Wc++98-c++11-compat |
multiple return statements in constexpr function is incompatible with C++ standards before C++1y |
-Wc++98-c++11-compat |
variable templates are incompatible with C++ standards before C++1y |
-Wc++98-compat |
substitution failure due to access control is incompatible with C++98 |
-Wc++98-compat |
%select{anonymous struct/union}0 member %1 with a non-trivial %select{constructor/copy constructor/move constructor/copy assignment operator/move assignment operator/destructor}2 is incompatible with C++98 |
-Wc++98-compat |
enumeration type in nested name specifier is incompatible with C++98 |
-Wc++98-compat |
static data member %0 in union is incompatible with C++98 |
-Wc++98-compat |
default template arguments for a function template are incompatible with C++98 |
-Wc++98-compat |
scalar initialized from empty initializer list is incompatible with C++98 |
-Wc++98-compat |
befriending %1 without '%select{struct/interface/union/class/enum}0' keyword is incompatible with C++98 |
-Wc++98-compat |
use of null pointer as non-type template argument is incompatible with C++98 |
-Wc++98-compat |
friend declaration naming a member of the declaring class is incompatible with C++98 |
-Wc++98-compat |
non-class friend type %0 is incompatible with C++98 |
-Wc++98-compat |
befriending enumeration type %0 is incompatible with C++98 |
-Wc++98-compat |
use of non-static data member %0 in an unevaluated context is incompatible with C++98 |
-Wc++98-compat |
friend function %0 would be implicitly redefined in C++98 |
-Wc++98-compat |
%select{class template/class template partial/variable template/variable template partial/function template/member function/static data member/member class/member enumeration}0 specialization of %1 outside namespace %2 is incompatible with C++98 |
-Wc++98-compat |
reference initialized from initializer list is incompatible with C++98 |
-Wc++98-compat |
redundant parentheses surrounding address non-type template argument are incompatible with C++98 |
-Wc++98-compat |
initialization of initializer_list object is incompatible with C++98 |
-Wc++98-compat |
use of 'template' keyword outside of a template is incompatible with C++98 |
-Wc++98-compat |
non-type template argument referring to %select{function/object}0 %1 with internal linkage is incompatible with C++98 |
-Wc++98-compat |
use of 'typename' outside of a template is incompatible with C++98 |
-Wc++98-compat |
passing object of trivial but non-POD type %0 through variadic %select{function/block/method/constructor}1 is incompatible with C++98 |
-Wc++98-compat |
goto would jump into protected scope in C++98 |
-Wc++98-compat |
constructor call from initializer list is incompatible with C++98 |
-Wc++98-compat |
'auto' type specifier is incompatible with C++98 |
-Wc++98-compat |
delegating constructors are incompatible with C++98 |
-Wc++98-compat |
'constexpr' specifier is incompatible with C++98 |
-Wc++98-compat |
inheriting constructors are incompatible with C++98 |
-Wc++98-compat |
explicit conversion functions are incompatible with C++98 |
-Wc++98-compat |
switch case would be in a protected scope in C++98 |
-Wc++98-compat |
'%0' type specifier is incompatible with C++98 |
-Wc++98-compat |
indirect goto might cross protected scopes in C++98 |
-Wc++98-compat-pedantic |
cast between pointer-to-function and pointer-to-object is incompatible with C++98 |
-Wc++98-compat-pedantic |
implicit conversion from array size expression of type %0 to %select{integral/enumeration}1 type %2 is incompatible with C++98 |
-Wcast-align |
cast from %0 to %1 increases required alignment from %2 to %3 |
-Wcast-of-sel-type |
cast of type %0 to %1 is deprecated use sel_getName instead |
-Wchar-subscripts |
array subscript is of type 'char' |
-Wconditional-uninitialized |
variable %0 may be uninitialized when %select{used here/captured by block}1 |
-Wconstant-logical-operand |
use of logical '%0' with constant operand |
-Wconstexpr-not-const |
'constexpr' non-static member function will not be implicitly 'const' in C++1y add 'const' to avoid a change in behavior |
-Wconsumed |
state of variable '%0' must match at the entry and exit of loop |
-Wconsumed |
parameter '%0' not in expected state when the function returns: expected '%1', observed '%2' |
-Wconsumed |
argument not in expected state expected '%0', observed '%1' |
-Wconsumed |
invalid invocation of method '%0' on a temporary object while it is in the '%1' state |
-Wconsumed |
return state set for an unconsumable type '%0' |
-Wconsumed |
consumed analysis attribute is attached to member of class '%0' which isn't marked as consumable |
-Wconsumed |
invalid invocation of method '%0' on object '%1' while it is in the '%2' state |
-Wconsumed |
return value not in expected state expected '%0', observed '%1' |
-Wconversion |
implicit conversion discards imaginary component: %0 to %1 |
-Wconversion |
non-type template argument with value '%0' converted to '%1' for unsigned template parameter of type %2 |
-Wconversion |
implicit conversion loses floating-point precision: %0 to %1 |
-Wconversion |
implicit conversion loses integer precision: %0 to %1 |
-Wconversion |
non-type template argument value '%0' truncated to '%1' for template parameter of type %2 |
-Wconversion |
implicit conversion turns vector to scalar: %0 to %1 |
-Wconversion |
implicit conversion turns floating-point number into integer: %0 to %1 |
-Wcovered-switch-default |
default label in switch which covers all enumeration values |
-Wcustom-atomic-properties |
atomic by default property %0 has a user defined %select{getter/setter}1 (property should be marked 'atomic' if this is intended) |
-Wdangling-field |
initializing pointer member %0 with the stack address of parameter %1 |
-Wdangling-field |
binding reference %select{/subobject of }1member %0 to a temporary value |
-Wdangling-field |
binding reference member %0 to stack allocated parameter %1 |
-Wdangling-initializer-list |
array backing the initializer list will be destroyed at the end of %select{the full-expression/the constructor}0 |
-Wdelete-incomplete |
deleting pointer to incomplete type %0 may cause undefined behavior |
-Wdelete-non-virtual-dtor |
delete called on %0 that is abstract but has non-virtual destructor |
-Wdelete-non-virtual-dtor |
delete called on %0 that has virtual functions but non-virtual destructor |
-Wdeprecated |
access declarations are deprecated use using declarations instead |
-Wdeprecated |
definition of implicit copy %select{constructor/assignment operator}1 for %0 is deprecated because it has a user-declared %select{copy %select{assignment operator/constructor}1/destructor}2 |
-Wdeprecated |
dynamic exception specifications are deprecated |
-Wdeprecated-increment-bool |
incrementing expression of type bool is deprecated |
-Wdeprecated-objc-isa-usage |
assignment to Objective-C's isa is deprecated in favor of object_setClass() |
-Wdeprecated-objc-isa-usage |
direct access to Objective-C's isa is deprecated in favor of object_getClass() |
-Wdeprecated-objc-pointer-introspection |
bitmasking for introspection of Objective-C object pointers is strongly discouraged |
-Wdeprecated-objc-pointer-introspection-performSelector |
warn_objc_pointer_masking.Text |
-Wdeprecated-writable-strings |
dummy warning to enable -fconst-strings |
-Wdirect-ivar-access |
instance variable %0 is being directly accessed |
-Wdistributed-object-modifiers |
conflicting distributed object modifiers on return type in implementation of %0 |
-Wdistributed-object-modifiers |
conflicting distributed object modifiers on parameter type in implementation of %0 |
-Wdivision-by-zero |
division by zero is undefined |
-Wdivision-by-zero |
remainder by zero is undefined |
-Wdocumentation |
parameter '%0' not found in the function declaration |
-Wdocumentation |
not a Doxygen trailing comment |
-Wduplicate-enum |
element %0 has been implicitly assigned %1 which another element has been assigned |
-Wduplicate-method-match |
multiple declarations of method %0 found and ignored |
-Wdynamic-class-memaccess |
%select{destination for/source of/first operand of/second operand of}0 this %1 call is a pointer to dynamic class %2 vtable pointer will be %select{overwritten/copied/moved/compared}3 |
-Wempty-body |
switch statement has empty body |
-Wempty-body |
for loop has empty body |
-Wempty-body |
if statement has empty body |
-Wempty-body |
range-based for loop has empty body |
-Wempty-body |
while loop has empty body |
-Wenum-compare |
comparison of two values with different enumeration types%diff{ ($ and $)/}0,1 |
-Wenum-conversion |
implicit conversion from enumeration type %0 to different enumeration type %1 |
-Wexit-time-destructors |
declaration requires an exit-time destructor |
-Wexplicit-ownership-type |
method parameter of type %0 with no explicit ownership |
-Wextern-c-compat |
%select{/empty }0%select{struct/union}1 has size 0 in C, %select{size 1/non-zero size}2 in C++ |
-Wextern-initializer |
'extern' variable has an initializer |
-Wfloat-equal |
comparing floating point with == or != is unsafe |
-Wformat |
"data argument position '%0' exceeds the number of data arguments (%1) |
-Wformat |
position arguments in format strings start counting at 1 (not 0) |
-Wformat |
invalid position specified for %select{field width/field precision}0 |
-Wformat |
cannot mix positional and non-positional arguments in format string |
-Wformat |
values of type '%0' should not be used as format arguments add an explicit cast to %1 instead |
-Wformat |
format specifies type %0 but the argument has type %1 |
-Wformat |
zero field width in scanf format string is unused |
-Wformat |
no closing ']' for '%%[' in scanf format string |
-Wformat |
format string should not be a wide string |
-Wformat |
format string contains '\0' within the string body |
-Wformat |
'%select{/.}0' specified field %select{width/precision}0 is missing a matching 'int' argument |
-Wformat |
field %select{width/precision}0 should have type %1, but argument has type %2 |
-Wformat |
%select{field width/precision}0 used with '%1' conversion specifier, resulting in undefined behavior |
-Wformat |
format string missing |
-Wformat |
incomplete format specifier |
-Wformat |
flag '%0' results in undefined behavior with '%1' conversion specifier |
-Wformat |
flag '%0' is ignored when flag '%1' is present |
-Wformat |
more '%%' conversions than data arguments |
-Wformat |
length modifier '%0' results in undefined behavior or no effect with '%1' conversion specifier |
-Wformat-extra-args |
data argument not used by format string |
-Wformat-invalid-specifier |
invalid conversion specifier '%0' |
-Wformat-nonliteral |
format string is not a string literal |
-Wformat-security |
format string is not a string literal (potentially insecure) |
-Wformat-zero-length |
format string is empty |
-Wgcc-compat |
GCC does not allow the 'cleanup' attribute argument to be anything other than a simple identifier |
-Wglobal-constructors |
declaration requires a global constructor |
-Wglobal-constructors |
declaration requires a global destructor |
-Wgnu-conditional-omitted-operand |
use of GNU ?: conditional expression extension, omitting middle operand |
-Wheader-hygiene |
using namespace directive in global context in header |
-Widiomatic-parentheses |
using the result of an assignment as a condition without parentheses |
-Wignored-attributes |
'malloc' attribute only applies to functions returning a pointer type |
-Wignored-attributes |
%0 attribute only applies to %select{functions/unions/variables and functions/functions and methods/parameters/functions, methods and blocks/functions, methods, and classes/functions, methods, and parameters/classes/variables/methods/variables, functions and labels/fields and global variables/structs/variables, functions and tag types/thread-local variables/variables and fields/variables, data members and tag types/types and namespaces/Objective-C interfaces}1 |
-Wignored-attributes |
'%0' attribute cannot be specified on a definition |
-Wignored-attributes |
__weak attribute cannot be specified on an automatic variable when ARC is not enabled |
-Wignored-attributes |
Objective-C GC does not allow weak variables on the stack |
-Wignored-attributes |
__weak attribute cannot be specified on a field declaration |
-Wignored-attributes |
attribute %0 cannot be applied to %select{functions/Objective-C method}1 without return value |
-Wignored-attributes |
attribute declaration must precede definition |
-Wignored-attributes |
attribute %0 is ignored, place it after "%select{class/struct/union/interface/enum}1" to apply attribute to type declaration |
-Wignored-attributes |
__declspec attribute %0 is not supported |
-Wignored-attributes |
attribute %0 ignored, because it cannot be applied to a type |
-Wignored-attributes |
attribute %0 after definition is ignored |
-Wignored-attributes |
%0 attribute ignored |
-Wignored-attributes |
'sentinel' attribute only supported for variadic %select{functions/blocks}0 |
-Wignored-attributes |
'sentinel' attribute requires named arguments |
-Wignored-attributes |
'%0' only applies to %select{function/pointer/Objective-C object or block pointer}1 types type here is %2 |
-Wignored-attributes |
'nonnull' attribute applied to function with no pointer arguments |
-Wignored-attributes |
%0 attribute can only be applied to instance variables or properties |
-Wignored-attributes |
unknown visibility %0 |
-Wignored-attributes |
%0 calling convention ignored on variadic function |
-Wignored-attributes |
%0 only applies to variables with static storage duration and functions |
-Wignored-attributes |
ibaction attribute can only be applied to Objective-C instance methods |
-Wignored-attributes |
#pramga ms_struct can not be used with dynamic classes or structures |
-Wignored-attributes |
transparent union definition must contain at least one field transparent_union attribute ignored |
-Wignored-attributes |
first field of a transparent union cannot have %select{floating point/vector}0 type %1 transparent_union attribute ignored |
-Wignored-attributes |
'gnu_inline' attribute requires function to be marked 'inline', attribute ignored |
-Wignored-attributes |
calling convention %0 ignored for this target |
-Wignored-attributes |
transparent_union attribute can only be applied to a union definition attribute ignored |
-Wignored-attributes |
%select{alignment/size}0 of field %1 (%2 bits) does not match the %select{alignment/size}0 of the first field in transparent union transparent_union attribute ignored |
-Wignored-attributes |
attribute %0 is already applied |
-Wignored-attributes |
%0 attribute ignored for field of type %1 |
-Wignored-attributes |
%0 attribute ignored when parsing type |
-Wignored-attributes |
%0 attribute only applies to %select{functions/methods/properties}1 that return %select{an Objective-C object/a pointer/a non-retainable pointer}2 |
-Wignored-attributes |
%0 attribute only applies to %select{Objective-C object/pointer}1 parameters |
-Wignored-attributes |
attribute %0 is already applied with different parameters |
-Wignored-attributes |
%0 attribute argument not supported: %1 |
-Wignored-qualifiers |
"'%0' type qualifier%s1 on return type %plural{1:has/:have}1 no effect |
-Wignored-qualifiers |
ARC %select{unused/__unsafe_unretained/__strong/__weak/__autoreleasing}0 lifetime qualifier on return type is ignored |
-Wimplicit-atomic-properties |
property is assumed atomic by default |
-Wimplicit-atomic-properties |
property is assumed atomic when auto-synthesizing the property |
-Wimplicit-fallthrough |
fallthrough annotation in unreachable code |
-Wimplicit-fallthrough |
unannotated fall-through between switch labels |
-Wimplicit-fallthrough |
fallthrough annotation does not directly precede switch label |
-Wimplicit-function-declaration |
implicit declaration of function %0 |
-Wimplicit-function-declaration |
use of unknown builtin %0 |
-Wimplicit-retain-self |
"block implicitly retains 'self' explicitly mention 'self' to indicate this is intended behavior |
-Wincompatible-library-redeclaration |
incompatible redeclaration of library function %0 |
-Wincomplete-implementation |
method definition for %0 not found |
-Winherited-variadic-ctor |
inheriting constructor does not inherit ellipsis |
-Winitializer-overrides |
subobject initialization overrides initialization of other fields within its enclosing subobject |
-Winitializer-overrides |
initializer overrides prior initialization of this subobject |
-Wint-to-pointer-cast |
cast to %1 from smaller integer type %0 |
-Wint-to-void-pointer-cast |
cast to %1 from smaller integer type %0 |
-Winvalid-iboutlet |
IBOutletCollection properties should be copy/strong and not assign |
-Winvalid-iboutlet |
%select{instance variable/property}2 with %0 attribute must be an object type (invalid %1) |
-Winvalid-noreturn |
function %0 declared 'noreturn' should not return |
-Winvalid-noreturn |
function declared 'noreturn' should not return |
-Wlarge-by-value-copy |
return value of %0 is a large (%1 bytes) pass-by-value object pass it by reference instead ? |
-Wlarge-by-value-copy |
%0 is a large (%1 bytes) pass-by-value argument pass it by reference instead ? |
-Wliteral-conversion |
implicit conversion from %0 to %1 changes value from %2 to %3 |
-Wliteral-range |
magnitude of floating-point constant too large for type %0 maximum is %1 |
-Wliteral-range |
magnitude of floating-point constant too small for type %0 minimum is %1 |
-Wlogical-not-parentheses |
logical not is only applied to the left hand side of this comparison |
-Wlogical-op-parentheses |
'&&' within '//' |
-Wloop-analysis |
variable%select{s/ %1/s %1 and %2/s %1, %2, and %3/s %1, %2, %3, and %4}0 used in loop condition not modified in loop body |
-Wloop-analysis |
variable %0 is %select{decremented/incremented}1 both in the loop header and in the loop body |
-Wmethod-signatures |
conflicting parameter types in implementation of %0: %1 vs %2 |
-Wmethod-signatures |
conflicting return type in implementation of %0: %1 vs %2 |
-Wmicrosoft |
extra qualification on member %0 |
-Wmismatched-method-attributes |
attributes on method implementation and its declaration must match |
-Wmismatched-parameter-types |
conflicting parameter types in implementation of %0%diff{: $ vs $/}1,2 |
-Wmismatched-return-types |
conflicting return type in implementation of %0%diff{: $ vs $/}1,2 |
-Wmissing-braces |
suggest braces around initialization of subobject |
-Wmissing-declarations |
'%0' ignored on this declaration |
-Wmissing-field-initializers |
missing field '%0' initializer |
-Wmissing-method-return-type |
method has no return type specified defaults to 'id' |
-Wmissing-noreturn |
block could be declared with attribute 'noreturn' |
-Wmissing-noreturn |
%select{function/method}0 %1 could be declared with attribute 'noreturn' |
-Wmissing-prototypes |
no previous prototype for function %0 |
-Wmissing-variable-declarations |
no previous extern declaration for non-static variable %0 |
-Wmultiple-move-vbase |
defaulted move assignment operator of %0 will move assign virtual base class %1 multiple times |
-Wnested-anon-types |
anonymous types declared in an anonymous union/struct are an extension |
-Wnon-literal-null-conversion |
"expression which evaluates to zero treated as a null pointer constant of " "type %0 |
-Wnon-pod-varargs |
cannot pass object of %select{non-POD/non-trivial}0 type %1 through variadic %select{function/block/method/constructor}2 call will abort at runtime |
-Wnon-pod-varargs |
cannot pass %select{non-POD/non-trivial}0 object of type %1 to variadic %select{function/block/method/constructor}2 expected type from format string was %3 |
-Wnon-pod-varargs |
second argument to 'va_arg' is of ARC ownership-qualified type %0 |
-Wnon-pod-varargs |
second argument to 'va_arg' is of non-POD type %0 |
-Wnon-virtual-dtor |
%0 has virtual functions but non-virtual destructor |
-Wnonnull |
null passed to a callee which requires a non-null argument |
-Wnull-arithmetic |
comparison between NULL and non-pointer %select{(%1 and NULL)/(NULL and %1)}0 |
-Wnull-arithmetic |
use of NULL in arithmetic operation |
-Wnull-dereference |
indirection of non-volatile null pointer will be deleted, not trap |
-Wobjc-autosynthesis-property-ivar-name-match |
autosynthesized property %0 will use %select{/synthesized}1 instance variable %2, not existing instance variable %3 |
-Wobjc-forward-class-redefinition |
redefinition of forward class %0 of a typedef name of an object type is ignored |
-Wobjc-interface-ivars |
declaration of instance variables in the interface is deprecated |
-Wobjc-literal-compare |
direct comparison of %select{an array literal/a dictionary literal/a numeric literal/a boxed expression/}0 has undefined behavior |
-Wobjc-literal-missing-atsign |
string literal must be prefixed by '@' |
-Wobjc-method-access |
class method %objcclass0 not found (return type defaults to 'id') |
-Wobjc-method-access |
instance method %objcinstance0 not found (return type defaults to 'id') |
-Wobjc-method-access |
instance method %0 is being used on 'Class' which is not in the root class |
-Wobjc-method-access |
instance method %0 found instead of class method %1 |
-Wobjc-method-access |
class method %objcclass0 not found (return type defaults to 'id') did you mean %objcclass2? |
-Wobjc-method-access |
instance method %objcinstance0 not found (return type defaults to 'id') did you mean %objcinstance2? |
-Wobjc-missing-property-synthesis |
"auto property synthesis is synthesizing property not explicitly synthesized |
-Wobjc-missing-super-calls |
method possibly missing a [super %0] call |
-Wobjc-noncopy-retain-block-property |
"retain'ed block property does not copy the block " "- use copy attribute instead |
-Wobjc-nonunified-exceptions |
can not catch an exception thrown with @throw in C++ in the non-unified exception model |
-Wobjc-property-implementation |
property %0 requires method %1 to be defined - use @synthesize, @dynamic or provide a method implementation in this class implementation |
-Wobjc-property-implementation |
property %0 requires method %1 to be defined - use @dynamic or provide a method implementation in this category |
-Wobjc-property-implicit-mismatch |
"primary property declaration is implicitly strong while redeclaration in class extension is weak |
-Wobjc-property-matches-cocoa-ownership-rule |
property's synthesized getter follows Cocoa naming convention for returning 'owned' objects |
-Wobjc-property-no-attribute |
no 'assign', 'retain', or 'copy' attribute is specified - 'assign' is assumed |
-Wobjc-property-no-attribute |
default property attribute 'assign' not appropriate for non-GC object |
-Wobjc-property-synthesis |
"auto property synthesis will not synthesize property '%0' because it cannot share an ivar with another synthesized property |
-Wobjc-property-synthesis |
auto property synthesis will not synthesize property '%0' because it is 'readwrite' but it will be synthesized 'readonly' via another property |
-Wobjc-protocol-method-implementation |
category is implementing a method which will also be implemented by its primary class |
-Wobjc-protocol-property-synthesis |
auto property synthesis will not synthesize property declared in a protocol |
-Wobjc-redundant-literal-use |
using %0 with a literal is redundant |
-Wobjc-root-class |
class %0 defined without specifying a base class |
-Wobjc-string-compare |
direct comparison of a string literal has undefined behavior |
-Wobjc-string-concatenation |
concatenated NSString literal for an NSArray expression - possibly missing a comma |
-Wover-aligned |
type %0 requires %1 bytes of alignment and the default allocator only guarantees %2 bytes |
-Woverloaded-shift-op-parentheses |
overloaded operator %select{/}0 has lower precedence than comparison operator |
-Woverloaded-virtual |
%q0 hides overloaded virtual %select{function/functions}1 |
-Woverriding-method-mismatch |
conflicting distributed object modifiers on parameter type in declaration of %0 |
-Woverriding-method-mismatch |
conflicting parameter types in declaration of %0: %1 vs %2 |
-Woverriding-method-mismatch |
conflicting variadic declaration of method and its implementation |
-Woverriding-method-mismatch |
conflicting return type in declaration of %0: %1 vs %2 |
-Woverriding-method-mismatch |
conflicting distributed object modifiers on return type in declaration of %0 |
-Woverriding-method-mismatch |
conflicting return type in declaration of %0%diff{: $ vs $/}1,2 |
-Woverriding-method-mismatch |
conflicting parameter types in declaration of %0%diff{: $ vs $/}1,2 |
-Wpacked |
packed attribute is unnecessary for %0 |
-Wpadded |
padding size of %0 with %1 %select{byte/bit}2%select{/s}3 to alignment boundary |
-Wpadded |
padding %select{struct/interface/class}0 %1 with %2 %select{byte/bit}3%select{/s}4 to align %5 |
-Wpadded |
padding %select{struct/interface/class}0 %1 with %2 %select{byte/bit}3%select{/s}4 to align anonymous bit-field |
-Wparentheses |
%0 has lower precedence than %1 %1 will be evaluated first |
-Wparentheses |
using the result of an assignment as a condition without parentheses |
-Wparentheses |
operator '?:' has lower precedence than '%0' '%0' will be evaluated first |
-Wparentheses-equality |
equality comparison with extraneous parentheses |
-Wpointer-arith |
subtraction of pointers to type %0 of zero size has undefined behavior |
-Wpredefined-identifier-outside-function |
predefined identifier is only valid inside function |
-Wprivate-extern |
use of private_extern on a declaration may not produce external symbol private to the linkage unit and is deprecated |
-Wprotocol |
method %0 in protocol not implemented |
-Wprotocol-property-synthesis-ambiguity |
property of type %0 was selected for synthesis |
-Wreadonly-iboutlet-property |
readonly IBOutlet property '%0' when auto-synthesized may not work correctly with 'nib' loader |
-Wreadonly-setter-attrs |
property attributes '%0' and '%1' are mutually exclusive |
-Wreceiver-expr |
receiver type %0 is not 'id' or interface pointer, consider casting it to 'id' |
-Wreceiver-forward-class |
receiver type %0 for instance message is a forward declaration |
-Wreceiver-is-weak |
"weak %select{receiver/property/implicit property}0 may be unpredictably set to nil |
-Wreinterpret-base-class |
'reinterpret_cast' %select{from/to}3 class %0 %select{to/from}3 its %select{virtual base/base at non-zero offset}2 %1 behaves differently from 'static_cast' |
-Wreorder |
%select{field/base class}0 %1 will be initialized after %select{field/base}2 %3 |
-Wrequires-super-attribute |
%0 attribute cannot be applied to %select{methods in protocols/dealloc}1 |
-Wreturn-stack-address |
returning address of label, which is local |
-Wreturn-stack-address |
returning reference to local temporary object |
-Wreturn-stack-address |
address of stack memory associated with local variable %0 returned |
-Wreturn-stack-address |
returning address of local temporary object |
-Wreturn-stack-address |
reference to stack memory associated with local variable %0 returned |
-Wreturn-type |
non-void %select{function/method}1 %0 should return a value, DefaultError |
-Wreturn-type |
control may reach end of non-void function |
-Wreturn-type |
control reaches end of non-void function |
-Wreturn-type-c-linkage |
%0 has C-linkage specified, but returns user-defined type %1 which is incompatible with C |
-Wreturn-type-c-linkage |
%0 has C-linkage specified, but returns incomplete type %1 which could be incompatible with C |
-Wsection |
section does not match previous declaration |
-Wselector |
creating selector for nonexistent method %0 |
-Wselector-type-mismatch |
multiple selectors named %0 found |
-Wself-assign |
explicitly assigning a variable of type %0 to itself |
-Wself-assign-field |
assigning %select{field/instance variable}0 to itself |
-Wsentinel |
not enough variable arguments in %0 declaration to fit a sentinel |
-Wsentinel |
"missing sentinel in %select{function call/method dispatch/block call}0 |
-Wshadow |
declaration shadows a %select{" "local variable/" "variable in %2/" "static data member of %2/" "field of %2}1 |
-Wshadow-ivar |
local declaration of %0 hides instance variable |
-Wshift-count-negative |
shift count is negative |
-Wshift-count-overflow |
shift count = width of type |
-Wshift-op-parentheses |
operator '%0' has lower precedence than '%1' '%1' will be evaluated first |
-Wshift-overflow |
signed shift result (%0) requires %1 bits to represent, but %2 only has %3 bits |
-Wshift-sign-overflow |
signed shift result (%0) sets the sign bit of the shift expression's type (%1) and becomes negative |
-Wshorten-64-to-32 |
implicit conversion loses integer precision: %0 to %1 |
-Wsign-compare |
comparison of integers of different signs: %0 and %1 |
-Wsign-conversion |
implicit conversion changes signedness: %0 to %1 |
-Wsign-conversion |
operand of ? changes signedness: %0 to %1 |
-Wsizeof-array-argument |
sizeof on array function parameter will return size of %0 instead of %1 |
-Wsizeof-array-decay |
sizeof on pointer operation will return size of %0 instead of %1 |
-Wsizeof-pointer-memaccess |
'%0' call operates on objects of type %1 while the size is based on a " "different type %2 |
-Wsizeof-pointer-memaccess |
argument to 'sizeof' in %0 call is the same pointer type %1 as the %select{destination/source}2 expected %3 or an explicit length |
-Wsometimes-uninitialized |
variable %0 is %select{used/captured}1 uninitialized whenever %select{'%3' condition is %select{true/false}4/'%3' loop %select{is entered/exits because its condition is false}4/'%3' loop %select{condition is true/exits because its condition is false}4/switch %3 is taken/its declaration is reached/%3 is called}2 |
-Wstatic-local-in-inline |
non-constant static local variable in inline function may be different in different files |
-Wstatic-self-init |
static variable %0 is suspiciously used within its own initialization |
-Wstrict-selector-match |
multiple methods named %0 found |
-Wstring-compare |
result of comparison against %select{a string literal/@encode}0 is unspecified (use strncmp instead) |
-Wstring-conversion |
implicit conversion turns string literal into bool: %0 to %1 |
-Wstring-plus-char |
adding %0 to a string pointer does not append to the string |
-Wstring-plus-int |
adding %0 to a string does not append to the string |
-Wstrlcpy-strlcat-size |
size argument in %0 call appears to be size of the source expected the size of the destination |
-Wstrncat-size |
the value of the size argument to 'strncat' is wrong |
-Wstrncat-size |
the value of the size argument in 'strncat' is too large, might lead to a " "buffer overflow |
-Wstrncat-size |
size argument in 'strncat' call appears " "to be size of the source |
-Wsuper-class-method-mismatch |
method parameter type %diff{$ does not match super class method parameter type $/does not match super class method parameter type}0,1 |
-Wswitch |
enumeration value %0 not handled in switch |
-Wswitch |
overflow converting case value to switch condition type (%0 to %1) |
-Wswitch |
enumeration values %0 and %1 not handled in switch |
-Wswitch |
case value not in enumerated type %0 |
-Wswitch |
enumeration values %0, %1, and %2 not handled in switch |
-Wswitch |
%0 enumeration values not handled in switch: %1, %2, %3... |
-Wswitch-enum |
enumeration value %0 not explicitly handled in switch |
-Wswitch-enum |
%0 enumeration values not explicitly handled in switch: %1, %2, %3... |
-Wswitch-enum |
enumeration values %0 and %1 not explicitly handled in switch |
-Wswitch-enum |
enumeration values %0, %1, and %2 not explicitly handled in switch |
-Wtautological-compare |
%select{self-/array }0comparison always evaluates to %select{false/true/a constant}1 |
-Wtautological-compare |
comparison of unsigned%select{/ enum}2 expression %0 is always %1 |
-Wtautological-compare |
comparison of %0 unsigned%select{/ enum}2 expression is always %1 |
-Wtautological-constant-out-of-range-compare |
comparison of constant %0 with expression of type %1 is always %select{false/true}2 |
-Wthread-safety-analysis |
expecting mutex '%0' to be locked at the end of function |
-Wthread-safety-analysis |
%select{reading/writing}1 the value pointed to by '%0' requires locking %select{any mutex/any mutex exclusively}1 |
-Wthread-safety-analysis |
unlocking '%0' that was not locked |
-Wthread-safety-analysis |
mutex '%0' is locked exclusively and shared in the same scope |
-Wthread-safety-analysis |
expecting mutex '%0' to be locked at start of each loop |
-Wthread-safety-analysis |
%select{reading/writing}2 variable '%0' requires locking %select{'%1'/'%1' exclusively}2 |
-Wthread-safety-analysis |
%select{reading/writing}2 the value pointed to by '%0' requires locking %select{'%1'/'%1' exclusively}2 |
-Wthread-safety-analysis |
calling function '%0' requires %select{shared/exclusive}2 lock on '%1' |
-Wthread-safety-analysis |
locking '%0' that is already locked |
-Wthread-safety-analysis |
cannot resolve lock expression |
-Wthread-safety-analysis |
cannot call function '%0' while mutex '%1' is locked |
-Wthread-safety-analysis |
mutex '%0' is still locked at the end of function |
-Wthread-safety-analysis |
mutex '%0' is not locked on every path through here |
-Wthread-safety-analysis |
%select{reading/writing}1 variable '%0' requires locking %select{any mutex/any mutex exclusively}1 |
-Wthread-safety-attributes |
%0 attribute only applies to %select{fields and global variables/functions and methods/classes and structs}1 |
-Wthread-safety-attributes |
'%0' only applies to pointer types type here is %1 |
-Wthread-safety-attributes |
%0 attribute can only be applied in a context annotated with 'lockable' attribute |
-Wthread-safety-attributes |
ignoring %0 attribute because its argument is invalid |
-Wthread-safety-attributes |
%0 attribute requires arguments whose type is annotated with 'lockable' attribute type here is '%1' |
-Wthread-safety-attributes |
%0 attribute requires arguments that are class type or point to class type type here is '%1' |
-Wthread-safety-beta |
Thread safety beta warning. |
-Wthread-safety-precise |
calling function '%0' requires %select{shared/exclusive}2 lock on '%1' |
-Wthread-safety-precise |
%select{reading/writing}2 the value pointed to by '%0' requires locking %select{'%1'/'%1' exclusively}2 |
-Wthread-safety-precise |
%select{reading/writing}2 variable '%0' requires locking %select{'%1'/'%1' exclusively}2 |
-Wtype-safety |
argument type %0 doesn't match specified '%1' type tag %select{that requires %3/}2 |
-Wtype-safety |
specified %0 type tag requires a null pointer |
-Wtype-safety |
this type tag was not designed to be used with this function |
-Wundeclared-selector |
undeclared selector %0 did you mean %1? |
-Wundeclared-selector |
undeclared selector %0 |
-Wundefined-inline |
inline function %q0 is not defined |
-Wundefined-internal |
%select{function/variable}0 %q1 has internal linkage but is not defined |
-Wundefined-reinterpret-cast |
reinterpret_cast from %0 to %1 has undefined behavior |
-Wundefined-reinterpret-cast |
dereference of type %1 that was reinterpret_cast from type %0 has undefined behavior |
-Wuninitialized |
reference %0 is not yet bound to a value when used within its own initialization |
-Wuninitialized |
block pointer variable %0 is uninitialized when captured by block |
-Wuninitialized |
field %0 is uninitialized when used here |
-Wuninitialized |
reference %0 is not yet bound to a value when used here |
-Wuninitialized |
variable %0 is uninitialized when %select{used here/captured by block}1 |
-Wuninitialized |
variable %0 is uninitialized when used within its own initialization |
-Wunneeded-internal-declaration |
'static' function %0 declared in header file should be declared 'static inline' |
-Wunneeded-internal-declaration |
%select{function/variable}0 %1 is not needed and will not be emitted |
-Wunneeded-member-function |
member function %0 is not needed and will not be emitted |
-Wunreachable-code |
will never be executed |
-Wunsequenced |
multiple unsequenced modifications to %0 |
-Wunsequenced |
unsequenced modification and access to %0 |
-Wunsupported-friend |
dependent nested name specifier '%0' for friend class declaration is not supported turning off access control for %1 |
-Wunsupported-friend |
dependent nested name specifier '%0' for friend template declaration is not supported ignoring this friend declaration |
-Wunsupported-visibility |
target does not support 'protected' visibility using 'default' |
-Wunused-comparison |
%select{equality/inequality}0 comparison result unused |
-Wunused-const-variable |
unused variable %0 |
-Wunused-exception-parameter |
unused exception parameter %0 |
-Wunused-function |
unused function %0 |
-Wunused-label |
unused label %0 |
-Wunused-member-function |
unused member function %0 |
-Wunused-parameter |
unused parameter %0 |
-Wunused-private-field |
private field %0 is not used |
-Wunused-property-ivar |
ivar %0 which backs the property is not referenced in this property's accessor |
-Wunused-result |
ignoring return value of function declared with warn_unused_result attribute |
-Wunused-value |
expression result unused should this cast be to 'void'? |
-Wunused-value |
expression result unused |
-Wunused-value |
ignoring return value of function declared with %0 attribute |
-Wunused-variable |
unused variable %0 |
-Wunused-volatile-lvalue |
expression result unused assign into a variable to force a volatile load |
-Wused-but-marked-unused |
%0 was marked unused but was used |
-Wuser-defined-literals |
user-defined literal suffixes not starting with '_' are reserved%select{ no literal will invoke this operator/}0 |
-Wvarargs |
second argument to 'va_arg' is of promotable type %0 this va_arg has undefined behavior because arguments will be promoted to %1 |
-Wvarargs |
'va_start' has undefined behavior with reference types |
-Wvarargs |
second parameter of 'va_start' not last named argument |
-Wvector-conversion |
incompatible vector types %select{%diff{assigning to $ from $/assigning to different types}0,1/%diff{passing $ to parameter of type $/passing to parameter of different type}0,1/%diff{returning $ from a function with result type $/returning from function with different return type}0,1/%diff{converting $ to type $/converting between types}0,1/%diff{initializing $ with an expression of type $/initializing with expression of different type}0,1/%diff{sending $ to parameter of type $/sending to parameter of different type}0,1/%diff{casting $ to type $/casting between types}0,1}2 |
-Wvexing-parse |
empty parentheses interpreted as a function declaration |
-Wvexing-parse |
parentheses were disambiguated as a function declaration |
-Wvisibility |
declaration of %0 will not be visible outside of this function |
-Wvisibility |
redefinition of %0 will not be visible outside of this function |
-Wvla |
variable length array used |
-Wvla-extension |
variable length arrays are a C99 feature |
-Wweak-template-vtables |
explicit template instantiation %0 will emit a vtable in every translation unit |
-Wweak-vtables |
%0 has no out-of-line virtual method definitions; its vtable will be emitted in every translation unit |