Qt5.QtCreator shield warning

1, QtCreator shielding specified warning - weixin_40954205's blog - CSDN blog .html ( https://blog.csdn.net/weixin_40954205/article/details/83750864?tdsourcetag=s_pctim_aiomsg )

Tools> Options> C ++> Code Model> Clang Code Model> Manage 
Create your own configuration // ZC: I have a copy of the original configuration 
to add warnings to be screened in Clang, such as: -Wno-weak-vtables -Wno -old-style-cast 
selected applications after OK.

 example

  

  • The corresponding warning name: unused-variable
  • Warning name format -Wno-
  • -Wno-unused-variable

 

 ZC: My configuration temporarily Screenshot

 

2, (20191020) Qt598 I encountered (vs2017) which is being given a lot of very strange ... and Qt532 (vs2010) overstated compared to a lot of things, such as hollow circular / hollow triangle of error and warnings, do not know What ... vs2017_cpp not used carefully, do not know is not a new thing ... vs2017

 But some found the error message like apples inside error (∵ Mother lot of search results pages have a lead content of apples being given ...), is wanted vs Microsoft can develop on all platforms? ? ? Go down this road? ?

 2.1, iOS: the elimination of projects WARNING - trying to come under the Bodhi tree - blog Park .html ( https://www.cnblogs.com/XYQ-208910/p/6058652.html?tdsourcetag=s_pctim_aiomsg )

  ZC: This is a web content when I found a lot of error and warning inside the hollow & annoying hollow circle & triangle in the search Qt598 (vs2017), it is the apple of information ...

  2.1.1, web content replication:

 

↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ 

introduction:

In the iOS development process, we may encounter some system approach abandoned, weak, circular references, such warnings can not be executed. There are a little older code that kids want to eliminate them, today, let us once Fuck WARNING! !

First learn basic statement:

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

Here intermediate write code warnings

#pragma clang diagnostic pop

This eliminates the warning method deprecated!

That is used as follows:

Copy the code
Clang the Push Diagnostic #pragma 
#pragma Clang Diagnostic ignored "-Wdeprecated-Declarations" 

// warning here to write code that can achieve the removal of the warning (code written in the middle) 
 
#pragma Clang Diagnostic POP
Copy the code

Similarly, you can search below corresponding to the warning, so that you can fill in behind the front string ignored the top, and then enclose your code, OK

Source URL      

Copy the code
Semantic Warnings
Warning    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 unit
Lexer Warnings
Warning    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 used
Parser Warnings
Warning    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
Copy the code

The original blogger: http: //www.jianshu.com/p/eb03e20f7b1c

↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ 

 

3、

4、

5、

 

Guess you like

Origin www.cnblogs.com/cppskill/p/11706939.html