-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{bytebit}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 |
网友评论