在iOS開發(fā)過程中, 我們可能會碰到一些系統(tǒng)方法棄用, weak妖啥、循環(huán)引用陕凹、不能執(zhí)行之類的警告涯捻。 有代碼潔癖的孩子們很想消除他們, 今天就讓我們來一次Fuck 警告!变秦!
首先學(xué)會基本的語句
#pragma clang diagnostic push
#pragma clang diagnostic ignored"-Wdeprecated-declarations"
這里寫出現(xiàn)警告的代碼
#pragma clang diagnostic pop
這樣就消除了方法棄用的警告!
同理, 大家可以在下邊搜索到對應(yīng)的警告, 這樣 就可以把前邊的字串填入上邊的ignored的后邊, 然后闊住你的代碼, 就OK了
喜歡請關(guān)注框舔、哈哈
Semantic WarningsWarning Message
-WCFString-literal? input conversion stopped due to an input byte that doesnotbelong to the input codeset UTF-8
-WNSObject-attribute? ? __attribute ((NSObject)) may be put on a typedef only, attribute is ignored
-Wabstract-vbase-init? initializerforvirtual baseclass%0ofabstractclass%1willneverbeused
-Waddress-of-array-temporary? ? pointer is initialized by a temporary array, which will be destroyed at theendof 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 timesinthis %select{function|method|block|lambda}2but may be unpredictably set tonilassign to a strong variable to keep the object alive
-Warc-retain-cycles capturing %0stronglyinthis 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|shouldnothappen|block literal}0 to a weak %select{property|variable}1object will be released after assignment
-Warc-unsafe-retained-assign? ? assigning retained object to %select{weak|unsafe_unretained}0 %select{property|variable}1object will be released after assignment
-Warray-bounds? array index %0is past theendof the array (which contains %1element%s2)
-Warray-bounds? array index %0is before the beginning of the array
-Warray-bounds'static'has no effect on zero-length arrays
-Warray-bounds? array argument is too small contains %0elements, callee requires at least %1
-Warray-bounds-pointer-arithmetic? the pointer incremented by %0refers past theendof the array (that contains %1element%s2)
-Warray-bounds-pointer-arithmetic? the pointer decremented by %0refers before the beginning of the array
-Wassign-enum? integer constantnotinrange of enumerated type %0
-Watomic-property-with-user-defined-accessor? ? writable atomic property %0cannot pair a synthesized %select{getter|setter}1 with a userdefined%select{getter|setter}2
-Wattributes? ? unknown attribute %0ignored
-Wauto-var-id'auto'deduced as'id'indeclaration of %0
-Wavailability? unknown platform %0inavailability macro
-Wavailability? overriding method %select{introduced after|deprecated before|obsoleted before}0overridden method on %1(%2vs. %3)
-Wavailability? availability doesnotmatch previous declaration
-Wavailability? overriding method cannot be unavailable on %0whenits overridden method is available
-Wavailability? feature cannot be %select{introduced|deprecated|obsoleted}0in%1version %2before it was %select{introduced|deprecated|obsoleted}3inversion %4attribute ignored
-Wbad-function-cast cast from function call of type %0to non-matching type %1
-Wbitfield-constant-conversion? implicit truncation from %2to bitfield changes value from %0to %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 declarationina constexpr %select{function|constructor}0 is incompatible with C++ standards before C++1y
-Wc++98-c++11-compat? ? constexpr function with noreturnstatements is incompatible with C++ standards before C++1y
-Wc++98-c++11-compat? ? multiplereturnstatementsinconstexpr 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}0member %1with 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 typeinnested name specifier is incompatible with C++98
-Wc++98-compat? static data member %0inunion is incompatible with C++98
-Wc++98-compat? default template argumentsfora 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'keywordisincompatiblewithC++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 declaringclassisincompatiblewithC++98
-Wc++98-compat? non-classfriendtype%0isincompatiblewithC++98
-Wc++98-compat? befriending enumeration type %0is incompatible with C++98
-Wc++98-compat? use of non-static data member %0inan unevaluated context is incompatible with C++98
-Wc++98-compat? friend function %0would be implicitly redefinedinC++98
-Wc++98-compat? %select{classtemplate|classtemplatepartial|variabletemplate|variabletemplatepartial|functiontemplate|memberfunction|staticdatamember|memberclass|memberenumeration}0specializationof%1outsidenamespace%2isincompatiblewithC++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}1is incompatible with C++98
-Wc++98-compat? goto would jump into protected scopeinC++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? switchcasewould beina protected scopeinC++98
-Wc++98-compat'%0'type specifier is incompatible with C++98
-Wc++98-compat? indirect goto might cross protected scopesinC++98
-Wc++98-compat-pedantic cast between pointer-to-functionandpointer-to-object is incompatible with C++98
-Wc++98-compat-pedantic implicit conversion from array size expression of type %0to %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 uninitializedwhen%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 willnotbe implicitly'const'inC++1y add'const'to avoid a changeinbehavior
-Wconsumed? state of variable'%0'must match at the entryandexit of loop
-Wconsumed? parameter'%0'notinexpected statewhenthe functionreturns:expected'%1', observed'%2'
-Wconsumed? argumentnotinexpected state expected'%0', observed'%1'
-Wconsumed? invalid invocation of method'%0'on a temporary objectwhileit isinthe'%1'state
-Wconsumedreturnstate setforan unconsumable type'%0'
-Wconsumed? consumed analysis attribute is attached to member ofclass'%0'whichisn'tmarkedasconsumable
-Wconsumed? invalid invocation of method'%0'on object'%1'whileit isinthe'%2'state
-Wconsumedreturnvaluenotinexpected state expected'%0', observed'%1'
-Wconversion? ? implicit conversion discards imaginarycomponent:%0to %1
-Wconversion? ? non-type template argument with value'%0'converted to'%1'forunsigned template parameter of type %2
-Wconversion? ? implicit conversion loses floating-pointprecision:%0to %1
-Wconversion? ? implicit conversion loses integerprecision:%0to %1
-Wconversion? ? non-type template argument value'%0'truncated to'%1'fortemplate parameter of type %2
-Wconversion? ? implicit conversion turns vector toscalar:%0to %1
-Wconversion? ? implicit conversion turns floating-point number intointeger:%0to %1
-Wcovered-switch-default? ? default labelinswitch which covers all enumeration values
-Wcustom-atomic-properties? atomic by default property %0has a userdefined%select{getter|setter}1 (property should be marked 'atomic'ifthis is intended)
-Wdangling-field? ? initializing pointer member %0 with the stack address of parameter %1
-Wdangling-field? ? binding reference %select{|subobject of }1member %0to a temporary value
-Wdangling-field? ? binding reference member %0to stack allocated parameter %1
-Wdangling-initializer-list array backing the initializer list will be destroyed at theendof %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}1for%0is 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 deprecatedinfavor of object_getClass()
-Wdeprecated-objc-pointer-introspection bitmaskingforintrospection 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 %0is being directly accessed-
Wdistributed-object-modifiers? conflicting distributed object modifiers onreturntypeinimplementation of %0
-Wdistributed-object-modifiers? conflicting distributed object modifiers on parameter typeinimplementation of %0
-Wdivision-by-zero? division by zero is undefined
-Wdivision-by-zero? remainder by zero is undefined
-Wdocumentation parameter'%0'notfoundinthe function declaration
-Wdocumentationnota Doxygen trailing comment
-Wduplicate-enum? ? element %0has been implicitly assigned %1which another element has been assigned
-Wduplicate-method-match? ? multiple declarations of method %0foundandignored
-Wdynamic-class-memaccess%select{destinationfor|sourceof|firstoperandof|secondoperandof}0this%1callisapointertodynamicclass%2vtablepointerwillbe%select{overwritten|copied|moved|compared}3
-Wempty-body? ? switch statement has empty body
-Wempty-bodyforloop has empty body
-Wempty-bodyifstatement has empty body
-Wempty-body? ? range-basedforloop has empty body
-Wempty-bodywhileloop 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 0inC, %select{size 1|non-zero size}2inC++
-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? ? ibaction attribute can only be applied to Objective-C instance methods
-Wignored-attributes? ? %0 calling convention ignored on variadic function
-Wignored-attributes? ? %0 only applies to variables with static storage duration and functions
-Wignored-attributes? ? %0 attribute argument not supported: %1
-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? ? unknown visibility %0
-Wignored-qualifiers? ? "'%0'type qualifier%s1 onreturntype %plural{1:has|:have}1no effect
-Wignored-qualifiers? ? ARC %select{unused|__unsafe_unretained|__strong|__weak|__autoreleasing}0lifetime qualifier onreturntype is ignored-Wimplicit-atomic-properties? ? property is assumed atomic by default
-Wimplicit-atomic-properties? ? property is assumed atomicwhenauto-synthesizing the property
-Wimplicit-fallthrough? fallthrough annotationinunreachable code
-Wimplicit-fallthrough? unannotated fall-through between switch labels
-Wimplicit-fallthrough? fallthrough annotation doesnotdirectly 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? %select{function|method}0 %1 could be declared with attribute 'noreturn'
-Wmissing-noreturn? block 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
-Wno-typedef-redefinition? Redefinition of typedef '%0' is a C11 feature
-Wnon-literal-null-conversion? "expression which evaluates to zero treated as a null pointer constant of" "type %0
-Wnon-pod-varargs? second argument to'va_arg'is of ARC ownership-qualified type %0
-Wnon-pod-varargs? cannot pass %select{non-POD|non-trivial}0 object of type %1 to variadic %select{function|block|method|constructor}2expected type from format string was %3
-Wnon-pod-varargs? second argument to'va_arg'is of non-POD type %0
-Wnon-pod-varargs? cannot pass object of %select{non-POD|non-trivial}0 type %1 through variadic %select{function|block|method|constructor}2call will abort at runtime
-Wnon-virtual-dtor? %0has virtual functions but non-virtual destructor
-Wnonnull? null passed to a callee which requires a non-null argument
-Wnull-arithmetic? use of NULLinarithmetic operation
-Wnull-arithmetic? comparison between NULLandnon-pointer %select{(%1andNULL)|(NULLand%1)}0
-Wnull-dereference? indirection of non-volatile null pointer will be deleted,nottrap
-Wobjc-autosynthesis-property-ivar-name-match? autosynthesized property %0 will use %select{|synthesized}1instance variable %2,notexisting instance variable %3
-Wobjc-forward-class-redefinitionredefinitionofforwardclass%0ofatypedefnameofanobjecttypeisignored
-Wobjc-interface-ivars? declaration of instance variablesinthe interface is deprecated
-Wobjc-literal-compare? direct comparison of %select{an array literal|a dictionary literal|a numeric literal|a boxed expression|}0has undefined behavior
-Wobjc-literal-missing-atsign? string literal must be prefixed by'@'
-Wobjc-method-access? ? instance method %objcinstance0notfound (returntype defaults to'id') did you mean %objcinstance2?
-Wobjc-method-accessclassmethod%objcclass0notfound(returntypedefaultsto'id')didyoumean%objcclass2?
-Wobjc-method-access? ? instance method %objcinstance0notfound (returntype defaults to'id')
-Wobjc-method-access? ? instance method %0is being used on'Class'which isnotinthe rootclass
-Wobjc-method-accessclassmethod%objcclass0notfound(returntypedefaultsto'id')
-Wobjc-method-access? ? instance method %0found instead ofclassmethod%1
-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 @dynamic or provide a method implementation in this category
-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-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 conventionforreturning'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'notappropriatefornon-GC object-Wobjc-property-synthesis? auto property synthesis willnotsynthesize property'%0'because it is'readwrite'but it will be synthesized'readonly'via another property-Wobjc-property-synthesis"auto property synthesis will not synthesize property '%0' because it cannot share an ivar with another synthesized 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 distributed object modifiers on return type in declaration of %0
-Woverriding-method-mismatch? ? conflicting parameter types in declaration of %0%diff{: $ vs $|}1,2
-Woverriding-method-mismatch? ? conflicting return type in declaration of %0%diff{: $ vs $|}1,2
-Woverriding-method-mismatch? ? conflicting return type in declaration of %0: %1 vs %2
-Wpacked? ? packed attribute is unnecessary for %0
-Wpadded? ? padding %select{struct|interface|class}0 %1 with %2 %select{byte|bit}3%select{|s}4 to align anonymous bit-field
-Wpadded? ? padding %select{struct|interface|class}0 %1 with %2 %select{byte|bit}3%select{|s}4 to align %5
-Wpadded? ? padding size of %0 with %1 %select{byte|bit}2%select{|s}3 to alignment boundary
-Wparentheses? using the result of an assignment as a condition without parentheses
-Wparentheses? %0 has lower precedence than %1 %1 will be evaluated first
-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}0may be unpredictably set tonil
-Wreinterpret-base-class'reinterpret_cast' %select{from|to}3class%0 %select{to|from}3its%select{virtualbase|baseatnon-zerooffset}2 %1behavesdifferentlyfrom'static_cast'
-Wreorder? %select{field|baseclass}0 %1 will be initialized after %select{field|base}2%3
-Wrequires-super-attribute? %0attribute cannot be applied to %select{methodsinprotocols|dealloc}1
-Wreturn-stack-address? returning address of local temporary object
-Wreturn-stack-address? returning address of label, which is local
-Wreturn-stack-address? address of stack memory associated with local variable %0 returned
-Wreturn-stack-address? reference to stack memory associated with local variable %0 returned
-Wreturn-stack-address? returning reference to local temporary object
-Wreturn-type? control may reachendof non-void function
-Wreturn-type? non-void %select{function|method}1%0shouldreturna value, DefaultError
-Wreturn-type? control reachesendof non-void function
-Wreturn-type-c-linkage %0has C-linkage specified, but returns incomplete type %1which could be incompatible with C
-Wreturn-type-c-linkage %0has C-linkage specified, but returns user-definedtype %1which is incompatible with C
-Wsection? section doesnotmatch previous declaration
-Wselector? creating selectorfornonexistent method %0
-Wselector-type-mismatch? ? multiple selectors named %0found
-Wself-assign? explicitly assigning a variable of type %0to itself
-Wself-assign-field assigning %select{field|instance variable}0 to itself
-Wsentinel? "missing sentinelin%select{function call|method dispatch|block call}0
-Wsentinelnotenough variable argumentsin%0 declaration to fit a sentinel
-Wshadow? ? declaration shadows a %select{" "local variable|" "variablein%2|" "static data member of %2|" "field of %2}1
-Wshadow-ivar? local declaration of %0hides 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 %1bits to represent, but %2only has %3bits
-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 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
-Wstrncat-size? the value of the size argument to 'strncat' is wrong
-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? ? overflow converting case value to switch condition type (%0 to %1)
-Wswitch? ? case value not in enumerated type %0
-Wswitch? ? %0 enumeration values not handled in switch: %1, %2, %3...
-Wswitch? ? enumeration values %0 and %1 not handled in switch
-Wswitch? ? enumeration value %0 not handled in switch
-Wswitch? ? enumeration values %0, %1, and %2 not handled in switch
-Wswitch-enum? enumeration values %0, %1, and %2 not explicitly handled in switch
-Wswitch-enum? enumeration values %0 and %1 not explicitly handled in switch
-Wswitch-enum? %0 enumeration values not explicitly handled in switch: %1, %2, %3...
-Wswitch-enum? enumeration value %0 not explicitly handled in switch
-Wtautological-compare? comparison of %0 unsigned%select{| enum}2 expression is always %1
-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-constant-out-of-range-compare? ? comparison of constant %0 with expression of type %1 is always %select{false|true}2
-Wthread-safety-analysis? ? locking '%0' that is already locked
-Wthread-safety-analysis? ? cannot call function '%0' while mutex '%1' is locked
-Wthread-safety-analysis? ? %select{reading|writing}2 the value pointed to by '%0' requires locking %select{'%1'|'%1' exclusively}2
-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? ? calling function '%0' requires %select{shared|exclusive}2 lock on '%1'
-Wthread-safety-analysis? ? %select{reading|writing}2 variable '%0' requires locking %select{'%1'|'%1' exclusively}2
-Wthread-safety-analysis? ? cannot resolve lock expression
-Wthread-safety-analysis? ? expecting mutex '%0' to be 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 the value pointed to by '%0' requires locking %select{any mutex|any mutex exclusively}1
-Wthread-safety-analysis? ? %select{reading|writing}1 variable '%0' requires locking %select{any mutex|any mutex exclusively}1
-Wthread-safety-analysis? ? mutex '%0' is still locked at the end of function
-Wthread-safety-analysis? ? expecting mutex '%0' to be locked at start of each loop
-Wthread-safety-attributes? ignoring %0 attribute because its argument is invalid
-Wthread-safety-attributes? %0 attribute only applies to %select{fields and global variables|functions and methods|classes and structs}1
-Wthread-safety-attributes? %0 attribute requires arguments that are class type or point to class type type here is '%1'
-Wthread-safety-attributes? %0 attribute can only be applied in a context annotated with 'lockable' attribute
-Wthread-safety-attributes? %0 attribute requires arguments whose type is annotated with 'lockable' attribute type here is '%1'
-Wthread-safety-attributes? '%0' only applies to pointer types type here is %1
-Wthread-safety-beta? ? Thread safety beta warning.
-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
-Wthread-safety-precise calling function '%0' requires %select{shared|exclusive}2 lock on '%1'
-Wtype-safety? this type tag was not designed to be used with this function
-Wtype-safety? specified %0 type tag requires a null pointer
-Wtype-safety? argument type %0 doesn't match specified'%1'type tag %select{that requires %3|}2
-Wundeclared-selector? undeclared selector %0 did you mean %1?
-Wundeclared-selector? undeclared selector %0
-Wundefined-inline? inline function %q0 isnotdefined
-Wundefined-internal? ? %select{function|variable}0%q1 has internal linkage but isnotdefined
-Wundefined-reinterpret-cast? ? dereference of type %1that was reinterpret_cast from type %0has undefined behavior
-Wundefined-reinterpret-cast? ? reinterpret_cast from %0to %1has undefined behavior
-Wuninitialized reference %0isnotyet bound to a valuewhenused within its own initialization
-Wuninitialized field %0is uninitializedwhenused here
-Wuninitialized block pointer variable %0is uninitializedwhencaptured by block
-Wuninitialized variable %0is uninitializedwhenused within its own initialization
-Wuninitialized variable %0is uninitializedwhen%select{used here|captured by block}1
-Wuninitialized reference %0 isnotyet bound to a valuewhenused here
-Wunneeded-internal-declaration %select{function|variable}0%1isnotneededandwillnotbe emitted
-Wunneeded-internal-declaration'static'function %0declaredinheader file should be declared'static inline'
-Wunneeded-member-function? member function %0isnotneededandwillnotbe emitted
-Wunreachable-code? will never be executed
-Wunsequenced? multiple unsequenced modifications to %0
-Wunsequenced? unsequenced modificationandaccess to %0
-Wunsupported-friend? ? dependent nested name specifier'%0'forfriend template declaration isnotsupported ignoring this friend declaration
-Wunsupported-friend? ? dependent nested name specifier'%0'forfriendclassdeclarationisnotsupportedturningoffaccesscontrolfor%1
-Wunsupported-visibility? ? target doesnotsupport'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 isnotused
-Wunused-property-ivar? ivar %0 which backs the property isnotreferencedinthis property's accessor
-Wunused-result ignoringreturnvalue of function declared with warn_unused_result attribute
-Wunused-value? ignoringreturnvalue of function declared with %0 attribute
-Wunused-value? expression result unused should this cast be to 'void'?
-Wunused-value? expression result unused
-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-definedliteral suffixesnotstarting with '_' are reserved%select{ no literal will invoke this operator|}0
-Wvarargs? second parameter of'va_start'notlast named argument
-Wvarargs'va_start'has undefined behavior with reference types
-Wvarargs? second argument to'va_arg'is of promotable type %0this va_arg has undefined behavior because arguments will be promoted to %1
-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 differentreturntype}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? parentheses were disambiguated as a function declaration
-Wvexing-parse? empty parentheses interpreted as a function declaration
-Wvisibility? ? declaration of %0willnotbe visible outside of this function
-Wvisibility? ? redefinition of %0willnotbe 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 %0will emit a vtableinevery translation unit
-Wweak-vtables? %0has no out-of-line virtual method definitions; its vtable will be emittedinevery translation unitLexer WarningsWarning Message
-W#pragma-messages? %0
-W#warnings %0
-W#warnings %0
-Wambiguous-macro? ambiguous expansion of macro %0
-Wauto-import? treating#%select{include|import|include_next|__include_macros}0 as an import of module '%1'
-Wbackslash-newline-escape? backslashandnewline separated by space
-Wc++11-compat? identifier after literal will be treated as a user-definedliteral suffixinC++11
-Wc++11-compat'%0'is a keywordinC++11
-Wc++98-c++11-compat? ? digit separators are incompatible with C++ standards before C++1y
-Wc++98-c++11-compat-pedantic? binary integer literals are incompatible with C++ standards before C++1y
-Wc++98-compat? raw string literals are incompatible with C++98-Wc++98-compat? unicode literals are incompatible with C++98
-Wc++98-compat? universal character name referring to a control character is incompatible with C++98
-Wc++98-compat'::'is treated as digraph':'(aka'[') followed by':'inC++98
-Wc++98-compat? using this characterinan identifier is incompatible with C++98
-Wc++98-compat? specifying character'%0'with a universal character name is incompatible with C++98
-Wc++98-compat-pedantic variadic macros are incompatible with C++98
-Wc++98-compat-pedantic#line number greater than 32767 is incompatible with C++98
-Wc++98-compat-pedantic C++98requires newline atendof file
-Wc++98-compat-pedantic empty macro arguments are incompatible with C++98
-Wc99-compat? ? unicode literals are incompatible with C99
-Wc99-compat? ? %select{using this characterinan identifier|starting an identifier with this character}0 is incompatible with C99
-Wcomment? '/*' within block comment
-Wcomment? escaped newline between */ characters at block commentend
-Wdisabled-macro-expansion? disabled expansion of recursive macro
-Wheader-guard? %0 is used as a header guard here, followed by #define of a different macro
-Wignored-attributes? ? unknown attribute '%0'
-Wincomplete-moduleheader '%0' is includedinmodule'%1' butnotlistedinmodulemap
-Wincomplete-umbrella? umbrella headerformodule'%0' doesnotincludeheader '%1'
-Winvalid-token-paste? pasting formed '%0', an invalid preprocessing token, DefaultError
-Wmalformed-warning-check? __has_warning expected option name (e.g. \"-Wundef\")
-Wnewline-eof? no newline atendof file
-Wnull-character? ? null character ignored
-Wnull-character? ? null character(s) preservedinstring literal
-Wnull-character? ? null character(s) preservedincharacter litera
l-Wtrigraphs ignored trigraph wouldendblock comment
-Wtrigraphs trigraph ignored
-Wundef %0 isnotdefined, evaluates to 0
-Wunicode? universal character names are only validinC99orC++ treating as '\\' followed by identifier
-Wunicode? \\%0 used with no following hex digits treating as '\\' followed by identifier
-Wunicode? incomplete universal character name treating as '\\' followed by identifier
-Wunicode? universal character name refers to a surrogate character
-Wunknown-pragmas? unknown pragma ignored
-Wunknown-pragmas? pragma STDC FENV_ACCESS ON isnotsupported, ignoring pragma
-Wunused-macros macro isnotusedParser WarningsWarning Message
-Warc-bridge-casts-disallowed-in-nonarc '%0' casts have no effectwhennotusing ARC
-Wattributes? ? unknown __declspec attribute %0 ignored
-Wavailability? 'unavailable' availability overrides all other availability information
-Wc++11-compat? use of right-shift operator ('')intemplate argument willrequireparenthesesinC++11
-Wc++11-compat? 'auto' storageclassspecifier is redundantandincompatible with C++11
-Wc++98-c++11-compat? ? 'decltype(auto)' type specifier is incompatible with C++ standards before C++1y
-Wc++98-compat? range-basedforloop is incompatible with C++98
-Wc++98-compataliasdeclarations are incompatible with C++98
-Wc++98-compatin-classinitialization of non-static data members is incompatible with C++98
-Wc++98-compat? defaulted function definitions are incompatible with C++98
-Wc++98-compat? rvalue references are incompatible with C++98
-Wc++98-compat? reference qualifiers on functions are incompatible with C++98
-Wc++98-compat? inline namespaces are incompatible with C++98
-Wc++98-compat? generalized initializer lists are incompatible with C++98
-Wc++98-compat? trailingreturntypes are incompatible with C++98
-Wc++98-compat? enumeration types with a fixed underlying type are incompatible with C++98
-Wc++98-compat? alignof expressions are incompatible with C++98
-Wc++98-compat? '%0' keyword is incompatible with C++98
-Wc++98-compat? 'decltype' type specifier is incompatible with C++98
-Wc++98-compat? deleted function definitions are incompatible with C++98
-Wc++98-compat? consecutive right angle brackets are incompatible with C++98 (use '> >')
-Wc++98-compat? static_assert declarations are incompatible with C++98
-Wc++98-compat? scoped enumerations are incompatible with C++98
-Wc++98-compat? lambda expressions are incompatible with C++98
-Wc++98-compat? attributes are incompatible with C++98
-Wc++98-compat? 'alignas' is incompatible with C++98
-Wc++98-compat? noexcept specifications are incompatible with C++98
-Wc++98-compat? literal operators are incompatible with C++98
-Wc++98-compat? noexcept expressions are incompatible with C++98
-Wc++98-compat? 'nullptr' is incompatible with C++98
-Wc++98-compat-pedantic extra '' outside of a function is incompatible with C++98
-Wc++98-compat-pedantic extern templates are incompatible with C++98
-Wc++98-compat-pedantic commas at theendof enumerator lists are incompatible with C++98
-Wdangling-elseadd explicit braces to avoid danglingelse
-Wdeprecated? ? Use of 'long' with '__vector' is deprecated
-Wdeprecated-declarations? use of C-style parametersinObjective-C method declarations is deprecated
-Wdeprecated-register? 'register' storageclassspecifier is deprecated
-Wduplicate-decl-specifier? duplicate '%0' declaration specifier
-Wextra-semi? ? extra ';' after member function definition
-Wextra-tokens? "extra tokens at theendof '#pragma omp %0' are ignored
-Wgcc-compat? ? GCC doesnotallow %0 attributeinthis position on a function definition
-Wignored-attributes? ? attribute %0 ignored, because it isnotattached to a declaration
-Wmicrosoft-exists? dependent %select{__if_not_exists|__if_exists}0declarations are ignored
-Wmissing-selector-name %0used as the name of the previous parameter rather than as part of the selector
-Wsemicolon-before-method-body? semicolon before method body is ignored
-Wsource-uses-openmp"unexpected '#pragma omp ...' in program
-Wstatic-inline-explicit-instantiation? ignoring '%select{static|inline}0' keyword on explicit template instantiation
作者:WildDylan
鏈接:http://www.reibang.com/p/eb03e20f7b1c