消除警告

来源:互联网 发布:centos nginx 启动 编辑:程序博客网 时间:2024/04/29 19:18

在iOS开发过程中, 我们可能会碰到一些系统方法弃用, weak、循环引用、不能执行之类的警告。 有代码洁癖的孩子们很想消除他们, 今天就让我们来一次Fuck 警告!!

首先学会基本的语句

#pragma clang diagnostic push#pragma clang diagnostic ignored "-Wdeprecated-declarations"

这里写出现警告的代码

#pragma clang diagnostic pop

这样就消除了方法弃用的警告!

同理, 大家可以在下边搜索到对应的警告, 这样 就可以把前边的字串填入上边的ignored的后边, 然后阔住你的代码, 就OK了

喜欢请关注、哈哈

源网址

Semantic WarningsWarning    Message-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    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 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    %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}2 expected 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}2 call will abort at runtime-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    use of NULL in arithmetic operation-Wnull-arithmetic    comparison between NULL and non-pointer %select{(%1 and NULL)|(NULL and %1)}0-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    instance method %objcinstance0 not found (return type defaults to 'id') did you mean %objcinstance2?-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')-Wobjc-method-access    instance method %0 is being used on 'Class' which is not in the root class-Wobjc-method-access    class method %objcclass0 not found (return type defaults to 'id')-Wobjc-method-access    instance method %0 found instead of class method %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 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 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}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 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 reach end of non-void function-Wreturn-type    non-void %select{function|method}1 %0 should return a value, DefaultError-Wreturn-type    control reaches end of non-void function-Wreturn-type-c-linkage    %0 has C-linkage specified, but returns incomplete type %1 which could be incompatible with C-Wreturn-type-c-linkage    %0 has C-linkage specified, but returns user-defined type %1 which is 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    "missing sentinel in %select{function call|method dispatch|block call}0-Wsentinel    not enough variable arguments in %0 declaration to fit a sentinel-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 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 is not defined-Wundefined-internal    %select{function|variable}0 %q1 has internal linkage but is not defined-Wundefined-reinterpret-cast    dereference of type %1 that was reinterpret_cast from type %0 has undefined behavior-Wundefined-reinterpret-cast    reinterpret_cast from %0 to %1 has undefined behavior-Wuninitialized    reference %0 is not yet bound to a value when used within its own initialization-Wuninitialized    field %0 is uninitialized when used here-Wuninitialized    block pointer variable %0 is uninitialized when captured by block-Wuninitialized    variable %0 is uninitialized when used within its own initialization-Wuninitialized    variable %0 is uninitialized when %select{used here|captured by block}1-Wuninitialized    reference %0 is not yet bound to a value when used here-Wunneeded-internal-declaration    %select{function|variable}0 %1 is not needed and will not be emitted-Wunneeded-internal-declaration    'static' function %0 declared in header file should be declared 'static inline'-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 template declaration is not supported ignoring this friend declaration-Wunsupported-friend    dependent nested name specifier '%0' for friend class declaration is not supported turning off access control for %1-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    ignoring return value 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-defined literal suffixes not starting with '_' are reserved%select{ no literal will invoke this operator|}0-Wvarargs    second parameter of 'va_start' not last named argument-Wvarargs    'va_start' has undefined behavior with reference types-Wvarargs    second argument to 'va_arg' is of promotable type %0 this 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 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    parentheses were disambiguated as a function declaration-Wvexing-parse    empty parentheses interpreted 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 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    backslash and newline separated by space-Wc++11-compat    identifier after literal will be treated as a user-defined literal suffix in C++11-Wc++11-compat    '%0' is a keyword in C++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 ':' in C++98-Wc++98-compat    using this character in an 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++98 requires newline at end of 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 character in an identifier|starting an identifier with this character}0 is incompatible with C99-Wcomment    '/*' within block comment-Wcomment    escaped newline between */ characters at block comment end-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-module    header '%0' is included in module '%1' but not listed in module map-Wincomplete-umbrella    umbrella header for module '%0' does not include header '%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 at end of file-Wnull-character    null character ignored-Wnull-character    null character(s) preserved in string literal-Wnull-character    null character(s) preserved in character literal-Wtrigraphs    ignored trigraph would end block comment-Wtrigraphs    trigraph ignored-Wundef    %0 is not defined, evaluates to 0-Wunicode    universal character names are only valid in C99 or C++ 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 is not supported, ignoring pragma-Wunused-macros    macro is not usedParser WarningsWarning    Message-Warc-bridge-casts-disallowed-in-nonarc    '%0' casts have no effect when not using ARC-Wattributes    unknown __declspec attribute %0 ignored-Wavailability    'unavailable' availability overrides all other availability information-Wc++11-compat    use of right-shift operator ('') in template argument will require parentheses in C++11-Wc++11-compat    'auto' storage class specifier is redundant and incompatible with C++11-Wc++98-c++11-compat    'decltype(auto)' type specifier is incompatible with C++ standards before C++1y-Wc++98-compat    range-based for loop is incompatible with C++98-Wc++98-compat    alias declarations are incompatible with C++98-Wc++98-compat    in-class initialization 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    trailing return types 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 the end of enumerator lists are incompatible with C++98-Wdangling-else    add explicit braces to avoid dangling else-Wdeprecated    Use of 'long' with '__vector' is deprecated-Wdeprecated-declarations    use of C-style parameters in Objective-C method declarations is deprecated-Wdeprecated-register    'register' storage class specifier is deprecated-Wduplicate-decl-specifier    duplicate '%0' declaration specifier-Wextra-semi    extra ';' after member function definition-Wextra-tokens    "extra tokens at the end of '#pragma omp %0' are ignored-Wgcc-compat    GCC does not allow %0 attribute in this position on a function definition-Wignored-attributes    attribute %0 ignored, because it is not attached to a declaration-Wmicrosoft-exists    dependent %select{__if_not_exists|__if_exists}0 declarations are ignored-Wmissing-selector-name    %0 used 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
0 0
原创粉丝点击