Type |
Name |
Message |
Note |
note_previous_decl |
%0 declared here |
Note |
note_entity_declared_at |
%0 declared here |
Note |
note_callee_decl |
%0 declared here |
Note |
note_defined_here |
%0 defined here |
Warning |
warn_variables_not_in_loop_body |
[1]:variable%select{s| %1|s %1 and %2|s %1, %2, and %3|s %1, %2, %3, and %4}0 [2]:used in loop condition not modified in loop body |
Warning |
warn_redundant_loop_iteration |
[1]:variable %0 is %select{decremented|incremented}1 both in the loop header [2]:and in the loop body |
Note |
note_loop_iteration_here |
%select{decremented|incremented}0 here |
Warning |
warn_for_range_const_reference_copy |
[1]:loop variable %0 [2]:[1]:%diff{has type $ but is initialized with type $ [2]:| is initialized with a value of a different type}1,2 resulting in a copy |
Note |
note_use_type_or_non_reference |
use non-reference type %0 to keep the copy or type %1 to prevent copying |
Warning |
warn_for_range_variable_always_copy |
[1]:loop variable %0 is always a copy because the range of type %1 does not [2]:return a reference |
Note |
note_use_non_reference_type |
use non-reference type %0 |
Warning |
warn_for_range_copy |
loop variable %0 of type %1 creates a copy from type %2 |
Note |
note_use_reference_type |
use reference type %0 to prevent copying |
Warning |
warn_duplicate_enum_values |
[1]:element %0 has been implicitly assigned %1 which another element has [2]:been assigned |
Note |
note_duplicate_element |
element %0 also has value %1 |
Warning |
warn_unsigned_abs |
taking the absolute value of unsigned type %0 has no effect |
Note |
note_remove_abs |
remove the call to '%0' since unsigned values cannot be negative |
Warning |
warn_abs_too_small |
[1]:absolute value function %0 given an argument of type %1 but has parameter [2]:of type %2 which may cause truncation of value |
Warning |
warn_wrong_absolute_value_type |
[1]:using %select{integer|floating point|complex}1 absolute value function %0 [2]:when argument is of %select{integer|floating point|complex}2 type |
Note |
note_replace_abs_function |
use function '%0' instead |
Warning |
warn_pointer_abs |
taking the absolute value of %select{pointer|function|array}0 type %1 is suspicious |
Warning |
warn_infinite_recursive_function |
all paths through this function will call itself |
Warning |
warn_comma_operator |
possible misuse of comma operator here |
Note |
note_cast_to_void |
cast expression to void to silence warning |
Error |
err_expr_not_ice |
expression is not an %select{integer|integral}0 constant expression |
Extension |
ext_expr_not_ice |
[1]:expression is not an %select{integer|integral}0 constant expression; [2]:folding it to a constant is a GNU extension |
Error |
err_typecheck_converted_constant_expression |
value of type %0 is not implicitly convertible to %1 |
Error |
err_typecheck_converted_constant_expression_disallowed |
conversion from %0 to %1 is not allowed in a converted constant expression |
Error |
err_typecheck_converted_constant_expression_indirect |
[1]:conversion from %0 to %1 in converted constant expression would [2]:bind reference to a temporary |
Error |
err_expr_not_cce |
[1]:%select{case value|enumerator value|non-type template argument|array size}0 [2]:is not a constant expression |
ExtWarn |
ext_cce_narrowing |
[1]:%select{case value|enumerator value|non-type template argument|array size}0 [2]:[1]:%select{cannot be narrowed from type %2 to %3| [2]:evaluates to %2, which cannot be narrowed to type %3}1 |
Error |
err_ice_not_integral |
[1]:integral constant expression must have integral or unscoped enumeration [2]:type, not %0 |
Error |
err_ice_incomplete_type |
integral constant expression has incomplete class type %0 |
Error |
err_ice_explicit_conversion |
integral constant expression requires explicit conversion from %0 to %1 |
Note |
note_ice_conversion_here |
conversion to %select{integral|enumeration}0 type %1 declared here |
Error |
err_ice_ambiguous_conversion |
[1]:ambiguous conversion from type %0 to an integral or unscoped [2]:enumeration type |
Error |
err_ice_too_large |
[1]:integer constant expression evaluates to value %0 that cannot be [2]:represented in a %1-bit %select{signed|unsigned}2 integer type |
Error |
err_expr_not_string_literal |
expression is not a string literal |
Warning |
ext_predef_outside_function |
predefined identifier is only valid inside function |
Warning |
warn_float_overflow |
magnitude of floating-point constant too large for type %0; maximum is %1 |
Warning |
warn_float_underflow |
magnitude of floating-point constant too small for type %0; minimum is %1 |
Warning |
warn_double_const_requires_fp64 |
double precision constant requires cl_khr_fp64, casting to single precision |
Error |
err_half_const_requires_fp16 |
half precision constant requires cl_khr_fp16 |
Extension |
ext_vla |
variable length arrays are a C99 feature |
Warning |
warn_vla_used |
variable length array used |
Error |
err_vla_non_pod |
variable length array of non-POD element type %0 |
Error |
err_vla_in_sfinae |
variable length array cannot be formed during template argument deduction |
Error |
err_array_star_in_function_definition |
variable length array must be bound in function definition |
Error |
err_vla_decl_in_file_scope |
variable length array declaration not allowed at file scope |
Error |
err_vla_decl_has_static_storage |
variable length array declaration cannot have 'static' storage duration |
Error |
err_vla_decl_has_extern_linkage |
variable length array declaration cannot have 'extern' linkage |
Extension |
ext_vla_folded_to_constant |
variable length array folded to constant array as an extension |
Error |
err_variably_modified_template_arg |
variably modified type %0 cannot be used as a template argument |
Error |
err_variably_modified_nontype_template_param |
non-type template parameter of variably modified type %0 |
Error |
err_variably_modified_new_type |
'new' cannot allocate object of variably modified type %0 |
Extension |
ext_designated_init |
designated initializers are a C99 feature |
Error |
err_array_designator_negative |
array designator value '%0' is negative |
Error |
err_array_designator_empty_range |
array designator range [%0, %1] is empty |
Error |
err_array_designator_non_array |
array designator cannot initialize non-array type %0 |
Error |
err_array_designator_too_large |
array designator index (%0) exceeds array bounds (%1) |
Error |
err_field_designator_non_aggr |
[1]:field designator cannot initialize a [2]:%select{non-struct, non-union|non-class}0 type %1 |
Error |
err_field_designator_unknown |
field designator %0 does not refer to any field in type %1 |
Error |
err_field_designator_nonfield |
field designator %0 does not refer to a non-static data member |
Note |
note_field_designator_found |
field designator refers here |
Error |
err_designator_for_scalar_init |
designator in initializer for scalar type %0 |
Warning |
warn_subobject_initializer_overrides |
[1]:subobject initialization overrides initialization of other fields [2]:within its enclosing subobject |
Warning |
warn_initializer_overrides |
initializer overrides prior initialization of this subobject |
Note |
note_previous_initializer |
[1]:previous initialization %select{|with side effects }0is here [2]:%select{| (side effects may not occur at run time)}0 |
Error |
err_designator_into_flexible_array_member |
designator into flexible array member subobject |
Note |
note_flexible_array_member |
initialized flexible array member %0 is here |
Extension |
ext_flexible_array_init |
flexible array initialization is a GNU extension |
ExtWarn |
ext_duplicate_declspec |
duplicate '%0' declaration specifier |
Warning |
warn_duplicate_declspec |
duplicate '%0' declaration specifier |
ExtWarn |
ext_plain_complex |
plain '_Complex' requires a type specifier; assuming '_Complex double' |
Extension |
ext_integer_complex |
complex integer types are a GNU extension |
Error |
err_invalid_sign_spec |
'%0' cannot be signed or unsigned |
Error |
err_invalid_width_spec |
'%select{|short|long|long long}0 %1' is invalid |
Error |
err_invalid_complex_spec |
'_Complex %0' is invalid |
Error |
err_friend_decl_spec |
'%0' is invalid in friend declarations |
ExtWarn |
ext_auto_type_specifier |
'auto' type specifier is a C++11 extension |
Warning |
warn_auto_storage_class |
'auto' storage class specifier is redundant and incompatible with C++11 |
Warning |
warn_deprecated_register |
[1]:'register' storage class specifier is deprecated [2]:and incompatible with C++1z |
ExtWarn |
ext_register_storage_class |
ISO C++1z does not allow 'register' storage class specifier |
Error |
err_invalid_decl_spec_combination |
cannot combine with previous '%0' declaration specifier |
Error |
err_invalid_vector_decl_spec_combination |
[1]:cannot combine with previous '%0' declaration specifier. [2]:'__vector' must be first |
Error |
err_invalid_pixel_decl_spec_combination |
[1]:'__pixel' must be preceded by '__vector'. [2]:'%0' declaration specifier not allowed here |
Error |
err_invalid_vector_bool_decl_spec |
cannot use '%0' with '__vector bool' |
Error |
err_invalid_vector_long_decl_spec |
cannot use 'long' with '__vector' |
Error |
err_invalid_vector_float_decl_spec |
cannot use 'float' with '__vector' |
Error |
err_invalid_vector_double_decl_spec |
[1]:use of 'double' with '__vector' requires VSX support to be enabled [2]:(available on POWER7 or later) |
Error |
err_invalid_vector_long_long_decl_spec |
[1]:use of 'long long' with '__vector bool' requires VSX support (available on [2]:[1]:POWER7 or later) or extended Altivec support (available on POWER8 or later) [2]:to be enabled |
Error |
err_invalid_vector_long_double_decl_spec |
cannot use 'long double' with '__vector' |
Warning |
warn_vector_long_decl_spec_combination |
Use of 'long' with '__vector' is deprecated |
Error |
err_use_of_tag_name_without_tag |
must use '%1' tag to refer to type %0%select{| in this scope}2 |
Error |
err_redeclaration_different_type |
redeclaration of %0 with a different type%diff{: $ vs $|}1,2 |
Error |
err_bad_variable_name |
%0 cannot be the name of a variable or data member |
Error |
err_bad_parameter_name |
%0 cannot be the name of a parameter |
Error |
err_parameter_name_omitted |
parameter name omitted |
Error |
err_anyx86_interrupt_attribute |
[1]:%select{x86|x86-64}0 'interrupt' attribute only applies to functions that [2]:[1]:have %select{a 'void' return type| [2]:[1]:only a pointer parameter optionally followed by an integer parameter| [2]:a pointer as the first parameter|a %2 type as the second parameter}1 |
Error |
err_anyx86_interrupt_called |
interrupt service routine cannot be called directly |
Warning |
warn_mips_interrupt_attribute |
[1]:MIPS 'interrupt' attribute only applies to functions that have [2]:%select{no parameters|a 'void' return type}0 |
Warning |
warn_unused_parameter |
unused parameter %0 |
Warning |
warn_unused_variable |
unused variable %0 |
Warning |
warn_unused_local_typedef |
unused %select{typedef|type alias}0 %1 |
Warning |
warn_unused_property_backing_ivar |
[1]:ivar %0 which backs the property is not [2]:referenced in this property's accessor |
Warning |
warn_unused_const_variable |
unused variable %0 |
Warning |
warn_unused_exception_param |
unused exception parameter %0 |
Warning |
warn_decl_in_param_list |
declaration of %0 will not be visible outside of this function |
Warning |
warn_redefinition_in_param_list |
redefinition of %0 will not be visible outside of this function |
Warning |
warn_empty_parens_are_function_decl |
empty parentheses interpreted as a function declaration |
Warning |
warn_parens_disambiguated_as_function_declaration |
parentheses were disambiguated as a function declaration |
Note |
note_additional_parens_for_variable_declaration |
add a pair of parentheses to declare a variable |
Note |
note_empty_parens_function_call |
change this ',' to a ';' to call %0 |
Note |
note_empty_parens_default_ctor |
remove parentheses to declare a variable |
Note |
note_empty_parens_zero_initialize |
replace parentheses with an initializer to declare a variable |
Warning |
warn_unused_function |
unused function %0 |
Warning |
warn_unused_member_function |
unused member function %0 |
Warning |
warn_used_but_marked_unused |
%0 was marked unused but was used |
Warning |
warn_unneeded_internal_decl |
%select{function|variable}0 %1 is not needed and will not be emitted |
Warning |
warn_unneeded_static_internal_decl |
[1]:'static' function %0 declared in header file [2]:should be declared 'static inline' |
Warning |
warn_unneeded_member_function |
member function %0 is not needed and will not be emitted |
Warning |
warn_unused_private_field |
private field %0 is not used |
Warning |
warn_parameter_size |
[1]:%0 is a large (%1 bytes) pass-by-value argument; [2]:pass it by reference instead ? |
Warning |
warn_return_value_size |
[1]:return value of %0 is a large (%1 bytes) pass-by-value object; [2]:pass it by reference instead ? |
Warning |
warn_return_value_udt |
[1]:%0 has C-linkage specified, but returns user-defined type %1 which is [2]:incompatible with C |
Warning |
warn_return_value_udt_incomplete |
[1]:%0 has C-linkage specified, but returns incomplete type %1 which could be [2]:incompatible with C |
Warning |
warn_implicit_function_decl |
implicit declaration of function %0 |
ExtWarn |
ext_implicit_function_decl |
implicit declaration of function %0 is invalid in C99 |
Note |
note_function_suggestion |
did you mean %0? |
Error |
err_ellipsis_first_param |
ISO C requires a named parameter before '...' |
Error |
err_declarator_need_ident |
declarator requires an identifier |
Error |
err_language_linkage_spec_unknown |
unknown linkage language |
Error |
err_language_linkage_spec_not_ascii |
[1]:string literal in language linkage specifier cannot have an [2]:encoding-prefix |
Warning |
warn_use_out_of_scope_declaration |
use of out-of-scope declaration of %0 |
Error |
err_inline_non_function |
'inline' can only appear on functions |
Error |
err_noreturn_non_function |
'_Noreturn' can only appear on functions |
Warning |
warn_qual_return_type |
'%0' type qualifier%s1 on return type %plural{1:has|:have}1 no effect |
Warning |
warn_decl_shadow |
[1]:declaration shadows a %select{ [2]:[1]:local variable| [2]:[1]:variable in %2| [2]:[1]:static data member of %2| [2]:field of %2}1 |
Error |
err_using_requires_qualname |
using declaration requires a qualified name |
Error |
err_using_typename_non_type |
'typename' keyword used on a non-type |
Error |
err_using_dependent_value_is_type |
dependent using declaration resolved to type without 'typename' |
Error |
err_using_decl_nested_name_specifier_is_not_class |
using declaration in class refers into '%0', which is not a class |
Error |
err_using_decl_nested_name_specifier_is_current_class |
using declaration refers to its own class |
Error |
err_using_decl_nested_name_specifier_is_not_base_class |
using declaration refers into '%0', which is not a base class of %1 |
Error |
err_using_decl_constructor_not_in_direct_base |
%0 is not a direct base of %1, cannot inherit constructors |
Error |
err_using_decl_constructor_conflict |
[1]:cannot inherit constructor, already inherited constructor with [2]:the same signature |
Note |
note_using_decl_constructor_conflict_current_ctor |
conflicting constructor |
Note |
note_using_decl_constructor_conflict_previous_ctor |
previous constructor |
Note |
note_using_decl_constructor_conflict_previous_using |
previously inherited here |
Warning |
warn_using_decl_constructor_ellipsis |
inheriting constructor does not inherit ellipsis |
Note |
note_using_decl_constructor_ellipsis |
constructor declared with ellipsis here |
Error |
err_using_decl_can_not_refer_to_class_member |
using declaration cannot refer to class member |
Note |
note_using_decl_class_member_workaround |
[1]:use %select{an alias declaration|a typedef declaration|a reference}0 [2]:instead |
Error |
err_using_decl_can_not_refer_to_namespace |
using declaration cannot refer to namespace |
Error |
err_using_decl_constructor |
using declaration cannot refer to a constructor |
Warning |
warn_cxx98_compat_using_decl_constructor |
inheriting constructors are incompatible with C++98 |
Error |
err_using_decl_destructor |
using declaration cannot refer to a destructor |
Error |
err_using_decl_template_id |
using declaration cannot refer to a template specialization |
Note |
note_using_decl_target |
target of using declaration |
Note |
note_using_decl_conflict |
conflicting declaration |
Error |
err_using_decl_redeclaration |
redeclaration of using decl |
Error |
err_using_decl_conflict |
target of using declaration conflicts with declaration already in scope |
Error |
err_using_decl_conflict_reverse |
declaration conflicts with target of using declaration already in scope |
Note |
note_using_decl |
%select{|previous }0using declaration |
Warning |
warn_access_decl_deprecated |
access declarations are deprecated; use using declarations instead |
Error |
err_access_decl |
[1]:ISO C++11 does not allow access declarations; [2]:use using declarations instead |
Warning |
warn_exception_spec_deprecated |
dynamic exception specifications are deprecated |
Note |
note_exception_spec_deprecated |
use '%0' instead |
Warning |
warn_deprecated_copy_operation |
[1]:definition of implicit copy %select{constructor|assignment operator}1 [2]:[1]:for %0 is deprecated because it has a user-declared [2]:%select{copy %select{assignment operator|constructor}1|destructor}2 |
Warning |
warn_global_constructor |
declaration requires a global constructor |
Warning |
warn_global_destructor |
declaration requires a global destructor |
Warning |
warn_exit_time_destructor |
declaration requires an exit-time destructor |
Error |
err_invalid_thread |
'%0' is only allowed on variable declarations |
Error |
err_thread_non_global |
'%0' variables must have global storage |
Error |
err_thread_unsupported |
thread-local storage is not supported for the current target |
Warning |
warn_maybe_falloff_nonvoid_function |
control may reach end of non-void function |
Warning |
warn_falloff_nonvoid_function |
control reaches end of non-void function |
Error |
err_maybe_falloff_nonvoid_block |
control may reach end of non-void block |
Error |
err_falloff_nonvoid_block |
control reaches end of non-void block |
Warning |
warn_suggest_noreturn_function |
%select{function|method}0 %1 could be declared with attribute 'noreturn' |
Warning |
warn_suggest_noreturn_block |
block could be declared with attribute 'noreturn' |
Warning |
warn_unreachable |
code will never be executed |
Warning |
warn_unreachable_break |
'break' will never be executed |
Warning |
warn_unreachable_return |
'return' will never be executed |
Warning |
warn_unreachable_loop_increment |
loop will run at most once (loop increment never executed) |
Note |
note_unreachable_silence |
silence by adding parentheses to mark code as explicitly dead |
ExtWarn |
ext_implicit_lib_function_decl |
implicitly declaring library function '%0' with type %1 |
Note |
note_include_header_or_declare |
include the header <%0> or explicitly provide a declaration for '%1' |
Note |
note_previous_builtin_declaration |
%0 is a builtin with type %1 |
Warning |
warn_implicit_decl_requires_sysheader |
declaration of built-in function '%1' requires inclusion of the header <%0> |
Warning |
warn_redecl_library_builtin |
incompatible redeclaration of library function %0 |
Error |
err_builtin_definition |
definition of builtin function %0 |
Error |
err_arm_invalid_specialreg |
invalid special register for builtin |
Error |
err_invalid_cpu_supports |
invalid cpu feature string for builtin |
Error |
err_builtin_needs_feature |
%0 needs target feature %1 |
Error |
err_function_needs_feature |
[1]:always_inline function %1 requires target feature '%2', but would [2]:[1]:be inlined into function %0 that is compiled without support for [2]:'%2' |
Warning |
warn_builtin_unknown |
use of unknown builtin %0 |
Warning |
warn_dyn_class_memaccess |
[1]:%select{destination for|source of|first operand of|second operand of}0 this [2]:[1]:%1 call is a pointer to %select{|class containing a }2dynamic class %3; [2]:vtable pointer will be %select{overwritten|copied|moved|compared}4 |
Note |
note_bad_memaccess_silence |
explicitly cast the pointer to silence this warning |
Warning |
warn_sizeof_pointer_expr_memaccess |
[1]:'%0' call operates on objects of type %1 while the size is based on a [2]:different type %2 |
Note |
warn_sizeof_pointer_expr_memaccess_note |
[1]:did you mean to %select{dereference the argument to 'sizeof' (and multiply [2]:[1]:it by the number of elements)|remove the addressof in the argument to [2]:[1]:'sizeof' (and multiply it by the number of elements)|provide an explicit [2]:length}0? |
Warning |
warn_sizeof_pointer_type_memaccess |
[1]:argument to 'sizeof' in %0 call is the same pointer type %1 as the [2]:%select{destination|source}2; expected %3 or an explicit length |
Warning |
warn_strlcpycat_wrong_size |
[1]:size argument in %0 call appears to be size of the source; [2]:expected the size of the destination |
Note |
note_strlcpycat_wrong_size |
change size argument to be the size of the destination |
Warning |
warn_memsize_comparison |
size argument in %0 call is a comparison |
Note |
note_memsize_comparison_paren |
did you mean to compare the result of %0 instead? |
Note |
note_memsize_comparison_cast_silence |
explicitly cast the argument to size_t to silence this warning |
Warning |
warn_strncat_large_size |
[1]:the value of the size argument in 'strncat' is too large, might lead to a [2]:buffer overflow |
Warning |
warn_strncat_src_size |
[1]:size argument in 'strncat' call appears [2]:to be size of the source |
Warning |
warn_strncat_wrong_size |
the value of the size argument to 'strncat' is wrong |
Note |
note_strncat_wrong_size |
[1]:change the argument to be the free space in the destination buffer minus [2]:the terminating null byte |
Warning |
warn_assume_side_effects |
the argument to %0 has side effects that will be discarded |
Warning |
warn_memcpy_chk_overflow |
%0 will always overflow destination buffer |
Warning |
warn_static_main |
'main' should not be declared static |
Error |
err_static_main |
'main' is not allowed to be declared static |
Error |
err_inline_main |
'main' is not allowed to be declared inline |
ExtWarn |
ext_variadic_main |
'main' is not allowed to be declared variadic |
ExtWarn |
ext_noreturn_main |
'main' is not allowed to be declared _Noreturn |
Note |
note_main_remove_noreturn |
remove '_Noreturn' |
Error |
err_constexpr_main |
'main' is not allowed to be declared constexpr |
Error |
err_deleted_main |
'main' is not allowed to be deleted |
Error |
err_mainlike_template_decl |
%0 cannot be a template |
Error |
err_main_returns_nonint |
'main' must return 'int' |
ExtWarn |
ext_main_returns_nonint |
return type of 'main' is not 'int' |
Note |
note_main_change_return_type |
change return type to 'int' |
Error |
err_main_surplus_args |
[1]:too many parameters (%0) for 'main': [2]:must be 0, 2, or 3 |
Warning |
warn_main_one_arg |
only one parameter on 'main' declaration |
Error |
err_main_arg_wrong |
[1]:%select{first|second|third|fourth}0 [2]:[1]:parameter of 'main' (%select{argument count|argument array|environment| [2]:platform-specific data}0) must be of type %1 |
Error |
err_main_global_variable |
main cannot be declared as global variable |
Warning |
warn_main_redefined |
[1]:variable named 'main' with external linkage [2]:has undefined behavior |
Extension |
ext_main_used |
ISO C++ does not allow 'main' to be used by a program |
ExtWarn |
ext_no_declarators |
declaration does not declare anything |
ExtWarn |
ext_typedef_without_a_name |
typedef requires a name |
Error |
err_typedef_not_identifier |
typedef name must be an identifier |
Error |
err_typedef_changes_linkage |
[1]:unsupported: typedef changes linkage [2]: of anonymous type, but linkage was already computed |
Note |
note_typedef_changes_linkage |
[1]:use a tag name here to establish [2]:linkage prior to definition |
Error |
err_statically_allocated_object |
interface type cannot be statically allocated |
Error |
err_object_cannot_be_passed_returned_by_value |
[1]:interface type %1 cannot be %select{returned|passed}0 by value [2]:; did you forget * in %1? |
Error |
err_parameters_retval_cannot_have_fp16_type |
%select{parameters|function return value}0 cannot have __fp16 type; did you forget * ? |
Error |
err_opencl_half_load_store |
%select{loading directly from|assigning directly to}0 pointer to type %1 is not allowed |
Error |
err_opencl_cast_to_half |
casting to type %0 is not allowed |
Error |
err_opencl_half_declaration |
declaring variable of type %0 is not allowed |
Error |
err_opencl_half_param |
declaring function parameter of type %0 is not allowed; did you forget * ? |
Error |
err_opencl_invalid_return |
declaring function return value of type %0 is not allowed %select{; did you forget * ?|}1 |
Warning |
warn_enum_value_overflow |
overflow in enumeration value |
Warning |
warn_pragma_options_align_reset_failed |
#pragma options align=reset failed: %0 |
Error |
err_pragma_options_align_mac68k_target_unsupported |
mac68k alignment pragma is not supported on this target |
Warning |
warn_pragma_pack_invalid_alignment |
expected #pragma pack parameter to be '1', '2', '4', '8', or '16' |
Warning |
warn_pragma_pack_show |
value of #pragma pack(show) == %0 |
Warning |
warn_pragma_pack_pop_identifer_and_alignment |
specifying both a name and alignment to 'pop' is undefined |
Warning |
warn_pragma_pop_failed |
#pragma %0(pop, ...) failed: %1 |
Warning |
warn_cxx_ms_struct |
[1]:ms_struct may not produce Microsoft-compatible layouts for classes [2]:with base classes or virtual functions |
Error |
err_section_conflict |
%0 causes a section type conflict with %1 |
Error |
err_no_base_classes |
invalid use of '__super', %0 has no base classes |
Error |
err_invalid_super_scope |
[1]:invalid use of '__super', [2]:this keyword can only be used inside class or member function scope |
Error |
err_super_in_lambda_unsupported |
use of '__super' inside a lambda is unsupported |
Warning |
warn_pragma_unused_undeclared_var |
undeclared variable %0 used as an argument for '#pragma unused' |
Warning |
warn_pragma_unused_expected_var_arg |
only variables can be arguments to '#pragma unused' |
Error |
err_pragma_push_visibility_mismatch |
#pragma visibility push with no matching #pragma visibility pop |
Note |
note_surrounding_namespace_ends_here |
surrounding namespace with visibility attribute ends here |
Error |
err_pragma_pop_visibility_mismatch |
#pragma visibility pop with no matching #pragma visibility push |
Note |
note_surrounding_namespace_starts_here |
surrounding namespace with visibility attribute starts here |
Error |
err_pragma_loop_invalid_argument_type |
invalid argument of type %0; expected an integer type |
Error |
err_pragma_loop_invalid_argument_value |
%select{invalid value '%0'; must be positive|value '%0' is too large}1 |
Error |
err_pragma_loop_compatibility |
%select{incompatible|duplicate}0 directives '%1' and '%2' |
Error |
err_pragma_loop_precedes_nonloop |
expected a for, while, or do-while loop to follow '%0' |
Error |
err_duplicate_class_def |
duplicate interface definition for class %0 |
Error |
err_undef_superclass |
cannot find interface declaration for %0, superclass of %1 |
Error |
err_forward_superclass |
attempting to use the forward class %0 as superclass of %1 |
Error |
err_no_nsconstant_string_class |
cannot find interface declaration for %0 |
Error |
err_recursive_superclass |
trying to recursively use %0 as superclass of %1 |
Error |
err_conflicting_aliasing_type |
conflicting types for alias %0 |
Warning |
warn_undef_interface |
cannot find interface declaration for %0 |
Warning |
warn_duplicate_protocol_def |
duplicate protocol definition of %0 is ignored |
Error |
err_protocol_has_circular_dependency |
protocol has circular dependency |
Error |
err_undeclared_protocol |
cannot find protocol declaration for %0 |
Warning |
warn_undef_protocolref |
cannot find protocol definition for %0 |
Warning |
warn_atprotocol_protocol |
@protocol is using a forward protocol declaration of %0 |
Warning |
warn_readonly_property |
[1]:attribute 'readonly' of property %0 restricts attribute [2]:'readwrite' of property inherited from %1 |
Warning |
warn_property_attribute |
'%1' attribute on property %0 does not match the property inherited from %2 |
Warning |
warn_property_types_are_incompatible |
property type %0 is incompatible with type %1 inherited from %2 |
Warning |
warn_protocol_property_mismatch |
property of type %0 was selected for synthesis |
Error |
err_undef_interface |
cannot find interface declaration for %0 |
Error |
err_category_forward_interface |
cannot define %select{category|class extension}0 for undefined class %1 |
Error |
err_class_extension_after_impl |
cannot declare class extension for %0 after class implementation |
Note |
note_implementation_declared |
class implementation is declared here |
Note |
note_while_in_implementation |
detected while default synthesizing properties in class implementation |
Note |
note_class_declared |
class is declared here |
Note |
note_receiver_class_declared |
receiver is instance of class declared here |
Note |
note_receiver_expr_here |
receiver expression is here |
Note |
note_receiver_is_id |
receiver is treated with 'id' type for purpose of method lookup |
Note |
note_suppressed_class_declare |
class with specified objc_requires_property_definitions attribute is declared here |
Error |
err_objc_root_class_subclass |
objc_root_class attribute may only be specified on a root class declaration |
Warning |
warn_objc_root_class_missing |
class %0 defined without specifying a base class |
Note |
note_objc_needs_superclass |
add a super class to fix this problem |
Warning |
warn_dup_category_def |
duplicate definition of category %1 on interface %0 |
Error |
err_conflicting_super_class |
conflicting super class name %0 |
Error |
err_dup_implementation_class |
reimplementation of class %0 |
Error |
err_dup_implementation_category |
reimplementation of category %1 for class %0 |
Error |
err_conflicting_ivar_type |
instance variable %0 has conflicting type%diff{: $ vs $|}1,2 |
Error |
err_duplicate_ivar_declaration |
instance variable is already declared |
Warning |
warn_on_superclass_use |
class implementation may not have super class |
Error |
err_conflicting_ivar_bitwidth |
instance variable %0 has conflicting bit-field width |
Error |
err_conflicting_ivar_name |
conflicting instance variable names: %0 vs %1 |
Error |
err_inconsistent_ivar_count |
inconsistent number of instance variables specified |
Warning |
warn_undef_method_impl |
method definition for %0 not found |
Warning |
warn_conflicting_overriding_ret_types |
[1]:conflicting return type in [2]:declaration of %0%diff{: $ vs $|}1,2 |
Warning |
warn_conflicting_ret_types |
[1]:conflicting return type in [2]:implementation of %0%diff{: $ vs $|}1,2 |
Warning |
warn_conflicting_overriding_ret_type_modifiers |
[1]:conflicting distributed object modifiers on return type [2]:in declaration of %0 |
Warning |
warn_conflicting_ret_type_modifiers |
[1]:conflicting distributed object modifiers on return type [2]:in implementation of %0 |
Warning |
warn_non_covariant_overriding_ret_types |
[1]:conflicting return type in [2]:declaration of %0: %1 vs %2 |
Warning |
warn_non_covariant_ret_types |
[1]:conflicting return type in [2]:implementation of %0: %1 vs %2 |
Warning |
warn_conflicting_overriding_param_types |
[1]:conflicting parameter types in [2]:declaration of %0%diff{: $ vs $|}1,2 |
Warning |
warn_conflicting_param_types |
[1]:conflicting parameter types in [2]:implementation of %0%diff{: $ vs $|}1,2 |
Warning |
warn_conflicting_param_modifiers |
[1]:conflicting distributed object modifiers on parameter type [2]:in implementation of %0 |
Warning |
warn_conflicting_overriding_param_modifiers |
[1]:conflicting distributed object modifiers on parameter type [2]:in declaration of %0 |
Warning |
warn_non_contravariant_overriding_param_types |
[1]:conflicting parameter types in [2]:declaration of %0: %1 vs %2 |
Warning |
warn_non_contravariant_param_types |
[1]:conflicting parameter types in [2]:implementation of %0: %1 vs %2 |
Warning |
warn_conflicting_overriding_variadic |
[1]:conflicting variadic declaration of method and its [2]:implementation |
Warning |
warn_conflicting_variadic |
[1]:conflicting variadic declaration of method and its [2]:implementation |
Warning |
warn_category_method_impl_match |
[1]:category is implementing a method which will also be implemented [2]: by its primary class |
Warning |
warn_implements_nscopying |
[1]:default assign attribute on property %0 which implements [2]:NSCopying protocol is not appropriate with -fobjc-gc[-only] |
Warning |
warn_multiple_method_decl |
multiple methods named %0 found |
Warning |
warn_strict_multiple_method_decl |
multiple methods named %0 found |
Warning |
warn_accessor_property_type_mismatch |
type of property %0 does not match type of accessor %1 |
Note |
not_conv_function_declared_at |
type conversion function declared here |
Note |
note_method_declared_at |
method %0 declared here |
Note |
note_property_attribute |
[1]:property %0 is declared [2]:%select{deprecated|unavailable|partial}1 here |
Error |
err_setter_type_void |
type of setter must be void |
Error |
err_duplicate_method_decl |
duplicate declaration of method %0 |
Warning |
warn_duplicate_method_decl |
multiple declarations of method %0 found and ignored |
Warning |
warn_objc_cdirective_format_string |
[1]:using %0 directive in %select{NSString|CFString}1 [2]:[1]:which is being passed as a formatting argument to the formatting [2]:%select{method|CFfunction}2 |
Error |
err_objc_var_decl_inclass |
cannot declare variable inside @interface or @protocol |
Error |
error_missing_method_context |
missing context for method declaration |
Error |
err_objc_property_attr_mutually_exclusive |
property attributes '%0' and '%1' are mutually exclusive |
Error |
err_objc_property_requires_object |
property with '%0' attribute must be of object type |
Warning |
warn_objc_property_no_assignment_attribute |
[1]:no 'assign', 'retain', or 'copy' attribute is specified - [2]:'assign' is assumed |
Warning |
warn_objc_isa_use |
[1]:direct access to Objective-C's isa is deprecated in favor of [2]:object_getClass() |
Warning |
warn_objc_isa_assign |
[1]:assignment to Objective-C's isa is deprecated in favor of [2]:object_setClass() |
Warning |
warn_objc_pointer_masking |
[1]:bitmasking for introspection of Objective-C object pointers is strongly [2]:discouraged |
Warning |
warn_objc_pointer_masking_performSelector |
warn_objc_pointer_masking.Text |
Warning |
warn_objc_property_default_assign_on_object |
default property attribute 'assign' not appropriate for non-GC object |
Warning |
warn_property_attr_mismatch |
property attribute in class extension does not match the primary class |
Warning |
warn_property_implicitly_mismatched |
[1]:primary property declaration is implicitly strong while redeclaration [2]:in class extension is weak |
Warning |
warn_objc_property_copy_missing_on_block |
[1]:'copy' attribute must be specified for the block property [2]:when -fobjc-gc-only is specified |
Warning |
warn_objc_property_retain_of_block |
[1]:retain'ed block property does not copy the block [2]:- use copy attribute instead |
Warning |
warn_objc_readonly_property_has_setter |
setter cannot be specified for a readonly property |
Warning |
warn_atomic_property_rule |
[1]:writable atomic property %0 cannot pair a synthesized %select{getter|setter}1 [2]:with a user defined %select{getter|setter}2 |
Note |
note_atomic_property_fixup_suggest |
[1]:setter and getter must both be [2]:synthesized, or both be user defined,or the property must be nonatomic |
Error |
err_atomic_property_nontrivial_assign_op |
[1]:atomic property of reference type %0 cannot have non-trivial assignment [2]: operator |
Warning |
warn_cocoa_naming_owned_rule |
[1]:property follows Cocoa naming [2]: convention for returning 'owned' objects |
Error |
err_cocoa_naming_owned_rule |
[1]:property follows Cocoa naming [2]: convention for returning 'owned' objects |
Note |
note_cocoa_naming_declare_family |
[1]:explicitly declare getter %objcinstance0 with '%1' to return an 'unowned' [2]:object |
Warning |
warn_auto_synthesizing_protocol_property |
[1]:auto property synthesis will not synthesize property %0 [2]: declared in protocol %1 |
Warning |
warn_no_autosynthesis_shared_ivar_property |
[1]:auto property synthesis will not synthesize property [2]:%0 because it cannot share an ivar with another synthesized property |
Warning |
warn_no_autosynthesis_property |
[1]:auto property synthesis will not synthesize property [2]:[1]:%0 because it is 'readwrite' but it will be synthesized 'readonly' [2]:via another property |
Warning |
warn_autosynthesis_property_in_superclass |
[1]:auto property synthesis will not synthesize property [2]:[1]:%0; it will be implemented by its superclass, use @dynamic to [2]:acknowledge intention |
Warning |
warn_autosynthesis_property_ivar_match |
[1]:autosynthesized property %0 will use %select{|synthesized}1 instance variable [2]:%2, not existing instance variable %3 |
Warning |
warn_missing_explicit_synthesis |
auto property synthesis is synthesizing property not explicitly synthesized |
Warning |
warn_property_getter_owning_mismatch |
[1]:property declared as returning non-retained objects [2]:; getter returning retained objects |
Warning |
warn_property_redecl_getter_mismatch |
[1]:getter name mismatch between property redeclaration (%1) and its original [2]:declaration (%0) |
Error |
error_property_setter_ambiguous_use |
[1]:synthesized properties %0 and %1 both claim setter %2 - [2]: use of this setter will cause unexpected behavior |
Warning |
warn_default_atomic_custom_getter_setter |
[1]:atomic by default property %0 has a user defined %select{getter|setter}1 [2]:(property should be marked 'atomic' if this is intended) |
Error |
err_use_continuation_class |
[1]:illegal redeclaration of property in class extension %0 [2]: (attribute must be 'readwrite', while its primary must be 'readonly') |
Error |
err_type_mismatch_continuation_class |
[1]:type of property %0 in class extension does not match [2]:property type in primary class |
Error |
err_use_continuation_class_redeclaration_readwrite |
[1]:illegal redeclaration of 'readwrite' property in class extension %0 [2]:[1]: (perhaps you intended this to be a 'readwrite' redeclaration of a [2]:'readonly' public property?) |
Error |
err_continuation_class |
class extension has no primary class |
Error |
err_property_type |
property cannot have array or function type %0 |
Error |
error_missing_property_context |
missing context for property implementation declaration |
Error |
error_bad_property_decl |
[1]:property implementation must have its declaration in interface %0 or one of [2]:its extensions |
Error |
error_category_property |
[1]:property declared in category %0 cannot be implemented in [2]:class implementation |
Note |
note_property_declare |
property declared here |
Note |
note_protocol_property_declare |
it could also be property of type %0 declared here |
Note |
note_property_synthesize |
property synthesized here |
Error |
error_synthesize_category_decl |
@synthesize not allowed in a category's implementation |
Error |
error_synthesize_on_class_property |
@synthesize not allowed on a class property %0 |
Error |
error_reference_property |
property of reference type is not supported |
Error |
error_missing_property_interface |
property implementation in a category with no category declaration |
Error |
error_bad_category_property_decl |
property implementation must have its declaration in the category %0 |
Error |
error_bad_property_context |
property implementation must be in a class or category implementation |
Error |
error_missing_property_ivar_decl |
[1]:synthesized property %0 must either be named the same as a compatible [2]: instance variable or must explicitly name an instance variable |
Error |
err_arc_perform_selector_retains |
performSelector names a selector which retains the object |
Warning |
warn_arc_perform_selector_leaks |
performSelector may cause a leak because its selector is unknown |
Warning |
warn_dealloc_in_category |
-dealloc is being overridden in a category |
Error |
err_gc_weak_property_strong_type |
weak attribute declared on a __strong type property in GC mode |
Warning |
warn_arc_repeated_use_of_weak |
[1]:weak %select{variable|property|implicit property|instance variable}0 %1 is [2]:[1]:accessed multiple times in this %select{function|method|block|lambda}2 [2]:[1]:but may be unpredictably set to nil; assign to a strong variable to keep [2]:the object alive |
Warning |
warn_implicitly_retains_self |
[1]:block implicitly retains 'self'; explicitly mention 'self' to indicate [2]:this is intended behavior |
Warning |
warn_arc_possible_repeated_use_of_weak |
[1]:weak %select{variable|property|implicit property|instance variable}0 %1 may [2]:[1]:be accessed multiple times in this %select{function|method|block|lambda}2 [2]:[1]:and may be unpredictably set to nil; assign to a strong variable to keep [2]:the object alive |
Note |
note_arc_weak_also_accessed_here |
also accessed here |
Error |
err_incomplete_synthesized_property |
cannot synthesize property %0 with incomplete type %1 |
Error |
error_property_ivar_type |
type of property %0 (%1) does not match type of instance variable %2 (%3) |
Error |
error_property_accessor_type |
type of property %0 (%1) does not match type of accessor %2 (%3) |
Error |
error_ivar_in_superclass_use |
property %0 attempting to use instance variable %1 declared in super class %2 |
Error |
error_weak_property |
existing instance variable %1 for __weak property %0 must be __weak |
Error |
error_strong_property |
existing instance variable %1 for strong property %0 may not be __weak |
Error |
error_dynamic_property_ivar_decl |
dynamic property cannot have instance variable specification |
Error |
error_duplicate_ivar_use |
synthesized properties %0 and %1 both claim instance variable %2 |
Error |
error_property_implemented |
property %0 is already implemented |
Warning |
warn_objc_missing_super_call |
method possibly missing a [super %0] call |
Error |
error_dealloc_bad_result_type |
[1]:dealloc return type must be correctly specified as 'void' under ARC, [2]:instead of %0 |
Warning |
warn_undeclared_selector |
undeclared selector %0 |
Warning |
warn_undeclared_selector_with_typo |
undeclared selector %0; did you mean %1? |
Warning |
warn_implicit_atomic_property |
property is assumed atomic by default |
Note |
note_auto_readonly_iboutlet_fixup_suggest |
property should be changed to be readwrite |
Warning |
warn_auto_readonly_iboutlet_property |
[1]:readonly IBOutlet property %0 when auto-synthesized may [2]:not work correctly with 'nib' loader |
Warning |
warn_auto_implicit_atomic_property |
property is assumed atomic when auto-synthesizing the property |
Warning |
warn_unimplemented_selector |
no method with selector %0 is implemented in this translation unit |
Warning |
warn_unimplemented_protocol_method |
method %0 in protocol %1 not implemented |
Warning |
warning_multiple_selectors |
[1]:several methods with selector %0 of mismatched types are found [2]:for the @selector expression |
Error |
err_objc_kindof_nonobject |
'__kindof' specifier cannot be applied to non-object type %0 |
Error |
err_objc_kindof_wrong_position |
'__kindof' type specifier must precede the declarator |
Error |
err_static_assert_expression_is_not_constant |
static_assert expression is not an integral constant expression |
Error |
err_static_assert_failed |
static_assert failed%select{ %1|}0 |
ExtWarn |
ext_static_assert_no_message |
static_assert with no message is a C++1z extension |
Warning |
warn_cxx14_compat_static_assert_no_message |
static_assert with no message is incompatible with C++ standards before C++1z |
Warning |
warn_inline_namespace_reopened_noninline |
inline namespace cannot be reopened as a non-inline namespace |
Error |
err_inline_namespace_mismatch |
[1]:%select{|non-}0inline namespace [2]:cannot be reopened as %select{non-|}0inline |
Error |
err_unexpected_friend |
friends can only be classes or functions |
ExtWarn |
ext_enum_friend |
befriending enumeration type %0 is a C++11 extension |
Warning |
warn_cxx98_compat_enum_friend |
befriending enumeration type %0 is incompatible with C++98 |
ExtWarn |
ext_nonclass_type_friend |
non-class friend type %0 is a C++11 extension |
Warning |
warn_cxx98_compat_nonclass_type_friend |
non-class friend type %0 is incompatible with C++98 |
Error |
err_friend_is_member |
friends cannot be members of the declaring class |
Warning |
warn_cxx98_compat_friend_is_member |
[1]:friend declaration naming a member of the declaring class is incompatible [2]:with C++98 |
ExtWarn |
ext_unelaborated_friend_type |
[1]:unelaborated friend declaration is a C++11 extension; specify [2]:'%select{struct|interface|union|class|enum}0' to befriend %1 |
Warning |
warn_cxx98_compat_unelaborated_friend_type |
[1]:befriending %1 without '%select{struct|interface|union|class|enum}0' [2]:keyword is incompatible with C++98 |
Error |
err_qualified_friend_not_found |
no function named %0 with type %1 was found in the specified scope |
Error |
err_introducing_special_friend |
[1]:must use a qualified name when declaring a %select{constructor| [2]:destructor|conversion operator}0 as a friend |
Error |
err_tagless_friend_type_template |
friend type templates must use an elaborated type |
Error |
err_no_matching_local_friend |
no matching function found in local scope |
Error |
err_no_matching_local_friend_suggest |
no matching function %0 found in local scope; did you mean %3? |
Error |
err_partial_specialization_friend |
partial specialization cannot be declared as a friend |
Error |
err_qualified_friend_def |
friend function definition cannot be qualified with '%0' |
Error |
err_friend_def_in_local_class |
friend function cannot be defined in a local class |
Error |
err_friend_not_first_in_declaration |
'friend' must appear first in a non-function declaration |
Error |
err_using_decl_friend |
cannot befriend target of using declaration |
Warning |
warn_template_qualified_friend_unsupported |
[1]:dependent nested name specifier '%0' for friend class declaration is [2]:not supported; turning off access control for %1 |
Warning |
warn_template_qualified_friend_ignored |
[1]:dependent nested name specifier '%0' for friend template declaration is [2]:not supported; ignoring this friend declaration |
ExtWarn |
ext_friend_tag_redecl_outside_namespace |
[1]:unqualified friend declaration referring to type outside of the nearest [2]:enclosing namespace is a Microsoft extension; add a nested name specifier |
Error |
err_pure_friend |
friend declaration cannot have a pure-specifier |
Error |
err_invalid_member_in_interface |
[1]:%select{data member |non-public member function |static member function | [2]:[1]:user-declared constructor|user-declared destructor|operator | [2]:nested class }0%1 is not permitted within an interface type |
Error |
err_invalid_base_in_interface |
[1]:interface type cannot inherit from [2]:%select{'struct|non-public 'interface|'class}0 %1' |
Error |
err_abstract_type_in_decl |
[1]:%select{return|parameter|variable|field|instance variable| [2]:synthesized instance variable}0 type %1 is an abstract class |
Error |
err_allocation_of_abstract_type |
allocating an object of abstract class type %0 |
Error |
err_throw_abstract_type |
cannot throw an object of abstract type %0 |
Error |
err_array_of_abstract_type |
array of abstract class type %0 |
Error |
err_capture_of_abstract_type |
by-copy capture of value of abstract type %0 |
Error |
err_capture_of_incomplete_type |
by-copy capture of variable %0 with incomplete type %1 |
Error |
err_capture_default_non_local |
non-local lambda expression cannot have a capture-default |
Error |
err_multiple_final_overriders |
virtual function %q0 has more than one final overrider in %1 |
Note |
note_final_overrider |
final overrider of %q0 in %1 |
Error |
err_type_defined_in_type_specifier |
%0 cannot be defined in a type specifier |
Error |
err_type_defined_in_result_type |
%0 cannot be defined in the result type of a function |
Error |
err_type_defined_in_param_type |
%0 cannot be defined in a parameter type |
Error |
err_type_defined_in_alias_template |
%0 cannot be defined in a type alias template |
Error |
err_type_defined_in_condition |
%0 cannot be defined in a condition |
Note |
note_pure_virtual_function |
unimplemented pure virtual method %0 in %1 |
Note |
note_pure_qualified_call_kext |
qualified call to %0::%1 is treated as a virtual call to %1 due to -fapple-kext |
Error |
err_deleted_decl_not_first |
deleted definition must be first declaration |
Error |
err_deleted_override |
deleted function %0 cannot override a non-deleted function |
Error |
err_non_deleted_override |
non-deleted function %0 cannot override a deleted function |
Warning |
warn_weak_vtable |
[1]:%0 has no out-of-line virtual method definitions; its vtable will be [2]:emitted in every translation unit |
Warning |
warn_weak_template_vtable |
[1]:explicit template instantiation %0 will emit a vtable in every [2]:translation unit |
ExtWarn |
ext_using_undefined_std |
using directive refers to implicitly-defined namespace 'std' |
Error |
err_exception_spec_in_typedef |
exception specifications are not allowed in %select{typedefs|type aliases}0 |
Error |
err_distant_exception_spec |
[1]:exception specifications are not allowed beyond a single level [2]:of indirection |
Error |
err_incomplete_in_exception_spec |
[1]:%select{|pointer to |reference to }0incomplete type %1 is not allowed [2]:in exception specification |
Error |
err_rref_in_exception_spec |
rvalue reference type %0 is not allowed in exception specification |
Error |
err_mismatched_exception_spec |
exception specification in declaration does not match previous declaration |
ExtWarn |
ext_mismatched_exception_spec |
err_mismatched_exception_spec.Text |
Error |
err_override_exception_spec |
[1]:exception specification of overriding function is more lax than [2]:base version |
ExtWarn |
ext_override_exception_spec |
err_override_exception_spec.Text |
Error |
err_incompatible_exception_specs |
target exception specification is not superset of source |
Error |
err_deep_exception_specs_differ |
exception specifications of %select{return|argument}0 types differ |
Error |
err_missing_exception_specification |
%0 is missing exception specification '%1' |
ExtWarn |
ext_missing_exception_specification |
err_missing_exception_specification.Text |
ExtWarn |
ext_ms_missing_exception_specification |
err_missing_exception_specification.Text |
Error |
err_noexcept_needs_constant_expression |
argument to noexcept specifier must be a constant expression |
Error |
err_exception_spec_not_parsed |
exception specification is not available until end of class definition |
Error |
err_class_redeclared_with_different_access |
%0 redeclared with '%1' access |
Error |
err_access |
%1 is a %select{private|protected}0 member of %3 |
ExtWarn |
ext_ms_using_declaration_inaccessible |
[1]:using declaration referring to inaccessible member '%0' (which refers [2]:to accessible member '%1') is a Microsoft compatibility extension |
Error |
err_access_ctor |
calling a %select{private|protected}0 constructor of class %2 |
Extension |
ext_rvalue_to_reference_access_ctor |
[1]:C++98 requires an accessible copy constructor for class %2 when binding [2]:a reference to a temporary; was %select{private|protected}0 |
Error |
err_access_base_ctor |
[1]:%select{base class|inherited virtual base class}0 %1 has %select{private| [2]:[1]:protected}3 %select{default |copy |move |*ERROR* |*ERROR* [2]:|*ERROR*|}2constructor |
Error |
err_access_field_ctor |
[1]:field of type %0 has %select{private|protected}2 [2]:%select{default |copy |move |*ERROR* |*ERROR* |*ERROR* |}1constructor |
Error |
err_access_friend_function |
friend function %1 is a %select{private|protected}0 member of %3 |
Error |
err_access_dtor |
calling a %select{private|protected}1 destructor of class %0 |
Error |
err_access_dtor_base |
base class %0 has %select{private|protected}1 destructor |
Error |
err_access_dtor_vbase |
[1]:inherited virtual base class %1 has [2]:%select{private|protected}2 destructor |
Error |
err_access_dtor_temp |
temporary of type %0 has %select{private|protected}1 destructor |
Error |
err_access_dtor_exception |
[1]:exception object of type %0 has %select{private|protected}1 [2]:destructor |
Error |
err_access_dtor_field |
field of type %1 has %select{private|protected}2 destructor |
Error |
err_access_dtor_var |
variable of type %1 has %select{private|protected}2 destructor |
Error |
err_access_dtor_ivar |
[1]:instance variable of type %0 has %select{private|protected}1 [2]:destructor |
Note |
note_previous_access_declaration |
previously declared '%1' here |
Note |
note_access_natural |
%select{|implicitly }1declared %select{private|protected}0 here |
Note |
note_access_constrained_by_path |
[1]:constrained by %select{|implicitly }1%select{private|protected}0 [2]: inheritance here |
Note |
note_access_protected_restricted_noobject |
must name member using the type of the current context %0 |
Note |
note_access_protected_restricted_ctordtor |
[1]:protected %select{constructor|destructor}0 can only be used to [2]:%select{construct|destroy}0 a base class subobject |
Note |
note_access_protected_restricted_object |
can only access this member on an object of type %0 |
Warning |
warn_cxx98_compat_sfinae_access_control |
substitution failure due to access control is incompatible with C++98 |
Error |
err_incomplete_nested_name_spec |
incomplete type %0 named in nested name specifier |
Error |
err_dependent_nested_name_spec |
[1]:nested name specifier for a declaration cannot depend on a template [2]:parameter |
Error |
err_nested_name_member_ref_lookup_ambiguous |
lookup of %0 in member access expression is ambiguous |
ExtWarn |
ext_nested_name_member_ref_lookup_ambiguous |
lookup of %0 in member access expression is ambiguous; using member of %1 |
Note |
note_ambig_member_ref_object_type |
lookup in the object type %0 refers here |
Note |
note_ambig_member_ref_scope |
lookup from the current scope refers here |
Error |
err_qualified_member_nonclass |
qualified member access refers to a member in %0 |
Error |
err_incomplete_member_access |
member access into incomplete type %0 |
Error |
err_incomplete_type |
incomplete type %0 where a complete type is required |
Warning |
warn_cxx98_compat_enum_nested_name_spec |
enumeration type in nested name specifier is incompatible with C++98 |
Error |
err_nested_name_spec_is_not_class |
[1]:%0 cannot appear before '::' because it is not a class [2]:%select{ or namespace|, namespace, or enumeration}1; did you mean ':'? |
ExtWarn |
ext_nested_name_spec_is_enum |
use of enumeration in a nested name specifier is a C++11 extension |
Error |
err_storageclass_invalid_for_member |
storage class specified for a member declaration |
Error |
err_mutable_function |
'mutable' cannot be applied to functions |
Error |
err_mutable_reference |
'mutable' cannot be applied to references |
ExtWarn |
ext_mutable_reference |
'mutable' on a reference type is a Microsoft extension |
Error |
err_mutable_const |
'mutable' and 'const' cannot be mixed |
Error |
err_mutable_nonmember |
'mutable' can only be applied to member variables |
Error |
err_virtual_in_union |
unions cannot have virtual functions |
Error |
err_virtual_non_function |
'virtual' can only appear on non-static member functions |
Error |
err_virtual_out_of_class |
'virtual' can only be specified inside the class definition |
Error |
err_virtual_member_function_template |
'virtual' cannot be specified on member function templates |
Error |
err_static_overrides_virtual |
'static' member function %0 overrides a virtual function in a base class |
Error |
err_explicit_non_function |
'explicit' can only appear on non-static member functions |
Error |
err_explicit_out_of_class |
'explicit' can only be specified inside the class definition |
Error |
err_explicit_non_ctor_or_conv_function |
'explicit' can only be applied to a constructor or conversion function |
Error |
err_static_not_bitfield |
static member %0 cannot be a bit-field |
Error |
err_static_out_of_line |
'static' can only be specified inside the class definition |
Error |
err_storage_class_for_static_member |
static data member definition cannot specify a storage class |
Error |
err_typedef_not_bitfield |
typedef member %0 cannot be a bit-field |
Error |
err_not_integral_type_bitfield |
bit-field %0 has non-integral type %1 |
Error |
err_not_integral_type_anon_bitfield |
anonymous bit-field has non-integral type %0 |
Error |
err_member_function_initialization |
initializer on function does not look like a pure-specifier |
Error |
err_non_virtual_pure |
%0 is not virtual and cannot be declared pure |
ExtWarn |
ext_pure_function_definition |
function definition with pure-specifier is a Microsoft extension |
Error |
err_implicit_object_parameter_init |
[1]:cannot initialize object parameter of type %0 with an expression [2]:of type %1 |
Error |
err_qualified_member_of_unrelated |
%q0 is not a member of class %1 |
Warning |
warn_call_to_pure_virtual_member_function_from_ctor_dtor |
[1]:call to pure virtual member function %0 has undefined behavior; [2]:[1]:overrides of %0 in subclasses are not available in the [2]:%select{constructor|destructor}1 of %2 |
Note |
note_member_declared_at |
member is declared here |
Note |
note_ivar_decl |
instance variable is declared here |
Note |
note_bitfield_decl |
bit-field is declared here |
Note |
note_implicit_param_decl |
%0 is an implicit parameter |
Note |
note_member_synthesized_at |
[1]:implicit %select{default constructor|copy constructor|move constructor|copy [2]:[1]:assignment operator|move assignment operator|destructor}0 for %1 first [2]:required here |
Note |
note_inhctor_synthesized_at |
inheriting constructor for %0 first required here |
Error |
err_missing_default_ctor |
[1]:%select{|implicit default |inheriting }0constructor for %1 must explicitly [2]:[1]:initialize the %select{base class|member}2 %3 which does not have a default [2]:constructor |
Note |
note_due_to_dllexported_class |
due to '%0' being dllexported%select{|; try compiling in C++11 mode}1 |
Error |
err_illegal_union_or_anon_struct_member |
[1]:%select{anonymous struct|union}0 member %1 has a non-trivial [2]:[1]:%select{constructor|copy constructor|move constructor|copy assignment [2]:operator|move assignment operator|destructor}2 |
Warning |
warn_cxx98_compat_nontrivial_union_or_anon_struct_member |
[1]:%select{anonymous struct|union}0 member %1 with a non-trivial [2]:[1]:%select{constructor|copy constructor|move constructor|copy assignment [2]:operator|move assignment operator|destructor}2 is incompatible with C++98 |
Note |
note_nontrivial_virtual_dtor |
destructor for %0 is not trivial because it is virtual |
Note |
note_nontrivial_has_virtual |
because type %0 has a virtual %select{member function|base class}1 |
Note |
note_nontrivial_no_def_ctor |
[1]:because %select{base class of |field of |}0type %1 has no [2]:default constructor |
Note |
note_user_declared_ctor |
implicit default constructor suppressed by user-declared constructor |
Note |
note_nontrivial_no_copy |
[1]:because no %select{<>|constructor|constructor|assignment operator| [2]:[1]:assignment operator|<>}2 can be used to [2]:[1]:%select{<>|copy|move|copy|move|<>}2 [2]:%select{base class|field|an object}0 of type %3 |
Note |
note_nontrivial_user_provided |
[1]:because %select{base class of |field of |}0type %1 has a user-provided [2]:[1]:%select{default constructor|copy constructor|move constructor| [2]:copy assignment operator|move assignment operator|destructor}2 |
Note |
note_nontrivial_in_class_init |
because field %0 has an initializer |
Note |
note_nontrivial_param_type |
because its parameter is %diff{of type $, not $|of the wrong type}2,3 |
Note |
note_nontrivial_default_arg |
because it has a default argument |
Note |
note_nontrivial_variadic |
because it is a variadic function |
Note |
note_nontrivial_subobject |
[1]:because the function selected to %select{construct|copy|move|copy|move| [2]:destroy}2 %select{base class|field}0 of type %1 is not trivial |
Note |
note_nontrivial_objc_ownership |
[1]:because type %0 has a member with %select{no|no|__strong|__weak| [2]:__autoreleasing}1 ownership |
Error |
err_static_data_member_not_allowed_in_anon_struct |
static data member %0 not allowed in anonymous struct |
ExtWarn |
ext_static_data_member_in_union |
static data member %0 in union is a C++11 extension |
Warning |
warn_cxx98_compat_static_data_member_in_union |
static data member %0 in union is incompatible with C++98 |
ExtWarn |
ext_union_member_of_reference_type |
union member %0 has reference type %1, which is a Microsoft extension |
Error |
err_union_member_of_reference_type |
union member %0 has reference type %1 |
Extension |
ext_anonymous_struct_union_qualified |
anonymous %select{struct|union}0 cannot be '%1' |
Error |
err_different_return_type_for_overriding_virtual_function |
[1]:virtual function %0 has a different return type [2]:[1]:%diff{($) than the function it overrides (which has return type $)| [2]:than the function it overrides}1,2 |
Note |
note_overridden_virtual_function |
overridden virtual function is here |
Error |
err_conflicting_overriding_cc_attributes |
[1]:virtual function %0 has different calling convention attributes [2]:[1]:%diff{($) than the function it overrides (which has calling convention $)| [2]:than the function it overrides}1,2 |
Error |
err_covariant_return_inaccessible_base |
[1]:invalid covariant return for virtual function: %1 is a [2]:%select{private|protected}2 base class of %0 |
Error |
err_covariant_return_ambiguous_derived_to_base_conv |
[1]:return type of virtual function %3 is not covariant with the return type of [2]:[1]:the function it overrides (ambiguous conversion from derived class [2]:%0 to base class %1:%2) |
Error |
err_covariant_return_not_derived |
[1]:return type of virtual function %0 is not covariant with the return type of [2]:the function it overrides (%1 is not derived from %2) |
Error |
err_covariant_return_incomplete |
[1]:return type of virtual function %0 is not covariant with the return type of [2]:the function it overrides (%1 is incomplete) |
Error |
err_covariant_return_type_different_qualifications |
[1]:return type of virtual function %0 is not covariant with the return type of [2]:the function it overrides (%1 has different qualifiers than %2) |
Error |
err_covariant_return_type_class_type_more_qualified |
[1]:return type of virtual function %0 is not covariant with the return type of [2]:[1]:the function it overrides (class type %1 is more qualified than class [2]:type %2 |
Error |
err_constructor_cannot_be |
constructor cannot be declared '%0' |
Error |
err_invalid_qualified_constructor |
'%0' qualifier is not allowed on a constructor |
Error |
err_ref_qualifier_constructor |
ref-qualifier '%select{&&|&}0' is not allowed on a constructor |
Error |
err_constructor_return_type |
constructor cannot have a return type |
Error |
err_constructor_redeclared |
constructor cannot be redeclared |
Error |
err_constructor_byvalue_arg |
copy constructor must pass its first argument by reference |
Warning |
warn_no_constructor_for_refconst |
[1]:%select{struct|interface|union|class|enum}0 %1 does not declare any [2]:constructor to initialize its non-modifiable members |
Note |
note_refconst_member_not_initialized |
%select{const|reference}0 member %1 will never be initialized |
ExtWarn |
ext_ms_explicit_constructor_call |
explicit constructor calls are a Microsoft extension |
Error |
err_destructor_not_member |
destructor must be a non-static member function |
Error |
err_destructor_cannot_be |
destructor cannot be declared '%0' |
Error |
err_invalid_qualified_destructor |
'%0' qualifier is not allowed on a destructor |
Error |
err_ref_qualifier_destructor |
ref-qualifier '%select{&&|&}0' is not allowed on a destructor |
Error |
err_destructor_return_type |
destructor cannot have a return type |
Error |
err_destructor_redeclared |
destructor cannot be redeclared |
Error |
err_destructor_with_params |
destructor cannot have any parameters |
Error |
err_destructor_variadic |
destructor cannot be variadic |
Error |
err_destructor_typedef_name |
destructor cannot be declared using a %select{typedef|type alias}1 %0 of the class name |
Error |
err_destructor_name |
expected the class name after '~' to name the enclosing class |
Error |
err_destructor_class_name |
expected the class name after '~' to name a destructor |
Error |
err_ident_in_dtor_not_a_type |
identifier %0 in object destruction expression does not name a type |
Error |
err_destructor_expr_type_mismatch |
[1]:destructor type %0 in object destruction expression does not match the [2]:type %1 of the object being destroyed |
Note |
note_destructor_type_here |
type %0 is declared here |
Error |
err_destructor_template |
destructor cannot be declared as a template |
Error |
err_init_conversion_failed |
[1]:cannot initialize %select{a variable|a parameter|return object|an [2]:[1]:exception object|a member subobject|an array element|a new value|a value|a [2]:[1]:base class|a constructor delegation|a vector element|a block element|a [2]:[1]:complex element|a lambda capture|a compound literal initializer|a [2]:[1]:related result|a parameter of CF audited function}0 [2]:[1]:%diff{of type $ with an %select{rvalue|lvalue}2 of type $| [2]:[1]:with an %select{rvalue|lvalue}2 of incompatible type}1,3 [2]:[1]:%select{|: different classes%diff{ ($ vs $)|}5,6 [2]:[1]:|: different number of parameters (%5 vs %6) [2]:[1]:|: type mismatch at %ordinal5 parameter%diff{ ($ vs $)|}6,7 [2]:[1]:|: different return type%diff{ ($ vs $)|}5,6 [2]:[1]:|: different qualifiers ( [2]:[1]:%select{none|const|restrict|const and restrict|volatile|const and volatile| [2]:[1]:volatile and restrict|const, volatile, and restrict}5 vs [2]:[1]:%select{none|const|restrict|const and restrict|volatile|const and volatile| [2]:volatile and restrict|const, volatile, and restrict}6)}4 |
Error |
err_lvalue_to_rvalue_ref |
[1]:rvalue reference %diff{to type $ cannot [2]:bind to lvalue of type $|cannot bind to incompatible lvalue}0,1 |
Error |
err_lvalue_reference_bind_to_initlist |
[1]:%select{non-const|volatile}0 lvalue reference to type %1 cannot bind to an [2]:initializer list temporary |
Error |
err_lvalue_reference_bind_to_temporary |
[1]:%select{non-const|volatile}0 lvalue reference %diff{to type $ cannot bind [2]:to a temporary of type $|cannot bind to incompatible temporary}1,2 |
Error |
err_lvalue_reference_bind_to_unrelated |
[1]:%select{non-const|volatile}0 lvalue reference [2]:[1]:%diff{to type $ cannot bind to a value of unrelated type $| [2]:cannot bind to a value of unrelated type}1,2 |
Error |
err_reference_bind_drops_quals |
[1]:binding value %diff{of type $ to reference to type $|to reference}0,1 [2]:[1]:drops %select{<>|'const'|'restrict'|'const' and 'restrict'| [2]:[1]:'volatile'|'const' and 'volatile'|'restrict' and 'volatile'| [2]:'const', 'restrict', and 'volatile'}2 qualifier%plural{1:|2:|4:|:s}2 |
Error |
err_reference_bind_failed |
[1]:reference %diff{to type $ could not bind to an %select{rvalue|lvalue}1 of [2]:type $|could not bind to %select{rvalue|lvalue}1 of incompatible type}0,2 |
Error |
err_reference_bind_init_list |
reference to type %0 cannot bind to an initializer list |
Warning |
warn_temporary_array_to_pointer_decay |
[1]:pointer is initialized by a temporary array, which will be destroyed at the [2]:end of the full-expression |
Error |
err_init_list_bad_dest_type |
[1]:%select{|non-aggregate }0type %1 cannot be initialized with an initializer [2]:list |
Error |
err_member_function_call_bad_cvr |
[1]:member function %0 not viable: [2]:[1]:'this' argument has type %1, but function is not marked [2]:[1]:%select{const|restrict|const or restrict|volatile|const or volatile| [2]:volatile or restrict|const, volatile, or restrict}2 |
Error |
err_reference_bind_to_bitfield |
[1]:%select{non-const|volatile}0 reference cannot bind to [2]:bit-field%select{| %1}2 |
Error |
err_reference_bind_to_vector_element |
%select{non-const|volatile}0 reference cannot bind to vector element |
Error |
err_reference_var_requires_init |
declaration of reference variable %0 requires an initializer |
Error |
err_reference_without_init |
reference to type %0 requires an initializer |
Note |
note_value_initialization_here |
in value-initialization of type %0 here |
Error |
err_reference_has_multiple_inits |
reference cannot be initialized with multiple values |
Error |
err_init_non_aggr_init_list |
initialization of non-aggregate type %0 with an initializer list |
Error |
err_init_reference_member_uninitialized |
reference member of type %0 uninitialized |
Note |
note_uninit_reference_member |
uninitialized reference member is here |
Warning |
warn_field_is_uninit |
field %0 is uninitialized when used here |
Warning |
warn_base_class_is_uninit |
base class %0 is uninitialized when used here to access %q1 |
Warning |
warn_reference_field_is_uninit |
reference %0 is not yet bound to a value when used here |
Note |
note_uninit_in_this_constructor |
[1]:during field initialization in %select{this|the implicit default}0 [2]:constructor |
Warning |
warn_static_self_reference_in_init |
static variable %0 is suspiciously used within its own initialization |
Warning |
warn_uninit_self_reference_in_init |
variable %0 is uninitialized when used within its own initialization |
Warning |
warn_uninit_self_reference_in_reference_init |
[1]:reference %0 is not yet bound to a value when used within its own [2]: initialization |
Warning |
warn_uninit_var |
variable %0 is uninitialized when %select{used here|captured by block}1 |
Warning |
warn_sometimes_uninit_var |
[1]:variable %0 is %select{used|captured}1 uninitialized whenever [2]:[1]:%select{'%3' condition is %select{true|false}4| [2]:[1]:'%3' loop %select{is entered|exits because its condition is false}4| [2]:[1]:'%3' loop %select{condition is true|exits because its condition is false}4| [2]:[1]:switch %3 is taken| [2]:[1]:its declaration is reached| [2]:%3 is called}2 |
Warning |
warn_maybe_uninit_var |
[1]:variable %0 may be uninitialized when [2]:%select{used here|captured by block}1 |
Note |
note_uninit_var_def |
variable %0 is declared here |
Note |
note_uninit_var_use |
%select{uninitialized use occurs|variable is captured by block}0 here |
Warning |
warn_uninit_byref_blockvar_captured_by_block |
block pointer variable %0 is uninitialized when captured by block |
Note |
note_block_var_fixit_add_initialization |
did you mean to use __block %0? |
Note |
note_in_omitted_aggregate_initializer |
[1]:in implicit initialization of %select{array element %1|field %1}0 [2]:with omitted initializer |
Note |
note_in_reference_temporary_list_initializer |
[1]:in initialization of temporary of type %0 created to [2]:list-initialize this reference |
Note |
note_var_fixit_add_initialization |
initialize the variable %0 to silence this warning |
Note |
note_uninit_fixit_remove_cond |
[1]:remove the %select{'%1' if its condition|condition if it}0 [2]:is always %select{false|true}2 |
Error |
err_init_incomplete_type |
initialization of incomplete type %0 |
Warning |
warn_unsequenced_mod_mod |
multiple unsequenced modifications to %0 |
Warning |
warn_unsequenced_mod_use |
unsequenced modification and access to %0 |
Error |
err_temp_copy_no_viable |
[1]:no viable constructor %select{copying variable|copying parameter| [2]:[1]:returning object|throwing object|copying member subobject|copying array [2]:[1]:element|allocating object|copying temporary|initializing base subobject| [2]:initializing vector element|capturing value}0 of type %1 |
Extension |
ext_rvalue_to_reference_temp_copy_no_viable |
[1]:no viable constructor %select{copying variable|copying parameter| [2]:[1]:returning object|throwing object|copying member subobject|copying array [2]:[1]:element|allocating object|copying temporary|initializing base subobject| [2]:[1]:initializing vector element|capturing value}0 of type %1; C++98 requires a copy [2]:constructor when binding a reference to a temporary |
Error |
err_temp_copy_ambiguous |
[1]:ambiguous constructor call when %select{copying variable|copying [2]:[1]:parameter|returning object|throwing object|copying member subobject|copying [2]:[1]:array element|allocating object|copying temporary|initializing base subobject| [2]:initializing vector element|capturing value}0 of type %1 |
Error |
err_temp_copy_deleted |
[1]:%select{copying variable|copying parameter|returning object|throwing [2]:[1]:object|copying member subobject|copying array element|allocating object| [2]:[1]:copying temporary|initializing base subobject|initializing vector element| [2]:capturing value}0 of type %1 invokes deleted constructor |
Error |
err_temp_copy_incomplete |
copying a temporary object of incomplete type %0 |
Warning |
warn_cxx98_compat_temp_copy |
[1]:%select{copying variable|copying parameter|returning object|throwing [2]:[1]:object|copying member subobject|copying array element|allocating object| [2]:[1]:copying temporary|initializing base subobject|initializing vector element}1 [2]:[1]:of type %2 when binding a reference to a temporary would %select{invoke [2]:[1]:an inaccessible constructor|find no viable constructor|find ambiguous [2]:constructors|invoke a deleted constructor}0 in C++98 |
Error |
err_selected_explicit_constructor |
chosen constructor is explicit in copy-initialization |
Note |
note_constructor_declared_here |
constructor declared here |
Error |
err_decltype_in_declarator |
'decltype' cannot be used to name a declaration |
Warning |
warn_cxx98_compat_auto_type_specifier |
'auto' type specifier is incompatible with C++98 |
Error |
err_auto_variable_cannot_appear_in_own_initializer |
[1]:variable %0 declared with %select{'auto'|'decltype(auto)'|'__auto_type'}1 [2]:type cannot appear in its own initializer |
Error |
err_illegal_decl_array_of_auto |
'%0' declared as array of %1 |
Error |
err_new_array_of_auto |
cannot allocate array of 'auto' |
Error |
err_auto_not_allowed |
[1]:%select{'auto'|'decltype(auto)'|'__auto_type'}0 not allowed [2]:[1]:%select{in function prototype [2]:[1]:|in non-static struct member|in struct member [2]:[1]:|in non-static union member|in union member [2]:[1]:|in non-static class member|in interface member [2]:[1]:|in exception declaration|in template parameter|in block literal [2]:[1]:|in template argument|in typedef|in type alias|in function return type [2]:[1]:|in conversion function type|here|in lambda parameter [2]:|in type allocated by 'new'|in K&R-style function parameter}1 |
Error |
err_auto_not_allowed_var_inst |
'auto' variable template instantiation is not allowed |
Error |
err_auto_var_requires_init |
declaration of variable %0 with type %1 requires an initializer |
Error |
err_auto_new_requires_ctor_arg |
new expression for type %0 requires a constructor argument |
Error |
err_auto_new_list_init |
new expression for type %0 cannot use list-initialization |
Error |
err_auto_var_init_no_expression |
initializer for variable %0 with type %1 is empty |
Error |
err_auto_var_init_multiple_expressions |
initializer for variable %0 with type %1 contains multiple expressions |
Error |
err_auto_var_init_paren_braces |
[1]:cannot deduce type for variable %1 with type %2 from [2]:%select{parenthesized|nested}0 initializer list |
Error |
err_auto_new_ctor_multiple_expressions |
new expression for type %0 contains multiple constructor arguments |
Error |
err_auto_missing_trailing_return |
[1]:'auto' return without trailing return type; deduced return types are a [2]:C++14 extension |
Error |
err_deduced_return_type |
deduced return types are a C++14 extension |
Error |
err_trailing_return_without_auto |
function with trailing return type must specify return type 'auto', not %0 |
Error |
err_trailing_return_in_parens |
trailing return type may not be nested within parentheses |
Error |
err_auto_var_deduction_failure |
variable %0 with type %1 has incompatible initializer of type %2 |
Error |
err_auto_var_deduction_failure_from_init_list |
cannot deduce actual type for variable %0 with type %1 from initializer list |
Error |
err_auto_new_deduction_failure |
new expression for type %0 has incompatible constructor argument of type %1 |
Error |
err_auto_different_deductions |
[1]:'%select{auto|decltype(auto)|__auto_type}0' deduced as %1 in declaration [2]:of %2 and deduced as %3 in declaration of %4 |
Error |
err_implied_std_initializer_list_not_found |
[1]:cannot deduce type of initializer list because std::initializer_list was [2]:not found; include |
Error |
err_malformed_std_initializer_list |
std::initializer_list must be a class template with a single type parameter |
Warning |
warn_dangling_std_initializer_list |
[1]:array backing the initializer list will be destroyed at the end of [2]:%select{the full-expression|the constructor}0 |
Error |
err_auto_init_list_from_c |
cannot use __auto_type with initializer list in C |
Error |
err_auto_bitfield |
cannot pass bit-field as __auto_type initializer in C |
Error |
err_decltype_auto_cannot_be_combined |
'decltype(auto)' cannot be combined with other type specifiers |
Error |
err_decltype_auto_function_declarator_not_declaration |
[1]:'decltype(auto)' can only be used as a return type [2]:in a function declaration |
Error |
err_decltype_auto_compound_type |
cannot form %select{pointer to|reference to|array of}0 'decltype(auto)' |
Error |
err_decltype_auto_initializer_list |
cannot deduce 'decltype(auto)' from initializer list |
Error |
err_auto_fn_deduction_failure |
cannot deduce return type %0 from returned value of type %1 |
Error |
err_auto_fn_different_deductions |
[1]:'%select{auto|decltype(auto)}0' in return type deduced as %1 here but [2]:deduced as %2 in earlier return statement |
Error |
err_auto_fn_used_before_defined |
function %0 with deduced return type cannot be used before it is defined |
Error |
err_auto_fn_no_return_but_not_auto |
cannot deduce return type %0 for function with no return statements |
Error |
err_auto_fn_return_void_but_not_auto |
cannot deduce return type %0 from omitted return expression |
Error |
err_auto_fn_return_init_list |
cannot deduce return type from initializer list |
Error |
err_auto_fn_virtual |
function with deduced return type cannot be virtual |
Error |
override_keyword_only_allowed_on_virtual_member_functions |
only virtual member functions can be marked '%0' |
Error |
override_keyword_hides_virtual_member_function |
[1]:non-virtual member function marked '%0' hides virtual member [2]:%select{function|functions}1 |
Error |
err_function_marked_override_not_overriding |
%0 marked 'override' but does not override any member functions |
Warning |
warn_function_marked_not_override_overriding |
%0 overrides a member function but is not marked 'override' |
Error |
err_class_marked_final_used_as_base |
base %0 is marked '%select{final|sealed}1' |
Warning |
warn_abstract_final_class |
abstract class is marked '%select{final|sealed}0' |
Error |
err_repeat_attribute |
%0 attribute cannot be repeated |
Error |
err_final_function_overridden |
declaration of %0 overrides a '%select{final|sealed}1' function |
Error |
err_enum_invalid_underlying |
non-integral type %0 is an invalid underlying type |
Error |
err_enumerator_too_large |
enumerator value is not representable in the underlying type %0 |
ExtWarn |
ext_enumerator_too_large |
enumerator value is not representable in the underlying type %0 |
Error |
err_enumerator_wrapped |
enumerator value %0 is not representable in the underlying type %1 |
Error |
err_enum_redeclare_type_mismatch |
enumeration redeclared with different underlying type %0 (was %1) |
Error |
err_enum_redeclare_fixed_mismatch |
enumeration previously declared with %select{non|}0fixed underlying type |
Error |
err_enum_redeclare_scoped_mismatch |
enumeration previously declared as %select{un|}0scoped |
Error |
err_enum_class_reference |
[1]:reference to %select{|scoped }0enumeration must use 'enum' [2]:not 'enum class' |
Error |
err_only_enums_have_underlying_types |
only enumeration types have underlying types |
Error |
err_underlying_type_of_incomplete_enum |
cannot determine underlying type of incomplete enumeration type %0 |
Error |
err_delegating_ctor |
delegating constructors are permitted only in C++11 |
Warning |
warn_cxx98_compat_delegating_ctor |
delegating constructors are incompatible with C++98 |
Error |
err_delegating_initializer_alone |
an initializer for a delegating constructor must appear alone |
Warning |
warn_delegating_ctor_cycle |
constructor for %0 creates a delegation cycle |
Note |
note_it_delegates_to |
it delegates to |
Note |
note_which_delegates_to |
which delegates to |
Error |
err_for_range_decl_must_be_var |
for range declaration must declare a variable |
Error |
err_for_range_storage_class |
[1]:loop variable %0 may not be declared %select{'extern'|'static'| [2]:'__private_extern__'|'auto'|'register'|'constexpr'}1 |
Error |
err_type_defined_in_for_range |
types may not be defined in a for range declaration |
Error |
err_for_range_deduction_failure |
cannot use type %0 as a range |
Error |
err_for_range_incomplete_type |
cannot use incomplete type %0 as a range |
Error |
err_for_range_iter_deduction_failure |
cannot use type %0 as an iterator |
Error |
err_for_range_member_begin_end_mismatch |
range type %0 has '%select{begin|end}1' member but no '%select{end|begin}1' member |
Error |
err_for_range_begin_end_types_differ |
'begin' and 'end' must return the same type (got %0 and %1) |
Note |
note_in_for_range |
[1]:when looking up '%select{begin|end}0' function for range expression [2]:of type %1 |
Error |
err_for_range_invalid |
[1]:invalid range expression of type %0; no viable '%select{begin|end}1' [2]:function available |
Error |
err_range_on_array_parameter |
[1]:cannot build range expression with array function parameter %0 since [2]:parameter with array type %1 is treated as pointer type %2 |
Error |
err_for_range_dereference |
[1]:invalid range expression of type %0; did you mean to dereference it [2]:with '*'? |
Note |
note_for_range_invalid_iterator |
in implicit call to 'operator%select{!=|*|++}0' for iterator of type %1 |
Note |
note_for_range_begin_end |
selected '%select{begin|end}0' %select{function|template }1%2 with iterator type %3 |
Warning |
warn_cxx98_compat_constexpr |
'constexpr' specifier is incompatible with C++98 |
Warning |
warn_cxx14_compat_constexpr_not_const |
[1]:'constexpr' non-static member function will not be implicitly 'const' [2]:in C++14; add 'const' to avoid a change in behavior |
Error |
err_invalid_constexpr |
[1]:%select{function parameter|typedef|non-static data member}0 [2]:cannot be constexpr |
Error |
err_invalid_constexpr_member |
[1]:non-static data member cannot be [2]:constexpr%select{; did you intend to make it %select{const|static}0?|}1 |
Error |
err_constexpr_tag |
%select{class|struct|interface|union|enum}0 cannot be marked constexpr |
Error |
err_constexpr_dtor |
destructor cannot be marked constexpr |
Error |
err_constexpr_no_declarators |
constexpr can only be used in variable and function declarations |
Error |
err_invalid_constexpr_var_decl |
constexpr variable declaration must be a definition |
Error |
err_constexpr_static_mem_var_requires_init |
declaration of constexpr static data member %0 requires an initializer |
Error |
err_constexpr_var_non_literal |
constexpr variable cannot have non-literal type %0 |
Error |
err_constexpr_var_requires_const_init |
constexpr variable %0 must be initialized by a constant expression |
Error |
err_constexpr_redecl_mismatch |
[1]:%select{non-constexpr declaration of %0 follows constexpr declaration [2]:|constexpr declaration of %0 follows non-constexpr declaration}1 |
Error |
err_constexpr_virtual |
virtual function cannot be constexpr |
Error |
err_constexpr_virtual_base |
[1]:constexpr %select{member function|constructor}0 not allowed in [2]:[1]:%select{struct|interface|class}1 with virtual base [2]:%plural{1:class|:classes}2 |
Note |
note_non_literal_incomplete |
incomplete type %0 is not a literal type |
Note |
note_non_literal_virtual_base |
[1]:%select{struct|interface|class}0 [2]:with virtual base %plural{1:class|:classes}1 is not a literal type |
Note |
note_constexpr_virtual_base_here |
virtual base class declared here |
Error |
err_constexpr_non_literal_return |
constexpr function's return type %0 is not a literal type |
Error |
err_constexpr_non_literal_param |
[1]:constexpr %select{function|constructor}1's %ordinal0 parameter type %2 is [2]:not a literal type |
Error |
err_constexpr_body_invalid_stmt |
statement not allowed in constexpr %select{function|constructor}0 |
ExtWarn |
ext_constexpr_body_invalid_stmt |
[1]:use of this statement in a constexpr %select{function|constructor}0 [2]:is a C++14 extension |
Warning |
warn_cxx11_compat_constexpr_body_invalid_stmt |
[1]:use of this statement in a constexpr %select{function|constructor}0 [2]:is incompatible with C++ standards before C++14 |
ExtWarn |
ext_constexpr_type_definition |
[1]:type definition in a constexpr %select{function|constructor}0 [2]:is a C++14 extension |
Warning |
warn_cxx11_compat_constexpr_type_definition |
[1]:type definition in a constexpr %select{function|constructor}0 [2]:is incompatible with C++ standards before C++14 |
Error |
err_constexpr_vla |
[1]:variably-modified type %0 cannot be used in a constexpr [2]:%select{function|constructor}1 |
ExtWarn |
ext_constexpr_local_var |
[1]:variable declaration in a constexpr %select{function|constructor}0 [2]:is a C++14 extension |
Warning |
warn_cxx11_compat_constexpr_local_var |
[1]:variable declaration in a constexpr %select{function|constructor}0 [2]:is incompatible with C++ standards before C++14 |
Error |
err_constexpr_local_var_static |
[1]:%select{static|thread_local}1 variable not permitted in a constexpr [2]:%select{function|constructor}0 |
Error |
err_constexpr_local_var_non_literal_type |
[1]:variable of non-literal type %1 cannot be defined in a constexpr [2]:%select{function|constructor}0 |
Error |
err_constexpr_local_var_no_init |
[1]:variables defined in a constexpr %select{function|constructor}0 must be [2]:initialized |
ExtWarn |
ext_constexpr_function_never_constant_expr |
[1]:constexpr %select{function|constructor}0 never produces a [2]:constant expression |
Error |
err_enable_if_never_constant_expr |
'enable_if' attribute expression never produces a constant expression |
Error |
err_constexpr_body_no_return |
no return statement in constexpr function |
Error |
err_constexpr_return_missing_expr |
non-void constexpr function %0 should return a value |
Warning |
warn_cxx11_compat_constexpr_body_no_return |
[1]:constexpr function with no return statements is incompatible with C++ [2]:standards before C++14 |
ExtWarn |
ext_constexpr_body_multiple_return |
multiple return statements in constexpr function is a C++14 extension |
Warning |
warn_cxx11_compat_constexpr_body_multiple_return |
[1]:multiple return statements in constexpr function [2]:is incompatible with C++ standards before C++14 |
Note |
note_constexpr_body_previous_return |
previous return statement is here |
Error |
err_constexpr_function_try_block |
function try block not allowed in constexpr %select{function|constructor}0 |
Error |
err_constexpr_union_ctor_no_init |
constexpr union constructor does not initialize any member |
Error |
err_constexpr_ctor_missing_init |
constexpr constructor must initialize all members |
Note |
note_constexpr_ctor_missing_init |
member not initialized by constructor |
Note |
note_non_literal_no_constexpr_ctors |
[1]:%0 is not literal because it is not an aggregate and has no constexpr [2]:constructors other than copy or move constructors |
Note |
note_non_literal_base_class |
%0 is not literal because it has base class %1 of non-literal type |
Note |
note_non_literal_field |
[1]:%0 is not literal because it has data member %1 of [2]:%select{non-literal|volatile}3 type %2 |
Note |
note_non_literal_user_provided_dtor |
%0 is not literal because it has a user-provided destructor |
Note |
note_non_literal_nontrivial_dtor |
%0 is not literal because it has a non-trivial destructor |
Warning |
warn_private_extern |
[1]:use of __private_extern__ on a declaration may not produce external symbol [2]:private to the linkage unit and is deprecated |
Note |
note_private_extern |
use __attribute__((visibility(\"hidden\"))) attribute instead |
Error |
err_concept_wrong_decl_kind |
'concept' can only appear on the definition of a function template or variable template |
Error |
err_concept_decls_may_only_appear_in_namespace_scope |
concept declarations may only appear in namespace scope |
Error |
err_function_concept_not_defined |
function concept declaration must be a definition |
Error |
err_var_concept_not_initialized |
variable concept declaration must be initialized |
Error |
err_function_concept_exception_spec |
function concept cannot have exception specification |
Error |
err_concept_decl_invalid_specifiers |
[1]:%select{variable|function}0 concept cannot be declared [2]:'%select{thread_local|inline|friend|constexpr}1' |
Error |
err_function_concept_with_params |
function concept cannot have any parameters |
Error |
err_function_concept_bool_ret |
declared return type of function concept must be 'bool' |
Error |
err_variable_concept_bool_decl |
declared type of variable concept must be 'bool' |
Error |
err_concept_specified_specialization |
[1]:'concept' cannot be applied on an [2]:%select{explicit instantiation|explicit specialization|partial specialization}0 |
Warning |
warn_cxx98_compat_unicode_type |
'%0' type specifier is incompatible with C++98 |
Error |
err_integer_sequence_negative_length |
integer sequences must have non-negative sequence length |
Error |
err_integer_sequence_integral_element_type |
integer sequences must have integral element type |
Error |
err_objc_decls_may_only_appear_in_global_scope |
Objective-C declarations may only appear in global scope |
Warning |
warn_auto_var_is_id |
'auto' deduced as 'id' in declaration of %0 |
Error |
err_nsobject_attribute |
'NSObject' attribute is for pointer types only |
Error |
err_attributes_are_not_compatible |
%0 and %1 attributes are not compatible |
Error |
err_attribute_wrong_number_arguments |
[1]:%0 attribute %plural{0:takes no arguments|1:takes one argument| [2]::requires exactly %1 arguments}1 |
Error |
err_attribute_too_many_arguments |
%0 attribute takes no more than %1 argument%s1 |
Error |
err_attribute_too_few_arguments |
%0 attribute takes at least %1 argument%s1 |
Error |
err_attribute_invalid_vector_type |
invalid vector element type %0 |
Error |
err_attribute_bad_neon_vector_size |
Neon vector size must be 64 or 128 bits |
Error |
err_attribute_requires_positive_integer |
%0 attribute requires a positive integral compile time constant expression |
Error |
err_attribute_requires_opencl_version |
%0 attribute requires OpenCL version %1 or above |
Warning |
warn_unsupported_target_attribute |
Ignoring unsupported '%0' in the target attribute string |
Error |
err_attribute_unsupported |
%0 attribute is not supported for this target |
Error |
err_aligned_attribute_argument_not_int |
'aligned' attribute requires integer constant |
Error |
err_align_value_attribute_argument_not_int |
'align_value' attribute requires integer constant |
Error |
err_alignas_attribute_wrong_decl_type |
[1]:%0 attribute cannot be applied to a %select{function parameter| [2]:variable with 'register' storage class|'catch' variable|bit-field}1 |
Error |
err_alignas_missing_on_definition |
%0 must be specified on definition if it is specified on any declaration |
Note |
note_alignas_on_declaration |
declared with %0 attribute here |
Error |
err_alignas_mismatch |
redeclaration has different alignment requirement (%1 vs %0) |
Error |
err_alignas_underaligned |
requested alignment is less than minimum alignment of %1 for type %0 |
Error |
err_attribute_argument_n_type |
[1]:%0 attribute requires parameter %1 to be %select{int or bool|an integer [2]:constant|a string|an identifier}2 |
Error |
err_attribute_argument_type |
[1]:%0 attribute requires %select{int or bool|an integer [2]:constant|a string|an identifier}1 |
Error |
err_attribute_argument_outof_range |
%0 attribute requires integer constant between %1 and %2 inclusive |
Error |
err_init_priority_object_attr |
[1]:can only use 'init_priority' attribute on file-scope definitions [2]:of objects of class type |
Error |
err_attribute_argument_vec_type_hint |
invalid attribute argument %0 - expecting a vector or vectorizable scalar type |
Error |
err_attribute_argument_out_of_bounds |
%0 attribute parameter %1 is out of bounds |
Error |
err_attribute_only_once_per_parameter |
%0 attribute can only be applied once per parameter |
Error |
err_attribute_uuid_malformed_guid |
uuid attribute contains a malformed GUID |
Warning |
warn_attribute_pointers_only |
%0 attribute only applies to%select{| constant}1 pointer arguments |
Error |
err_attribute_pointers_only |
warn_attribute_pointers_only.Text |
Warning |
warn_attribute_return_pointers_only |
%0 attribute only applies to return values that are pointers |
Warning |
warn_attribute_return_pointers_refs_only |
%0 attribute only applies to return values that are pointers or references |
Warning |
warn_attribute_pointer_or_reference_only |
%0 attribute only applies to a pointer or reference (%1 is invalid) |
Error |
err_attribute_no_member_pointers |
%0 attribute cannot be used with pointers to members |
Error |
err_attribute_invalid_implicit_this_argument |
%0 attribute is invalid for the implicit this argument |
Error |
err_ownership_type |
%0 attribute only applies to %select{pointer|integer}1 arguments |
Error |
err_ownership_returns_index_mismatch |
'ownership_returns' attribute index does not match; here it is %0 |
Note |
note_ownership_returns_index_mismatch |
declared with index %0 here |
Error |
err_format_strftime_third_parameter |
strftime format attribute requires 3rd parameter to be 0 |
Error |
err_format_attribute_requires_variadic |
format attribute requires variadic function |
Error |
err_format_attribute_not |
format argument not %0 |
Error |
err_format_attribute_result_not |
function does not return %0 |
Error |
err_format_attribute_implicit_this_format_string |
[1]:format attribute cannot specify the implicit this argument as the format [2]:string |
Error |
err_init_method_bad_return_type |
init methods must return an object pointer type, not %0 |
Error |
err_attribute_invalid_size |
vector size not an integral multiple of component size |
Error |
err_attribute_zero_size |
zero vector size |
Error |
err_attribute_size_too_large |
vector size too large |
Error |
err_typecheck_vector_not_convertable |
cannot convert between vector values of different size (%0 and %1) |
Error |
err_typecheck_vector_not_convertable_non_scalar |
cannot convert between vector and non-scalar values (%0 and %1) |
Error |
err_typecheck_vector_lengths_not_equal |
vector operands do not have the same number of elements (%0 and %1) |
Error |
err_ext_vector_component_exceeds_length |
vector component access exceeds type %0 |
Error |
err_ext_vector_component_name_illegal |
illegal vector component name '%0' |
Error |
err_attribute_address_space_negative |
address space is negative |
Error |
err_attribute_address_space_too_high |
address space is larger than the maximum supported (%0) |
Error |
err_attribute_address_multiple_qualifiers |
multiple address spaces specified for type |
Error |
err_attribute_address_function_type |
function type may not be qualified with an address space |
Error |
err_as_qualified_auto_decl |
automatic variable qualified with an address space |
Error |
err_arg_with_address_space |
parameter may not be qualified with an address space |
Error |
err_field_with_address_space |
field may not be qualified with an address space |
Error |
err_attr_objc_ownership_redundant |
the type %0 is already explicitly ownership-qualified |
Error |
err_invalid_nsnumber_type |
%0 is not a valid literal type for NSNumber |
Error |
err_objc_illegal_boxed_expression_type |
illegal type %0 used in a boxed expression |
Error |
err_objc_non_trivially_copyable_boxed_expression_type |
non-trivially copyable type %0 cannot be used in a boxed expression |
Error |
err_objc_incomplete_boxed_expression_type |
incomplete type %0 used in a boxed expression |
Error |
err_undeclared_objc_literal_class |
[1]:definition of class %0 must be available to use Objective-C [2]:[1]:%select{array literals|dictionary literals|numeric literals|boxed expressions| [2]:string literals}1 |
Error |
err_undeclared_boxing_method |
declaration of %0 is missing in %1 class |
Error |
err_objc_literal_method_sig |
literal construction method %0 has incompatible signature |
Note |
note_objc_literal_method_param |
[1]:%select{first|second|third}0 parameter has unexpected type %1 [2]:(should be %2) |
Note |
note_objc_literal_method_return |
method returns unexpected type %0 (should be an object type) |
Error |
err_invalid_collection_element |
collection element of type %0 is not an Objective-C object |
Error |
err_box_literal_collection |
[1]:%select{string|character|boolean|numeric}0 literal must be prefixed by '@' [2]:in a collection |
Warning |
warn_objc_literal_comparison |
[1]:direct comparison of %select{an array literal|a dictionary literal| [2]:a numeric literal|a boxed expression|}0 has undefined behavior |
Error |
err_missing_atsign_prefix |
string literal must be prefixed by '@' |
Warning |
warn_objc_string_literal_comparison |
direct comparison of a string literal has undefined behavior |
Warning |
warn_concatenated_nsarray_literal |
[1]:concatenated NSString literal for an NSArray expression - [2]:possibly missing a comma |
Note |
note_objc_literal_comparison_isequal |
use 'isEqual:' instead |
Warning |
warn_objc_collection_literal_element |
[1]:object of type %0 is not compatible with [2]:%select{array element type|dictionary key type|dictionary value type}1 %2 |
Error |
err_swift_param_attr_not_swiftcall |
'%0' parameter can only be used with swiftcall calling convention |
Error |
err_swift_indirect_result_not_first |
'swift_indirect_result' parameters must be first parameters of function |
Error |
err_swift_context_not_before_swift_error_result |
[1]:'swift_context' parameter can only be followed by 'swift_error_result' [2]:parameter |
Error |
err_swift_error_result_not_last |
'swift_error_result' parameter must be last parameter of function |
Error |
err_swift_error_result_not_after_swift_context |
'swift_error_result' parameter must follow 'swift_context' parameter |
Error |
err_swift_abi_parameter_wrong_type |
[1]:'%0' parameter must have pointer%select{| to unqualified pointer}1 type; [2]:type here is %2 |
Error |
err_attribute_argument_is_zero |
%0 attribute must be greater than 0 |
Warning |
warn_attribute_argument_n_negative |
%0 attribute parameter %1 is negative and will be ignored |
Error |
err_property_function_in_objc_container |
[1]:use of Objective-C property in function nested in Objective-C [2]:container not supported, move function outside its container |
Warning |
warn_objc_redundant_literal_use |
using %0 with a literal is redundant |
Error |
err_attr_tlsmodel_arg |
[1]:tls_model must be \"global-dynamic\", [2]:\"local-dynamic\", \"initial-exec\" or \"local-exec\" |
Error |
err_tls_var_aligned_over_maximum |
[1]:alignment (%0) of thread-local variable %1 is greater than the maximum supported [2]:alignment (%2) for a thread-local variable on this target |
Error |
err_only_annotate_after_access_spec |
access specifier can only have annotation attributes |
Error |
err_attribute_section_invalid_for_target |
argument to 'section' attribute is not valid for this target: %0 |
Warning |
warn_mismatched_section |
section does not match previous declaration |
Error |
err_anonymous_property |
anonymous property is not supported |
Error |
err_property_is_variably_modified |
property %0 has a variably modified type |
Error |
err_no_accessor_for_property |
no %select{getter|setter}0 defined for property %1 |
Error |
error_cannot_find_suitable_accessor |
cannot find suitable %select{getter|setter}0 for property %1 |
Error |
err_alignment_not_power_of_two |
requested alignment is not a power of 2 |
Error |
err_alignment_dependent_typedef_name |
requested alignment is dependent but declaration is not dependent |
Error |
err_attribute_aligned_too_great |
requested alignment must be %0 bytes or smaller |
Warning |
warn_redeclaration_without_attribute_prev_attribute_ignored |
%q0 redeclared without %1 attribute: previous %1 ignored |
Warning |
warn_dllimport_dropped_from_inline_function |
%q0 redeclared inline; %1 attribute ignored |
Warning |
warn_attribute_ignored |
%0 attribute ignored |
Warning |
warn_attribute_ignored_on_inline |
%0 attribute ignored on inline function |
Warning |
warn_attribute_after_definition_ignored |
attribute %0 after definition is ignored |
Warning |
warn_unknown_attribute_ignored |
unknown attribute %0 ignored |
Warning |
warn_cxx11_gnu_attribute_on_type |
attribute %0 ignored, because it cannot be applied to a type |
Warning |
warn_unhandled_ms_attribute_ignored |
__declspec attribute %0 is not supported |
Error |
err_decl_attribute_invalid_on_stmt |
%0 attribute cannot be applied to a statement |
Error |
err_stmt_attribute_invalid_on_decl |
%0 attribute cannot be applied to a declaration |
Warning |
warn_declspec_attribute_ignored |
[1]:attribute %0 is ignored, place it after [2]:[1]:\"%select{class|struct|interface|union|enum}1\" to apply attribute to [2]:type declaration |
Warning |
warn_attribute_precede_definition |
attribute declaration must precede definition |
Warning |
warn_attribute_void_function_method |
[1]:attribute %0 cannot be applied to [2]:%select{functions|Objective-C method}1 without return value |
Warning |
warn_attribute_weak_on_field |
__weak attribute cannot be specified on a field declaration |
Warning |
warn_gc_attribute_weak_on_local |
Objective-C GC does not allow weak variables on the stack |
Warning |
warn_nsobject_attribute |
'NSObject' attribute may be put on a typedef only; attribute is ignored |
Warning |
warn_independentclass_attribute |
[1]:'objc_independent_class' attribute may be put on a typedef only; [2]:attribute is ignored |
Warning |
warn_ptr_independentclass_attribute |
[1]:'objc_independent_class' attribute may be put on Objective-C object [2]:pointer type only; attribute is ignored |
Warning |
warn_attribute_weak_on_local |
[1]:__weak attribute cannot be specified on an automatic variable when ARC [2]:is not enabled |
Warning |
warn_weak_identifier_undeclared |
weak identifier %0 never declared |
Error |
err_attribute_weak_static |
weak declaration cannot have internal linkage |
Error |
err_attribute_selectany_non_extern_data |
'selectany' can only be applied to data items with external linkage |
Error |
err_declspec_thread_on_thread_variable |
[1]:'__declspec(thread)' applied to variable that already has a [2]:thread-local storage specifier |
Error |
err_attribute_dll_not_extern |
%q0 must have external linkage when declared %q1 |
Error |
err_attribute_dll_thread_local |
%q0 cannot be thread local when declared %q1 |
Error |
err_attribute_dll_lambda |
lambda cannot be declared %0 |
Warning |
warn_attribute_invalid_on_definition |
'%0' attribute cannot be specified on a definition |
Error |
err_attribute_dll_redeclaration |
redeclaration of %q0 cannot add %q1 attribute |
Warning |
warn_attribute_dll_redeclaration |
redeclaration of %q0 should not add %q1 attribute |
Error |
err_attribute_dllimport_function_definition |
dllimport cannot be applied to non-inline function definition |
Error |
err_attribute_dll_deleted |
attribute %q0 cannot be applied to a deleted function |
Error |
err_attribute_dllimport_data_definition |
definition of dllimport data |
Error |
err_attribute_dllimport_static_field_definition |
definition of dllimport static field not allowed |
Warning |
warn_attribute_dllimport_static_field_definition |
definition of dllimport static field |
Warning |
warn_attribute_dllexport_explicit_instantiation_decl |
explicit instantiation declaration should not be 'dllexport' |
Warning |
warn_invalid_initializer_from_system_header |
invalid constructor form class in system header, should not be explicit |
Note |
note_used_in_initialization_here |
used in initialization here |
Error |
err_attribute_dll_member_of_dll_class |
attribute %q0 cannot be applied to member of %q1 class |
Warning |
warn_attribute_dll_instantiated_base_class |
[1]:propagating dll attribute to %select{already instantiated|explicitly specialized}0 [2]:base class template without dll attribute is not supported |
Error |
err_attribute_dll_ambiguous_default_ctor |
'__declspec(dllexport)' cannot be applied to more than one default constructor in %0 |
Error |
err_attribute_weakref_not_static |
weakref declaration must have internal linkage |
Error |
err_attribute_weakref_not_global_context |
weakref declaration of %0 must be in a global context |
Error |
err_attribute_weakref_without_alias |
weakref declaration of %0 must also have an alias attribute |
Error |
err_alias_not_supported_on_darwin |
only weak aliases are supported on darwin |
Error |
err_alias_to_undefined |
alias must point to a defined variable or function |
Warning |
warn_alias_to_weak_alias |
alias will always resolve to %0 even if weak definition of alias %1 is overridden |
Warning |
warn_alias_with_section |
alias will not be in section '%0' but in the same section as the aliasee |
Error |
err_duplicate_mangled_name |
definition with same mangled name as another definition |
Error |
err_cyclic_alias |
alias definition is part of a cycle |
Warning |
warn_attribute_wrong_decl_type |
[1]:%0 attribute only applies to %select{functions|unions| [2]:[1]:variables and functions|functions and methods|parameters| [2]:[1]:functions, methods and blocks|functions, methods, and classes| [2]:[1]:functions, methods, and parameters|classes|enums|variables|methods| [2]:[1]:fields and global variables|structs|variables and typedefs|thread-local variables| [2]:[1]:variables and fields|variables, data members and tag types| [2]:[1]:types and namespaces|Objective-C interfaces|methods and properties| [2]:[1]:struct or union|struct, union or class|types| [2]:[1]:Objective-C instance methods|init methods of interface or class extension declarations| [2]:[1]:variables, functions and classes|Objective-C protocols| [2]:[1]:functions and global variables|structs, unions, and typedefs|structs and typedefs| [2]:[1]:interface or protocol declarations|kernel functions|non-K&R-style functions| [2]:[1]:variables, enums, fields and typedefs|functions, methods, enums, and classes| [2]:[1]:structs, classes, variables, functions, and inline namespaces| [2]:variables, functions, methods, types, enumerations, enumerators, labels, and non-static data members}1 |
Error |
err_attribute_wrong_decl_type |
warn_attribute_wrong_decl_type.Text |
Warning |
warn_type_attribute_wrong_type |
[1]:'%0' only applies to %select{function|pointer| [2]:Objective-C object or block pointer}1 types; type here is %2 |
Warning |
warn_incomplete_encoded_type |
encoding of %0 type is incomplete because %1 component has unknown encoding |
Warning |
warn_attribute_requires_functions_or_static_globals |
%0 only applies to variables with static storage duration and functions |
Warning |
warn_gnu_inline_attribute_requires_inline |
[1]:'gnu_inline' attribute requires function to be marked 'inline', [2]: attribute ignored |
Error |
err_attribute_vecreturn_only_vector_member |
the vecreturn attribute can only be used on a class or structure with one member, which must be a vector |
Error |
err_attribute_vecreturn_only_pod_record |
the vecreturn attribute can only be used on a POD (plain old data) class or structure (i.e. no virtual functions) |
Error |
err_cconv_change |
[1]:function declared '%0' here was previously declared [2]:%select{'%2'|without calling convention}1 |
Warning |
warn_cconv_ignored |
calling convention %0 ignored for this target |
Error |
err_cconv_knr |
function with no prototype cannot use the %0 calling convention |
Warning |
warn_cconv_knr |
err_cconv_knr.Text |
Error |
err_cconv_varargs |
variadic function cannot use %0 calling convention |
Warning |
warn_cconv_varargs |
%0 calling convention ignored on variadic function |
Warning |
warn_cconv_structors |
%0 calling convention ignored on constructor/destructor |
Error |
err_regparm_mismatch |
[1]:function declared with regparm(%0) [2]:[1]:attribute was previously declared [2]:%plural{0:without the regparm|:with the regparm(%1)}1 attribute |
Error |
err_returns_retained_mismatch |
[1]:function declared with the ns_returns_retained attribute [2]:was previously declared without the ns_returns_retained attribute |
Error |
err_objc_precise_lifetime_bad_type |
objc_precise_lifetime only applies to retainable types; type here is %0 |
Error |
warn_objc_precise_lifetime_meaningless |
[1]:objc_precise_lifetime is not meaningful for [2]:%select{__unsafe_unretained|__autoreleasing}0 objects |
Error |
err_invalid_pcs |
invalid PCS type |
Warning |
warn_attribute_not_on_decl |
%0 attribute ignored when parsing type |
Error |
err_base_specifier_attribute |
%0 attribute cannot be applied to a base specifier |
Error |
err_invalid_attribute_on_virtual_function |
%0 attribute cannot be applied to virtual functions |
Warning |
warn_availability_unknown_platform |
unknown platform %0 in availability macro |
Warning |
warn_availability_version_ordering |
[1]:feature cannot be %select{introduced|deprecated|obsoleted}0 in %1 version [2]:[1]:%2 before it was %select{introduced|deprecated|obsoleted}3 in version %4; [2]:attribute ignored |
Warning |
warn_mismatched_availability |
availability does not match previous declaration |
Warning |
warn_mismatched_availability_override |
[1]:%select{|overriding }4method %select{introduced after| [2]:[1]:deprecated before|obsoleted before}0 [2]:[1]:%select{the protocol method it implements|overridden method}4 [2]:on %1 (%2 vs. %3) |
Warning |
warn_mismatched_availability_override_unavail |
[1]:%select{|overriding }1method cannot be unavailable on %0 when [2]:[1]:%select{the protocol method it implements|its overridden method}1 is [2]:available |
Note |
note_overridden_method |
overridden method is here |
Note |
note_protocol_method |
protocol method is here |
Warning |
warn_invalid_capability_name |
invalid capability name '%0'; capability name must be 'mutex' or 'role' |
Warning |
warn_thread_attribute_ignored |
ignoring %0 attribute because its argument is invalid |
Warning |
warn_thread_attribute_argument_not_lockable |
[1]:%0 attribute requires arguments whose type is annotated [2]:with 'capability' attribute; type here is %1 |
Warning |
warn_thread_attribute_decl_not_lockable |
[1]:%0 attribute can only be applied in a context annotated [2]:with 'capability(\"mutex\")' attribute |
Warning |
warn_thread_attribute_decl_not_pointer |
%0 only applies to pointer types; type here is %1 |
Error |
err_attribute_argument_out_of_range |
[1]:%0 attribute parameter %1 is out of bounds: [2]:[1]:%plural{0:no parameters to index into| [2]:[1]:1:can only be 1, since there is one parameter| [2]::must be between 1 and %2}2 |
Warning |
warn_unlock_but_no_lock |
releasing %0 '%1' that was not held |
Warning |
warn_unlock_kind_mismatch |
[1]:releasing %0 '%1' using %select{shared|exclusive}2 access, expected [2]:%select{shared|exclusive}3 access |
Warning |
warn_double_lock |
acquiring %0 '%1' that is already held |
Warning |
warn_no_unlock |
%0 '%1' is still held at the end of function |
Warning |
warn_expecting_locked |
expecting %0 '%1' to be held at the end of function |
Warning |
warn_lock_some_predecessors |
%0 '%1' is not held on every path through here |
Warning |
warn_expecting_lock_held_on_loop |
expecting %0 '%1' to be held at start of each loop |
Note |
note_locked_here |
%0 acquired here |
Warning |
warn_lock_exclusive_and_shared |
%0 '%1' is acquired exclusively and shared in the same scope |
Note |
note_lock_exclusive_and_shared |
the other acquisition of %0 '%1' is here |
Warning |
warn_variable_requires_any_lock |
[1]:%select{reading|writing}1 variable '%0' requires holding [2]:%select{any mutex|any mutex exclusively}1 |
Warning |
warn_var_deref_requires_any_lock |
[1]:%select{reading|writing}1 the value pointed to by '%0' requires holding [2]:%select{any mutex|any mutex exclusively}1 |
Warning |
warn_fun_excludes_mutex |
cannot call function '%1' while %0 '%2' is held |
Warning |
warn_cannot_resolve_lock |
cannot resolve lock expression |
Warning |
warn_acquired_before |
%0 '%1' must be acquired before '%2' |
Warning |
warn_acquired_before_after_cycle |
Cycle in acquired_before/after dependencies, starting with '%0' |
Warning |
warn_acquire_requires_negative_cap |
acquiring %0 '%1' requires negative capability '%2' |
Warning |
warn_guarded_pass_by_reference |
[1]:passing variable '%1' by reference requires holding %0 [2]:%select{'%2'|'%2' exclusively}3 |
Warning |
warn_pt_guarded_pass_by_reference |
[1]:passing the value that '%1' points to by reference requires holding %0 [2]:%select{'%2'|'%2' exclusively}3 |
Warning |
warn_variable_requires_lock |
[1]:%select{reading|writing}3 variable '%1' requires holding %0 [2]:%select{'%2'|'%2' exclusively}3 |
Warning |
warn_var_deref_requires_lock |
[1]:%select{reading|writing}3 the value pointed to by '%1' requires [2]:holding %0 %select{'%2'|'%2' exclusively}3 |
Warning |
warn_fun_requires_lock |
calling function '%1' requires holding %0 %select{'%2'|'%2' exclusively}3 |
Warning |
warn_variable_requires_lock_precise |
warn_variable_requires_lock.Text |
Warning |
warn_var_deref_requires_lock_precise |
warn_var_deref_requires_lock.Text |
Warning |
warn_fun_requires_lock_precise |
warn_fun_requires_lock.Text |
Note |
note_found_mutex_near_match |
found near match '%0' |
Warning |
warn_thread_safety_verbose |
Thread safety verbose warning. |
Note |
note_thread_warning_in_fun |
Thread warning in function '%0' |
Note |
note_guarded_by_declared_here |
Guarded_by declared here. |
Warning |
warn_thread_safety_beta |
Thread safety beta warning. |
Warning |
warn_use_in_invalid_state |
[1]:invalid invocation of method '%0' on object '%1' while it is in the '%2' [2]:state |
Warning |
warn_use_of_temp_in_invalid_state |
[1]:invalid invocation of method '%0' on a temporary object while it is in the [2]:'%1' state |
Warning |
warn_attr_on_unconsumable_class |
[1]:consumed analysis attribute is attached to member of class '%0' which isn't [2]:marked as consumable |
Warning |
warn_return_typestate_for_unconsumable_type |
return state set for an unconsumable type '%0' |
Warning |
warn_return_typestate_mismatch |
return value not in expected state; expected '%0', observed '%1' |
Warning |
warn_loop_state_mismatch |
state of variable '%0' must match at the entry and exit of loop |
Warning |
warn_param_return_typestate_mismatch |
[1]:parameter '%0' not in expected state when the function returns: expected [2]:'%1', observed '%2' |
Warning |
warn_param_typestate_mismatch |
argument not in expected state; expected '%0', observed '%1' |
Warning |
warn_unknown_sanitizer_ignored |
unknown sanitizer '%0' ignored |
Warning |
warn_impcast_vector_scalar |
implicit conversion turns vector to scalar: %0 to %1 |
Warning |
warn_impcast_complex_scalar |
implicit conversion discards imaginary component: %0 to %1 |
Warning |
warn_impcast_float_precision |
implicit conversion loses floating-point precision: %0 to %1 |
Warning |
warn_impcast_double_promotion |
implicit conversion increases floating-point precision: %0 to %1 |
Warning |
warn_impcast_float_integer |
implicit conversion turns floating-point number into integer: %0 to %1 |
Warning |
warn_impcast_integer_sign |
implicit conversion changes signedness: %0 to %1 |
Warning |
warn_impcast_integer_sign_conditional |
operand of ? changes signedness: %0 to %1 |
Warning |
warn_impcast_integer_precision |
implicit conversion loses integer precision: %0 to %1 |
Warning |
warn_impcast_integer_64_32 |
implicit conversion loses integer precision: %0 to %1 |
Warning |
warn_impcast_integer_precision_constant |
implicit conversion from %2 to %3 changes value from %0 to %1 |
Warning |
warn_impcast_bitfield_precision_constant |
implicit truncation from %2 to bitfield changes value from %0 to %1 |
Warning |
warn_impcast_literal_float_to_integer |
implicit conversion from %0 to %1 changes value from %2 to %3 |
Warning |
warn_impcast_string_literal_to_bool |
implicit conversion turns string literal into bool: %0 to %1 |
Warning |
warn_impcast_different_enum_types |
[1]:implicit conversion from enumeration type %0 to different enumeration type [2]:%1 |
Warning |
warn_impcast_bool_to_null_pointer |
[1]:initialization of pointer of type %0 to null from a constant boolean [2]:expression |
Warning |
warn_non_literal_null_pointer |
[1]:expression which evaluates to zero treated as a null pointer constant of [2]:type %0 |
Warning |
warn_impcast_null_pointer_to_integer |
implicit conversion of %select{NULL|nullptr}0 constant to %1 |
Warning |
warn_impcast_floating_point_to_bool |
implicit conversion turns floating-point number into bool: %0 to %1 |
ExtWarn |
ext_ms_impcast_fn_obj |
[1]:implicit conversion between pointer-to-function and pointer-to-object is a [2]:Microsoft extension |
Warning |
warn_impcast_pointer_to_bool |
[1]:address of%select{| function| array}0 '%1' will always evaluate to [2]:'true' |
Warning |
warn_cast_nonnull_to_bool |
[1]:nonnull %select{function call|parameter}0 '%1' will evaluate to [2]:'true' on first encounter |
Warning |
warn_this_bool_conversion |
[1]:'this' pointer cannot be null in well-defined C++ code; pointer may be [2]:assumed to always convert to true |
Warning |
warn_address_of_reference_bool_conversion |
[1]:reference cannot be bound to dereferenced null pointer in well-defined C++ [2]:code; pointer may be assumed to always convert to true |
Warning |
warn_null_pointer_compare |
[1]:comparison of %select{address of|function|array}0 '%1' %select{not |}2 [2]:equal to a null pointer is always %select{true|false}2 |
Warning |
warn_nonnull_expr_compare |
[1]:comparison of nonnull %select{function call|parameter}0 '%1' [2]:[1]:%select{not |}2equal to a null pointer is '%select{true|false}2' on first [2]:encounter |
Warning |
warn_this_null_compare |
[1]:'this' pointer cannot be null in well-defined C++ code; comparison may be [2]:assumed to always evaluate to %select{true|false}0 |
Warning |
warn_address_of_reference_null_compare |
[1]:reference cannot be bound to dereferenced null pointer in well-defined C++ [2]:[1]:code; comparison may be assumed to always evaluate to [2]:%select{true|false}0 |
Note |
note_reference_is_return_value |
%0 returns a reference |
Note |
note_function_warning_silence |
prefix with the address-of operator to silence this warning |
Note |
note_function_to_function_call |
suffix with parentheses to turn this into a function call |
Warning |
warn_impcast_objective_c_literal_to_bool |
[1]:implicit boolean conversion of Objective-C object literal always [2]:evaluates to true |
Warning |
warn_cast_align |
cast from %0 to %1 increases required alignment from %2 to %3 |
Warning |
warn_old_style_cast |
use of old-style cast |
Warning |
warn_int_to_pointer_cast |
cast to %1 from smaller integer type %0 |
Warning |
warn_int_to_void_pointer_cast |
cast to %1 from smaller integer type %0 |
Warning |
warn_attribute_packed_for_bitfield |
[1]:'packed' attribute was ignored on bit-fields with single-byte alignment [2]:in older versions of GCC and Clang |
Warning |
warn_transparent_union_attribute_field_size_align |
[1]:%select{alignment|size}0 of field %1 (%2 bits) does not match the [2]:[1]:%select{alignment|size}0 of the first field in transparent union; [2]:transparent_union attribute ignored |
Note |
note_transparent_union_first_field_size_align |
%select{alignment|size}0 of first field is %1 bits |
Warning |
warn_transparent_union_attribute_not_definition |
[1]:transparent_union attribute can only be applied to a union definition; [2]:attribute ignored |
Warning |
warn_transparent_union_attribute_floating |
[1]:first field of a transparent union cannot have %select{floating point| [2]:vector}0 type %1; transparent_union attribute ignored |
Warning |
warn_transparent_union_attribute_zero_fields |
[1]:transparent union definition must contain at least one field; [2]:transparent_union attribute ignored |
Warning |
warn_attribute_type_not_supported |
%0 attribute argument not supported: %1 |
Warning |
warn_attribute_unknown_visibility |
unknown visibility %0 |
Warning |
warn_attribute_protected_visibility |
target does not support 'protected' visibility; using 'default' |
Error |
err_mismatched_visibility |
visibility does not match previous declaration |
Note |
note_previous_attribute |
previous attribute is here |
Note |
note_conflicting_attribute |
conflicting attribute is here |
Note |
note_attribute |
attribute is here |
Error |
err_mismatched_ms_inheritance |
inheritance model does not match %select{definition|previous declaration}0 |
Warning |
warn_ignored_ms_inheritance |
inheritance model ignored on %select{primary template|partial specialization}0 |
Note |
note_previous_ms_inheritance |
previous inheritance model specified here |
Error |
err_machine_mode |
%select{unknown|unsupported}0 machine mode %1 |
Error |
err_mode_not_primitive |
mode attribute only supported for integer and floating-point types |
Error |
err_mode_wrong_type |
type of machine mode does not match type of base type |
Warning |
warn_vector_mode_deprecated |
[1]:specifying vector types with the 'mode' attribute is deprecated; [2]:use the 'vector_size' attribute instead |
Error |
err_complex_mode_vector_type |
type of machine mode does not support base vector types |
Error |
err_enum_mode_vector_type |
mode %0 is not supported for enumeration types |
Warning |
warn_attribute_nonnull_no_pointers |
'nonnull' attribute applied to function with no pointer arguments |
Warning |
warn_attribute_nonnull_parm_no_args |
'nonnull' attribute when used on parameters takes no arguments |
Warning |
warn_attribute_sentinel_named_arguments |
'sentinel' attribute requires named arguments |
Warning |
warn_attribute_sentinel_not_variadic |
'sentinel' attribute only supported for variadic %select{functions|blocks}0 |
Error |
err_attribute_sentinel_less_than_zero |
'sentinel' parameter 1 less than zero |
Error |
err_attribute_sentinel_not_zero_or_one |
'sentinel' parameter 2 not 0 or 1 |
Warning |
warn_cleanup_ext |
[1]:GCC does not allow the 'cleanup' attribute argument to be anything other [2]:than a simple identifier |
Error |
err_attribute_cleanup_arg_not_function |
'cleanup' argument %select{|%1 |%1 }0is not a %select{||single }0function |
Error |
err_attribute_cleanup_func_must_take_one_arg |
'cleanup' function %0 must take 1 parameter |
Error |
err_attribute_cleanup_func_arg_incompatible_type |
[1]:'cleanup' function %0 parameter has [2]:%diff{type $ which is incompatible with type $|incompatible type}1,2 |
Error |
err_attribute_regparm_wrong_platform |
'regparm' is not valid on this platform |
Error |
err_attribute_regparm_invalid_number |
'regparm' parameter must be between 0 and %0 inclusive |
Error |
err_attribute_not_supported_in_lang |
%0 attribute is not supported in %select{C|C++|Objective-C}1 |
Warning |
warn_attribute_iboutlet |
%0 attribute can only be applied to instance variables or properties |
Error |
err_iboutletcollection_type |
invalid type %0 as argument of iboutletcollection attribute |
Error |
err_iboutletcollection_builtintype |
type argument of iboutletcollection attribute cannot be a builtin type |
Warning |
warn_iboutlet_object_type |
[1]:%select{instance variable|property}2 with %0 attribute must [2]:be an object type (invalid %1) |
Warning |
warn_iboutletcollection_property_assign |
IBOutletCollection properties should be copy/strong and not assign |
Error |
err_attribute_overloadable_missing |
[1]:%select{overloaded function|redeclaration of}0 %1 must have the [2]:'overloadable' attribute |
Note |
note_attribute_overloadable_prev_overload |
previous overload of function is here |
Error |
err_attribute_overloadable_no_prototype |
'overloadable' function %0 must have a prototype |
Warning |
warn_ns_attribute_wrong_return_type |
[1]:%0 attribute only applies to %select{functions|methods|properties}1 that [2]:return %select{an Objective-C object|a pointer|a non-retainable pointer}2 |
Error |
err_ns_attribute_wrong_parameter_type |
[1]:%0 attribute only applies to [2]:%select{Objective-C object|pointer|pointer-to-CF-pointer}1 parameters |
Warning |
warn_ns_attribute_wrong_parameter_type |
[1]:%0 attribute only applies to [2]:%select{Objective-C object|pointer|pointer-to-CF-pointer}1 parameters |
Warning |
warn_objc_requires_super_protocol |
%0 attribute cannot be applied to %select{methods in protocols|dealloc}1 |
Note |
note_protocol_decl |
protocol is declared here |
Note |
note_protocol_decl_undefined |
protocol %0 has no definition |
Warning |
warn_objc_designated_init_missing_super_call |
designated initializer missing a 'super' call to a designated initializer of the super class |
Note |
note_objc_designated_init_marked_here |
method marked as designated initializer of the class here |
Warning |
warn_objc_designated_init_non_super_designated_init_call |
designated initializer should only invoke a designated initializer on 'super' |
Warning |
warn_objc_designated_init_non_designated_init_call |
designated initializer invoked a non-designated initializer |
Warning |
warn_objc_secondary_init_super_init_call |
convenience initializer should not invoke an initializer on 'super' |
Warning |
warn_objc_secondary_init_missing_init_call |
convenience initializer missing a 'self' call to another initializer |
Warning |
warn_objc_implementation_missing_designated_init_override |
method override for the designated initializer of the superclass %objcinstance0 not found |
Error |
err_objc_attr_not_id |
parameter of %0 attribute must be a single name of an Objective-C %select{class|protocol}1 |
Error |
err_objc_attr_typedef_not_id |
parameter of %0 attribute must be 'id' when used on a typedef |
Error |
err_objc_attr_typedef_not_void_pointer |
'objc_bridge(id)' is only allowed on structs and typedefs of void pointers |
Error |
err_objc_cf_bridged_not_interface |
CF object of type %0 is bridged to %1, which is not an Objective-C class |
Error |
err_objc_ns_bridged_invalid_cfobject |
ObjectiveC object of type %0 is bridged to %1, which is not valid CF object |
Warning |
warn_objc_invalid_bridge |
%0 bridges to %1, not %2 |
Warning |
warn_objc_invalid_bridge_to_cf |
%0 cannot bridge to %1 |
Error |
err_objc_bridged_related_invalid_class |
could not find Objective-C class %0 to convert %1 to %2 |
Error |
err_objc_bridged_related_invalid_class_name |
%0 must be name of an Objective-C class to be able to convert %1 to %2 |
Error |
err_objc_bridged_related_known_method |
[1]:%0 must be explicitly converted to %1; use %select{%objcclass2|%objcinstance2}3 [2]:method for this conversion |
Error |
err_objc_attr_protocol_requires_definition |
attribute %0 can only be applied to @protocol definitions, not forward declarations |
Error |
err_param_with_void_type |
argument may not have 'void' type |
Error |
err_void_only_param |
'void' must be the first and only parameter if specified |
Error |
err_void_param_qualified |
'void' as parameter must not have type qualifiers |
Error |
err_ident_list_in_fn_declaration |
a parameter list without types is only allowed in a function definition |
Extension |
ext_param_not_declared |
parameter %0 was not declared, defaulting to type 'int' |
Error |
err_param_default_argument |
C does not support default arguments |
Error |
err_param_default_argument_redefinition |
redefinition of default argument |
ExtWarn |
ext_param_default_argument_redefinition |
err_param_default_argument_redefinition.Text |
Error |
err_param_default_argument_missing |
missing default argument on parameter |
Error |
err_param_default_argument_missing_name |
missing default argument on parameter %0 |
Error |
err_param_default_argument_references_param |
default argument references parameter %0 |
Error |
err_param_default_argument_references_local |
default argument references local variable %0 of enclosing function |
Error |
err_param_default_argument_references_this |
default argument references 'this' |
Error |
err_param_default_argument_nonfunc |
[1]:default arguments can only be specified for parameters in a function [2]:declaration |
Error |
err_param_default_argument_template_redecl |
[1]:default arguments cannot be added to a function template that has already [2]:been declared |
Error |
err_param_default_argument_member_template_redecl |
[1]:default arguments cannot be added to an out-of-line definition of a member [2]:[1]:of a %select{class template|class template partial specialization|nested [2]:class in a template}0 |
Error |
err_param_default_argument_on_parameter_pack |
parameter pack cannot have a default argument |
Error |
err_uninitialized_member_for_assign |
[1]:cannot define the implicit copy assignment operator for %0, because [2]:[1]:non-static %select{reference|const}1 member %2 cannot use copy [2]:assignment operator |
Error |
err_uninitialized_member_in_ctor |
[1]:%select{|implicit default |inheriting }0constructor for %1 must explicitly [2]:initialize the %select{reference|const}2 member %3 |
Error |
err_default_arg_makes_ctor_special |
[1]:addition of default argument on redeclaration makes this constructor a [2]:%select{default|copy|move}0 constructor |
Error |
err_use_of_default_argument_to_function_declared_later |
use of default argument to function %0 that is declared later in class %1 |
Note |
note_default_argument_declared_here |
default argument declared here |
ExtWarn |
ext_param_promoted_not_compatible_with_prototype |
[1]:%diff{promoted type $ of K&R function parameter is not compatible with the [2]:[1]:parameter type $|promoted type of K&R function parameter is not compatible [2]:with parameter type}0,1 declared in a previous prototype |
Error |
err_ovl_diff_return_type |
functions that differ only in their return type cannot be overloaded |
Error |
err_ovl_static_nonstatic_member |
[1]:static and non-static member functions with the same parameter types [2]:cannot be overloaded |
Error |
err_ovl_no_viable_function_in_call |
no matching function for call to %0 |
Error |
err_ovl_no_viable_member_function_in_call |
no matching member function for call to %0 |
Error |
err_ovl_ambiguous_call |
call to %0 is ambiguous |
Error |
err_ovl_deleted_call |
call to %select{unavailable|deleted}0 function %1%2 |
Error |
err_ovl_ambiguous_member_call |
call to member function %0 is ambiguous |
Error |
err_ovl_deleted_member_call |
call to %select{unavailable|deleted}0 member function %1%2 |
Note |
note_ovl_too_many_candidates |
[1]:remaining %0 candidate%s0 omitted; [2]:pass -fshow-overloads=all to show them |
Note |
note_ovl_candidate |
[1]:candidate [2]:[1]:%select{function|function|constructor| [2]:[1]:function |function |constructor | [2]:[1]:is the implicit default constructor| [2]:[1]:is the implicit copy constructor| [2]:[1]:is the implicit move constructor| [2]:[1]:is the implicit copy assignment operator| [2]:[1]:is the implicit move assignment operator| [2]:[1]:is an inherited constructor}0%1 [2]:[1]:%select{| has different class%diff{ (expected $ but has $)|}3,4 [2]:[1]:| has different number of parameters (expected %3 but has %4) [2]:[1]:| has type mismatch at %ordinal3 parameter [2]:[1]:%diff{ (expected $ but has $)|}4,5 [2]:[1]:| has different return type%diff{ ($ expected but has $)|}3,4 [2]:[1]:| has different qualifiers (expected [2]:[1]:%select{none|const|restrict|const and restrict|volatile|const and volatile [2]:[1]:|volatile and restrict|const, volatile, and restrict}3 but found [2]:[1]:%select{none|const|restrict|const and restrict|volatile|const and volatile [2]:|volatile and restrict|const, volatile, and restrict}4)}2 |
Note |
note_ovl_candidate_inherited_constructor |
inherited from here |
Note |
note_ovl_candidate_illegal_constructor |
[1]:candidate %select{constructor|template}0 ignored: [2]:instantiation %select{takes|would take}0 its own class type by value |
Note |
note_ovl_candidate_bad_deduction |
candidate template ignored: failed template argument deduction |
Note |
note_ovl_candidate_incomplete_deduction |
[1]:candidate template ignored: [2]:couldn't infer template argument %0 |
Note |
note_ovl_candidate_inconsistent_deduction |
[1]:candidate template ignored: deduced conflicting %select{types|values| [2]:templates}0 for parameter %1%diff{ ($ vs. $)|}2,3 |
Note |
note_ovl_candidate_explicit_arg_mismatch_named |
[1]:candidate template ignored: invalid explicitly-specified argument [2]:for template parameter %0 |
Note |
note_ovl_candidate_explicit_arg_mismatch_unnamed |
[1]:candidate template ignored: invalid explicitly-specified argument [2]:for %ordinal0 template parameter |
Note |
note_ovl_candidate_instantiation_depth |
[1]:candidate template ignored: substitution exceeded maximum template [2]:instantiation depth |
Note |
note_ovl_candidate_underqualified |
[1]:candidate template ignored: cannot deduce a type for %0 that would [2]:make %2 equal %1 |
Note |
note_ovl_candidate_substitution_failure |
candidate template ignored: substitution failure%0%1 |
Note |
note_ovl_candidate_disabled_by_enable_if |
candidate template ignored: disabled by %0%1 |
Note |
note_ovl_candidate_has_pass_object_size_params |
[1]:candidate address cannot be taken because parameter %0 has [2]:pass_object_size attribute |
Note |
note_ovl_candidate_disabled_by_enable_if_attr |
candidate disabled: %0 |
Error |
err_addrof_function_disabled_by_enable_if_attr |
[1]:cannot take address of function %0 becuase it has one or more [2]:non-tautological enable_if conditions |
Note |
note_addrof_ovl_candidate_disabled_by_enable_if_attr |
candidate function made ineligible by enable_if |
Note |
note_ovl_candidate_failed_overload_resolution |
[1]:candidate template ignored: couldn't resolve reference to overloaded [2]:function %0 |
Note |
note_ovl_candidate_deduced_mismatch |
[1]:candidate template ignored: deduced type [2]:[1]:%diff{$ of %ordinal0 parameter does not match adjusted type $ of argument [2]:|of %ordinal0 parameter does not match adjusted type of argument}1,2%3 |
Note |
note_ovl_candidate_non_deduced_mismatch |
candidate template ignored: could not match %diff{$ against $|types}0,1 |
Note |
note_ovl_candidate_non_deduced_mismatch_qualified |
candidate template ignored: could not match %q0 against %q1 |
Note |
note_ovl_candidate_arity |
[1]:candidate [2]:[1]:%select{function|function|constructor|function|function|constructor| [2]:[1]:constructor (the implicit default constructor)| [2]:[1]:constructor (the implicit copy constructor)| [2]:[1]:constructor (the implicit move constructor)| [2]:[1]:function (the implicit copy assignment operator)| [2]:[1]:function (the implicit move assignment operator)| [2]:[1]:constructor (inherited)}0 %select{|template }1 [2]:[1]:not viable: requires%select{ at least| at most|}2 %3 argument%s3, but %4 [2]:%plural{1:was|:were}4 provided |
Note |
note_ovl_candidate_arity_one |
[1]:candidate [2]:[1]:%select{function|function|constructor|function|function|constructor| [2]:[1]:constructor (the implicit default constructor)| [2]:[1]:constructor (the implicit copy constructor)| [2]:[1]:constructor (the implicit move constructor)| [2]:[1]:function (the implicit copy assignment operator)| [2]:[1]:function (the implicit move assignment operator)| [2]:[1]:constructor (inherited)}0 %select{|template }1not viable: [2]:[1]:%select{requires at least|allows at most single|requires single}2 [2]:argument %3, but %plural{0:no|:%4}4 arguments were provided |
Note |
note_ovl_candidate_deleted |
[1]:candidate %select{function|function|constructor| [2]:[1]:function |function |constructor | [2]:[1]:constructor (the implicit default constructor)| [2]:[1]:constructor (the implicit copy constructor)| [2]:[1]:constructor (the implicit move constructor)| [2]:[1]:function (the implicit copy assignment operator)| [2]:[1]:function (the implicit move assignment operator)| [2]:[1]:constructor (inherited)}0%1 has been [2]:[1]:%select{explicitly made unavailable|explicitly deleted| [2]:implicitly deleted}2 |
Note |
note_ovl_candidate_bad_conv_incomplete |
[1]:candidate [2]:[1]:%select{function|function|constructor| [2]:[1]:function |function |constructor | [2]:[1]:constructor (the implicit default constructor)| [2]:[1]:constructor (the implicit copy constructor)| [2]:[1]:constructor (the implicit move constructor)| [2]:[1]:function (the implicit copy assignment operator)| [2]:[1]:function (the implicit move assignment operator)| [2]:[1]:constructor (inherited)}0%1 [2]:[1]:not viable: cannot convert argument of incomplete type [2]:[1]:%diff{$ to $|to parameter type}2,3 for [2]:[1]:%select{%ordinal5 argument|object argument}4 [2]:[1]:%select{|; dereference the argument with *| [2]:[1]:; take the address of the argument with &| [2]:[1]:; remove *| [2]:; remove &}6 |
Note |
note_ovl_candidate_bad_list_argument |
[1]:candidate [2]:[1]:%select{function|function|constructor| [2]:[1]:function |function |constructor | [2]:[1]:constructor (the implicit default constructor)| [2]:[1]:constructor (the implicit copy constructor)| [2]:[1]:constructor (the implicit move constructor)| [2]:[1]:function (the implicit copy assignment operator)| [2]:[1]:function (the implicit move assignment operator)| [2]:[1]:constructor (inherited)}0%1 [2]:not viable: cannot convert initializer list argument to %3 |
Note |
note_ovl_candidate_bad_overload |
[1]:candidate [2]:[1]:%select{function|function|constructor| [2]:[1]:function |function |constructor | [2]:[1]:constructor (the implicit default constructor)| [2]:[1]:constructor (the implicit copy constructor)| [2]:[1]:constructor (the implicit move constructor)| [2]:[1]:function (the implicit copy assignment operator)| [2]:[1]:function (the implicit move assignment operator)| [2]:[1]:constructor (inherited)}0%1 [2]: not viable: no overload of %3 matching %2 for %ordinal4 argument |
Note |
note_ovl_candidate_bad_conv |
[1]:candidate [2]:[1]:%select{function|function|constructor| [2]:[1]:function |function |constructor | [2]:[1]:constructor (the implicit default constructor)| [2]:[1]:constructor (the implicit copy constructor)| [2]:[1]:constructor (the implicit move constructor)| [2]:[1]:function (the implicit copy assignment operator)| [2]:[1]:function (the implicit move assignment operator)| [2]:[1]:constructor (inherited)}0%1 [2]:[1]: not viable: no known conversion [2]:[1]:%diff{from $ to $|from argument type to parameter type}2,3 for [2]:[1]:%select{%ordinal5 argument|object argument}4 [2]:[1]:%select{|; dereference the argument with *| [2]:[1]:; take the address of the argument with &| [2]:[1]:; remove *| [2]:; remove &}6 |
Note |
note_ovl_candidate_bad_arc_conv |
[1]:candidate [2]:[1]:%select{function|function|constructor| [2]:[1]:function |function |constructor | [2]:[1]:constructor (the implicit default constructor)| [2]:[1]:constructor (the implicit copy constructor)| [2]:[1]:constructor (the implicit move constructor)| [2]:[1]:function (the implicit copy assignment operator)| [2]:[1]:function (the implicit move assignment operator)| [2]:[1]:constructor (inherited)}0%1 [2]:[1]: not viable: cannot implicitly convert argument [2]:[1]:%diff{of type $ to $|type to parameter type}2,3 for [2]:%select{%ordinal5 argument|object argument}4 under ARC |
Note |
note_ovl_candidate_bad_lvalue |
[1]:candidate [2]:[1]:%select{function|function|constructor| [2]:[1]:function |function |constructor | [2]:[1]:constructor (the implicit default constructor)| [2]:[1]:constructor (the implicit copy constructor)| [2]:[1]:constructor (the implicit move constructor)| [2]:[1]:function (the implicit copy assignment operator)| [2]:[1]:function (the implicit move assignment operator)| [2]:[1]:constructor (inherited)}0%1 [2]:[1]: not viable: expects an l-value for [2]:%select{%ordinal3 argument|object argument}2 |
Note |
note_ovl_candidate_bad_addrspace |
[1]:candidate [2]:[1]:%select{function|function|constructor| [2]:[1]:function |function |constructor | [2]:[1]:constructor (the implicit default constructor)| [2]:[1]:constructor (the implicit copy constructor)| [2]:[1]:constructor (the implicit move constructor)| [2]:[1]:function (the implicit copy assignment operator)| [2]:[1]:function (the implicit move assignment operator)| [2]:[1]:constructor (inherited)}0%1 not viable: [2]:[1]:%select{%ordinal6|'this'}5 argument (%2) is in [2]:address space %3, but parameter must be in address space %4 |
Note |
note_ovl_candidate_bad_gc |
[1]:candidate [2]:[1]:%select{function|function|constructor| [2]:[1]:function |function |constructor | [2]:[1]:constructor (the implicit default constructor)| [2]:[1]:constructor (the implicit copy constructor)| [2]:[1]:constructor (the implicit move constructor)| [2]:[1]:function (the implicit copy assignment operator)| [2]:[1]:function (the implicit move assignment operator)| [2]:[1]:constructor (inherited)}0%1 not viable: [2]:[1]:%select{%ordinal6|'this'}5 argument (%2) has %select{no|__weak|__strong}3 [2]:ownership, but parameter has %select{no|__weak|__strong}4 ownership |
Note |
note_ovl_candidate_bad_ownership |
[1]:candidate [2]:[1]:%select{function|function|constructor| [2]:[1]:function |function |constructor | [2]:[1]:constructor (the implicit default constructor)| [2]:[1]:constructor (the implicit copy constructor)| [2]:[1]:constructor (the implicit move constructor)| [2]:[1]:function (the implicit copy assignment operator)| [2]:[1]:function (the implicit move assignment operator)| [2]:[1]:constructor (inherited)}0%1 not viable: [2]:[1]:%select{%ordinal6|'this'}5 argument (%2) has [2]:[1]:%select{no|__unsafe_unretained|__strong|__weak|__autoreleasing}3 ownership, [2]:[1]: but parameter has %select{no|__unsafe_unretained|__strong|__weak| [2]:__autoreleasing}4 ownership |
Note |
note_ovl_candidate_bad_cvr_this |
[1]:candidate [2]:[1]:%select{|function|||function||||| [2]:[1]:function (the implicit copy assignment operator)| [2]:[1]:function (the implicit move assignment operator)|}0 not viable: [2]:[1]:'this' argument has type %2, but method is not marked [2]:[1]:%select{const|restrict|const or restrict|volatile|const or volatile| [2]:volatile or restrict|const, volatile, or restrict}3 |
Note |
note_ovl_candidate_bad_cvr |
[1]:candidate [2]:[1]:%select{function|function|constructor| [2]:[1]:function |function |constructor | [2]:[1]:constructor (the implicit default constructor)| [2]:[1]:constructor (the implicit copy constructor)| [2]:[1]:constructor (the implicit move constructor)| [2]:[1]:function (the implicit copy assignment operator)| [2]:[1]:function (the implicit move assignment operator)| [2]:[1]:constructor (inherited)}0%1 not viable: [2]:[1]:%ordinal4 argument (%2) would lose [2]:[1]:%select{const|restrict|const and restrict|volatile|const and volatile| [2]:[1]:volatile and restrict|const, volatile, and restrict}3 qualifier [2]:%select{||s||s|s|s}3 |
Note |
note_ovl_candidate_bad_base_to_derived_conv |
[1]:candidate [2]:[1]:%select{function|function|constructor| [2]:[1]:function |function |constructor | [2]:[1]:constructor (the implicit default constructor)| [2]:[1]:constructor (the implicit copy constructor)| [2]:[1]:constructor (the implicit move constructor)| [2]:[1]:function (the implicit copy assignment operator)| [2]:[1]:function (the implicit move assignment operator)| [2]:[1]:constructor (inherited)}0%1 [2]:[1]: not viable: cannot %select{convert from|convert from|bind}2 [2]:[1]:%select{base class pointer|superclass|base class object of type}2 %3 to [2]:[1]:%select{derived class pointer|subclass|derived class reference}2 %4 for [2]:%ordinal5 argument |
Note |
note_ovl_candidate_bad_target |
[1]:candidate %select{function|function|constructor| [2]:[1]:function |function |constructor | [2]:[1]:constructor (the implicit default constructor)| [2]:[1]:constructor (the implicit copy constructor)| [2]:[1]:constructor (the implicit move constructor)| [2]:[1]:function (the implicit copy assignment operator)| [2]:[1]:function (the implicit move assignment operator)| [2]:[1]:constructor (inherited)}0 not viable: call to [2]:[1]:%select{__device__|__global__|__host__|__host__ __device__|invalid}1 function from [2]: %select{__device__|__global__|__host__|__host__ __device__|invalid}2 function |
Note |
note_implicit_member_target_infer_collision |
[1]:implicit %select{ [2]:[1]:default constructor| [2]:[1]:copy constructor| [2]:[1]:move constructor| [2]:[1]:copy assignment operator| [2]:[1]:move assignment operator| [2]:[1]:destructor}0 inferred target collision: call to both [2]:[1]:%select{__device__|__global__|__host__|__host__ __device__}1 and [2]:%select{__device__|__global__|__host__|__host__ __device__}2 members |
Note |
note_ambiguous_type_conversion |
because of ambiguity in conversion %diff{of $ to $|between types}0,1 |
Note |
note_ovl_builtin_binary_candidate |
built-in candidate %0 |
Note |
note_ovl_builtin_unary_candidate |
built-in candidate %0 |
Error |
err_ovl_no_viable_function_in_init |
no matching constructor for initialization of %0 |
Error |
err_ovl_no_conversion_in_cast |
cannot convert %1 to %2 without a conversion operator |
Error |
err_ovl_no_viable_conversion_in_cast |
[1]:no matching conversion for %select{|static_cast|reinterpret_cast| [2]:dynamic_cast|C-style cast|functional-style cast}0 from %1 to %2 |
Error |
err_ovl_ambiguous_conversion_in_cast |
[1]:ambiguous conversion for %select{|static_cast|reinterpret_cast| [2]:dynamic_cast|C-style cast|functional-style cast}0 from %1 to %2 |
Error |
err_ovl_deleted_conversion_in_cast |
[1]:%select{|static_cast|reinterpret_cast|dynamic_cast|C-style cast| [2]:functional-style cast}0 from %1 to %2 uses deleted function |
Error |
err_ovl_ambiguous_init |
call to constructor of %0 is ambiguous |
Error |
err_ref_init_ambiguous |
reference initialization of type %0 with initializer of type %1 is ambiguous |
Error |
err_ovl_deleted_init |
call to %select{unavailable|deleted}0 constructor of %1 |
Error |
err_ovl_deleted_special_init |
[1]:call to implicitly-deleted %select{default constructor|copy constructor| [2]:[1]:move constructor|copy assignment operator|move assignment operator| [2]:destructor|function}0 of %1 |
Error |
err_ovl_ambiguous_oper_unary |
use of overloaded operator '%0' is ambiguous (operand type %1) |
Error |
err_ovl_ambiguous_oper_binary |
use of overloaded operator '%0' is ambiguous (with operand types %1 and %2) |
Error |
err_ovl_no_viable_oper |
no viable overloaded '%0' |
Note |
note_assign_lhs_incomplete |
type %0 is incomplete |
Error |
err_ovl_deleted_oper |
overload resolution selected %select{unavailable|deleted}0 operator '%1'%2 |
Error |
err_ovl_deleted_special_oper |
[1]:object of type %0 cannot be %select{constructed|copied|moved|assigned| [2]:[1]:assigned|destroyed}1 because its %select{default constructor| [2]:[1]:copy constructor|move constructor|copy assignment operator| [2]:move assignment operator|destructor}1 is implicitly deleted |
Error |
err_ovl_no_viable_subscript |
no viable overloaded operator[] for type %0 |
Error |
err_ovl_no_oper |
type %0 does not provide a %select{subscript|call}1 operator |
Error |
err_ovl_unresolvable |
[1]:reference to overloaded function could not be resolved; [2]:did you mean to call it%select{| with no arguments}0? |
Error |
err_bound_member_function |
[1]:reference to non-static member function must be called [2]:%select{|; did you mean to call it with no arguments?}0 |
Note |
note_possible_target_of_call |
possible target for call |
Error |
err_ovl_no_viable_object_call |
no matching function for call to object of type %0 |
Error |
err_ovl_ambiguous_object_call |
call to object of type %0 is ambiguous |
Error |
err_ovl_deleted_object_call |
call to %select{unavailable|deleted}0 function call operator in type %1%2 |
Note |
note_ovl_surrogate_cand |
conversion candidate of type %0 |
Error |
err_member_call_without_object |
call to non-static member function without an object argument |
Error |
err_addr_ovl_no_viable |
address of overloaded function %0 does not match required type %1 |
Error |
err_addr_ovl_ambiguous |
address of overloaded function %0 is ambiguous |
Error |
err_addr_ovl_not_func_ptrref |
address of overloaded function %0 cannot be converted to type %1 |
Error |
err_addr_ovl_no_qualifier |
cannot form member pointer of type %0 without '&' and class name |
Error |
err_ovl_no_viable_literal_operator |
[1]:no matching literal operator for call to %0 [2]:[1]:%select{| with argument of type %2| with arguments of types %2 and %3}1 [2]:[1]:%select{| or 'const char *'}4 [2]:%select{|, and no matching literal operator template}5 |
Error |
err_template_param_shadow |
declaration of %0 shadows template parameter |
Note |
note_template_param_here |
template parameter is declared here |
Warning |
warn_template_export_unsupported |
exported templates are unsupported |
Error |
err_template_outside_namespace_or_class_scope |
templates can only be declared in namespace or class scope |
Error |
err_template_inside_local_class |
templates cannot be declared inside of a local class |
Error |
err_template_linkage |
templates must have C++ linkage |
Error |
err_template_typedef |
a typedef cannot be a template |
Error |
err_template_unnamed_class |
cannot declare a class template with no name |
Error |
err_template_param_list_different_arity |
[1]:%select{too few|too many}0 template parameters in template [2]:%select{|template parameter }1redeclaration |
Note |
note_template_param_list_different_arity |
[1]:%select{too few|too many}0 template parameters in template template [2]:argument |
Note |
note_template_prev_declaration |
previous template %select{declaration|template parameter}0 is here |
Error |
err_template_param_different_kind |
[1]:template parameter has a different kind in template [2]:%select{|template parameter }0redeclaration |
Note |
note_template_param_different_kind |
template parameter has a different kind in template argument |
Error |
err_template_nontype_parm_different_type |
[1]:template non-type parameter has a different type %0 in template [2]:%select{|template parameter }1redeclaration |
Note |
note_template_nontype_parm_different_type |
template non-type parameter has a different type %0 in template argument |
Note |
note_template_nontype_parm_prev_declaration |
previous non-type template parameter with type %0 is here |
Error |
err_template_nontype_parm_bad_type |
a non-type template parameter cannot have type %0 |
Error |
err_template_param_default_arg_redefinition |
template parameter redefines default argument |
Note |
note_template_param_prev_default_arg |
previous default template argument defined here |
Error |
err_template_param_default_arg_missing |
template parameter missing a default argument |
ExtWarn |
ext_template_parameter_default_in_function_template |
default template arguments for a function template are a C++11 extension |
Warning |
warn_cxx98_compat_template_parameter_default_in_function_template |
default template arguments for a function template are incompatible with C++98 |
Error |
err_template_parameter_default_template_member |
[1]:cannot add a default template argument to the definition of a member of a [2]:class template |
Error |
err_template_parameter_default_friend_template |
default template argument not permitted on a friend template |
Error |
err_template_template_parm_no_parms |
template template parameter must have its own template parameters |
ExtWarn |
ext_variable_template |
variable templates are a C++14 extension |
Warning |
warn_cxx11_compat_variable_template |
variable templates are incompatible with C++ standards before C++14 |
Error |
err_template_variable_noparams |
extraneous 'template<>' in declaration of variable %0 |
Error |
err_template_member |
member %0 declared as a template |
Error |
err_template_member_noparams |
extraneous 'template<>' in declaration of member %0 |
Error |
err_template_tag_noparams |
extraneous 'template<>' in declaration of %0 %1 |
Error |
err_template_decl_ref |
cannot refer to %select{class|variable}0 template %1 without a template argument list |
Error |
err_template_missing_args |
use of class template %0 requires template arguments |
Error |
err_template_arg_list_different_arity |
[1]:%select{too few|too many}0 template arguments for [2]:[1]:%select{class template|function template|template template parameter [2]:|template}1 %2 |
Note |
note_template_decl_here |
template is declared here |
Error |
err_template_arg_must_be_type |
template argument for template type parameter must be a type |
Error |
err_template_arg_must_be_type_suggest |
[1]:template argument for template type parameter must be a type; [2]:did you forget 'typename'? |
ExtWarn |
ext_ms_template_type_arg_missing_typename |
[1]:template argument for template type parameter must be a type; [2]:omitted 'typename' is a Microsoft extension |
Error |
err_template_arg_must_be_expr |
template argument for non-type template parameter must be an expression |
Error |
err_template_arg_nontype_ambig |
template argument for non-type template parameter is treated as function type %0 |
Error |
err_template_arg_must_be_template |
template argument for template template parameter must be a class template%select{| or type alias template}0 |
ExtWarn |
ext_template_arg_local_type |
template argument uses local type %0 |
ExtWarn |
ext_template_arg_unnamed_type |
template argument uses unnamed type |
Warning |
warn_cxx98_compat_template_arg_local_type |
local type %0 as template argument is incompatible with C++98 |
Warning |
warn_cxx98_compat_template_arg_unnamed_type |
unnamed type as template argument is incompatible with C++98 |
Note |
note_template_unnamed_type_here |
unnamed type used in template argument was declared here |
Error |
err_template_arg_overload_type |
template argument is the type of an unresolved overloaded function |
Error |
err_template_arg_not_class_template |
[1]:template argument does not refer to a class template or template [2]:template parameter |
Note |
note_template_arg_refers_here_func |
template argument refers to function template %0, here |
Error |
err_template_arg_template_params_mismatch |
[1]:template template argument has different template parameters than its [2]:corresponding template template parameter |
Error |
err_template_arg_not_integral_or_enumeral |
[1]:non-type template argument of type %0 must have an integral or enumeration [2]: type |
Error |
err_template_arg_not_ice |
[1]:non-type template argument of type %0 is not an integral constant [2]:expression |
Error |
err_template_arg_not_address_constant |
non-type template argument of type %0 is not a constant expression |
Warning |
warn_cxx98_compat_template_arg_null |
[1]:use of null pointer as non-type template argument is incompatible with [2]:C++98 |
Error |
err_template_arg_untyped_null_constant |
null non-type template argument must be cast to template parameter type %0 |
Error |
err_template_arg_wrongtype_null_constant |
[1]:null non-type template argument of type %0 does not match template parameter [2]:of type %1 |
Error |
err_deduced_non_type_template_arg_type_mismatch |
[1]:deduced non-type template argument does not have the same type as the [2]:its corresponding template parameter%diff{ ($ vs $)|}0,1 |
Error |
err_non_type_template_arg_subobject |
non-type template argument refers to subobject '%0' |
Error |
err_non_type_template_arg_addr_label_diff |
template argument / label address difference / what did you expect? |
Error |
err_template_arg_not_convertible |
[1]:non-type template argument of type %0 cannot be converted to a value [2]:of type %1 |
Warning |
warn_template_arg_negative |
[1]:non-type template argument with value '%0' converted to '%1' for unsigned [2]:template parameter of type %2 |
Warning |
warn_template_arg_too_large |
[1]:non-type template argument value '%0' truncated to '%1' for [2]:template parameter of type %2 |
Error |
err_template_arg_no_ref_bind |
[1]:non-type template parameter of reference type [2]:[1]:%diff{$ cannot bind to template argument of type $ [2]:|cannot bind to template of incompatible argument type}0,1 |
Error |
err_template_arg_ref_bind_ignores_quals |
[1]:reference binding of non-type template parameter [2]:[1]:%diff{of type $ to template argument of type $|to template argument}0,1 [2]:ignores qualifiers |
Error |
err_template_arg_not_decl_ref |
non-type template argument does not refer to any declaration |
Error |
err_template_arg_not_address_of |
[1]:non-type template argument for template parameter of pointer type %0 must [2]:have its address taken |
Error |
err_template_arg_address_of_non_pointer |
[1]:address taken in non-type template argument for template parameter of [2]:reference type %0 |
Error |
err_template_arg_reference_var |
non-type template argument of reference type %0 is not an object |
Error |
err_template_arg_field |
non-type template argument refers to non-static data member %0 |
Error |
err_template_arg_method |
non-type template argument refers to non-static member function %0 |
Error |
err_template_arg_object_no_linkage |
[1]:non-type template argument refers to %select{function|object}0 %1 that [2]:does not have linkage |
Warning |
warn_cxx98_compat_template_arg_object_internal |
[1]:non-type template argument referring to %select{function|object}0 %1 with [2]:internal linkage is incompatible with C++98 |
ExtWarn |
ext_template_arg_object_internal |
[1]:non-type template argument referring to %select{function|object}0 %1 with [2]:internal linkage is a C++11 extension |
Error |
err_template_arg_thread_local |
non-type template argument refers to thread-local object |
Note |
note_template_arg_internal_object |
non-type template argument refers to %select{function|object}0 here |
Note |
note_template_arg_refers_here |
non-type template argument refers here |
Error |
err_template_arg_not_object_or_func |
non-type template argument does not refer to an object or function |
Error |
err_template_arg_not_pointer_to_member_form |
non-type template argument is not a pointer to member constant |
Error |
err_template_arg_member_ptr_base_derived_not_supported |
[1]:sorry, non-type template argument of pointer-to-member type %1 that refers [2]:to member %q0 of a different class is not supported yet |
ExtWarn |
ext_template_arg_extra_parens |
address non-type template argument cannot be surrounded by parentheses |
Warning |
warn_cxx98_compat_template_arg_extra_parens |
[1]:redundant parentheses surrounding address non-type template argument are [2]:incompatible with C++98 |
Error |
err_pointer_to_member_type |
invalid use of pointer to member type after %select{.*|->*}0 |
Error |
err_pointer_to_member_call_drops_quals |
call to pointer to member function of type %0 drops '%1' qualifier%s2 |
Error |
err_pointer_to_member_oper_value_classify |
[1]:pointer-to-member function type %0 can only be called on an [2]:%select{rvalue|lvalue}1 |
ExtWarn |
ext_ms_deref_template_argument |
[1]:non-type template argument containing a dereference operation is a [2]:Microsoft extension |
ExtWarn |
ext_ms_delayed_template_argument |
[1]:using the undeclared type %0 as a default template argument is a [2]:Microsoft extension |
Error |
err_template_spec_unknown_kind |
[1]:can only provide an explicit specialization for a class template, function [2]:[1]:template, variable template, or a member function, static data member, [2]:[1]:%select{or member class|member class, or member enumeration}0 of a [2]:class template |
Note |
note_specialized_entity |
explicitly specialized declaration is here |
Error |
err_template_spec_decl_function_scope |
explicit specialization of %0 in function scope |
Error |
err_template_spec_decl_class_scope |
explicit specialization of %0 in class scope |
Error |
err_template_spec_decl_friend |
cannot declare an explicit specialization in a friend |
Error |
err_template_spec_decl_out_of_scope_global |
[1]:%select{class template|class template partial|variable template| [2]:[1]:variable template partial|function template|member function| [2]:[1]:static data member|member class|member enumeration}0 [2]:specialization of %1 must originally be declared in the global scope |
Error |
err_template_spec_decl_out_of_scope |
[1]:%select{class template|class template partial|variable template| [2]:[1]:variable template partial|function template|member [2]:[1]:function|static data member|member class|member enumeration}0 [2]:specialization of %1 must originally be declared in namespace %2 |
ExtWarn |
ext_template_spec_decl_out_of_scope |
[1]:first declaration of %select{class template|class template partial| [2]:[1]:variable template|variable template partial| [2]:[1]:function template|member function|static data member|member class| [2]:[1]:member enumeration}0 specialization of %1 outside namespace %2 is a [2]:C++11 extension |
Warning |
warn_cxx98_compat_template_spec_decl_out_of_scope |
[1]:%select{class template|class template partial|variable template| [2]:[1]:variable template partial|function template|member [2]:[1]:function|static data member|member class|member enumeration}0 [2]:specialization of %1 outside namespace %2 is incompatible with C++98 |
Error |
err_template_spec_redecl_out_of_scope |
[1]:%select{class template|class template partial|variable template| [2]:[1]:variable template partial|function template|member [2]:[1]:function|static data member|member class|member enumeration}0 [2]:specialization of %1 not in a namespace enclosing %2 |
ExtWarn |
ext_ms_template_spec_redecl_out_of_scope |
[1]:%select{class template|class template partial|variable template| [2]:[1]:variable template partial|function template|member [2]:[1]:function|static data member|member class|member enumeration}0 [2]:[1]:specialization of %1 outside namespace enclosing %2 [2]:is a Microsoft extension |
Error |
err_template_spec_redecl_global_scope |
[1]:%select{class template|class template partial|variable template| [2]:[1]:variable template partial|function template|member [2]:[1]:function|static data member|member class|member enumeration}0 [2]:specialization of %1 must occur at global scope |
Error |
err_spec_member_not_instantiated |
specialization of member %q0 does not specialize an instantiated member |
Note |
note_specialized_decl |
attempt to specialize declaration here |
Error |
err_specialization_after_instantiation |
explicit specialization of %0 after instantiation |
Note |
note_instantiation_required_here |
%select{implicit|explicit}0 instantiation first required here |
Error |
err_template_spec_friend |
template specialization declaration cannot be a friend |
Error |
err_template_spec_default_arg |
[1]:default argument not permitted on an explicit [2]:%select{instantiation|specialization}0 of function %1 |
Error |
err_not_class_template_specialization |
[1]:cannot specialize a %select{dependent template|template template [2]:parameter}0 |
Error |
err_function_specialization_in_class |
cannot specialize a function %0 within class scope |
ExtWarn |
ext_function_specialization_in_class |
explicit specialization of %0 within class scope is a Microsoft extension |
ExtWarn |
ext_explicit_specialization_storage_class |
explicit specialization cannot have a storage class |
Error |
err_explicit_specialization_inconsistent_storage_class |
[1]:explicit specialization has extraneous, inconsistent storage class [2]:'%select{none|extern|static|__private_extern__|auto|register}0' |
Error |
err_template_spec_needs_header |
template specialization requires 'template<>' |
Error |
err_template_spec_needs_template_parameters |
[1]:template specialization or definition requires a template parameter list [2]:corresponding to the nested type %0 |
Error |
err_template_param_list_matches_nontemplate |
[1]:template parameter list matching the non-templated nested type %0 should [2]:be empty ('template<>') |
Error |
err_alias_template_extra_headers |
extraneous template parameter list in alias template declaration |
Error |
err_template_spec_extra_headers |
[1]:extraneous template parameter list in template specialization or [2]:out-of-line template definition |
Warning |
warn_template_spec_extra_headers |
extraneous template parameter list in template specialization |
Note |
note_explicit_template_spec_does_not_need_header |
[1]:'template<>' header not required for explicitly-specialized class %0 [2]:declared here |
Error |
err_template_qualified_declarator_no_match |
[1]:nested name specifier '%0' for declaration does not refer into a class, [2]:class template or class template partial specialization |
Error |
err_specialize_member_of_template |
[1]:cannot specialize %select{|(with 'template<>') }0a member of an [2]:unspecialized template |
Error |
err_default_arg_in_partial_spec |
default template argument in a class template partial specialization |
Error |
err_dependent_non_type_arg_in_partial_spec |
[1]:non-type template argument depends on a template parameter of the [2]:partial specialization |
Note |
note_dependent_non_type_default_arg_in_partial_spec |
template parameter is used in default argument declared here |
Error |
err_dependent_typed_non_type_arg_in_partial_spec |
[1]:non-type template argument specializes a template parameter with [2]:dependent type %0 |
Error |
err_partial_spec_args_match_primary_template |
[1]:%select{class|variable}0 template partial specialization does not [2]:[1]:specialize any template argument; to %select{declare|define}1 the [2]:primary template, remove the template argument list |
Warning |
warn_partial_specs_not_deducible |
[1]:%select{class|variable}0 template partial specialization contains [2]:[1]:%select{a template parameter|template parameters}1 that cannot be [2]:deduced; this partial specialization will never be used |
Note |
note_partial_spec_unused_parameter |
non-deducible template parameter %0 |
Error |
err_partial_spec_ordering_ambiguous |
ambiguous partial specializations of %0 |
Note |
note_partial_spec_match |
partial specialization matches %0 |
Error |
err_partial_spec_redeclared |
class template partial specialization %0 cannot be redeclared |
Note |
note_prev_partial_spec_here |
previous declaration of class template partial specialization %0 is here |
Error |
err_partial_spec_fully_specialized |
partial specialization of %0 does not use any of its template parameters |
Error |
err_var_partial_spec_redeclared |
variable template partial specialization %0 cannot be redefined |
Note |
note_var_prev_partial_spec_here |
previous declaration of variable template partial specialization is here |
Error |
err_var_spec_no_template |
no variable template matches%select{| partial}0 specialization |
Error |
err_var_spec_no_template_but_method |
[1]:no variable template matches specialization; [2]:did you mean to use %0 as function template instead? |
Error |
err_function_template_spec_no_match |
no function template matches function template specialization %0 |
Error |
err_function_template_spec_ambiguous |
[1]:function template specialization %0 ambiguously refers to more than one [2]:[1]:function template; explicitly specify%select{| additional}1 template [2]:arguments to identify a particular function template |
Note |
note_function_template_spec_matched |
function template matches specialization %0 |
Error |
err_function_template_partial_spec |
function template partial specialization is not allowed |
Error |
err_template_recursion_depth_exceeded |
recursive template instantiation exceeded maximum depth of %0 |
Note |
note_template_recursion_depth |
use -ftemplate-depth=N to increase recursive template instantiation depth |
Error |
err_template_instantiate_within_definition |
[1]:%select{implicit|explicit}0 instantiation of template %1 within its [2]: own definition |
Error |
err_template_instantiate_undefined |
%select{implicit|explicit}0 instantiation of undefined template %1 |
Error |
err_implicit_instantiate_member_undefined |
implicit instantiation of undefined member %0 |
Note |
note_template_class_instantiation_was_here |
class template %0 was instantiated here |
Note |
note_template_class_explicit_specialization_was_here |
class template %0 was explicitly specialized here |
Note |
note_template_class_instantiation_here |
in instantiation of template class %0 requested here |
Note |
note_template_member_class_here |
in instantiation of member class %0 requested here |
Note |
note_template_member_function_here |
in instantiation of member function %q0 requested here |
Note |
note_function_template_spec_here |
in instantiation of function template specialization %q0 requested here |
Note |
note_template_static_data_member_def_here |
in instantiation of static data member %q0 requested here |
Note |
note_template_variable_def_here |
in instantiation of variable template specialization %q0 requested here |
Note |
note_template_enum_def_here |
in instantiation of enumeration %q0 requested here |
Note |
note_template_nsdmi_here |
in instantiation of default member initializer %q0 requested here |
Note |
note_template_type_alias_instantiation_here |
in instantiation of template type alias %0 requested here |
Note |
note_template_exception_spec_instantiation_here |
in instantiation of exception specification for %0 requested here |
Note |
note_default_arg_instantiation_here |
in instantiation of default argument for '%0' required here |
Note |
note_default_function_arg_instantiation_here |
[1]:in instantiation of default function argument expression [2]:for '%0' required here |
Note |
note_explicit_template_arg_substitution_here |
[1]:while substituting explicitly-specified template arguments into function [2]:template %0 %1 |
Note |
note_function_template_deduction_instantiation_here |
[1]:while substituting deduced template arguments into function template %0 [2]:%1 |
Note |
note_partial_spec_deduct_instantiation_here |
[1]:during template argument deduction for class template partial [2]:specialization %0 %1 |
Note |
note_prior_template_arg_substitution |
[1]:while substituting prior template arguments into %select{non-type|template}0 [2]: template parameter%1 %2 |
Note |
note_template_default_arg_checking |
while checking a default template argument used here |
Note |
note_instantiation_contexts_suppressed |
[1]:(skipping %0 context%s0 in backtrace; use -ftemplate-backtrace-limit=0 to [2]:see all) |
Error |
err_field_instantiates_to_function |
data member instantiated with function type %0 |
Error |
err_variable_instantiates_to_function |
%select{variable|static data member}0 instantiated with function type %1 |
Error |
err_nested_name_spec_non_tag |
type %0 cannot be used prior to '::' because it has no members |
Error |
err_explicit_instantiation_duplicate |
duplicate explicit instantiation of %0 |
ExtWarn |
ext_explicit_instantiation_duplicate |
duplicate explicit instantiation of %0 ignored as a Microsoft extension |
Note |
note_previous_explicit_instantiation |
previous explicit instantiation is here |
Extension |
ext_explicit_instantiation_after_specialization |
[1]:explicit instantiation of %0 that occurs after an explicit [2]:specialization will be ignored (C++11 extension) |
Warning |
warn_cxx98_compat_explicit_instantiation_after_specialization |
[1]:explicit instantiation of %0 that occurs after an explicit [2]:specialization is incompatible with C++98 |
Note |
note_previous_template_specialization |
previous template specialization is here |
Error |
err_explicit_instantiation_nontemplate_type |
explicit instantiation of non-templated type %0 |
Note |
note_nontemplate_decl_here |
non-templated declaration is here |
Error |
err_explicit_instantiation_in_class |
explicit instantiation of %0 in class scope |
Error |
err_explicit_instantiation_out_of_scope |
explicit instantiation of %0 not in a namespace enclosing %1 |
Error |
err_explicit_instantiation_must_be_global |
explicit instantiation of %0 must occur at global scope |
Warning |
warn_explicit_instantiation_out_of_scope_0x |
explicit instantiation of %0 not in a namespace enclosing %1 |
Warning |
warn_explicit_instantiation_must_be_global_0x |
explicit instantiation of %0 must occur at global scope |
Error |
err_explicit_instantiation_requires_name |
explicit instantiation declaration requires a name |
Error |
err_explicit_instantiation_of_typedef |
explicit instantiation of typedef %0 |
Error |
err_explicit_instantiation_storage_class |
explicit instantiation cannot have a storage class |
Error |
err_explicit_instantiation_not_known |
[1]:explicit instantiation of %0 does not refer to a function template, [2]:variable template, member function, member class, or static data member |
Note |
note_explicit_instantiation_here |
explicit instantiation refers here |
Error |
err_explicit_instantiation_data_member_not_instantiated |
[1]:explicit instantiation refers to static data member %q0 that is not an [2]:instantiation |
Error |
err_explicit_instantiation_member_function_not_instantiated |
[1]:explicit instantiation refers to member function %q0 that is not an [2]:instantiation |
Error |
err_explicit_instantiation_ambiguous |
partial ordering for explicit instantiation of %0 is ambiguous |
Note |
note_explicit_instantiation_candidate |
explicit instantiation candidate function template here %0 |
Error |
err_explicit_instantiation_inline |
explicit instantiation cannot be 'inline' |
Warning |
warn_explicit_instantiation_inline_0x |
explicit instantiation cannot be 'inline' |
Error |
err_explicit_instantiation_constexpr |
explicit instantiation cannot be 'constexpr' |
Extension |
ext_explicit_instantiation_without_qualified_id |
[1]:qualifier in explicit instantiation of %q0 requires a template-id [2]:(a typedef is not permitted) |
Error |
err_explicit_instantiation_without_template_id |
explicit instantiation of %q0 must specify a template argument list |
Error |
err_explicit_instantiation_unqualified_wrong_namespace |
explicit instantiation of %q0 must occur in namespace %1 |
Warning |
warn_explicit_instantiation_unqualified_wrong_namespace_0x |
explicit instantiation of %q0 must occur in namespace %1 |
Error |
err_explicit_instantiation_undefined_member |
[1]:explicit instantiation of undefined %select{member class|member function| [2]:static data member}0 %1 of class template %2 |
Error |
err_explicit_instantiation_undefined_func_template |
explicit instantiation of undefined function template %0 |
Error |
err_explicit_instantiation_undefined_var_template |
explicit instantiation of undefined variable template %q0 |
Error |
err_explicit_instantiation_declaration_after_definition |
[1]:explicit instantiation declaration (with 'extern') follows explicit [2]:instantiation definition (without 'extern') |
Note |
note_explicit_instantiation_definition_here |
explicit instantiation definition is here |
Error |
err_invalid_var_template_spec_type |
[1]:type %2 [2]:[1]:of %select{explicit instantiation|explicit specialization| [2]:[1]:partial specialization|redeclaration}0 of %1 does not match [2]: expected type %3 |
Error |
err_mismatched_exception_spec_explicit_instantiation |
[1]:exception specification in explicit instantiation does not match [2]:instantiated one |
ExtWarn |
ext_mismatched_exception_spec_explicit_instantiation |
err_mismatched_exception_spec_explicit_instantiation.Text |
Error |
err_typename_nested_not_found |
no type named %0 in %1 |
Error |
err_typename_nested_not_found_enable_if |
[1]:no type named 'type' in %0; 'enable_if' cannot be used to disable [2]:this declaration |
Error |
err_typename_nested_not_type |
typename specifier refers to non-type member %0 in %1 |
Note |
note_typename_refers_here |
referenced member %0 is declared here |
Error |
err_typename_missing |
missing 'typename' prior to dependent type name '%0%1' |
ExtWarn |
ext_typename_missing |
missing 'typename' prior to dependent type name '%0%1' |
ExtWarn |
ext_typename_outside_of_template |
'typename' occurs outside of a template |
Warning |
warn_cxx98_compat_typename_outside_of_template |
use of 'typename' outside of a template is incompatible with C++98 |
Error |
err_typename_refers_to_using_value_decl |
[1]:typename specifier refers to a dependent using declaration for a value [2]:%0 in %1 |
Note |
note_using_value_decl_missing_typename |
add 'typename' to treat this using declaration as a type |
Error |
err_template_kw_refers_to_non_template |
%0 following the 'template' keyword does not refer to a template |
Error |
err_template_kw_refers_to_class_template |
'%0%1' instantiated to a class template, not a function template |
Error |
note_referenced_class_template |
class template declared here |
Error |
err_template_kw_missing |
missing 'template' keyword prior to dependent template name '%0%1' |
ExtWarn |
ext_template_outside_of_template |
'template' keyword outside of a template |
Warning |
warn_cxx98_compat_template_outside_of_template |
use of 'template' keyword outside of a template is incompatible with C++98 |
Error |
err_non_type_template_in_nested_name_specifier |
[1]:qualified name refers into a specialization of %select{function|variable}0 [2]:template %1 |
Error |
err_template_id_not_a_type |
template name refers to non-type template %0 |
Note |
note_template_declared_here |
[1]:%select{function template|class template|variable template [2]:[1]:|type alias template|template template parameter}0 [2]:%1 declared here |
Error |
err_alias_template_expansion_into_fixed_list |
pack expansion used as argument for non-pack parameter of alias template |
Note |
note_parameter_type |
parameter of type %0 is declared here |
Error |
err_template_param_pack_default_arg |
template parameter pack cannot have a default argument |
Error |
err_template_param_pack_must_be_last_template_parameter |
template parameter pack must be the last template parameter |
Error |
err_template_parameter_pack_non_pack |
[1]:%select{template type|non-type template|template template}0 parameter [2]:[1]:%select{| pack}1 conflicts with previous %select{template type| [2]:non-type template|template template}0 parameter%select{ pack|}1 |
Note |
note_template_parameter_pack_non_pack |
[1]:%select{template type|non-type template|template template}0 parameter [2]:[1]:%select{| pack}1 does not match %select{template type|non-type template [2]:|template template}0 parameter%select{ pack|}1 in template argument |
Note |
note_template_parameter_pack_here |
[1]:previous %select{template type|non-type template|template template}0 [2]:parameter%select{| pack}1 declared here |
Error |
err_unexpanded_parameter_pack |
[1]:%select{expression|base type|declaration type|data member type|bit-field [2]:[1]:size|static assertion|fixed underlying type|enumerator value| [2]:[1]:using declaration|friend declaration|qualifier|initializer|default argument| [2]:[1]:non-type template parameter type|exception type|partial specialization| [2]:[1]:__if_exists name|__if_not_exists name|lambda|block}0 contains [2]:[1]:%plural{0: an|:}1 unexpanded parameter pack [2]:%plural{0:|1: %2|2:s %2 and %3|:s %2, %3, ...}1 |
Error |
err_pack_expansion_without_parameter_packs |
pack expansion does not contain any unexpanded parameter packs |
Error |
err_pack_expansion_length_conflict |
[1]:pack expansion contains parameter packs %0 and %1 that have different [2]:lengths (%2 vs. %3) |
Error |
err_pack_expansion_length_conflict_multilevel |
[1]:pack expansion contains parameter pack %0 that has a different [2]:length (%1 vs. %2) from outer parameter packs |
Error |
err_pack_expansion_member_init |
pack expansion for initialization of member %0 |
Error |
err_function_parameter_pack_without_parameter_packs |
[1]:type %0 of function parameter pack does not contain any unexpanded [2]:parameter packs |
Error |
err_ellipsis_in_declarator_not_parameter |
only function and template parameters can be parameter packs |
Error |
err_sizeof_pack_no_pack_name |
%0 does not refer to the name of a parameter pack |
Error |
err_fold_expression_packs_both_sides |
binary fold expression has unexpanded parameter packs in both operands |
Error |
err_fold_expression_empty |
[1]:unary fold expression has empty expansion for operator '%0' [2]:with no fallback value |
Error |
err_fold_expression_bad_operand |
expression not permitted as operand of fold expression |
Error |
err_unexpected_typedef |
unexpected type name %0: expected expression |
Error |
err_unexpected_namespace |
unexpected namespace name %0: expected expression |
Error |
err_undeclared_var_use |
use of undeclared identifier %0 |
ExtWarn |
ext_undeclared_unqual_id_with_dependent_base |
[1]:use of undeclared identifier %0; [2]:unqualified lookup into dependent bases of class template %1 is a Microsoft extension |
ExtWarn |
ext_found_via_dependent_bases_lookup |
[1]:use of identifier %0 [2]:[1]:found via unqualified lookup into dependent bases of class templates is a [2]:Microsoft extension |
Note |
note_dependent_var_use |
[1]:must qualify identifier to find this [2]:declaration in dependent base class |
Error |
err_not_found_by_two_phase_lookup |
[1]:call to function %0 that is neither [2]:visible in the template definition nor found by argument-dependent lookup |
Note |
note_not_found_by_two_phase_lookup |
[1]:%0 should be declared prior to the [2]:call site%select{| or in %2| or in an associated namespace of one of its arguments}1 |
Error |
err_undeclared_use |
use of undeclared %0 |
Warning |
warn_partial_availability |
%0 is only available conditionally |
Note |
note_partial_availability_silence |
explicitly redeclare %0 to silence this warning |
Warning |
warn_partial_message |
%0 is partial: %1 |
Warning |
warn_partial_fwdclass_message |
%0 may be partial because the receiver type is unknown |
Warning |
warn_deprecated |
%0 is deprecated |
Warning |
warn_property_method_deprecated |
property access is using %0 method which is deprecated |
Warning |
warn_deprecated_message |
%0 is deprecated: %1 |
Warning |
warn_deprecated_anonymous_namespace |
'deprecated' attribute on anonymous namespace ignored |
Warning |
warn_deprecated_fwdclass_message |
%0 may be deprecated because the receiver type is unknown |
Warning |
warn_deprecated_def |
Implementing deprecated %select{method|class|category}0 |
Error |
err_unavailable |
%0 is unavailable |
Error |
err_property_method_unavailable |
property access is using %0 method which is unavailable |
Error |
err_unavailable_message |
%0 is unavailable: %1 |
Warning |
warn_unavailable_fwdclass_message |
%0 may be unavailable because the receiver type is unknown |
Note |
note_availability_specified_here |
[1]:%0 has been explicitly marked [2]:%select{unavailable|deleted|deprecated|partial}1 here |
Note |
note_implicitly_deleted |
explicitly defaulted function was implicitly deleted here |
Note |
note_inherited_deleted_here |
deleted constructor was inherited here |
Note |
note_cannot_inherit |
constructor cannot be inherited |
Warning |
warn_not_enough_argument |
not enough variable arguments in %0 declaration to fit a sentinel |
Warning |
warn_missing_sentinel |
missing sentinel in %select{function call|method dispatch|block call}0 |
Note |
note_sentinel_here |
%select{function|method|block}0 has been explicitly marked sentinel here |
Warning |
warn_missing_prototype |
no previous prototype for function %0 |
Note |
note_declaration_not_a_prototype |
this declaration is not a prototype; add 'void' to make it a prototype for a zero-parameter function |
Warning |
warn_missing_variable_declarations |
no previous extern declaration for non-static variable %0 |
Error |
err_static_data_member_reinitialization |
static data member %0 already has an initializer |
Error |
err_redefinition |
redefinition of %0 |
Error |
err_alias_after_tentative |
alias definition of %0 after tentative definition |
Error |
err_alias_is_definition |
definition %0 cannot also be an alias |
Error |
err_definition_of_implicitly_declared_member |
[1]:definition of implicitly declared %select{default constructor|copy [2]:[1]:constructor|move constructor|copy assignment operator|move assignment [2]:operator|destructor|function}1 |
Error |
err_definition_of_explicitly_defaulted_member |
[1]:definition of explicitly defaulted %select{default constructor|copy [2]:[1]:constructor|move constructor|copy assignment operator|move assignment [2]:operator|destructor}0 |
Error |
err_redefinition_extern_inline |
[1]:redefinition of a 'extern inline' function %0 is not supported in [2]:%select{C99 mode|C++}1 |
Warning |
warn_attr_abi_tag_namespace |
'abi_tag' attribute on %select{non-inline|anonymous}0 namespace ignored |
Error |
err_abi_tag_on_redeclaration |
cannot add 'abi_tag' attribute in a redeclaration |
Error |
err_new_abi_tag_on_redeclaration |
'abi_tag' %0 missing in original declaration |
Note |
note_deleted_dtor_no_operator_delete |
virtual destructor requires an unambiguous, accessible 'operator delete' |
Note |
note_deleted_special_member_class_subobject |
[1]:%select{default constructor|copy constructor|move constructor| [2]:[1]:copy assignment operator|move assignment operator|destructor}0 of [2]:[1]:%1 is implicitly deleted because [2]:[1]:%select{base class %3|%select{||||variant }4field %3}2 has [2]:[1]:%select{no|a deleted|multiple|an inaccessible|a non-trivial}4 [2]:[1]:%select{%select{default constructor|copy constructor|move constructor|copy [2]:[1]:assignment operator|move assignment operator|destructor}0|destructor}5 [2]:%select{||s||}4 |
Note |
note_deleted_default_ctor_uninit_field |
[1]:default constructor of %0 is implicitly deleted because field %1 of [2]:%select{reference|const-qualified}3 type %2 would not be initialized |
Note |
note_deleted_default_ctor_all_const |
[1]:default constructor of %0 is implicitly deleted because all [2]:[1]:%select{data members|data members of an anonymous union member}1 [2]: are const-qualified |
Note |
note_deleted_copy_ctor_rvalue_reference |
[1]:copy constructor of %0 is implicitly deleted because field %1 is of [2]:rvalue reference type %2 |
Note |
note_deleted_copy_user_declared_move |
[1]:copy %select{constructor|assignment operator}0 is implicitly deleted because [2]: %1 has a user-declared move %select{constructor|assignment operator}2 |
Note |
note_deleted_assign_field |
[1]:%select{copy|move}0 assignment operator of %1 is implicitly deleted [2]:because field %2 is of %select{reference|const-qualified}4 type %3 |
Warning |
warn_undefined_internal |
%select{function|variable}0 %q1 has internal linkage but is not defined |
Warning |
warn_undefined_inline |
inline function %q0 is not defined |
Note |
note_used_here |
used here |
Error |
err_internal_linkage_redeclaration |
'internal_linkage' attribute does not appear on the first declaration of %0 |
Warning |
warn_internal_linkage_local_storage |
'internal_linkage' attribute on a non-static local variable is ignored |
ExtWarn |
ext_internal_in_extern_inline |
[1]:static %select{function|variable}0 %1 is used in an inline function with [2]:external linkage |
Extension |
ext_internal_in_extern_inline_quiet |
[1]:static %select{function|variable}0 %1 is used in an inline function with [2]:external linkage |
Warning |
warn_static_local_in_extern_inline |
[1]:non-constant static local variable in inline function may be different [2]:in different files |
Note |
note_convert_inline_to_static |
use 'static' to give inline function %0 internal linkage |
ExtWarn |
ext_redefinition_of_typedef |
redefinition of typedef %0 is a C11 feature |
Error |
err_redefinition_variably_modified_typedef |
redefinition of %select{typedef|type alias}0 for variably-modified type %1 |
Error |
err_inline_decl_follows_def |
inline declaration of %0 follows non-inline definition |
Error |
err_inline_declaration_block_scope |
inline declaration of %0 not allowed in block scope |
Error |
err_static_non_static |
static declaration of %0 follows non-static declaration |
Error |
err_different_language_linkage |
declaration of %0 has a different language linkage |
Extension |
ext_retained_language_linkage |
friend function %0 retaining previous language linkage is an extension |
Error |
err_extern_c_global_conflict |
[1]:declaration of %1 %select{with C language linkage|in global scope}0 [2]:conflicts with declaration %select{in global scope|with C language linkage}0 |
Note |
note_extern_c_global_conflict |
declared %select{in global scope|with C language linkage}0 here |
Warning |
warn_weak_import |
an already-declared variable is made a weak_import declaration %0 |
Extension |
ext_static_non_static |
redeclaring non-static %0 as static is a Microsoft extension |
Error |
err_non_static_static |
non-static declaration of %0 follows static declaration |
Error |
err_extern_non_extern |
extern declaration of %0 follows non-extern declaration |
Error |
err_non_extern_extern |
non-extern declaration of %0 follows extern declaration |
Error |
err_non_thread_thread |
non-thread-local declaration of %0 follows thread-local declaration |
Error |
err_thread_non_thread |
thread-local declaration of %0 follows non-thread-local declaration |
Error |
err_thread_thread_different_kind |
[1]:thread-local declaration of %0 with %select{static|dynamic}1 initialization [2]:follows declaration with %select{dynamic|static}1 initialization |
Error |
err_redefinition_different_type |
redefinition of %0 with a different type%diff{: $ vs $|}1,2 |
Error |
err_redefinition_different_kind |
redefinition of %0 as different kind of symbol |
Error |
err_redefinition_different_namespace_alias |
redefinition of %0 as an alias for a different namespace |
Note |
note_previous_namespace_alias |
previously defined as an alias for %0 |
Warning |
warn_forward_class_redefinition |
redefinition of forward class %0 of a typedef name of an object type is ignored |
Error |
err_redefinition_different_typedef |
[1]:%select{typedef|type alias|type alias template}0 [2]:redefinition with different types%diff{ ($ vs $)|}1,2 |
Error |
err_tag_reference_non_tag |
elaborated type refers to %select{a non-tag type|a typedef|a type alias|a template|a type alias template}0 |
Error |
err_tag_reference_conflict |
[1]:implicit declaration introduced by elaborated type conflicts with [2]:%select{a declaration|a typedef|a type alias|a template}0 of the same name |
Error |
err_dependent_tag_decl |
[1]:%select{declaration|definition}0 of [2]:%select{struct|interface|union|class|enum}1 in a dependent scope |
Error |
err_tag_definition_of_typedef |
definition of type %0 conflicts with %select{typedef|type alias}1 of the same name |
Error |
err_conflicting_types |
conflicting types for %0 |
Error |
err_different_pass_object_size_params |
conflicting pass_object_size attributes on parameters |
Error |
err_late_asm_label_name |
cannot apply asm label to %select{variable|function}0 after its first use |
Error |
err_different_asm_label |
conflicting asm label |
Error |
err_nested_redefinition |
nested redefinition of %0 |
Error |
err_use_with_wrong_tag |
use of %0 with tag type that does not match previous declaration |
Warning |
warn_struct_class_tag_mismatch |
[1]:%select{struct|interface|class}0%select{| template}1 %2 was previously [2]:declared as a %select{struct|interface|class}3%select{| template}1 |
Warning |
warn_struct_class_previous_tag_mismatch |
[1]:%2 defined as %select{a struct|an interface|a class}0%select{| template}1 [2]:[1]:here but previously declared as [2]:%select{a struct|an interface|a class}3%select{| template}1 |
Note |
note_struct_class_suggestion |
did you mean %select{struct|interface|class}0 here? |
Extension |
ext_forward_ref_enum |
ISO C forbids forward references to 'enum' types |
Error |
err_forward_ref_enum |
ISO C++ forbids forward references to 'enum' types |
Extension |
ext_ms_forward_ref_enum |
forward references to 'enum' types are a Microsoft extension |
Extension |
ext_forward_ref_enum_def |
redeclaration of already-defined enum %0 is a GNU extension |
Error |
err_redefinition_of_enumerator |
redefinition of enumerator %0 |
Error |
err_duplicate_member |
duplicate member %0 |
Error |
err_misplaced_ivar |
instance variables may not be placed in %select{categories|class extension}0 |
Warning |
warn_ivars_in_interface |
declaration of instance variables in the interface is deprecated |
Extension |
ext_enum_value_not_int |
[1]:ISO C restricts enumerator values to range of 'int' (%0 is too [2]:%select{small|large}1) |
ExtWarn |
ext_enum_too_large |
enumeration values exceed range of largest integer |
ExtWarn |
ext_enumerator_increment_too_large |
[1]:incremented enumerator value %0 is not representable in the [2]:largest integer type |
Warning |
warn_flag_enum_constant_out_of_range |
enumeration value %0 is out of range of flags in enumeration type %1 |
Extension |
warn_illegal_constant_array_size |
size of static array must be an integer constant expression |
Error |
err_vm_decl_in_file_scope |
variably modified type declaration not allowed at file scope |
Error |
err_vm_decl_has_extern_linkage |
variably modified type declaration cannot have 'extern' linkage |
Error |
err_typecheck_field_variable_size |
[1]:fields must have a constant size: 'variable length array in structure' [2]:extension will never be supported |
Error |
err_vm_func_decl |
function declaration cannot have variably modified type |
Error |
err_array_too_large |
array is too large (%0 elements) |
Warning |
warn_array_new_too_large |
array is too large (%0 elements) |
Warning |
warn_padded_struct_field |
[1]:padding %select{struct|interface|class}0 %1 with %2 [2]:%select{byte|bit}3%s2 to align %4 |
Warning |
warn_padded_struct_anon_field |
[1]:padding %select{struct|interface|class}0 %1 with %2 [2]:%select{byte|bit}3%s2 to align anonymous bit-field |
Warning |
warn_padded_struct_size |
padding size of %0 with %1 %select{byte|bit}2%s1 to alignment boundary |
Warning |
warn_unnecessary_packed |
packed attribute is unnecessary for %0 |
Error |
err_typecheck_negative_array_size |
array size is negative |
Warning |
warn_typecheck_negative_array_new_size |
array size is negative |
Warning |
warn_typecheck_function_qualifiers_ignored |
'%0' qualifier on function type %1 has no effect |
Warning |
warn_typecheck_function_qualifiers_unspecified |
'%0' qualifier on function type %1 has unspecified behavior |
Warning |
warn_typecheck_reference_qualifiers |
'%0' qualifier on reference type %1 has no effect |
Error |
err_typecheck_invalid_restrict_not_pointer |
restrict requires a pointer or reference (%0 is invalid) |
Error |
err_typecheck_invalid_restrict_not_pointer_noarg |
restrict requires a pointer or reference |
Error |
err_typecheck_invalid_restrict_invalid_pointee |
pointer to function type %0 may not be 'restrict' qualified |
Extension |
ext_typecheck_zero_array_size |
zero size arrays are an extension |
Error |
err_typecheck_zero_array_size |
zero-length arrays are not permitted in C++ |
Warning |
warn_typecheck_zero_static_array_size |
'static' has no effect on zero-length arrays |
Error |
err_array_size_non_int |
size of array has non-integer type %0 |
Error |
err_init_element_not_constant |
initializer element is not a compile-time constant |
Extension |
ext_aggregate_init_not_constant |
initializer for aggregate is not a compile-time constant |
Error |
err_local_cant_init |
'__local' variable cannot have an initializer |
Error |
err_block_extern_cant_init |
'extern' variable cannot have an initializer |
Warning |
warn_extern_init |
'extern' variable has an initializer |
Error |
err_variable_object_no_init |
variable-sized object may not be initialized |
Error |
err_excess_initializers |
excess elements in %select{array|vector|scalar|union|struct}0 initializer |
ExtWarn |
ext_excess_initializers |
excess elements in %select{array|vector|scalar|union|struct}0 initializer |
Error |
err_excess_initializers_in_char_array_initializer |
excess elements in char array initializer |
ExtWarn |
ext_excess_initializers_in_char_array_initializer |
excess elements in char array initializer |
Error |
err_initializer_string_for_char_array_too_long |
initializer-string for char array is too long |
ExtWarn |
ext_initializer_string_for_char_array_too_long |
initializer-string for char array is too long |
Warning |
warn_missing_field_initializers |
missing field %0 initializer |
Warning |
warn_braces_around_scalar_init |
braces around scalar initializer |
ExtWarn |
ext_many_braces_around_scalar_init |
too many braces around scalar initializer |
Extension |
ext_complex_component_init |
[1]:complex initialization specifying real and imaginary components [2]:is an extension |
Error |
err_empty_scalar_initializer |
scalar initializer cannot be empty |
Warning |
warn_cxx98_compat_empty_scalar_initializer |
scalar initialized from empty initializer list is incompatible with C++98 |
Warning |
warn_cxx98_compat_reference_list_init |
reference initialized from initializer list is incompatible with C++98 |
Warning |
warn_cxx98_compat_initializer_list_init |
initialization of initializer_list object is incompatible with C++98 |
Warning |
warn_cxx98_compat_ctor_list_init |
constructor call from initializer list is incompatible with C++98 |
Error |
err_illegal_initializer |
illegal initializer (only variables can be initialized) |
Error |
err_illegal_initializer_type |
illegal initializer type %0 |
ExtWarn |
ext_init_list_type_narrowing |
type %0 cannot be narrowed to %1 in initializer list |
ExtWarn |
ext_init_list_variable_narrowing |
[1]:non-constant-expression cannot be narrowed from type %0 to %1 in [2]:initializer list |
ExtWarn |
ext_init_list_constant_narrowing |
constant expression evaluates to %0 which cannot be narrowed to type %1 |
Warning |
warn_init_list_type_narrowing |
type %0 cannot be narrowed to %1 in initializer list in C++11 |
Warning |
warn_init_list_variable_narrowing |
[1]:non-constant-expression cannot be narrowed from type %0 to %1 in [2]:initializer list in C++11 |
Warning |
warn_init_list_constant_narrowing |
[1]:constant expression evaluates to %0 which cannot be narrowed to type %1 in [2]:C++11 |
Note |
note_init_list_narrowing_silence |
insert an explicit cast to silence this issue |
Error |
err_init_objc_class |
cannot initialize Objective-C class type %0 |
Error |
err_implicit_empty_initializer |
initializer for aggregate with no elements requires explicit braces |
Error |
err_bitfield_has_negative_width |
bit-field %0 has negative width (%1) |
Error |
err_anon_bitfield_has_negative_width |
anonymous bit-field has negative width (%0) |
Error |
err_bitfield_has_zero_width |
named bit-field %0 has zero width |
Error |
err_bitfield_width_exceeds_type_width |
[1]:width of bit-field %0 (%1 bits) exceeds %select{width|size}2 [2]:of its type (%3 bit%s3) |
Error |
err_anon_bitfield_width_exceeds_type_width |
[1]:width of anonymous bit-field (%0 bits) exceeds %select{width|size}1 [2]:of its type (%2 bit%s2) |
Error |
err_incorrect_number_of_vector_initializers |
number of elements must be either one or match the size of the vector |
Warning |
warn_bitfield_width_exceeds_type_width |
[1]:width of bit-field %0 (%1 bits) exceeds the width of its type; value will [2]:be truncated to %2 bit%s2 |
Warning |
warn_anon_bitfield_width_exceeds_type_width |
[1]:width of anonymous bit-field (%0 bits) exceeds width of its type; value [2]:will be truncated to %1 bit%s1 |
Warning |
warn_missing_braces |
suggest braces around initialization of subobject |
Error |
err_redefinition_of_label |
redefinition of label %0 |
Error |
err_undeclared_label_use |
use of undeclared label %0 |
Error |
err_goto_ms_asm_label |
cannot jump from this goto statement to label %0 inside an inline assembly block |
Note |
note_goto_ms_asm_label |
inline assembly label %0 declared here |
Warning |
warn_unused_label |
unused label %0 |
Error |
err_goto_into_protected_scope |
cannot jump from this goto statement to its label |
ExtWarn |
ext_goto_into_protected_scope |
jump from this goto statement to its label is a Microsoft extension |
Warning |
warn_cxx98_compat_goto_into_protected_scope |
jump from this goto statement to its label is incompatible with C++98 |
Error |
err_switch_into_protected_scope |
cannot jump from switch statement to this case label |
Warning |
warn_cxx98_compat_switch_into_protected_scope |
jump from switch statement to this case label is incompatible with C++98 |
Error |
err_indirect_goto_without_addrlabel |
indirect goto in function with no address-of-label expressions |
Error |
err_indirect_goto_in_protected_scope |
cannot jump from this indirect goto statement to one of its possible targets |
Warning |
warn_cxx98_compat_indirect_goto_in_protected_scope |
[1]:jump from this indirect goto statement to one of its possible targets [2]:is incompatible with C++98 |
Note |
note_indirect_goto_target |
possible target of indirect goto statement |
Note |
note_protected_by_variable_init |
jump bypasses variable initialization |
Note |
note_protected_by_variable_nontriv_destructor |
jump bypasses variable with a non-trivial destructor |
Note |
note_protected_by_variable_non_pod |
jump bypasses initialization of non-POD variable |
Note |
note_protected_by_cleanup |
jump bypasses initialization of variable with __attribute__((cleanup)) |
Note |
note_protected_by_vla_typedef |
jump bypasses initialization of VLA typedef |
Note |
note_protected_by_vla_type_alias |
jump bypasses initialization of VLA type alias |
Note |
note_protected_by_vla |
jump bypasses initialization of variable length array |
Note |
note_protected_by_objc_try |
jump bypasses initialization of @try block |
Note |
note_protected_by_objc_catch |
jump bypasses initialization of @catch block |
Note |
note_protected_by_objc_finally |
jump bypasses initialization of @finally block |
Note |
note_protected_by_objc_synchronized |
jump bypasses initialization of @synchronized block |
Note |
note_protected_by_objc_autoreleasepool |
jump bypasses auto release push of @autoreleasepool block |
Note |
note_protected_by_cxx_try |
jump bypasses initialization of try block |
Note |
note_protected_by_cxx_catch |
jump bypasses initialization of catch block |
Note |
note_protected_by_seh_try |
jump bypasses initialization of __try block |
Note |
note_protected_by_seh_except |
jump bypasses initialization of __except block |
Note |
note_protected_by_seh_finally |
jump bypasses initialization of __finally block |
Note |
note_protected_by___block |
jump bypasses setup of __block variable |
Note |
note_protected_by_objc_strong_init |
jump bypasses initialization of __strong variable |
Note |
note_protected_by_objc_weak_init |
jump bypasses initialization of __weak variable |
Note |
note_enters_block_captures_cxx_obj |
jump enters lifetime of block which captures a destructible C++ object |
Note |
note_enters_block_captures_strong |
jump enters lifetime of block which strongly captures a variable |
Note |
note_enters_block_captures_weak |
jump enters lifetime of block which weakly captures a variable |
Note |
note_exits_cleanup |
jump exits scope of variable with __attribute__((cleanup)) |
Note |
note_exits_dtor |
jump exits scope of variable with non-trivial destructor |
Note |
note_exits_temporary_dtor |
[1]:jump exits scope of lifetime-extended temporary with non-trivial [2]:destructor |
Note |
note_exits___block |
jump exits scope of __block variable |
Note |
note_exits_objc_try |
jump exits @try block |
Note |
note_exits_objc_catch |
jump exits @catch block |
Note |
note_exits_objc_finally |
jump exits @finally block |
Note |
note_exits_objc_synchronized |
jump exits @synchronized block |
Note |
note_exits_cxx_try |
jump exits try block |
Note |
note_exits_cxx_catch |
jump exits catch block |
Note |
note_exits_seh_try |
jump exits __try block |
Note |
note_exits_seh_except |
jump exits __except block |
Note |
note_exits_seh_finally |
jump exits __finally block |
Note |
note_exits_objc_autoreleasepool |
jump exits autoreleasepool block |
Note |
note_exits_objc_strong |
jump exits scope of __strong variable |
Note |
note_exits_objc_weak |
jump exits scope of __weak variable |
Note |
note_exits_block_captures_cxx_obj |
jump exits lifetime of block which captures a destructible C++ object |
Note |
note_exits_block_captures_strong |
jump exits lifetime of block which strongly captures a variable |
Note |
note_exits_block_captures_weak |
jump exits lifetime of block which weakly captures a variable |
ExtWarn |
err_func_returning_qualified_void |
function cannot return qualified void type %0 |
Error |
err_func_returning_array_function |
function cannot return %select{array|function}0 type %1 |
Error |
err_field_declared_as_function |
field %0 declared as a function |
Error |
err_field_incomplete |
field has incomplete type %0 |
ExtWarn |
ext_variable_sized_type_in_struct |
[1]:field %0 with variable sized type %1 not at the end of a struct or class is [2]: a GNU extension |
Extension |
ext_c99_flexible_array_member |
flexible array members are a C99 feature |
Error |
err_flexible_array_virtual_base |
[1]:flexible array member %0 not allowed in [2]:%select{struct|interface|union|class|enum}1 which has a virtual base class |
Error |
err_flexible_array_empty_aggregate |
[1]:flexible array member %0 not allowed in otherwise empty [2]:%select{struct|interface|union|class|enum}1 |
Error |
err_flexible_array_has_nontrivial_dtor |
flexible array member %0 of type %1 with non-trivial destruction |
Extension |
ext_flexible_array_in_struct |
%0 may not be nested in a struct due to flexible array member |
Extension |
ext_flexible_array_in_array |
%0 may not be used as an array element due to flexible array member |
Error |
err_flexible_array_init |
initialization of flexible array member is not allowed |
Extension |
ext_flexible_array_empty_aggregate_ms |
[1]:flexible array member %0 in otherwise empty [2]:%select{struct|interface|union|class|enum}1 is a Microsoft extension |
Error |
err_flexible_array_union |
flexible array member %0 in a union is not allowed |
Extension |
ext_flexible_array_union_ms |
flexible array member %0 in a union is a Microsoft extension |
Extension |
ext_flexible_array_empty_aggregate_gnu |
[1]:flexible array member %0 in otherwise empty [2]:%select{struct|interface|union|class|enum}1 is a GNU extension |
Extension |
ext_flexible_array_union_gnu |
flexible array member %0 in a union is a GNU extension |
Error |
err_arc_weak_no_runtime |
[1]:cannot create __weak reference because the current deployment target [2]:does not support weak references |
Error |
err_arc_weak_disabled |
cannot create __weak reference in file using manual reference counting |
Error |
err_synthesizing_arc_weak_property_disabled |
cannot synthesize weak property in file using manual reference counting |
Error |
err_synthesizing_arc_weak_property_no_runtime |
[1]:cannot synthesize weak property because the current deployment target [2]:does not support weak references |
Error |
err_arc_unsupported_weak_class |
class is incompatible with __weak references |
Error |
err_arc_weak_unavailable_assign |
assignment of a weak-unavailable object to a __weak object |
Error |
err_arc_weak_unavailable_property |
[1]:synthesizing __weak instance variable of type %0, which does not [2]:support weak references |
Note |
note_implemented_by_class |
when implemented by class %0 |
Error |
err_arc_convesion_of_weak_unavailable |
[1]:%select{implicit conversion|cast}0 of weak-unavailable object of type %1 to [2]: a __weak object of type %2 |
Error |
err_unavailable_in_arc |
%0 is unavailable in ARC |
Note |
note_arc_forbidden_type |
declaration uses type that is ill-formed in ARC |
Note |
note_performs_forbidden_arc_conversion |
inline function performs a conversion which is forbidden in ARC |
Note |
note_arc_init_returns_unrelated |
init method must return a type related to its receiver type |
Note |
note_arc_weak_disabled |
declaration uses __weak, but ARC is disabled |
Note |
note_arc_weak_no_runtime |
[1]:declaration uses __weak, which [2]:the current deployment target does not support |
Note |
note_arc_field_with_ownership |
field has non-trivial ownership qualification |
Error |
err_arc_illegal_explicit_message |
ARC forbids explicit message send of %0 |
Error |
err_arc_unused_init_message |
[1]:the result of a delegate init call must be immediately returned [2]:or assigned to 'self' |
Error |
err_arc_mismatched_cast |
[1]:%select{implicit conversion|cast}0 of [2]:[1]:%select{%2|a non-Objective-C pointer type %2|a block pointer| [2]:[1]:an Objective-C pointer|an indirect pointer to an Objective-C pointer}1 [2]: to %3 is disallowed with ARC |
Error |
err_arc_nolifetime_behavior |
explicit ownership qualifier on cast result has no effect |
Error |
err_arc_objc_object_in_tag |
[1]:ARC forbids %select{Objective-C objects|blocks}0 in [2]:%select{struct|interface|union|<>|enum}1 |
Error |
err_arc_objc_property_default_assign_on_object |
[1]:ARC forbids synthesizing a property of an Objective-C object [2]:with unspecified ownership or storage attribute |
Error |
err_arc_illegal_selector |
ARC forbids use of %0 in a @selector |
Error |
err_arc_illegal_method_def |
ARC forbids %select{implementation|synthesis}0 of %1 |
Warning |
warn_arc_strong_pointer_objc_pointer |
method parameter of type %0 with no explicit ownership |
Error |
err_arc_lost_method_convention |
[1]:method was declared as %select{an 'alloc'|a 'copy'|an 'init'|a 'new'}0 [2]:[1]:method, but its implementation doesn't match because %select{ [2]:[1]:its result type is not an object pointer| [2]:its result type is unrelated to its receiver type}1 |
Note |
note_arc_lost_method_convention |
declaration in interface |
Error |
err_arc_gained_method_convention |
method implementation does not match its declaration |
Note |
note_arc_gained_method_convention |
[1]:declaration in interface is not in the '%select{alloc|copy|init|new}0' [2]:[1]:family because %select{its result type is not an object pointer| [2]:its result type is unrelated to its receiver type}1 |
Error |
err_typecheck_arc_assign_self |
cannot assign to 'self' outside of a method in the init family |
Error |
err_typecheck_arc_assign_self_class_method |
cannot assign to 'self' in a class method |
Error |
err_typecheck_arr_assign_enumeration |
[1]:fast enumeration variables cannot be modified in ARC by default; [2]:declare the variable __strong to allow this |
Warning |
warn_arc_retained_assign |
[1]:assigning retained object to %select{weak|unsafe_unretained}0 [2]:[1]:%select{property|variable}1 [2]:; object will be released after assignment |
Warning |
warn_arc_retained_property_assign |
[1]:assigning retained object to unsafe property [2]:; object will be released after assignment |
Warning |
warn_arc_literal_assign |
[1]:assigning %select{array literal|dictionary literal|numeric literal|boxed expression||block literal}0 [2]:[1]: to a weak %select{property|variable}1 [2]:; object will be released after assignment |
Error |
err_arc_new_array_without_ownership |
'new' cannot allocate an array of %0 with no explicit ownership |
Error |
err_arc_autoreleasing_var |
[1]:%select{__block variables|global variables|fields|instance variables}0 cannot have [2]:__autoreleasing ownership |
Error |
err_arc_autoreleasing_capture |
[1]:cannot capture __autoreleasing variable in a [2]:%select{block|lambda by copy}0 |
Error |
err_arc_thread_ownership |
thread-local variable has non-trivial ownership: type is %0 |
Error |
err_arc_indirect_no_ownership |
%select{pointer|reference}1 to non-const type %0 with no explicit ownership |
Error |
err_arc_array_param_no_ownership |
must explicitly describe intended ownership of an object array parameter |
Error |
err_arc_pseudo_dtor_inconstant_quals |
[1]:pseudo-destructor destroys object of type %0 with inconsistently-qualified [2]:type %1 |
Error |
err_arc_init_method_unrelated_result_type |
init methods must return a type related to the receiver type |
Error |
err_arc_nonlocal_writeback |
[1]:passing address of %select{non-local|non-scalar}0 object to [2]:__autoreleasing parameter for write-back |
Error |
err_arc_method_not_found |
no known %select{instance|class}1 method for selector %0 |
Error |
err_arc_receiver_forward_class |
receiver %0 for class message is a forward declaration |
Error |
err_arc_may_not_respond |
no visible @interface for %0 declares the selector %1 |
Error |
err_arc_receiver_forward_instance |
receiver type %0 for instance message is a forward declaration |
Warning |
warn_receiver_forward_instance |
receiver type %0 for instance message is a forward declaration |
Error |
err_arc_collection_forward |
collection expression type %0 is a forward declaration |
Error |
err_arc_multiple_method_decl |
[1]:multiple methods named %0 found with mismatched result, [2]:parameter type or attributes |
Warning |
warn_arc_lifetime_result_type |
[1]:ARC %select{unused|__unsafe_unretained|__strong|__weak|__autoreleasing}0 [2]:lifetime qualifier on return type is ignored |
Warning |
warn_arc_retain_cycle |
capturing %0 strongly in this block is likely to lead to a retain cycle |
Note |
note_arc_retain_cycle_owner |
[1]:block will be retained by %select{the captured object|an object strongly [2]:retained by the captured object}0 |
Warning |
warn_arc_object_memaccess |
[1]:%select{destination for|source of}0 this %1 call is a pointer to [2]:ownership-qualified type %2 |
Error |
err_arc_strong_property_ownership |
[1]:existing instance variable %1 for strong property %0 may not be [2]:%select{|__unsafe_unretained||__weak}2 |
Error |
err_arc_assign_property_ownership |
[1]:existing instance variable %1 for property %0 with %select{unsafe_unretained|assign}2 [2]:attribute must be __unsafe_unretained |
Error |
err_arc_inconsistent_property_ownership |
[1]:%select{|unsafe_unretained|strong|weak}1 property %0 may not also be [2]:declared %select{|__unsafe_unretained|__strong|__weak|__autoreleasing}2 |
Error |
err_arc_atomic_ownership |
[1]:cannot perform atomic operation on a pointer to type %0: type has [2]:non-trivial ownership |
Error |
err_arc_bridge_cast_incompatible |
[1]:incompatible types casting %0 to %1 with a %select{__bridge| [2]:__bridge_transfer|__bridge_retained}2 cast |
Error |
err_arc_bridge_cast_wrong_kind |
[1]:cast of %select{Objective-C|block|C}0 pointer type %1 to [2]:[1]:%select{Objective-C|block|C}2 pointer type %3 cannot use %select{__bridge| [2]:__bridge_transfer|__bridge_retained}4 |
Error |
err_arc_cast_requires_bridge |
[1]:%select{cast|implicit conversion}0 of %select{Objective-C|block|C}1 [2]:[1]:pointer type %2 to %select{Objective-C|block|C}3 pointer type %4 [2]:requires a bridged cast |
Note |
note_arc_bridge |
use __bridge to convert directly (no change in ownership) |
Note |
note_arc_cstyle_bridge |
use __bridge with C-style cast to convert directly (no change in ownership) |
Note |
note_arc_bridge_transfer |
[1]:use %select{__bridge_transfer|CFBridgingRelease call}1 to transfer [2]:ownership of a +1 %0 into ARC |
Note |
note_arc_cstyle_bridge_transfer |
[1]:use __bridge_transfer with C-style cast to transfer [2]:ownership of a +1 %0 into ARC |
Note |
note_arc_bridge_retained |
[1]:use %select{__bridge_retained|CFBridgingRetain call}1 to make an [2]:ARC object available as a +1 %0 |
Note |
note_arc_cstyle_bridge_retained |
[1]:use __bridge_retained with C-style cast to make an [2]:ARC object available as a +1 %0 |
Error |
err_flexible_array_init_needs_braces |
flexible array requires brace-enclosed initializer |
Error |
err_illegal_decl_array_of_functions |
'%0' declared as array of functions of type %1 |
Error |
err_illegal_decl_array_incomplete_type |
array has incomplete element type %0 |
Error |
err_illegal_message_expr_incomplete_type |
Objective-C message has incomplete result type %0 |
Error |
err_illegal_decl_array_of_references |
'%0' declared as array of references of type %1 |
Error |
err_decl_negative_array_size |
'%0' declared as an array with a negative size |
Error |
err_array_static_outside_prototype |
%0 used in array declarator outside of function prototype |
Error |
err_array_static_not_outermost |
%0 used in non-outermost array type derivation |
Error |
err_array_star_outside_prototype |
star modifier used outside of function prototype |
Error |
err_illegal_decl_pointer_to_reference |
'%0' declared as a pointer to a reference of type %1 |
Error |
err_illegal_decl_mempointer_to_reference |
'%0' declared as a member pointer to a reference of type %1 |
Error |
err_illegal_decl_mempointer_to_void |
'%0' declared as a member pointer to void |
Error |
err_illegal_decl_mempointer_in_nonclass |
'%0' does not point into a class |
Error |
err_mempointer_in_nonclass_type |
member pointer refers into non-class type %0 |
Error |
err_reference_to_void |
cannot form a reference to 'void' |
Error |
err_nonfunction_block_type |
block pointer to non-function type is invalid |
Error |
err_return_block_has_expr |
void block should not return a value |
Error |
err_block_return_missing_expr |
non-void block should return a value |
Error |
err_func_def_incomplete_result |
incomplete result type %0 in function definition |
Error |
err_atomic_specifier_bad_type |
[1]:_Atomic cannot be applied to [2]:[1]:%select{incomplete |array |function |reference |atomic |qualified |}0type [2]:%1 %select{||||||which is not trivially copyable}0 |
Extension |
ext_sizeof_alignof_function_type |
[1]:invalid application of '%select{sizeof|alignof|vec_step}0' to a [2]:function type |
Extension |
ext_sizeof_alignof_void_type |
[1]:invalid application of '%select{sizeof|alignof|vec_step}0' to a void [2]:type |
Error |
err_opencl_sizeof_alignof_type |
invalid application of '%select{sizeof|alignof|vec_step|__builtin_omp_required_simd_align}0' to a void type |
Error |
err_sizeof_alignof_incomplete_type |
[1]:invalid application of '%select{sizeof|alignof|vec_step|__builtin_omp_required_simd_align}0' to an [2]:incomplete type %1 |
Error |
err_sizeof_alignof_function_type |
[1]:invalid application of '%select{sizeof|alignof|vec_step|__builtin_omp_required_simd_align}0' to a [2]:function type |
Error |
err_openmp_default_simd_align_expr |
invalid application of '__builtin_omp_required_simd_align' to an expression, only type is allowed |
Error |
err_sizeof_alignof_typeof_bitfield |
invalid application of '%select{sizeof|alignof|typeof}0' to bit-field |
Error |
err_alignof_member_of_incomplete_type |
invalid application of 'alignof' to a field of a class still being defined |
Error |
err_vecstep_non_scalar_vector_type |
'vec_step' requires built-in scalar or vector type, %0 invalid |
Error |
err_offsetof_incomplete_type |
offsetof of incomplete type %0 |
Error |
err_offsetof_record_type |
offsetof requires struct, union, or class type, %0 invalid |
Error |
err_offsetof_array_type |
offsetof requires array type, %0 invalid |
Extension |
ext_offsetof_extended_field_designator |
using extended field designator is an extension |
ExtWarn |
ext_offsetof_non_pod_type |
offset of on non-POD type %0 |
ExtWarn |
ext_offsetof_non_standardlayout_type |
offset of on non-standard-layout type %0 |
Error |
err_offsetof_bitfield |
cannot compute offset of bit-field %0 |
Error |
err_offsetof_field_of_virtual_base |
invalid application of 'offsetof' to a field of a virtual base |
Warning |
warn_sub_ptr_zero_size_types |
subtraction of pointers to type %0 of zero size has undefined behavior |
Warning |
warn_floatingpoint_eq |
comparing floating point with == or != is unsafe |
Warning |
warn_remainder_division_by_zero |
%select{remainder|division}0 by zero is undefined |
Warning |
warn_shift_lhs_negative |
shifting a negative signed value is undefined |
Warning |
warn_shift_negative |
shift count is negative |
Warning |
warn_shift_gt_typewidth |
shift count >= width of type |
Warning |
warn_shift_result_gt_typewidth |
[1]:signed shift result (%0) requires %1 bits to represent, but %2 only has [2]:%3 bits |
Warning |
warn_shift_result_sets_sign_bit |
[1]:signed shift result (%0) sets the sign bit of the shift expression's [2]:type (%1) and becomes negative |
Warning |
warn_precedence_bitwise_rel |
%0 has lower precedence than %1; %1 will be evaluated first |
Note |
note_precedence_bitwise_first |
place parentheses around the %0 expression to evaluate it first |
Note |
note_precedence_silence |
place parentheses around the '%0' expression to silence this warning |
Warning |
warn_precedence_conditional |
operator '?:' has lower precedence than '%0'; '%0' will be evaluated first |
Note |
note_precedence_conditional_first |
place parentheses around the '?:' expression to evaluate it first |
Warning |
warn_logical_instead_of_bitwise |
use of logical '%0' with constant operand |
Note |
note_logical_instead_of_bitwise_change_operator |
use '%0' for a bitwise operation |
Note |
note_logical_instead_of_bitwise_remove_constant |
remove constant to silence this warning |
Warning |
warn_bitwise_op_in_bitwise_op |
'%0' within '%1' |
Warning |
warn_logical_and_in_logical_or |
'&&' within '||' |
Warning |
warn_overloaded_shift_in_comparison |
[1]:overloaded operator %select{>>|<<}0 has higher precedence than [2]:comparison operator |
Note |
note_evaluate_comparison_first |
place parentheses around comparison expression to evaluate it first |
Warning |
warn_addition_in_bitshift |
[1]:operator '%0' has lower precedence than '%1'; [2]:'%1' will be evaluated first |
Warning |
warn_self_assignment |
explicitly assigning value of variable of type %0 to itself |
Warning |
warn_self_move |
explicitly moving variable of type %0 to itself |
Warning |
warn_redundant_move_on_return |
redundant move in return statement |
Warning |
warn_pessimizing_move_on_return |
moving a local object in a return statement prevents copy elision |
Warning |
warn_pessimizing_move_on_initialization |
moving a temporary object prevents copy elision |
Note |
note_remove_move |
remove std::move call here |
Warning |
warn_string_plus_int |
adding %0 to a string does not append to the string |
Warning |
warn_string_plus_char |
adding %0 to a string pointer does not append to the string |
Note |
note_string_plus_scalar_silence |
use array indexing to silence this warning |
Warning |
warn_sizeof_array_param |
sizeof on array function parameter will return size of %0 instead of %1 |
Warning |
warn_sizeof_array_decay |
sizeof on pointer operation will return size of %0 instead of %1 |
Error |
err_sizeof_nonfragile_interface |
[1]:application of '%select{alignof|sizeof}1' to interface %0 is [2]:not supported on this architecture and platform |
Error |
err_atdef_nonfragile_interface |
use of @defs is not supported on this architecture and platform |
Error |
err_subscript_nonfragile_interface |
[1]:subscript requires size of interface %0, which is not constant for [2]:this architecture and platform |
Error |
err_arithmetic_nonfragile_interface |
[1]:arithmetic on pointer to interface %0, which is not a constant size for [2]:this architecture and platform |
Extension |
ext_subscript_non_lvalue |
ISO C90 does not allow subscripting non-lvalue array |
Error |
err_typecheck_subscript_value |
subscripted value is not an array, pointer, or vector |
Error |
err_typecheck_subscript_not_integer |
array subscript is not an integer |
Error |
err_subscript_function_type |
subscript of pointer to function type %0 |
Error |
err_subscript_incomplete_type |
subscript of pointer to incomplete type %0 |
Error |
err_dereference_incomplete_type |
dereference of pointer to incomplete type %0 |
Extension |
ext_gnu_subscript_void_type |
subscript of a pointer to void is a GNU extension |
Error |
err_typecheck_member_reference_struct_union |
member reference base type %0 is not a structure or union |
Error |
err_typecheck_member_reference_ivar |
%0 does not have a member named %1 |
Error |
error_arc_weak_ivar_access |
[1]:dereferencing a __weak pointer is not allowed due to possible [2]:null value caused by race condition, assign it to strong variable first |
Error |
err_typecheck_member_reference_arrow |
member reference type %0 is not a pointer |
Error |
err_typecheck_member_reference_suggestion |
member reference type %0 is %select{a|not a}1 pointer; did you mean to use '%select{->|.}1'? |
Note |
note_typecheck_member_reference_suggestion |
did you mean to use '.' instead? |
Note |
note_member_reference_arrow_from_operator_arrow |
'->' applied to return value of the operator->() declared here |
Error |
err_typecheck_member_reference_type |
cannot refer to type member %0 in %1 with '%select{.|->}2' |
Error |
err_typecheck_member_reference_unknown |
cannot refer to member %0 in %1 with '%select{.|->}2' |
Error |
err_member_reference_needs_call |
[1]:base of member reference is a function; perhaps you meant to call [2]:it%select{| with no arguments}0? |
Warning |
warn_subscript_is_char |
array subscript is of type 'char' |
Error |
err_typecheck_incomplete_tag |
incomplete definition of type %0 |
Error |
err_no_member |
no member named %0 in %1 |
Error |
err_no_member_overloaded_arrow |
no member named %0 in %1; did you mean to use '->' instead of '.'? |
Error |
err_member_not_yet_instantiated |
no member %0 in %1; it has not yet been instantiated |
Note |
note_non_instantiated_member_here |
not-yet-instantiated member is declared here |
Error |
err_enumerator_does_not_exist |
enumerator %0 does not exist in instantiation of %1 |
Note |
note_enum_specialized_here |
enum %0 was explicitly specialized here |
Error |
err_member_redeclared |
class member cannot be redeclared |
ExtWarn |
ext_member_redeclared |
class member cannot be redeclared |
Error |
err_member_redeclared_in_instantiation |
multiple overloads of %0 instantiate to the same signature %1 |
Error |
err_member_name_of_class |
member %0 has the same name as its class |
Error |
err_member_def_undefined_record |
out-of-line definition of %0 from class %1 without definition |
Error |
err_member_decl_does_not_match |
[1]:out-of-line %select{declaration|definition}2 of %0 [2]:does not match any declaration in %1 |
Error |
err_friend_decl_with_def_arg_must_be_def |
friend declaration specifying a default argument must be a definition |
Error |
err_friend_decl_with_def_arg_redeclared |
friend declaration specifying a default argument must be the only declaration |
Error |
err_friend_decl_does_not_match |
friend declaration of %0 does not match any declaration in %1 |
Error |
err_member_decl_does_not_match_suggest |
[1]:out-of-line %select{declaration|definition}2 of %0 [2]:does not match any declaration in %1; did you mean %3? |
Error |
err_member_def_does_not_match_ret_type |
[1]:return type of out-of-line definition of %q0 differs from [2]:that in the declaration |
Error |
err_nonstatic_member_out_of_line |
non-static data member defined out-of-line |
Error |
err_qualified_typedef_declarator |
typedef declarator cannot be qualified |
Error |
err_qualified_param_declarator |
parameter declarator cannot be qualified |
ExtWarn |
ext_out_of_line_declaration |
out-of-line declaration of a member must be a definition |
Error |
err_member_extra_qualification |
extra qualification on member %0 |
Warning |
warn_member_extra_qualification |
err_member_extra_qualification.Text |
Warning |
warn_namespace_member_extra_qualification |
extra qualification on member %0 |
Error |
err_member_qualification |
non-friend class member %0 cannot have a qualified name |
Note |
note_member_def_close_match |
member declaration nearly matches |
Note |
note_member_def_close_const_match |
[1]:member declaration does not match because [2]:it %select{is|is not}0 const qualified |
Note |
note_member_def_close_param_match |
[1]:type of %ordinal0 parameter of member declaration does not match definition [2]:%diff{ ($ vs $)|}1,2 |
Note |
note_local_decl_close_match |
local declaration nearly matches |
Note |
note_local_decl_close_param_match |
[1]:type of %ordinal0 parameter of local declaration does not match definition [2]:%diff{ ($ vs $)|}1,2 |
Error |
err_typecheck_ivar_variable_size |
instance variables must have a constant size |
Error |
err_ivar_reference_type |
instance variables cannot be of reference type |
Error |
err_typecheck_illegal_increment_decrement |
cannot %select{decrement|increment}1 value of type %0 |
Error |
err_typecheck_expect_int |
used type %0 where integer is required |
Error |
err_typecheck_arithmetic_incomplete_type |
arithmetic on a pointer to an incomplete type %0 |
Error |
err_typecheck_pointer_arith_function_type |
[1]:arithmetic on%select{ a|}0 pointer%select{|s}0 to%select{ the|}2 [2]:function type%select{|s}2 %1%select{| and %3}2 |
Error |
err_typecheck_pointer_arith_void_type |
arithmetic on%select{ a|}0 pointer%select{|s}0 to void |
Error |
err_typecheck_decl_incomplete_type |
variable has incomplete type %0 |
Error |
err_typecheck_decl_incomplete_type___float128 |
support for type '__float128' is not yet implemented |
ExtWarn |
ext_typecheck_decl_incomplete_type |
tentative definition of variable with internal linkage has incomplete non-array type %0 |
Error |
err_tentative_def_incomplete_type |
tentative definition has type %0 that is never completed |
Warning |
warn_tentative_incomplete_array |
tentative array definition assumed to have one element |
Error |
err_typecheck_incomplete_array_needs_initializer |
[1]:definition of variable with array type needs an explicit size [2]:or an initializer |
Error |
err_array_init_not_init_list |
[1]:array initializer must be an initializer [2]:list%select{| or string literal| or wide string literal}0 |
Error |
err_array_init_narrow_string_into_wchar |
initializing wide char array with non-wide string literal |
Error |
err_array_init_wide_string_into_char |
initializing char array with wide string literal |
Error |
err_array_init_incompat_wide_string_into_wchar |
initializing wide char array with incompatible wide string literal |
Error |
err_array_init_different_type |
[1]:cannot initialize array %diff{of type $ with array of type $| [2]:with different type of array}0,1 |
Error |
err_array_init_non_constant_array |
[1]:cannot initialize array %diff{of type $ with non-constant array of type $| [2]:with different type of array}0,1 |
Extension |
ext_array_init_copy |
[1]:initialization of an array [2]:[1]:%diff{of type $ from a compound literal of type $| [2]:from a compound literal}0,1 is a GNU extension |
ExtWarn |
ext_array_init_parens |
parenthesized initialization of a member array is a GNU extension |
Warning |
warn_deprecated_string_literal_conversion |
conversion from string literal to %0 is deprecated |
ExtWarn |
ext_deprecated_string_literal_conversion |
ISO C++11 does not allow conversion from string literal to %0 |
Error |
err_realimag_invalid_type |
invalid type %0 to %1 operator |
Error |
err_typecheck_sclass_fscope |
illegal storage class on file-scoped variable |
Warning |
warn_standalone_specifier |
'%0' ignored on this declaration |
ExtWarn |
ext_standalone_specifier |
[1]:'%0' is not permitted on a declaration [2]:of a type |
Error |
err_standalone_class_nested_name_specifier |
[1]:forward declaration of %select{class|struct|interface|union|enum}0 cannot [2]:have a nested name specifier |
Error |
err_typecheck_sclass_func |
illegal storage class on function |
Error |
err_static_block_func |
function declared in block scope cannot have 'static' storage class |
Error |
err_typecheck_address_of |
[1]:address of %select{bit-field [2]:|vector element|property expression|register variable}0 requested |
Extension |
ext_typecheck_addrof_void |
ISO C forbids taking the address of an expression of type 'void' |
Error |
err_unqualified_pointer_member_function |
must explicitly qualify name of member function when taking its address |
Error |
err_invalid_form_pointer_member_function |
cannot create a non-constant pointer to member function |
Error |
err_address_of_function_with_pass_object_size_params |
[1]:cannot take address of function %0 because parameter %1 has [2]:pass_object_size attribute |
Error |
err_parens_pointer_member_function |
cannot parenthesize the name of a method when forming a member pointer |
Error |
err_typecheck_invalid_lvalue_addrof_addrof_function |
extra '&' taking address of overloaded function |
Error |
err_typecheck_invalid_lvalue_addrof |
cannot take the address of an rvalue of type %0 |
ExtWarn |
ext_typecheck_addrof_temporary |
taking the address of a temporary object of type %0 |
Error |
err_typecheck_addrof_temporary |
taking the address of a temporary object of type %0 |
Error |
err_typecheck_addrof_dtor |
taking the address of a destructor |
Error |
err_typecheck_unary_expr |
invalid argument type %0 to unary expression |
Error |
err_typecheck_indirection_requires_pointer |
indirection requires pointer operand (%0 invalid) |
ExtWarn |
ext_typecheck_indirection_through_void_pointer |
ISO C++ does not allow indirection on operand of type %0 |
Warning |
warn_indirection_through_null |
indirection of non-volatile null pointer will be deleted, not trap |
Note |
note_indirection_through_null |
consider using __builtin_trap() or qualifying pointer with 'volatile' |
Warning |
warn_pointer_indirection_from_incompatible_type |
[1]:dereference of type %1 that was reinterpret_cast from type %0 has undefined [2]:behavior |
Error |
err_objc_object_assignment |
cannot assign to class object (%0 invalid) |
Error |
err_typecheck_invalid_operands |
invalid operands to binary expression (%0 and %1) |
Error |
err_typecheck_sub_ptr_compatible |
[1]:%diff{$ and $ are not pointers to compatible types| [2]:pointers to incompatible types}0,1 |
ExtWarn |
ext_typecheck_ordered_comparison_of_pointer_integer |
ordered comparison between pointer and integer (%0 and %1) |
Extension |
ext_typecheck_ordered_comparison_of_pointer_and_zero |
ordered comparison between pointer and zero (%0 and %1) is an extension |
ExtWarn |
ext_typecheck_ordered_comparison_of_function_pointers |
ordered comparison of function pointers (%0 and %1) |
Extension |
ext_typecheck_comparison_of_fptr_to_void |
equality comparison between function pointer and void pointer (%0 and %1) |
Error |
err_typecheck_comparison_of_fptr_to_void |
equality comparison between function pointer and void pointer (%0 and %1) |
ExtWarn |
ext_typecheck_comparison_of_pointer_integer |
comparison between pointer and integer (%0 and %1) |
Error |
err_typecheck_comparison_of_pointer_integer |
comparison between pointer and integer (%0 and %1) |
ExtWarn |
ext_typecheck_comparison_of_distinct_pointers |
comparison of distinct pointer types%diff{ ($ and $)|}0,1 |
ExtWarn |
ext_typecheck_cond_incompatible_operands |
incompatible operand types (%0 and %1) |
Error |
err_cond_voidptr_arc |
[1]:operands to conditional of types%diff{ $ and $|}0,1 are incompatible [2]:in ARC mode |
Error |
err_typecheck_comparison_of_distinct_pointers |
comparison of distinct pointer types%diff{ ($ and $)|}0,1 |
ExtWarn |
ext_typecheck_comparison_of_distinct_pointers_nonstandard |
[1]:comparison of distinct pointer types (%0 and %1) uses non-standard [2]:composite pointer type %2 |
Error |
err_typecheck_op_on_nonoverlapping_address_space_pointers |
[1]:%select{comparison between %diff{ ($ and $)|}0,1 [2]:[1]:|arithmetic operation with operands of type %diff{ ($ and $)|}0,1}2 [2]: which are pointers to non-overlapping address spaces |
Error |
err_typecheck_assign_const |
[1]:%select{ [2]:[1]:cannot assign to return value because function %1 returns a const value| [2]:[1]:cannot assign to variable %1 with const-qualified type %2| [2]:[1]:cannot assign to %select{non-|}1static data member %2 [2]:[1]:with const-qualified type %3| [2]:[1]:cannot assign to non-static data member within const member function %1| [2]:read-only variable is not assignable}0 |
Note |
note_typecheck_assign_const |
[1]:%select{ [2]:[1]:function %1 which returns const-qualified type %2 declared here| [2]:[1]:variable %1 declared const here| [2]:[1]:%select{non-|}1static data member %2 declared const here| [2]:member function %q1 is declared const here}0 |
Warning |
warn_mixed_sign_comparison |
comparison of integers of different signs: %0 and %1 |
Warning |
warn_lunsigned_always_true_comparison |
comparison of unsigned%select{| enum}2 expression %0 is always %1 |
Warning |
warn_out_of_range_compare |
[1]:comparison of %select{constant %0|true|false}1 with [2]:[1]:%select{expression of type %2|boolean expression}3 is always [2]:%select{false|true}4 |
Warning |
warn_runsigned_always_true_comparison |
comparison of %0 unsigned%select{| enum}2 expression is always %1 |
Warning |
warn_comparison_of_mixed_enum_types |
[1]:comparison of two values with different enumeration types [2]:%diff{ ($ and $)|}0,1 |
Warning |
warn_null_in_arithmetic_operation |
use of NULL in arithmetic operation |
Warning |
warn_null_in_comparison_operation |
[1]:comparison between NULL and non-pointer [2]:%select{(%1 and NULL)|(NULL and %1)}0 |
Error |
err_shift_rhs_only_vector |
[1]:requested shift is a vector of type %0 but the first operand is not a [2]:vector (%1) |
Warning |
warn_logical_not_on_lhs_of_comparison |
logical not is only applied to the left hand side of this comparison |
Note |
note_logical_not_fix |
add parentheses after the '!' to evaluate the comparison first |
Note |
note_logical_not_silence_with_parens |
add parentheses around left hand side expression to silence this warning |
Error |
err_invalid_this_use |
invalid use of 'this' outside of a non-static member function |
Error |
err_this_static_member_func |
[1]:'this' cannot be%select{| implicitly}0 used in a static member function [2]:declaration |
Error |
err_invalid_member_use_in_static_method |
invalid use of member %0 in static member function |
Error |
err_invalid_qualified_function_type |
[1]:%select{static |non-}0member function %select{of type %2 |}1 [2]:cannot have '%3' qualifier |
Error |
err_compound_qualified_function_type |
[1]:%select{block pointer|pointer|reference}0 to function type %select{%2 |}1 [2]:cannot have '%3' qualifier |
Error |
err_ref_qualifier_overload |
[1]:cannot overload a member function %select{without a ref-qualifier|with [2]:[1]:ref-qualifier '&'|with ref-qualifier '&&'}0 with a member function %select{ [2]:without a ref-qualifier|with ref-qualifier '&'|with ref-qualifier '&&'}1 |
Error |
err_invalid_non_static_member_use |
invalid use of non-static data member %0 |
Error |
err_nested_non_static_member_use |
[1]:%select{call to non-static member function|use of non-static data member}0 [2]:%2 of %1 from nested type %3 |
Warning |
warn_cxx98_compat_non_static_member_use |
[1]:use of non-static data member %0 in an unevaluated context is [2]:incompatible with C++98 |
Error |
err_invalid_incomplete_type_use |
invalid use of incomplete type %0 |
Error |
err_builtin_func_cast_more_than_one_arg |
function-style cast to a builtin type can only take one argument |
Error |
err_value_init_for_array_type |
array types cannot be value-initialized |
Error |
err_value_init_for_function_type |
function types cannot be value-initialized |
Warning |
warn_format_nonliteral_noargs |
format string is not a string literal (potentially insecure) |
Warning |
warn_format_nonliteral |
format string is not a string literal |
Error |
err_unexpected_interface |
unexpected interface name %0: expected expression |
Error |
err_ref_non_value |
%0 does not refer to a value |
Error |
err_ref_vm_type |
cannot refer to declaration with a variably modified type inside block |
Error |
err_ref_flexarray_type |
[1]:cannot refer to declaration of structure variable with flexible array member [2]:inside block |
Error |
err_ref_array_type |
cannot refer to declaration with an array type inside block |
Error |
err_property_not_found |
property %0 not found on object of type %1 |
Error |
err_invalid_property_name |
%0 is not a valid property name (accessing an object of type %1) |
Error |
err_getter_not_found |
no getter method for read from property |
Error |
err_objc_subscript_method_not_found |
[1]:expected method to %select{read|write}1 %select{dictionary|array}2 element not [2]:found on object of type %0 |
Error |
err_objc_subscript_index_type |
method index parameter type %0 is not integral type |
Error |
err_objc_subscript_key_type |
method key parameter type %0 is not object type |
Error |
err_objc_subscript_dic_object_type |
method object parameter type %0 is not object type |
Error |
err_objc_subscript_object_type |
[1]:cannot assign to this %select{dictionary|array}1 because assigning method's [2]:2nd parameter of type %0 is not an Objective-C pointer type |
Error |
err_objc_subscript_base_type |
%select{dictionary|array}1 subscript base type %0 is not an Objective-C object |
Error |
err_objc_multiple_subscript_type_conversion |
[1]:indexing expression is invalid because subscript type %0 has [2]:multiple type conversion functions |
Error |
err_objc_subscript_type_conversion |
[1]:indexing expression is invalid because subscript type %0 is not an integral [2]: or Objective-C pointer type |
Error |
err_objc_subscript_pointer |
[1]:indexing expression is invalid because subscript type %0 is not an [2]: Objective-C pointer |
Error |
err_objc_indexing_method_result_type |
[1]:method for accessing %select{dictionary|array}1 element must have Objective-C [2]: object return type instead of %0 |
Error |
err_objc_index_incomplete_class_type |
Objective-C index expression has incomplete class type %0 |
Error |
err_illegal_container_subscripting_op |
illegal operation on Objective-C container subscripting |
Error |
err_property_not_found_forward_class |
property %0 cannot be found in forward class object %1 |
Error |
err_property_not_as_forward_class |
[1]:property %0 refers to an incomplete Objective-C class %1 [2]:(with no @interface available) |
Note |
note_forward_class |
forward declaration of class here |
Error |
err_duplicate_property |
property has a previous declaration |
Extension |
ext_gnu_void_ptr |
arithmetic on%select{ a|}0 pointer%select{|s}0 to void is a GNU extension |
Extension |
ext_gnu_ptr_func_arith |
[1]:arithmetic on%select{ a|}0 pointer%select{|s}0 to%select{ the|}2 function [2]:type%select{|s}2 %1%select{| and %3}2 is a GNU extension |
Error |
error_readonly_message_assignment |
assigning to 'readonly' return result of an Objective-C message not allowed |
Extension |
ext_integer_increment_complex |
ISO C does not support '++'/'--' on complex integer type %0 |
Extension |
ext_integer_complement_complex |
ISO C does not support '~' for complex conjugation of %0 |
Error |
err_nosetter_property_assignment |
[1]:%select{assignment to readonly property| [2]:no setter method %1 for assignment to property}0 |
Error |
err_nosetter_property_incdec |
[1]:%select{%select{increment|decrement}1 of readonly property| [2]:no setter method %2 for %select{increment|decrement}1 of property}0 |
Error |
err_nogetter_property_compound_assignment |
a getter method is needed to perform a compound assignment on a property |
Error |
err_nogetter_property_incdec |
no getter method %1 for %select{increment|decrement}0 of property |
Error |
error_no_subobject_property_setting |
expression is not assignable |
Error |
err_qualified_objc_access |
%select{property|instance variable}0 access cannot be qualified with '%1' |
Extension |
ext_freestanding_complex |
complex numbers are an extension in a freestanding C99 implementation |
Error |
err_imaginary_not_supported |
imaginary types are not supported |
Warning |
warn_root_inst_method_not_found |
instance method %0 is being used on 'Class' which is not in the root class |
Warning |
warn_class_method_not_found |
class method %objcclass0 not found (return type defaults to 'id') |
Warning |
warn_instance_method_on_class_found |
instance method %0 found instead of class method %1 |
Warning |
warn_inst_method_not_found |
instance method %objcinstance0 not found (return type defaults to 'id') |
Warning |
warn_instance_method_not_found_with_typo |
[1]:instance method %objcinstance0 not found (return type defaults to 'id') [2]:; did you mean %objcinstance2? |
Warning |
warn_class_method_not_found_with_typo |
[1]:class method %objcclass0 not found (return type defaults to 'id') [2]:; did you mean %objcclass2? |
Error |
error_method_not_found_with_typo |
[1]:%select{instance|class}1 method %0 not found [2]:; did you mean %2? |
Error |
error_no_super_class_message |
no @interface declaration found in class messaging of %0 |
Error |
error_root_class_cannot_use_super |
%0 cannot use 'super' because it is a root class |
Error |
err_invalid_receiver_to_message_super |
'super' is only valid in a method body |
Error |
err_invalid_receiver_class_message |
receiver type %0 is not an Objective-C class |
Error |
err_missing_open_square_message_send |
missing '[' at start of message send expression |
Warning |
warn_bad_receiver_type |
[1]:receiver type %0 is not 'id' or interface pointer, consider [2]:casting it to 'id' |
Error |
err_bad_receiver_type |
bad receiver type %0 |
Error |
err_incomplete_receiver_type |
incomplete receiver type %0 |
Error |
err_unknown_receiver_suggest |
unknown receiver %0; did you mean %1? |
Error |
error_objc_throw_expects_object |
@throw requires an Objective-C object type (%0 invalid) |
Error |
error_objc_synchronized_expects_object |
@synchronized requires an Objective-C object type (%0 invalid) |
Error |
error_rethrow_used_outside_catch |
@throw (rethrow) used outside of a @catch block |
Error |
err_attribute_multiple_objc_gc |
multiple garbage collection attributes specified for type |
Error |
err_catch_param_not_objc_type |
@catch parameter is not a pointer to an interface type |
Error |
err_illegal_qualifiers_on_catch_parm |
illegal qualifiers on @catch parameter |
Error |
err_storage_spec_on_catch_parm |
@catch parameter cannot have storage specifier '%0' |
Warning |
warn_register_objc_catch_parm |
'register' storage specifier on @catch parameter will be ignored |
Error |
err_qualified_objc_catch_parm |
@catch parameter declarator cannot be qualified |
Warning |
warn_objc_pointer_cxx_catch_fragile |
[1]:cannot catch an exception thrown with @throw in C++ in the non-unified [2]:exception model |
Error |
err_objc_object_catch |
cannot catch an Objective-C object by value |
Error |
err_incomplete_type_objc_at_encode |
'@encode' of incomplete type %0 |
Warning |
warn_objc_circular_container |
adding '%0' to '%1' might cause circular dependency in container |
Note |
note_objc_circular_container_declared_here |
'%0' declared here |
Warning |
warn_setter_getter_impl_required |
[1]:property %0 requires method %1 to be defined - [2]:[1]:use @synthesize, @dynamic or provide a method implementation [2]:in this class implementation |
Warning |
warn_setter_getter_impl_required_in_category |
[1]:property %0 requires method %1 to be defined - [2]:use @dynamic or provide a method implementation in this category |
Note |
note_parameter_named_here |
passing argument to parameter %0 here |
Note |
note_parameter_here |
passing argument to parameter here |
Note |
note_method_return_type_change |
compiler has implicitly changed method %0 return type |
Error |
err_bad_reinterpret_cast_overload |
reinterpret_cast cannot resolve overloaded function %0 to type %1 |
Warning |
warn_reinterpret_different_from_static |
[1]:'reinterpret_cast' %select{from|to}3 class %0 %select{to|from}3 its [2]:[1]:%select{virtual base|base at non-zero offset}2 %1 behaves differently from [2]:'static_cast' |
Note |
note_reinterpret_updowncast_use_static |
[1]:use 'static_cast' to adjust the pointer correctly while [2]:%select{upcasting|downcasting}0 |
Error |
err_bad_static_cast_overload |
address of overloaded function %0 cannot be static_cast to type %1 |
Error |
err_bad_cstyle_cast_overload |
address of overloaded function %0 cannot be cast to type %1 |
Error |
err_bad_cxx_cast_generic |
[1]:%select{const_cast|static_cast|reinterpret_cast|dynamic_cast|C-style cast| [2]:functional-style cast}0 from %1 to %2 is not allowed |
Error |
err_bad_cxx_cast_unrelated_class |
[1]:%select{const_cast|static_cast|reinterpret_cast|dynamic_cast|C-style cast| [2]:[1]:functional-style cast}0 from %1 to %2, which are not related by [2]:inheritance, is not allowed |
Note |
note_type_incomplete |
%0 is incomplete |
Error |
err_bad_cxx_cast_rvalue |
[1]:%select{const_cast|static_cast|reinterpret_cast|dynamic_cast|C-style cast| [2]:functional-style cast}0 from rvalue to reference type %2 |
Error |
err_bad_cxx_cast_bitfield |
[1]:%select{const_cast|static_cast|reinterpret_cast|dynamic_cast|C-style cast| [2]:functional-style cast}0 from bit-field lvalue to reference type %2 |
Error |
err_bad_cxx_cast_qualifiers_away |
[1]:%select{const_cast|static_cast|reinterpret_cast|dynamic_cast|C-style cast| [2]:functional-style cast}0 from %1 to %2 casts away qualifiers |
Error |
err_bad_const_cast_dest |
[1]:%select{const_cast||||C-style cast|functional-style cast}0 to %2, [2]:which is not a reference, pointer-to-object, or pointer-to-data-member |
Extension |
ext_cast_fn_obj |
cast between pointer-to-function and pointer-to-object is an extension |
ExtWarn |
ext_ms_cast_fn_obj |
[1]:static_cast between pointer-to-function and pointer-to-object is a [2]:Microsoft extension |
Warning |
warn_cxx98_compat_cast_fn_obj |
cast between pointer-to-function and pointer-to-object is incompatible with C++98 |
Error |
err_bad_reinterpret_cast_small_int |
cast from pointer to smaller type %2 loses information |
Error |
err_bad_cxx_cast_vector_to_scalar_different_size |
[1]:%select{||reinterpret_cast||C-style cast|}0 from vector %1 [2]:to scalar %2 of different size |
Error |
err_bad_cxx_cast_scalar_to_vector_different_size |
[1]:%select{||reinterpret_cast||C-style cast|}0 from scalar %1 [2]:to vector %2 of different size |
Error |
err_bad_cxx_cast_vector_to_vector_different_size |
[1]:%select{||reinterpret_cast||C-style cast|}0 from vector %1 [2]:to vector %2 of different size |
Error |
err_bad_lvalue_to_rvalue_cast |
[1]:cannot cast from lvalue of type %1 to rvalue reference type %2; types are [2]:not compatible |
Error |
err_bad_static_cast_pointer_nonpointer |
cannot cast from type %1 to pointer type %2 |
Error |
err_bad_static_cast_member_pointer_nonmp |
cannot cast from type %1 to member pointer type %2 |
Error |
err_bad_cxx_cast_member_pointer_size |
[1]:cannot %select{||reinterpret_cast||C-style cast|}0 from member pointer [2]:type %1 to member pointer type %2 of different size |
Error |
err_bad_reinterpret_cast_reference |
reinterpret_cast of a %0 to %1 needs its address, which is not allowed |
Warning |
warn_undefined_reinterpret_cast |
reinterpret_cast from %0 to %1 has undefined behavior |
Error |
err_ambiguous_base_to_derived_cast |
ambiguous cast from base %0 to derived %1:%2 |
Error |
err_static_downcast_via_virtual |
cannot cast %0 to %1 via virtual base %2 |
Error |
err_downcast_from_inaccessible_base |
cannot cast %select{private|protected}2 base class %1 to %0 |
Error |
err_upcast_to_inaccessible_base |
cannot cast %0 to its %select{private|protected}2 base class %1 |
Error |
err_bad_dynamic_cast_not_ref_or_ptr |
%0 is not a reference or pointer |
Error |
err_bad_dynamic_cast_not_class |
%0 is not a class |
Error |
err_bad_dynamic_cast_incomplete |
%0 is an incomplete type |
Error |
err_bad_dynamic_cast_not_ptr |
%0 is not a pointer |
Error |
err_bad_dynamic_cast_not_polymorphic |
%0 is not polymorphic |
Error |
err_need_header_before_typeid |
you need to include before using the 'typeid' operator |
Error |
err_need_header_before_ms_uuidof |
you need to include before using the '__uuidof' operator |
Error |
err_ms___leave_not_in___try |
'__leave' statement not in __try block |
Error |
err_uuidof_without_guid |
cannot call operator __uuidof on a type with no GUID |
Error |
err_uuidof_with_multiple_guids |
cannot call operator __uuidof on a type with multiple GUIDs |
Error |
err_incomplete_typeid |
'typeid' of incomplete type %0 |
Error |
err_variably_modified_typeid |
'typeid' of variably modified type %0 |
Error |
err_static_illegal_in_new |
the 'static' modifier for the array size is not legal in new expressions |
Error |
err_array_new_needs_size |
array size must be specified in new expressions |
Error |
err_bad_new_type |
cannot allocate %select{function|reference}1 type %0 with new |
Error |
err_new_incomplete_type |
allocation of incomplete type %0 |
Error |
err_new_array_nonconst |
only the first dimension of an allocated array may have dynamic size |
Error |
err_new_array_init_args |
array 'new' cannot have initialization arguments |
ExtWarn |
ext_new_paren_array_nonconst |
when type is in parentheses, array cannot have dynamic size |
Error |
err_placement_new_non_placement_delete |
[1]:'new' expression with placement arguments refers to non-placement [2]:'operator delete' |
Error |
err_array_size_not_integral |
[1]:array size expression must have integral or %select{|unscoped }0 [2]:enumeration type, not %1 |
Error |
err_array_size_incomplete_type |
array size expression has incomplete class type %0 |
Error |
err_array_size_explicit_conversion |
array size expression of type %0 requires explicit conversion to type %1 |
Note |
note_array_size_conversion |
conversion to %select{integral|enumeration}0 type %1 declared here |
Error |
err_array_size_ambiguous_conversion |
[1]:ambiguous conversion of array size expression of type %0 to an integral or [2]:enumeration type |
Extension |
ext_array_size_conversion |
[1]:implicit conversion from array size expression of type %0 to [2]:%select{integral|enumeration}1 type %2 is a C++11 extension |
Warning |
warn_cxx98_compat_array_size_conversion |
[1]:implicit conversion from array size expression of type %0 to [2]:%select{integral|enumeration}1 type %2 is incompatible with C++98 |
Error |
err_address_space_qualified_new |
'new' cannot allocate objects of type %0 in address space '%1' |
Error |
err_address_space_qualified_delete |
'delete' cannot delete objects of type %0 in address space '%1' |
Error |
err_default_init_const |
[1]:default initialization of an object of const type %0 [2]:%select{| without a user-provided default constructor}1 |
ExtWarn |
ext_default_init_const |
[1]:default initialization of an object of const type %0 [2]:[1]:%select{| without a user-provided default constructor}1 [2]:is a Microsoft extension |
Error |
err_delete_operand |
cannot delete expression of type %0 |
ExtWarn |
ext_delete_void_ptr_operand |
cannot delete expression with pointer-to-'void' type %0 |
Error |
err_ambiguous_delete_operand |
ambiguous conversion of delete expression of type %0 to a pointer |
Warning |
warn_delete_incomplete |
deleting pointer to incomplete type %0 may cause undefined behavior |
Error |
err_delete_incomplete_class_type |
deleting incomplete class type %0; no conversions to pointer type |
Error |
err_delete_explicit_conversion |
[1]:converting delete expression from type %0 to type %1 invokes an explicit [2]:conversion function |
Note |
note_delete_conversion |
conversion to pointer type %0 |
Warning |
warn_delete_array_type |
'delete' applied to a pointer-to-array type %0 treated as 'delete[]' |
Warning |
warn_mismatched_delete_new |
[1]:'delete%select{|[]}0' applied to a pointer that was allocated with [2]:'new%select{[]|}0'; did you mean 'delete%select{[]|}0'? |
Note |
note_allocated_here |
allocated with 'new%select{[]|}0' here |
Error |
err_no_suitable_delete_member_function_found |
no suitable member %0 in %1 |
Error |
err_ambiguous_suitable_delete_member_function_found |
multiple suitable %0 functions in %1 |
Note |
note_member_declared_here |
member %0 declared here |
Error |
err_decrement_bool |
cannot decrement expression of type bool |
Warning |
warn_increment_bool |
[1]:incrementing expression of type bool is deprecated and [2]:incompatible with C++1z |
ExtWarn |
ext_increment_bool |
ISO C++1z does not allow incrementing expression of type bool |
Error |
err_increment_decrement_enum |
cannot %select{decrement|increment}0 expression of enum type %1 |
Error |
err_catch_incomplete_ptr |
cannot catch pointer to incomplete type %0 |
Error |
err_catch_incomplete_ref |
cannot catch reference to incomplete type %0 |
Error |
err_catch_incomplete |
cannot catch incomplete type %0 |
Error |
err_catch_rvalue_ref |
cannot catch exceptions by rvalue reference |
Error |
err_qualified_catch_declarator |
exception declarator cannot be qualified |
Error |
err_early_catch_all |
catch-all handler must come last |
Error |
err_bad_memptr_rhs |
right hand operand to %0 has non-pointer-to-member type %1 |
Error |
err_bad_memptr_lhs |
[1]:left hand operand to %0 must be a %select{|pointer to }1class [2]:compatible with the right hand operand, but is %2 |
Warning |
warn_exception_caught_by_earlier_handler |
exception of type %0 will be caught by earlier handler |
Note |
note_previous_exception_handler |
for type %0 |
Error |
err_exceptions_disabled |
cannot use '%0' with exceptions disabled |
Error |
err_objc_exceptions_disabled |
cannot use '%0' with Objective-C exceptions disabled |
Error |
err_seh_try_outside_functions |
cannot use SEH '__try' in blocks, captured regions, or Obj-C method decls |
Error |
err_mixing_cxx_try_seh_try |
cannot use C++ 'try' in the same function as SEH '__try' |
Error |
err_seh_try_unsupported |
SEH '__try' is not supported on this target |
Note |
note_conflicting_try_here |
conflicting %0 here |
Warning |
warn_jump_out_of_seh_finally |
jump out of __finally block has undefined behavior |
Warning |
warn_non_virtual_dtor |
%0 has virtual functions but non-virtual destructor |
Warning |
warn_delete_non_virtual_dtor |
[1]:%select{delete|destructor}0 called on non-final %1 that has [2]:virtual functions but non-virtual destructor |
Note |
note_delete_non_virtual |
qualify call to silence this warning |
Warning |
warn_delete_abstract_non_virtual_dtor |
[1]:%select{delete|destructor}0 called on %1 that is abstract but has [2]:non-virtual destructor |
Warning |
warn_overloaded_virtual |
%q0 hides overloaded virtual %select{function|functions}1 |
Note |
note_hidden_overloaded_virtual_declared_here |
[1]:hidden overloaded virtual function %q0 declared here [2]:[1]:%select{|: different classes%diff{ ($ vs $)|}2,3 [2]:[1]:|: different number of parameters (%2 vs %3) [2]:[1]:|: type mismatch at %ordinal2 parameter%diff{ ($ vs $)|}3,4 [2]:[1]:|: different return type%diff{ ($ vs $)|}2,3 [2]:[1]:|: different qualifiers ( [2]:[1]:%select{none|const|restrict|const and restrict|volatile|const and volatile| [2]:[1]:volatile and restrict|const, volatile, and restrict}2 vs [2]:[1]:%select{none|const|restrict|const and restrict|volatile|const and volatile| [2]:volatile and restrict|const, volatile, and restrict}3)}1 |
Warning |
warn_using_directive_in_header |
using namespace directive in global context in header |
Warning |
warn_overaligned_type |
[1]:type %0 requires %1 bytes of alignment and the default allocator only [2]:guarantees %2 bytes |
Error |
err_conditional_void_nonvoid |
[1]:%select{left|right}1 operand to ? is void, but %select{right|left}1 operand [2]:is of type %0 |
Error |
err_conditional_ambiguous |
[1]:conditional expression is ambiguous; [2]:[1]:%diff{$ can be converted to $ and vice versa| [2]:types can be convert to each other}0,1 |
Error |
err_conditional_ambiguous_ovl |
[1]:conditional expression is ambiguous; %diff{$ and $|types}0,1 [2]:can be converted to several common types |
Error |
err_conditional_vector_size |
[1]:vector condition type %0 and result type %1 do not have the same number [2]:of elements |
Error |
err_conditional_vector_element_size |
[1]:vector condition type %0 and result type %1 do not have elements of the [2]:same size |
Error |
err_throw_incomplete |
cannot throw object of incomplete type %0 |
Error |
err_throw_incomplete_ptr |
cannot throw pointer to object of incomplete type %0 |
Error |
err_return_in_constructor_handler |
return in the catch of a function try block of a constructor is illegal |
Warning |
warn_cdtor_function_try_handler_mem_expr |
[1]:cannot refer to a non-static member from the handler of a [2]:%select{constructor|destructor}0 function try block |
Error |
err_capture_more_than_once |
%0 can appear only once in a capture list |
Error |
err_reference_capture_with_reference_default |
'&' cannot precede a capture when the capture default is '&' |
Error |
err_this_capture_with_copy_default |
'this' cannot be explicitly captured when the capture default is '=' |
Error |
err_copy_capture_with_copy_default |
'&' must precede a capture when the capture default is '=' |
Error |
err_capture_does_not_name_variable |
%0 in capture list does not name a variable |
Error |
err_capture_non_automatic_variable |
[1]:%0 cannot be captured because it does not have automatic storage [2]:duration |
Error |
err_this_capture |
'this' cannot be %select{implicitly |}0captured in this context |
Error |
err_lambda_capture_anonymous_var |
unnamed variable cannot be implicitly captured in a lambda expression |
Error |
err_lambda_capture_flexarray_type |
[1]:variable %0 with flexible array member cannot be captured in [2]:a lambda expression |
Error |
err_lambda_impcap |
[1]:variable %0 cannot be implicitly captured in a lambda with no [2]:capture-default specified |
Note |
note_lambda_decl |
lambda expression begins here |
Error |
err_lambda_unevaluated_operand |
lambda expression in an unevaluated operand |
Error |
err_lambda_in_constant_expression |
a lambda expression may not appear inside of a constant expression |
Error |
err_lambda_return_init_list |
cannot deduce lambda return type from initializer list |
Error |
err_lambda_capture_default_arg |
lambda expression in default argument cannot capture any entity |
Error |
err_lambda_incomplete_result |
incomplete result type %0 in lambda expression |
Error |
err_noreturn_lambda_has_return_expr |
lambda declared 'noreturn' should not return |
Warning |
warn_maybe_falloff_nonvoid_lambda |
control may reach end of non-void lambda |
Warning |
warn_falloff_nonvoid_lambda |
control reaches end of non-void lambda |
Error |
err_access_lambda_capture |
[1]:capture of variable '%0' as type %1 calls %select{private|protected}3 [2]:%select{default |copy |move |*ERROR* |*ERROR* |*ERROR* |}2constructor |
Note |
note_lambda_to_block_conv |
[1]:implicit capture of lambda object due to conversion to block pointer [2]:here |
Warning |
warn_cxx11_compat_init_capture |
[1]:initialized lambda captures are incompatible with C++ standards [2]:before C++14 |
ExtWarn |
ext_init_capture |
initialized lambda captures are a C++14 extension |
Error |
err_init_capture_no_expression |
initializer missing for lambda capture %0 |
Error |
err_init_capture_multiple_expressions |
initializer for lambda capture %0 contains multiple expressions |
Error |
err_init_capture_paren_braces |
[1]:cannot deduce type for lambda capture %1 from [2]:%select{parenthesized|nested}0 initializer list |
Error |
err_init_capture_deduction_failure |
cannot deduce type for lambda capture %0 from initializer of type %2 |
Error |
err_init_capture_deduction_failure_from_init_list |
cannot deduce type for lambda capture %0 from initializer list |
Error |
err_return_in_captured_stmt |
cannot return from %0 |
Error |
err_capture_block_variable |
[1]:__block variable %0 cannot be captured in a [2]:%select{lambda expression|captured statement}1 |
Error |
err_operator_arrow_circular |
circular pointer delegation detected |
Error |
err_operator_arrow_depth_exceeded |
[1]:use of 'operator->' on type %0 would invoke a sequence of more than %1 [2]:'operator->' calls |
Note |
note_operator_arrow_here |
'operator->' declared here produces an object of type %0 |
Note |
note_operator_arrows_suppressed |
(skipping %0 'operator->'%s0 in backtrace) |
Note |
note_operator_arrow_depth |
use -foperator-arrow-depth=N to increase 'operator->' limit |
Error |
err_pseudo_dtor_base_not_scalar |
[1]:object expression of non-scalar type %0 cannot be used in a [2]:pseudo-destructor expression |
ExtWarn |
ext_pseudo_dtor_on_void |
pseudo-destructors on type void are a Microsoft extension |
Error |
err_pseudo_dtor_type_mismatch |
[1]:the type of object expression [2]:[1]:%diff{($) does not match the type being destroyed ($)| [2]:[1]:does not match the type being destroyed}0,1 [2]:in pseudo-destructor expression |
Error |
err_pseudo_dtor_call_with_args |
call to pseudo-destructor cannot have any arguments |
Error |
err_dtor_expr_without_call |
[1]:reference to %select{destructor|pseudo-destructor}0 must be called [2]:%select{|; did you mean to call it with no arguments?}1 |
Error |
err_pseudo_dtor_destructor_non_type |
[1]:%0 does not refer to a type name in pseudo-destructor expression; expected [2]:the name of type %1 |
Error |
err_invalid_use_of_function_type |
a function type is not allowed here |
Error |
err_invalid_use_of_array_type |
an array type is not allowed here |
Error |
err_typecheck_bool_condition |
value of type %0 is not contextually convertible to 'bool' |
Error |
err_typecheck_ambiguous_condition |
conversion %diff{from $ to $|between types}0,1 is ambiguous |
Error |
err_typecheck_nonviable_condition |
[1]:no viable conversion%select{%diff{ from $ to $|}1,2| [2]:%diff{ from returned value of type $ to function return type $|}1,2}0 |
Error |
err_typecheck_nonviable_condition_incomplete |
no viable conversion%diff{ from $ to incomplete type $|}0,1 |
Error |
err_typecheck_deleted_function |
[1]:conversion function %diff{from $ to $|between types}0,1 [2]:invokes a deleted function |
Error |
err_expected_class_or_namespace |
[1]:%0 is not a class [2]:%select{ or namespace|, namespace, or enumeration}1 |
Error |
err_invalid_declarator_scope |
[1]:cannot define or redeclare %0 here [2]:because namespace %1 does not enclose namespace %2 |
Error |
err_invalid_declarator_global_scope |
definition or redeclaration of %0 cannot name the global scope |
Error |
err_invalid_declarator_in_function |
definition or redeclaration of %0 not allowed inside a function |
Error |
err_invalid_declarator_in_block |
definition or redeclaration of %0 not allowed inside a block |
Error |
err_not_tag_in_scope |
no %select{struct|interface|union|class|enum}0 named %1 in %2 |
Error |
err_no_typeid_with_fno_rtti |
cannot use typeid with -fno-rtti |
Error |
err_no_dynamic_cast_with_fno_rtti |
cannot use dynamic_cast with -fno-rtti |
Error |
err_cannot_form_pointer_to_member_of_reference_type |
cannot form a pointer-to-member to member %0 of reference type %1 |
Error |
err_incomplete_object_call |
incomplete type in call to object of type %0 |
Warning |
warn_condition_is_assignment |
[1]:using the result of an [2]:assignment as a condition without parentheses |
Warning |
warn_condition_is_idiomatic_assignment |
[1]:using the result [2]:of an assignment as a condition without parentheses |
Note |
note_condition_assign_to_comparison |
use '==' to turn this assignment into an equality comparison |
Note |
note_condition_or_assign_to_comparison |
use '!=' to turn this compound assignment into an inequality comparison |
Note |
note_condition_assign_silence |
place parentheses around the assignment to silence this warning |
Warning |
warn_equality_with_extra_parens |
[1]:equality comparison with [2]:extraneous parentheses |
Note |
note_equality_comparison_to_assign |
use '=' to turn this equality comparison into an assignment |
Note |
note_equality_comparison_silence |
remove extraneous parentheses around the comparison to silence this warning |
Error |
err_typecheck_convert_incompatible |
[1]:%select{%diff{assigning to $ from incompatible type $| [2]:[1]:assigning to type from incompatible type}0,1 [2]:[1]:|%diff{passing $ to parameter of incompatible type $| [2]:[1]:passing type to parameter of incompatible type}0,1 [2]:[1]:|%diff{returning $ from a function with incompatible result type $| [2]:[1]:returning type from a function with incompatible result type}0,1 [2]:[1]:|%diff{converting $ to incompatible type $| [2]:[1]:converting type to incompatible type}0,1 [2]:[1]:|%diff{initializing $ with an expression of incompatible type $| [2]:[1]:initializing type with an expression of incompatible type}0,1 [2]:[1]:|%diff{sending $ to parameter of incompatible type $| [2]:[1]:sending type to parameter of incompatible type}0,1 [2]:[1]:|%diff{casting $ to incompatible type $| [2]:[1]:casting type to incompatible type}0,1}2 [2]:[1]:%select{|; dereference with *| [2]:[1]:; take the address with &| [2]:[1]:; remove *| [2]:[1]:; remove &}3 [2]:[1]:%select{|: different classes%diff{ ($ vs $)|}5,6 [2]:[1]:|: different number of parameters (%5 vs %6) [2]:[1]:|: type mismatch at %ordinal5 parameter%diff{ ($ vs $)|}6,7 [2]:[1]:|: different return type%diff{ ($ vs $)|}5,6 [2]:[1]:|: different qualifiers ( [2]:[1]:%select{none|const|restrict|const and restrict|volatile|const and volatile| [2]:[1]:volatile and restrict|const, volatile, and restrict}5 vs [2]:[1]:%select{none|const|restrict|const and restrict|volatile|const and volatile| [2]:volatile and restrict|const, volatile, and restrict}6)}4 |
Error |
err_typecheck_missing_return_type_incompatible |
[1]:%diff{return type $ must match previous return type $| [2]:[1]:return type must match previous return type}0,1 when %select{block [2]:literal|lambda expression}2 has unspecified explicit return type |
Note |
not_incomplete_class_and_qualified_id |
conformance of forward class %0 to protocol %1 can not be confirmed |
Warning |
warn_incompatible_qualified_id |
[1]:%select{%diff{assigning to $ from incompatible type $| [2]:[1]:assigning to type from incompatible type}0,1 [2]:[1]:|%diff{passing $ to parameter of incompatible type $| [2]:[1]:passing type to parameter of incompatible type}0,1 [2]:[1]:|%diff{returning $ from a function with incompatible result type $| [2]:[1]:returning type from a function with incompatible result type}0,1 [2]:[1]:|%diff{converting $ to incompatible type $| [2]:[1]:converting type to incompatible type}0,1 [2]:[1]:|%diff{initializing $ with an expression of incompatible type $| [2]:[1]:initializing type with an expression of incompatible type}0,1 [2]:[1]:|%diff{sending $ to parameter of incompatible type $| [2]:[1]:sending type to parameter of incompatible type}0,1 [2]:[1]:|%diff{casting $ to incompatible type $| [2]:casting type to incompatible type}0,1}2 |
ExtWarn |
ext_typecheck_convert_pointer_int |
[1]:incompatible pointer to integer conversion [2]:[1]:%select{%diff{assigning to $ from $|assigning to different types}0,1 [2]:[1]:|%diff{passing $ to parameter of type $| [2]:[1]:passing to parameter of different type}0,1 [2]:[1]:|%diff{returning $ from a function with result type $| [2]:[1]:returning from function with different return type}0,1 [2]:[1]:|%diff{converting $ to type $|converting between types}0,1 [2]:[1]:|%diff{initializing $ with an expression of type $| [2]:[1]:initializing with expression of different type}0,1 [2]:[1]:|%diff{sending $ to parameter of type $| [2]:[1]:sending to parameter of different type}0,1 [2]:[1]:|%diff{casting $ to type $|casting between types}0,1}2 [2]:[1]:%select{|; dereference with *| [2]:[1]:; take the address with &| [2]:[1]:; remove *| [2]:; remove &}3 |
ExtWarn |
ext_typecheck_convert_int_pointer |
[1]:incompatible integer to pointer conversion [2]:[1]:%select{%diff{assigning to $ from $|assigning to different types}0,1 [2]:[1]:|%diff{passing $ to parameter of type $| [2]:[1]:passing to parameter of different type}0,1 [2]:[1]:|%diff{returning $ from a function with result type $| [2]:[1]:returning from function with different return type}0,1 [2]:[1]:|%diff{converting $ to type $|converting between types}0,1 [2]:[1]:|%diff{initializing $ with an expression of type $| [2]:[1]:initializing with expression of different type}0,1 [2]:[1]:|%diff{sending $ to parameter of type $| [2]:[1]:sending to parameter of different type}0,1 [2]:[1]:|%diff{casting $ to type $|casting between types}0,1}2 [2]:[1]:%select{|; dereference with *| [2]:[1]:; take the address with &| [2]:[1]:; remove *| [2]:; remove &}3 |
Extension |
ext_typecheck_convert_pointer_void_func |
[1]:%select{%diff{assigning to $ from $|assigning to different types}0,1 [2]:[1]:|%diff{passing $ to parameter of type $| [2]:[1]:passing to parameter of different type}0,1 [2]:[1]:|%diff{returning $ from a function with result type $| [2]:[1]:returning from function with different return type}0,1 [2]:[1]:|%diff{converting $ to type $|converting between types}0,1 [2]:[1]:|%diff{initializing $ with an expression of type $| [2]:[1]:initializing with expression of different type}0,1 [2]:[1]:|%diff{sending $ to parameter of type $| [2]:[1]:sending to parameter of different type}0,1 [2]:[1]:|%diff{casting $ to type $|casting between types}0,1}2 [2]: converts between void pointer and function pointer |
ExtWarn |
ext_typecheck_convert_incompatible_pointer_sign |
[1]:%select{%diff{assigning to $ from $|assigning to different types}0,1 [2]:[1]:|%diff{passing $ to parameter of type $| [2]:[1]:passing to parameter of different type}0,1 [2]:[1]:|%diff{returning $ from a function with result type $| [2]:[1]:returning from function with different return type}0,1 [2]:[1]:|%diff{converting $ to type $|converting between types}0,1 [2]:[1]:|%diff{initializing $ with an expression of type $| [2]:[1]:initializing with expression of different type}0,1 [2]:[1]:|%diff{sending $ to parameter of type $| [2]:[1]:sending to parameter of different type}0,1 [2]:[1]:|%diff{casting $ to type $|casting between types}0,1}2 [2]: converts between pointers to integer types with different sign |
ExtWarn |
ext_typecheck_convert_incompatible_pointer |
[1]:incompatible pointer types [2]:[1]:%select{%diff{assigning to $ from $|assigning to different types}0,1 [2]:[1]:|%diff{passing $ to parameter of type $| [2]:[1]:passing to parameter of different type}0,1 [2]:[1]:|%diff{returning $ from a function with result type $| [2]:[1]:returning from function with different return type}0,1 [2]:[1]:|%diff{converting $ to type $|converting between types}0,1 [2]:[1]:|%diff{initializing $ with an expression of type $| [2]:[1]:initializing with expression of different type}0,1 [2]:[1]:|%diff{sending $ to parameter of type $| [2]:[1]:sending to parameter of different type}0,1 [2]:[1]:|%diff{casting $ to type $|casting between types}0,1}2 [2]:[1]:%select{|; dereference with *| [2]:[1]:; take the address with &| [2]:[1]:; remove *| [2]:; remove &}3 |
ExtWarn |
ext_typecheck_convert_discards_qualifiers |
[1]:%select{%diff{assigning to $ from $|assigning to different types}0,1 [2]:[1]:|%diff{passing $ to parameter of type $| [2]:[1]:passing to parameter of different type}0,1 [2]:[1]:|%diff{returning $ from a function with result type $| [2]:[1]:returning from function with different return type}0,1 [2]:[1]:|%diff{converting $ to type $|converting between types}0,1 [2]:[1]:|%diff{initializing $ with an expression of type $| [2]:[1]:initializing with expression of different type}0,1 [2]:[1]:|%diff{sending $ to parameter of type $| [2]:[1]:sending to parameter of different type}0,1 [2]:[1]:|%diff{casting $ to type $|casting between types}0,1}2 [2]: discards qualifiers |
ExtWarn |
ext_nested_pointer_qualifier_mismatch |
[1]:%select{%diff{assigning to $ from $|assigning to different types}0,1 [2]:[1]:|%diff{passing $ to parameter of type $| [2]:[1]:passing to parameter of different type}0,1 [2]:[1]:|%diff{returning $ from a function with result type $| [2]:[1]:returning from function with different return type}0,1 [2]:[1]:|%diff{converting $ to type $|converting between types}0,1 [2]:[1]:|%diff{initializing $ with an expression of type $| [2]:[1]:initializing with expression of different type}0,1 [2]:[1]:|%diff{sending $ to parameter of type $| [2]:[1]:sending to parameter of different type}0,1 [2]:[1]:|%diff{casting $ to type $|casting between types}0,1}2 [2]: discards qualifiers in nested pointer types |
Warning |
warn_incompatible_vectors |
[1]:incompatible vector types [2]:[1]:%select{%diff{assigning to $ from $|assigning to different types}0,1 [2]:[1]:|%diff{passing $ to parameter of type $| [2]:[1]:passing to parameter of different type}0,1 [2]:[1]:|%diff{returning $ from a function with result type $| [2]:[1]:returning from function with different return type}0,1 [2]:[1]:|%diff{converting $ to type $|converting between types}0,1 [2]:[1]:|%diff{initializing $ with an expression of type $| [2]:[1]:initializing with expression of different type}0,1 [2]:[1]:|%diff{sending $ to parameter of type $| [2]:[1]:sending to parameter of different type}0,1 [2]:|%diff{casting $ to type $|casting between types}0,1}2 |
Error |
err_int_to_block_pointer |
[1]:invalid block pointer conversion [2]:[1]:%select{%diff{assigning to $ from $|assigning to different types}0,1 [2]:[1]:|%diff{passing $ to parameter of type $| [2]:[1]:passing to parameter of different type}0,1 [2]:[1]:|%diff{returning $ from a function with result type $| [2]:[1]:returning from function with different return type}0,1 [2]:[1]:|%diff{converting $ to type $|converting between types}0,1 [2]:[1]:|%diff{initializing $ with an expression of type $| [2]:[1]:initializing with expression of different type}0,1 [2]:[1]:|%diff{sending $ to parameter of type $| [2]:[1]:sending to parameter of different type}0,1 [2]:|%diff{casting $ to type $|casting between types}0,1}2 |
Error |
err_typecheck_convert_incompatible_block_pointer |
[1]:incompatible block pointer types [2]:[1]:%select{%diff{assigning to $ from $|assigning to different types}0,1 [2]:[1]:|%diff{passing $ to parameter of type $| [2]:[1]:passing to parameter of different type}0,1 [2]:[1]:|%diff{returning $ from a function with result type $| [2]:[1]:returning from function with different return type}0,1 [2]:[1]:|%diff{converting $ to type $|converting between types}0,1 [2]:[1]:|%diff{initializing $ with an expression of type $| [2]:[1]:initializing with expression of different type}0,1 [2]:[1]:|%diff{sending $ to parameter of type $| [2]:[1]:sending to parameter of different type}0,1 [2]:|%diff{casting $ to type $|casting between types}0,1}2 |
Error |
err_typecheck_incompatible_address_space |
[1]:%select{%diff{assigning $ to $|assigning to different types}1,0 [2]:[1]:|%diff{passing $ to parameter of type $| [2]:[1]:passing to parameter of different type}0,1 [2]:[1]:|%diff{returning $ from a function with result type $| [2]:[1]:returning from function with different return type}0,1 [2]:[1]:|%diff{converting $ to type $|converting between types}0,1 [2]:[1]:|%diff{initializing $ with an expression of type $| [2]:[1]:initializing with expression of different type}0,1 [2]:[1]:|%diff{sending $ to parameter of type $| [2]:[1]:sending to parameter of different type}0,1 [2]:[1]:|%diff{casting $ to type $|casting between types}0,1}2 [2]: changes address space of pointer |
Error |
err_typecheck_incompatible_ownership |
[1]:%select{%diff{assigning $ to $|assigning to different types}1,0 [2]:[1]:|%diff{passing $ to parameter of type $| [2]:[1]:passing to parameter of different type}0,1 [2]:[1]:|%diff{returning $ from a function with result type $| [2]:[1]:returning from function with different return type}0,1 [2]:[1]:|%diff{converting $ to type $|converting between types}0,1 [2]:[1]:|%diff{initializing $ with an expression of type $| [2]:[1]:initializing with expression of different type}0,1 [2]:[1]:|%diff{sending $ to parameter of type $| [2]:[1]:sending to parameter of different type}0,1 [2]:[1]:|%diff{casting $ to type $|casting between types}0,1}2 [2]: changes retain/release properties of pointer |
Error |
err_typecheck_comparison_of_distinct_blocks |
comparison of distinct block types%diff{ ($ and $)|}0,1 |
Error |
err_typecheck_array_not_modifiable_lvalue |
array type %0 is not assignable |
Error |
err_typecheck_non_object_not_modifiable_lvalue |
non-object type %0 is not assignable |
Error |
err_typecheck_expression_not_modifiable_lvalue |
expression is not assignable |
Error |
err_typecheck_incomplete_type_not_modifiable_lvalue |
incomplete type %0 is not assignable |
Error |
err_typecheck_lvalue_casts_not_supported |
assignment to cast is illegal, lvalue casts are not supported |
Error |
err_typecheck_duplicate_vector_components_not_mlvalue |
vector is not assignable (contains duplicate components) |
Error |
err_block_decl_ref_not_modifiable_lvalue |
variable is not assignable (missing __block type specifier) |
Error |
err_lambda_decl_ref_not_modifiable_lvalue |
cannot assign to a variable captured by copy in a non-mutable lambda |
Error |
err_typecheck_call_not_function |
called object type %0 is not a function or function pointer |
Error |
err_call_incomplete_return |
calling function with incomplete return type %0 |
Error |
err_call_function_incomplete_return |
calling %0 with incomplete return type %1 |
Error |
err_call_incomplete_argument |
argument type %0 is incomplete |
Error |
err_typecheck_call_too_few_args |
[1]:too few %select{|||execution configuration }0arguments to [2]:[1]:%select{function|block|method|kernel function}0 call, [2]:expected %1, have %2 |
Error |
err_typecheck_call_too_few_args_one |
[1]:too few %select{|||execution configuration }0arguments to [2]:[1]:%select{function|block|method|kernel function}0 call, [2]:single argument %1 was not specified |
Error |
err_typecheck_call_too_few_args_at_least |
[1]:too few %select{|||execution configuration }0arguments to [2]:[1]:%select{function|block|method|kernel function}0 call, [2]:expected at least %1, have %2 |
Error |
err_typecheck_call_too_few_args_at_least_one |
[1]:too few %select{|||execution configuration }0arguments to [2]:[1]:%select{function|block|method|kernel function}0 call, [2]:at least argument %1 must be specified |
Error |
err_typecheck_call_too_few_args_suggest |
[1]:too few %select{|||execution configuration }0arguments to [2]:[1]:%select{function|block|method|kernel function}0 call, [2]:expected %1, have %2; did you mean %3? |
Error |
err_typecheck_call_too_few_args_at_least_suggest |
[1]:too few %select{|||execution configuration }0arguments to [2]:[1]:%select{function|block|method|kernel function}0 call, [2]:expected at least %1, have %2; did you mean %3? |
Error |
err_typecheck_call_too_many_args |
[1]:too many %select{|||execution configuration }0arguments to [2]:[1]:%select{function|block|method|kernel function}0 call, [2]:expected %1, have %2 |
Error |
err_typecheck_call_too_many_args_one |
[1]:too many %select{|||execution configuration }0arguments to [2]:[1]:%select{function|block|method|kernel function}0 call, [2]:expected single argument %1, have %2 arguments |
Error |
err_typecheck_call_too_many_args_at_most |
[1]:too many %select{|||execution configuration }0arguments to [2]:[1]:%select{function|block|method|kernel function}0 call, [2]:expected at most %1, have %2 |
Error |
err_typecheck_call_too_many_args_at_most_one |
[1]:too many %select{|||execution configuration }0arguments to [2]:[1]:%select{function|block|method|kernel function}0 call, [2]:expected at most single argument %1, have %2 arguments |
Error |
err_typecheck_call_too_many_args_suggest |
[1]:too many %select{|||execution configuration }0arguments to [2]:[1]:%select{function|block|method|kernel function}0 call, [2]:expected %1, have %2; did you mean %3? |
Error |
err_typecheck_call_too_many_args_at_most_suggest |
[1]:too many %select{|||execution configuration }0arguments to [2]:[1]:%select{function|block|method|kernel function}0 call, [2]:expected at most %1, have %2; did you mean %3? |
Error |
err_arc_typecheck_convert_incompatible_pointer |
[1]:incompatible pointer types passing retainable parameter of type %0 [2]:to a CF function expecting %1 type |
Error |
err_builtin_fn_use |
builtin functions must be directly called |
Warning |
warn_call_wrong_number_of_arguments |
too %select{few|many}0 arguments in call to %1 |
Error |
err_atomic_builtin_must_be_pointer |
address argument to atomic builtin must be a pointer (%0 invalid) |
Error |
err_atomic_builtin_must_be_pointer_intptr |
[1]:address argument to atomic builtin must be a pointer to integer or pointer [2]: (%0 invalid) |
Error |
err_atomic_builtin_must_be_pointer_intfltptr |
[1]:address argument to atomic builtin must be a pointer to integer, [2]: floating-point or pointer (%0 invalid) |
Error |
err_atomic_builtin_pointer_size |
[1]:address argument to atomic builtin must be a pointer to 1,2,4,8 or 16 byte [2]:type (%0 invalid) |
Error |
err_atomic_exclusive_builtin_pointer_size |
[1]:address argument to load or store exclusive builtin must be a pointer to [2]: 1,2,4 or 8 byte type (%0 invalid) |
Error |
err_atomic_op_needs_atomic |
[1]:address argument to atomic operation must be a pointer to _Atomic [2]:type (%0 invalid) |
Error |
err_atomic_op_needs_non_const_atomic |
[1]:address argument to atomic operation must be a pointer to non-const _Atomic [2]:type (%0 invalid) |
Error |
err_atomic_op_needs_non_const_pointer |
[1]:address argument to atomic operation must be a pointer to non-const [2]:type (%0 invalid) |
Error |
err_atomic_op_needs_trivial_copy |
[1]:address argument to atomic operation must be a pointer to a [2]:trivially-copyable type (%0 invalid) |
Error |
err_atomic_op_needs_atomic_int_or_ptr |
[1]:address argument to atomic operation must be a pointer to %select{|atomic }0 [2]:integer or pointer (%1 invalid) |
Error |
err_atomic_op_bitwise_needs_atomic_int |
[1]:address argument to bitwise atomic operation must be a pointer to [2]:%select{|atomic }0integer (%1 invalid) |
Warning |
warn_atomic_op_has_invalid_memory_order |
memory order argument to atomic operation is invalid |
Error |
err_overflow_builtin_must_be_int |
operand argument to overflow builtin must be an integer (%0 invalid) |
Error |
err_overflow_builtin_must_be_ptr_int |
[1]:result argument to overflow builtin must be a pointer [2]:to a non-const integer (%0 invalid) |
Error |
err_atomic_load_store_uses_lib |
[1]:atomic %select{load|store}0 requires runtime support that is not [2]:available for this target |
Error |
err_nontemporal_builtin_must_be_pointer |
address argument to nontemporal builtin must be a pointer (%0 invalid) |
Error |
err_nontemporal_builtin_must_be_pointer_intfltptr_or_vector |
[1]:address argument to nontemporal builtin must be a pointer to integer, float, [2]:pointer, or a vector of such types (%0 invalid) |
Error |
err_deleted_function_use |
attempt to use a deleted function |
Error |
err_kern_type_not_void_return |
kernel function type %0 must have void return type |
Error |
err_kern_is_nonstatic_method |
kernel function %0 must be a free function or static member function |
Error |
err_config_scalar_return |
CUDA special function 'cudaConfigureCall' must have scalar return type |
Error |
err_kern_call_not_global_function |
kernel call to non-global function %0 |
Error |
err_global_call_not_config |
call to global function %0 not configured |
Error |
err_ref_bad_target |
[1]:reference to %select{__device__|__global__|__host__|__host__ __device__}0 [2]:function %1 in %select{__device__|__global__|__host__|__host__ __device__}2 function |
Warning |
warn_host_calls_from_host_device |
calling __host__ function %0 from __host__ __device__ function %1 can lead to runtime errors |
Extension |
warn_kern_is_method |
kernel function %0 is a member function; this may not be accepted by nvcc |
Warning |
warn_kern_is_inline |
ignored 'inline' attribute on kernel function %0 |
Error |
err_variadic_device_fn |
CUDA device code does not support variadic functions |
Error |
err_va_arg_in_device |
CUDA device code does not support va_arg |
Error |
err_alias_not_supported_on_nvptx |
CUDA does not support aliases |
Error |
err_dynamic_var_init |
[1]:dynamic initialization is not supported for [2]:__device__, __constant__, and __shared__ variables. |
Error |
err_shared_var_init |
initialization is not supported for __shared__ variables. |
Warning |
warn_non_pod_vararg_with_format_string |
[1]:cannot pass %select{non-POD|non-trivial}0 object of type %1 to variadic [2]:[1]:%select{function|block|method|constructor}2; expected type from format [2]:string was %3 |
Error |
err_cannot_pass_objc_interface_to_vararg_format |
[1]:cannot pass object with interface type %1 by value to variadic [2]:[1]:%select{function|block|method|constructor}2; expected type from format [2]:string was %3 |
Error |
err_cannot_pass_objc_interface_to_vararg |
[1]:cannot pass object with interface type %0 by value through variadic [2]:%select{function|block|method|constructor}1 |
Warning |
warn_cannot_pass_non_pod_arg_to_vararg |
[1]:cannot pass object of %select{non-POD|non-trivial}0 type %1 through variadic [2]: %select{function|block|method|constructor}2; call will abort at runtime |
Warning |
warn_cxx98_compat_pass_non_pod_arg_to_vararg |
[1]:passing object of trivial but non-POD type %0 through variadic [2]: %select{function|block|method|constructor}1 is incompatible with C++98 |
Warning |
warn_pass_class_arg_to_vararg |
[1]:passing object of class type %0 through variadic [2]:[1]:%select{function|block|method|constructor}1 [2]:%select{|; did you mean to call '%3'?}2 |
Error |
err_cannot_pass_to_vararg |
[1]:cannot pass %select{expression of type %1|initializer list}0 to variadic [2]:%select{function|block|method|constructor}2 |
Error |
err_cannot_pass_to_vararg_format |
[1]:cannot pass %select{expression of type %1|initializer list}0 to variadic [2]:[1]:%select{function|block|method|constructor}2; expected type from format [2]:string was %3 |
Error |
err_typecheck_call_invalid_ordered_compare |
[1]:ordered compare requires two args of floating point type [2]:%diff{ ($ and $)|}0,1 |
Error |
err_typecheck_call_invalid_unary_fp |
[1]:floating point classification requires argument of floating point type [2]:(passed in %0) |
Error |
err_typecheck_cond_expect_int_float |
used type %0 where integer or floating point type is required |
Error |
err_typecheck_cond_expect_scalar |
used type %0 where arithmetic or pointer type is required |
Error |
err_typecheck_cond_expect_nonfloat |
used type %0 where floating point type is not allowed |
Extension |
ext_typecheck_cond_one_void |
C99 forbids conditional expressions with only one void side |
Error |
err_typecheck_cast_to_incomplete |
cast to incomplete type %0 |
Extension |
ext_typecheck_cast_nonscalar |
C99 forbids casting nonscalar type %0 to the same type |
Extension |
ext_typecheck_cast_to_union |
cast to union type is a GNU extension |
Error |
err_typecheck_cast_to_union_no_type |
cast to union type from type %0 not present in union |
Error |
err_cast_pointer_from_non_pointer_int |
operand of type %0 cannot be cast to a pointer type |
Warning |
warn_cast_pointer_from_sel |
cast of type %0 to %1 is deprecated; use sel_getName instead |
Warning |
warn_function_def_in_objc_container |
function definition inside an Objective-C container is deprecated |
Warning |
warn_bad_function_cast |
cast from function call of type %0 to non-matching type %1 |
Error |
err_cast_pointer_to_non_pointer_int |
pointer cannot be cast to type %0 |
Error |
err_typecheck_expect_scalar_operand |
operand of type %0 where arithmetic or pointer type is required |
Error |
err_typecheck_cond_incompatible_operands |
incompatible operand types%diff{ ($ and $)|}0,1 |
ExtWarn |
ext_typecheck_cond_incompatible_operands_nonstandard |
[1]:incompatible operand types%diff{ ($ and $)|}0,1 use non-standard composite [2]:pointer type %2 |
Error |
err_cast_selector_expr |
cannot type cast @selector expression |
ExtWarn |
ext_typecheck_cond_incompatible_pointers |
pointer type mismatch%diff{ ($ and $)|}0,1 |
ExtWarn |
ext_typecheck_cond_pointer_integer_mismatch |
[1]:pointer/integer type mismatch in conditional expression [2]:%diff{ ($ and $)|}0,1 |
Error |
err_typecheck_choose_expr_requires_constant |
'__builtin_choose_expr' requires a constant expression |
Warning |
warn_unused_expr |
expression result unused |
Warning |
warn_unused_voidptr |
expression result unused; should this cast be to 'void'? |
Warning |
warn_unused_property_expr |
property access result unused - getters should not be used for side effects |
Warning |
warn_unused_container_subscript_expr |
container access result unused - container access should not be used for side effects |
Warning |
warn_unused_call |
ignoring return value of function declared with %0 attribute |
Warning |
warn_side_effects_unevaluated_context |
expression with side effects has no effect in an unevaluated context |
Warning |
warn_side_effects_typeid |
[1]:expression with side effects will be evaluated despite being used as an [2]:operand to 'typeid' |
Warning |
warn_unused_result |
ignoring return value of function declared with %0 attribute |
Warning |
warn_unused_volatile |
expression result unused; assign into a variable to force a volatile load |
Extension |
ext_cxx14_attr |
use of the %0 attribute is a C++14 extension |
Extension |
ext_cxx1z_attr |
use of the %0 attribute is a C++1z extension |
Warning |
warn_unused_comparison |
%select{%select{|in}1equality|relational}0 comparison result unused |
Note |
note_inequality_comparison_to_or_assign |
use '|=' to turn this inequality comparison into an or-assignment |
Error |
err_incomplete_type_used_in_type_trait_expr |
incomplete type %0 used in type trait expression |
Error |
err_dimension_expr_not_constant_integer |
dimension expression does not evaluate to a constant unsigned int |
Error |
err_typecheck_cond_incompatible_operands_null |
non-pointer operand type %0 incompatible with %select{NULL|nullptr}1 |
Extension |
ext_empty_struct_union |
empty %select{struct|union}0 is a GNU extension |
Extension |
ext_no_named_members_in_struct_union |
%select{struct|union}0 without named members is a GNU extension |
Warning |
warn_zero_size_struct_union_compat |
[1]:%select{|empty }0 [2]:%select{struct|union}1 has size 0 in C, %select{size 1|non-zero size}2 in C++ |
Warning |
warn_zero_size_struct_union_in_extern_c |
[1]:%select{|empty }0 [2]:%select{struct|union}1 has size 0 in C, %select{size 1|non-zero size}2 in C++ |
Warning |
warn_cast_qual |
[1]:cast from %0 to %1 drops %select{const and [2]:volatile qualifiers|const qualifier|volatile qualifier}2 |
Warning |
warn_cast_qual2 |
[1]:cast from %0 to %1 must have all intermediate [2]:pointers const qualified to be safe |
Warning |
warn_redefine_extname_not_applied |
[1]:#pragma redefine_extname is applicable to external C declarations only; [2]:not applied to %select{function|variable}0 %1 |
Error |
err_asm_invalid_lvalue_in_output |
invalid lvalue in asm output |
Error |
err_asm_invalid_output_constraint |
invalid output constraint '%0' in asm |
Error |
err_asm_invalid_lvalue_in_input |
invalid lvalue in asm input for constraint '%0' |
Error |
err_asm_invalid_input_constraint |
invalid input constraint '%0' in asm |
Error |
err_asm_immediate_expected |
[1]:constraint '%0' expects [2]:an integer constant expression |
Error |
err_asm_invalid_type_in_input |
invalid type %0 in asm input for constraint '%1' |
Error |
err_asm_tying_incompatible_types |
[1]:unsupported inline asm: input with type [2]:%diff{$ matching output with type $|}0,1 |
Error |
err_asm_unexpected_constraint_alternatives |
asm constraint has an unexpected number of alternatives: %0 vs %1 |
Error |
err_asm_incomplete_type |
asm operand has incomplete type %0 |
Error |
err_asm_unknown_register_name |
unknown register name '%0' in asm |
Error |
err_asm_invalid_global_var_reg |
[1]:register '%0' unsuitable for [2]:global register variables on this target |
Error |
err_asm_register_size_mismatch |
[1]:size of register '%0' does not [2]:match variable size |
Error |
err_asm_bad_register_type |
bad type for named register variable |
Error |
err_asm_invalid_input_size |
invalid input size for constraint '%0' |
Error |
err_asm_invalid_output_size |
invalid output size for constraint '%0' |
Error |
err_invalid_asm_cast_lvalue |
[1]:invalid use of a cast in a inline asm context requiring an l-value: [2]:remove the cast or build with -fheinous-gnu-extensions |
Error |
err_invalid_asm_value_for_constraint |
value '%0' out of range for constraint '%1' |
Error |
err_asm_non_addr_value_in_memory_constraint |
[1]:reference to a %select{bit-field|vector element|global register variable}0 [2]: in asm %select{input|output}1 with a memory constraint '%2' |
Error |
err_asm_input_duplicate_match |
more than one input constraint matches the same output '%0' |
Warning |
warn_asm_label_on_auto_decl |
ignored asm label '%0' on automatic variable |
Warning |
warn_invalid_asm_cast_lvalue |
[1]:invalid use of a cast in an inline asm context requiring an l-value: [2]:[1]:accepted due to -fheinous-gnu-extensions, but clang may remove support [2]:for this in the future |
Warning |
warn_asm_mismatched_size_modifier |
[1]:value size does not match register size specified by the constraint [2]:and modifier |
Note |
note_asm_missing_constraint_modifier |
use constraint modifier \"%0\" |
Note |
note_asm_input_duplicate_first |
constraint '%0' is already present here |
Error |
err_invalid_conversion_between_vectors |
[1]:invalid conversion between vector type%diff{ $ and $|}0,1 of different [2]:size |
Error |
err_invalid_conversion_between_vector_and_integer |
[1]:invalid conversion between vector type %0 and integer type %1 [2]:of different size |
Error |
err_opencl_function_pointer_variable |
pointers to functions are not allowed |
Error |
err_opencl_taking_function_address |
taking address of function is not allowed |
Error |
err_invalid_conversion_between_vector_and_scalar |
invalid conversion between vector type %0 and scalar type %1 |
Error |
err_only_constructors_take_base_inits |
only constructors take base initializers |
Error |
err_multiple_mem_initialization |
multiple initializations given for non-static member %0 |
Error |
err_multiple_mem_union_initialization |
initializing multiple members of union |
Error |
err_multiple_base_initialization |
multiple initializations given for base %0 |
Error |
err_mem_init_not_member_or_class |
[1]:member initializer %0 does not name a non-static data member or base [2]:class |
Warning |
warn_initializer_out_of_order |
[1]:%select{field|base class}0 %1 will be initialized after [2]:%select{field|base}2 %3 |
Warning |
warn_abstract_vbase_init_ignored |
[1]:initializer for virtual base class %0 of abstract class %1 [2]:will never be used |
Error |
err_base_init_does_not_name_class |
constructor initializer %0 does not name a class |
Error |
err_base_init_direct_and_virtual |
[1]:base class initializer %0 names both a direct base class and an [2]:inherited virtual base class |
Error |
err_not_direct_base_or_virtual |
type %0 is not a direct or virtual base of %1 |
Error |
err_in_class_initializer_non_const |
non-const static data member must be initialized out of line |
Error |
err_in_class_initializer_volatile |
static const volatile data member must be initialized out of line |
Error |
err_in_class_initializer_bad_type |
static data member of type %0 must be initialized out of line |
ExtWarn |
ext_in_class_initializer_float_type |
in-class initializer for static data member of type %0 is a GNU extension |
ExtWarn |
ext_in_class_initializer_float_type_cxx11 |
[1]:in-class initializer for static data member of type %0 requires [2]:'constexpr' specifier |
Note |
note_in_class_initializer_float_type_cxx11 |
add 'constexpr' |
Error |
err_in_class_initializer_literal_type |
[1]:in-class initializer for static data member of type %0 requires [2]:'constexpr' specifier |
Error |
err_in_class_initializer_non_constant |
in-class initializer for static data member is not a constant expression |
Error |
err_in_class_initializer_not_yet_parsed |
[1]:cannot use defaulted default constructor of %0 within the class [2]:outside of member functions because %1 has an initializer |
Error |
err_in_class_initializer_not_yet_parsed_outer_class |
[1]:cannot use defaulted default constructor of %0 within [2]:%1 outside of member functions because %2 has an initializer |
Extension |
ext_in_class_initializer_non_constant |
[1]:in-class initializer for static data member is not a constant expression; [2]:folding it to a constant is a GNU extension |
Error |
err_thread_dynamic_init |
initializer for thread-local variable must be a constant expression |
Error |
err_thread_nontrivial_dtor |
type of thread-local variable has non-trivial destruction |
Note |
note_use_thread_local |
use 'thread_local' to allow this |
Extension |
ext_anonymous_union |
anonymous unions are a C11 extension |
Extension |
ext_gnu_anonymous_struct |
anonymous structs are a GNU extension |
Extension |
ext_c11_anonymous_struct |
anonymous structs are a C11 extension |
Error |
err_anonymous_union_not_static |
anonymous unions at namespace or global scope must be declared 'static' |
Error |
err_anonymous_union_with_storage_spec |
anonymous union at class scope must not have a storage specifier |
Error |
err_anonymous_struct_not_member |
[1]:anonymous %select{structs|structs and classes}0 must be [2]:%select{struct or union|class}0 members |
Error |
err_anonymous_record_member_redecl |
member of anonymous %select{struct|union}0 redeclares %1 |
Error |
err_anonymous_record_with_type |
types cannot be declared in an anonymous %select{struct|union}0 |
Extension |
ext_anonymous_record_with_type |
[1]:types declared in an anonymous %select{struct|union}0 are a Microsoft [2]:extension |
Extension |
ext_anonymous_record_with_anonymous_type |
[1]:anonymous types declared in an anonymous %select{struct|union}0 [2]:are an extension |
Error |
err_anonymous_record_with_function |
functions cannot be declared in an anonymous %select{struct|union}0 |
Error |
err_anonymous_record_with_static |
static members cannot be declared in an anonymous %select{struct|union}0 |
Error |
err_anonymous_record_bad_member |
anonymous %select{struct|union}0 can only contain non-static data members |
Error |
err_anonymous_record_nonpublic_member |
[1]:anonymous %select{struct|union}0 cannot contain a [2]:%select{private|protected}1 data member |
ExtWarn |
ext_ms_anonymous_record |
anonymous %select{structs|unions}0 are a Microsoft extension |
Error |
err_reference_to_local_var_in_enclosing_function |
reference to local variable %0 declared in enclosing function %1 |
Error |
err_reference_to_local_var_in_enclosing_block |
reference to local variable %0 declared in enclosing block literal |
Error |
err_reference_to_local_var_in_enclosing_lambda |
reference to local variable %0 declared in enclosing lambda expression |
Error |
err_reference_to_local_var_in_enclosing_context |
reference to local variable %0 declared in enclosing context |
Error |
err_static_data_member_not_allowed_in_local_class |
static data member %0 not allowed in local class %1 |
Error |
err_base_clause_on_union |
unions cannot have base classes |
Error |
err_base_must_be_class |
base specifier must name a class |
Error |
err_union_as_base_class |
unions cannot be base classes |
Error |
err_circular_inheritance |
circular inheritance between %0 and %1 |
Error |
err_base_class_has_flexible_array_member |
base class %0 has a flexible array member |
Error |
err_incomplete_base_class |
base class has incomplete type |
Error |
err_duplicate_base_class |
base class %0 specified more than once as a direct base class |
Warning |
warn_inaccessible_base_class |
direct base %0 is inaccessible due to ambiguity:%1 |
Error |
err_ambiguous_derived_to_base_conv |
ambiguous conversion from derived class %0 to base class %1:%2 |
Error |
err_ambiguous_memptr_conv |
[1]:ambiguous conversion from pointer to member of %select{base|derived}0 [2]:class %1 to pointer to member of %select{derived|base}0 class %2:%3 |
Error |
err_memptr_conv_via_virtual |
[1]:conversion from pointer to member of class %0 to pointer to member [2]:of class %1 via virtual base %2 is not allowed |
Error |
err_ambiguous_member_multiple_subobjects |
non-static member %0 found in multiple base-class subobjects of type %1:%2 |
Error |
err_ambiguous_member_multiple_subobject_types |
member %0 found in multiple base classes of different types |
Note |
note_ambiguous_member_found |
member found by ambiguous name lookup |
Error |
err_ambiguous_reference |
reference to %0 is ambiguous |
Note |
note_ambiguous_candidate |
candidate found by name lookup is %q0 |
Error |
err_ambiguous_tag_hiding |
[1]:a type named %0 is hidden by a [2]:declaration in a different namespace |
Note |
note_hidden_tag |
type declaration hidden |
Note |
note_hiding_object |
declaration hides type |
Error |
err_operator_overload_needs_class_or_enum |
[1]:overloaded %0 must have at least one parameter of class [2]:or enumeration type |
Error |
err_operator_overload_variadic |
overloaded %0 cannot be variadic |
Error |
err_operator_overload_static |
overloaded %0 cannot be a static member function |
Error |
err_operator_overload_default_arg |
parameter of overloaded %0 cannot have a default argument |
Error |
err_operator_overload_must_be |
[1]:overloaded %0 must be a %select{unary|binary|unary or binary}2 operator [2]:(has %1 parameter%s1) |
Error |
err_operator_overload_must_be_member |
overloaded %0 must be a non-static member function |
Error |
err_operator_overload_post_incdec_must_be_int |
[1]:parameter of overloaded post-%select{increment|decrement}1 operator must [2]:have type 'int' (not %0) |
Error |
err_operator_new_delete_declared_in_namespace |
%0 cannot be declared inside a namespace |
Error |
err_operator_new_delete_declared_static |
%0 cannot be declared static in global scope |
ExtWarn |
ext_operator_new_delete_declared_inline |
replacement function %0 cannot be declared 'inline' |
Error |
err_operator_new_delete_invalid_result_type |
%0 must return type %1 |
Error |
err_operator_new_delete_dependent_result_type |
%0 cannot have a dependent return type; use %1 instead |
Error |
err_operator_new_delete_too_few_parameters |
%0 must have at least one parameter |
Error |
err_operator_new_delete_template_too_few_parameters |
%0 template must have at least two parameters |
Warning |
warn_operator_new_returns_null |
[1]:%0 should not return a null pointer unless it is declared 'throw()' [2]:%select{| or 'noexcept'}1 |
Error |
err_operator_new_dependent_param_type |
[1]:%0 cannot take a dependent type as first parameter; [2]:use size_t (%1) instead |
Error |
err_operator_new_param_type |
%0 takes type size_t (%1) as first parameter |
Error |
err_operator_new_default_arg |
parameter of %0 cannot have a default argument |
Error |
err_operator_delete_dependent_param_type |
%0 cannot take a dependent type as first parameter; use %1 instead |
Error |
err_operator_delete_param_type |
first parameter of %0 must have type %1 |
Error |
err_literal_operator_outside_namespace |
literal operator %0 must be in a namespace or global scope |
Error |
err_literal_operator_id_outside_namespace |
non-namespace scope '%0' cannot have a literal operator member |
Error |
err_literal_operator_default_argument |
literal operator cannot have a default argument |
Error |
err_literal_operator_bad_param_count |
non-template literal operator must have one or two parameters |
Error |
err_literal_operator_invalid_param |
parameter of literal operator must have type 'unsigned long long', 'long double', 'char', 'wchar_t', 'char16_t', 'char32_t', or 'const char *' |
Error |
err_literal_operator_param |
invalid literal operator parameter type %0, did you mean %1? |
Error |
err_literal_operator_template_with_params |
literal operator template cannot have any parameters |
Error |
err_literal_operator_template |
template parameter list for literal operator must be either 'char...' or 'typename T, T...' |
Error |
err_literal_operator_extern_c |
literal operator must have C++ linkage |
ExtWarn |
ext_string_literal_operator_template |
string literal operator templates are a GNU extension |
Warning |
warn_user_literal_reserved |
[1]:user-defined literal suffixes not starting with '_' are reserved [2]:%select{; no literal will invoke this operator|}0 |
Error |
err_conv_function_not_member |
conversion function must be a non-static member function |
Error |
err_conv_function_return_type |
conversion function cannot have a return type |
Error |
err_conv_function_with_params |
conversion function cannot have any parameters |
Error |
err_conv_function_variadic |
conversion function cannot be variadic |
Error |
err_conv_function_to_array |
conversion function cannot convert to an array type |
Error |
err_conv_function_to_function |
conversion function cannot convert to a function type |
Error |
err_conv_function_with_complex_decl |
[1]:cannot specify any part of a return type in the [2]:[1]:declaration of a conversion function [2]:[1]:%select{ [2]:[1]:; put the complete type after 'operator'| [2]:[1]:; use a typedef to declare a conversion to %1| [2]:[1]:; use an alias template to declare a conversion to %1| [2]:}0 |
Error |
err_conv_function_redeclared |
conversion function cannot be redeclared |
Warning |
warn_conv_to_self_not_used |
conversion function converting %0 to itself will never be used |
Warning |
warn_conv_to_base_not_used |
conversion function converting %0 to its base class %1 will never be used |
Warning |
warn_conv_to_void_not_used |
conversion function converting %0 to %1 will never be used |
Warning |
warn_not_compound_assign |
use of unary operator that may be intended as compound assignment (%0=) |
ExtWarn |
ext_explicit_conversion_functions |
explicit conversion functions are a C++11 extension |
Warning |
warn_cxx98_compat_explicit_conversion_functions |
explicit conversion functions are incompatible with C++98 |
Error |
err_defaulted_special_member_params |
[1]:an explicitly-defaulted %select{|copy |move }0constructor cannot [2]:have default arguments |
Error |
err_defaulted_special_member_variadic |
[1]:an explicitly-defaulted %select{|copy |move }0constructor cannot [2]:be variadic |
Error |
err_defaulted_special_member_return_type |
[1]:explicitly-defaulted %select{copy|move}0 assignment operator must [2]:return %1 |
Error |
err_defaulted_special_member_quals |
[1]:an explicitly-defaulted %select{copy|move}0 assignment operator may not [2]:have 'const'%select{, 'constexpr'|}1 or 'volatile' qualifiers |
Error |
err_defaulted_special_member_volatile_param |
[1]:the parameter for an explicitly-defaulted %select{<>| [2]:[1]:copy constructor|move constructor|copy assignment operator| [2]:move assignment operator|<>}0 may not be volatile |
Error |
err_defaulted_special_member_move_const_param |
[1]:the parameter for an explicitly-defaulted move [2]:%select{constructor|assignment operator}0 may not be const |
Error |
err_defaulted_special_member_copy_const_param |
[1]:the parameter for this explicitly-defaulted copy [2]:[1]:%select{constructor|assignment operator}0 is const, but a member or base [2]:requires it to be non-const |
Error |
err_defaulted_copy_assign_not_ref |
[1]:the parameter for an explicitly-defaulted copy assignment operator must be an [2]:lvalue reference type |
Error |
err_incorrect_defaulted_exception_spec |
[1]:exception specification of explicitly defaulted %select{default constructor| [2]:[1]:copy constructor|move constructor|copy assignment operator|move assignment [2]:[1]:operator|destructor}0 does not match the [2]:calculated one |
Error |
err_incorrect_defaulted_constexpr |
[1]:defaulted definition of %select{default constructor|copy constructor| [2]:[1]:move constructor|copy assignment operator|move assignment operator}0 [2]:is not constexpr |
Error |
err_out_of_line_default_deletes |
[1]:defaulting this %select{default constructor|copy constructor|move [2]:[1]:constructor|copy assignment operator|move assignment operator|destructor}0 [2]:would delete it after its first declaration |
Warning |
warn_vbase_moved_multiple_times |
[1]:defaulted move assignment operator of %0 will move assign virtual base [2]:class %1 multiple times |
Note |
note_vbase_moved_here |
[1]:%select{%1 is a virtual base class of base class %2 declared here| [2]:virtual base class %1 declared here}0 |
ExtWarn |
ext_implicit_exception_spec_mismatch |
[1]:function previously declared with an %select{explicit|implicit}0 exception [2]:[1]:specification redeclared with an %select{implicit|explicit}0 exception [2]:specification |
Warning |
warn_ptr_arith_precedes_bounds |
the pointer decremented by %0 refers before the beginning of the array |
Warning |
warn_ptr_arith_exceeds_bounds |
[1]:the pointer incremented by %0 refers past the end of the array (that [2]:contains %1 element%s2) |
Warning |
warn_array_index_precedes_bounds |
array index %0 is before the beginning of the array |
Warning |
warn_array_index_exceeds_bounds |
[1]:array index %0 is past the end of the array (which contains %1 [2]:element%s2) |
Note |
note_array_index_out_of_bounds |
array %0 declared here |
Warning |
warn_printf_insufficient_data_args |
more '%%' conversions than data arguments |
Warning |
warn_printf_data_arg_not_used |
data argument not used by format string |
Warning |
warn_format_invalid_conversion |
invalid conversion specifier '%0' |
Warning |
warn_printf_incomplete_specifier |
incomplete format specifier |
Warning |
warn_missing_format_string |
format string missing |
Warning |
warn_scanf_nonzero_width |
zero field width in scanf format string is unused |
Warning |
warn_format_conversion_argument_type_mismatch |
[1]:format specifies type %0 but the argument has [2]:%select{type|underlying type}2 %1 |
Extension |
warn_format_conversion_argument_type_mismatch_pedantic |
[1]:format specifies type %0 but the argument has [2]:%select{type|underlying type}2 %1 |
Warning |
warn_format_argument_needs_cast |
[1]:%select{values of type|enum values with underlying type}2 '%0' should not [2]:be used as format arguments; add an explicit cast to %1 instead |
Warning |
warn_printf_positional_arg_exceeds_data_args |
data argument position '%0' exceeds the number of data arguments (%1) |
Warning |
warn_format_zero_positional_specifier |
position arguments in format strings start counting at 1 (not 0) |
Warning |
warn_format_invalid_positional_specifier |
invalid position specified for %select{field width|field precision}0 |
Warning |
warn_format_mix_positional_nonpositional_args |
cannot mix positional and non-positional arguments in format string |
Warning |
warn_static_array_too_small |
array argument is too small; contains %0 elements, callee requires at least %1 |
Note |
note_callee_static_array |
callee declares array parameter as static here |
Warning |
warn_empty_format_string |
format string is empty |
Warning |
warn_format_string_is_wide_literal |
format string should not be a wide string |
Warning |
warn_printf_format_string_contains_null_char |
format string contains '\\0' within the string body |
Warning |
warn_printf_format_string_not_null_terminated |
format string is not null-terminated |
Warning |
warn_printf_asterisk_missing_arg |
'%select{*|.*}0' specified field %select{width|precision}0 is missing a matching 'int' argument |
Warning |
warn_printf_asterisk_wrong_type |
field %select{width|precision}0 should have type %1, but argument has type %2 |
Warning |
warn_printf_nonsensical_optional_amount |
%select{field width|precision}0 used with '%1' conversion specifier, resulting in undefined behavior |
Warning |
warn_printf_nonsensical_flag |
flag '%0' results in undefined behavior with '%1' conversion specifier |
Warning |
warn_format_nonsensical_length |
length modifier '%0' results in undefined behavior or no effect with '%1' conversion specifier |
Warning |
warn_format_non_standard_positional_arg |
positional arguments are not supported by ISO C |
Warning |
warn_format_non_standard |
'%0' %select{length modifier|conversion specifier}1 is not supported by ISO C |
Warning |
warn_format_non_standard_conversion_spec |
using length modifier '%0' with conversion specifier '%1' is not supported by ISO C |
Warning |
warn_printf_ignored_flag |
flag '%0' is ignored when flag '%1' is present |
Warning |
warn_printf_empty_objc_flag |
missing object format flag |
Warning |
warn_printf_ObjCflags_without_ObjCConversion |
object format flags cannot be used with '%0' conversion specifier |
Warning |
warn_printf_invalid_objc_flag |
'%0' is not a valid object format flag |
Warning |
warn_scanf_scanlist_incomplete |
no closing ']' for '%%[' in scanf format string |
Note |
note_format_string_defined |
format string is defined here |
Note |
note_format_fix_specifier |
did you mean to use '%0'? |
Note |
note_printf_c_str |
did you mean to call the %0 method? |
Warning |
warn_null_arg |
null passed to a callee that requires a non-null argument |
Warning |
warn_null_ret |
null returned from %select{function|method}0 that requires a non-null return value |
Warning |
warn_ret_stack_addr_ref |
[1]:%select{address of|reference to}0 stack memory associated with local [2]:variable %1 returned |
Warning |
warn_ret_local_temp_addr_ref |
returning %select{address of|reference to}0 local temporary object |
Warning |
warn_ret_addr_label |
returning address of label, which is local |
Error |
err_ret_local_block |
returning block that lives on the local stack |
Note |
note_ref_var_local_bind |
binding reference variable %0 here |
Warning |
warn_bind_ref_member_to_parameter |
binding reference member %0 to stack allocated parameter %1 |
Warning |
warn_init_ptr_member_to_parameter_addr |
initializing pointer member %0 with the stack address of parameter %1 |
Warning |
warn_bind_ref_member_to_temporary |
binding reference %select{|subobject of }1member %0 to a temporary value |
Note |
note_ref_or_ptr_member_declared_here |
%select{reference|pointer}0 member declared here |
Note |
note_ref_subobject_of_member_declared_here |
member with reference subobject declared here |
Warning |
warn_comparison_always |
%select{self-|array }0comparison always evaluates to %select{false|true|a constant}1 |
Warning |
warn_comparison_bitwise_always |
bitwise comparison always evaluates to %select{false|true}0 |
Warning |
warn_tautological_overlap_comparison |
overlapping comparisons always evaluate to %select{false|true}0 |
Warning |
warn_stringcompare |
[1]:result of comparison against %select{a string literal|@encode}0 is [2]:unspecified (use strncmp instead) |
Warning |
warn_identity_field_assign |
assigning %select{field|instance variable}0 to itself |
Error |
err_type_tag_for_datatype_not_ice |
[1]:'type_tag_for_datatype' attribute requires the initializer to be [2]:an %select{integer|integral}0 constant expression |
Error |
err_type_tag_for_datatype_too_large |
[1]:'type_tag_for_datatype' attribute requires the initializer to be [2]:[1]:an %select{integer|integral}0 constant expression [2]:that can be represented by a 64 bit integer |
Warning |
warn_type_tag_for_datatype_wrong_kind |
this type tag was not designed to be used with this function |
Warning |
warn_type_safety_type_mismatch |
[1]:argument type %0 doesn't match specified %1 type tag [2]:%select{that requires %3|}2 |
Warning |
warn_type_safety_null_pointer_required |
specified %0 type tag requires a null pointer |
Error |
err_assoc_type_incomplete |
type %0 in generic association incomplete |
Error |
err_assoc_type_nonobject |
type %0 in generic association not an object type |
Error |
err_assoc_type_variably_modified |
type %0 in generic association is a variably modified type |
Error |
err_assoc_compatible_types |
type %0 in generic association compatible with previously specified type %1 |
Note |
note_compat_assoc |
compatible type %0 specified here |
Error |
err_generic_sel_no_match |
controlling expression type %0 not compatible with any generic association type |
Error |
err_generic_sel_multi_match |
controlling expression type %0 compatible with %1 generic association types |
Error |
err_blocks_disable |
[1]:blocks support disabled - compile with -fblocks [2]: or pick a deployment target that supports them |
Error |
err_block_returning_array_function |
block cannot return %select{array|function}0 type %1 |
Error |
err_builtin_annotation_first_arg |
first argument to __builtin_annotation must be an integer |
Error |
err_builtin_annotation_second_arg |
second argument to __builtin_annotation must be a non-wide string constant |
Error |
err_cfstring_literal_not_string_constant |
CFString literal is not a string constant |
Warning |
warn_cfstring_truncated |
[1]:input conversion stopped due to an input byte that does not [2]:belong to the input codeset UTF-8 |
Error |
err_continue_not_in_loop |
'continue' statement not in loop statement |
Error |
err_break_not_in_loop_or_switch |
'break' statement not in loop or switch statement |
Warning |
warn_loop_ctrl_binds_to_inner |
'%0' is bound to current loop, GCC binds it to the enclosing loop |
Warning |
warn_break_binds_to_switch |
'break' is bound to loop, GCC binds it to switch |
Error |
err_default_not_in_switch |
'default' statement not in switch statement |
Error |
err_case_not_in_switch |
'case' statement not in switch statement |
Warning |
warn_bool_switch_condition |
switch condition has boolean value |
Warning |
warn_case_value_overflow |
overflow converting case value to switch condition type (%0 to %1) |
Error |
err_duplicate_case |
duplicate case value '%0' |
Error |
err_duplicate_case_differing_expr |
duplicate case value: '%0' and '%1' both equal '%2' |
Warning |
warn_case_empty_range |
empty case range specified |
Warning |
warn_missing_case_for_condition |
no case matching constant switch condition '%0' |
Warning |
warn_def_missing_case |
[1]:%plural{ [2]:[1]:1:enumeration value %1 not explicitly handled in switch| [2]:[1]:2:enumeration values %1 and %2 not explicitly handled in switch| [2]:[1]:3:enumeration values %1, %2, and %3 not explicitly handled in switch| [2]::%0 enumeration values not explicitly handled in switch: %1, %2, %3...}0 |
Warning |
warn_missing_case |
[1]:%plural{ [2]:[1]:1:enumeration value %1 not handled in switch| [2]:[1]:2:enumeration values %1 and %2 not handled in switch| [2]:[1]:3:enumeration values %1, %2, and %3 not handled in switch| [2]::%0 enumeration values not handled in switch: %1, %2, %3...}0 |
Warning |
warn_unannotated_fallthrough |
unannotated fall-through between switch labels |
Warning |
warn_unannotated_fallthrough_per_function |
[1]:unannotated fall-through between switch labels in partly-annotated [2]:function |
Note |
note_insert_fallthrough_fixit |
insert '%0;' to silence this warning |
Note |
note_insert_break_fixit |
insert 'break;' to avoid fall-through |
Error |
err_fallthrough_attr_wrong_target |
%0 attribute is only allowed on empty statements |
Note |
note_fallthrough_insert_semi_fixit |
did you forget ';'? |
Error |
err_fallthrough_attr_outside_switch |
fallthrough annotation is outside switch statement |
Error |
err_fallthrough_attr_invalid_placement |
fallthrough annotation does not directly precede switch label |
Warning |
warn_fallthrough_attr_unreachable |
fallthrough annotation in unreachable code |
Warning |
warn_unreachable_default |
default label in switch which covers all enumeration values |
Warning |
warn_not_in_enum |
case value not in enumerated type %0 |
Warning |
warn_not_in_enum_assignment |
[1]:integer constant not in range [2]:of enumerated type %0 |
Error |
err_typecheck_statement_requires_scalar |
statement requires expression of scalar type (%0 invalid) |
Error |
err_typecheck_statement_requires_integer |
statement requires expression of integer type (%0 invalid) |
Error |
err_multiple_default_labels_defined |
multiple default labels in one switch |
Error |
err_switch_multiple_conversions |
[1]:multiple conversions from switch condition type %0 to an integral or [2]:enumeration type |
Note |
note_switch_conversion |
conversion to %select{integral|enumeration}0 type %1 |
Error |
err_switch_explicit_conversion |
switch condition type %0 requires explicit conversion to %1 |
Error |
err_switch_incomplete_class_type |
switch condition has incomplete class type %0 |
Warning |
warn_empty_if_body |
if statement has empty body |
Warning |
warn_empty_for_body |
for loop has empty body |
Warning |
warn_empty_range_based_for_body |
range-based for loop has empty body |
Warning |
warn_empty_while_body |
while loop has empty body |
Warning |
warn_empty_switch_body |
switch statement has empty body |
Note |
note_empty_body_on_separate_line |
put the semicolon on a separate line to silence this warning |
Error |
err_va_start_used_in_non_variadic_function |
'va_start' used in function with fixed args |
Error |
err_va_start_used_in_wrong_abi_function |
'va_start' used in %select{System V|Win64}0 ABI function |
Error |
err_ms_va_start_used_in_sysv_function |
'__builtin_ms_va_start' used in System V ABI function |
Warning |
warn_second_parameter_of_va_start_not_last_named_argument |
second parameter of 'va_start' not last named argument |
Warning |
warn_va_start_of_reference_type_is_undefined |
'va_start' has undefined behavior with reference types |
Error |
err_first_argument_to_va_arg_not_of_type_va_list |
first argument to 'va_arg' is of type %0 and not 'va_list' |
Error |
err_second_parameter_to_va_arg_incomplete |
second argument to 'va_arg' is of incomplete type %0 |
Error |
err_second_parameter_to_va_arg_abstract |
second argument to 'va_arg' is of abstract type %0 |
Warning |
warn_second_parameter_to_va_arg_not_pod |
second argument to 'va_arg' is of non-POD type %0 |
Warning |
warn_second_parameter_to_va_arg_ownership_qualified |
second argument to 'va_arg' is of ARC ownership-qualified type %0 |
Warning |
warn_second_parameter_to_va_arg_never_compatible |
[1]:second argument to 'va_arg' is of promotable type %0; this va_arg has [2]:undefined behavior because arguments will be promoted to %1 |
Warning |
warn_return_missing_expr |
non-void %select{function|method}1 %0 should return a value |
ExtWarn |
ext_return_missing_expr |
non-void %select{function|method}1 %0 should return a value |
ExtWarn |
ext_return_has_expr |
[1]:%select{void function|void method|constructor|destructor}1 %0 [2]:should not return a value |
Extension |
ext_return_has_void_expr |
void %select{function|method|block}1 %0 should not return void expression |
Error |
err_return_init_list |
[1]:%select{void function|void method|constructor|destructor}1 %0 [2]:must not return a value |
Error |
err_ctor_dtor_returns_void |
%select{constructor|destructor}1 %0 must not return void expression |
Warning |
warn_noreturn_function_has_return_expr |
function %0 declared 'noreturn' should not return |
Warning |
warn_falloff_noreturn_function |
function declared 'noreturn' should not return |
Error |
err_noreturn_block_has_return_expr |
block declared 'noreturn' should not return |
Error |
err_noreturn_missing_on_first_decl |
function declared '[[noreturn]]' after its first declaration |
Note |
note_noreturn_missing_first_decl |
declaration missing '[[noreturn]]' attribute is here |
Error |
err_carries_dependency_missing_on_first_decl |
[1]:%select{function|parameter}0 declared '[[carries_dependency]]' [2]:after its first declaration |
Note |
note_carries_dependency_missing_first_decl |
declaration missing '[[carries_dependency]]' attribute is here |
Error |
err_carries_dependency_param_not_function_decl |
[1]:'[[carries_dependency]]' attribute only allowed on parameter in a function [2]:declaration or lambda |
Error |
err_block_on_nonlocal |
__block attribute not allowed, only allowed on local variables |
Error |
err_block_on_vm |
__block attribute not allowed on declaration with a variably modified type |
Error |
err_shufflevector_non_vector |
first two arguments to __builtin_shufflevector must be vectors |
Error |
err_shufflevector_incompatible_vector |
first two arguments to __builtin_shufflevector must have the same type |
Error |
err_shufflevector_nonconstant_argument |
index for __builtin_shufflevector must be a constant integer |
Error |
err_shufflevector_argument_too_large |
[1]:index for __builtin_shufflevector must be less than the total number [2]:of vector elements |
Error |
err_convertvector_non_vector |
first argument to __builtin_convertvector must be a vector |
Error |
err_convertvector_non_vector_type |
second argument to __builtin_convertvector must be a vector type |
Error |
err_convertvector_incompatible_vector |
first two arguments to __builtin_convertvector must have the same number of elements |
Error |
err_first_argument_to_cwsc_not_call |
first argument to __builtin_call_with_static_chain must be a non-member call expression |
Error |
err_first_argument_to_cwsc_block_call |
first argument to __builtin_call_with_static_chain must not be a block call |
Error |
err_first_argument_to_cwsc_builtin_call |
first argument to __builtin_call_with_static_chain must not be a builtin call |
Error |
err_first_argument_to_cwsc_pdtor_call |
first argument to __builtin_call_with_static_chain must not be a pseudo-destructor call |
Error |
err_second_argument_to_cwsc_not_pointer |
second argument to __builtin_call_with_static_chain must be of pointer type |
Error |
err_vector_incorrect_num_initializers |
%select{too many|too few}0 elements in vector initialization (expected %1 elements, have %2) |
Error |
err_altivec_empty_initializer |
expected initializer |
Error |
err_invalid_neon_type_code |
incompatible constant for this __builtin_neon function |
Error |
err_argument_invalid_range |
argument should be a value from %0 to %1 |
Warning |
warn_neon_vector_initializer_non_portable |
[1]:vector initializers are not compatible with NEON intrinsics in big endian [2]:mode |
Note |
note_neon_vector_initializer_non_portable |
[1]:consider using vld1_%0%1() to initialize a vector from memory, or [2]:vcreate_%0%1() to initialize from an integer constant |
Note |
note_neon_vector_initializer_non_portable_q |
[1]:consider using vld1q_%0%1() to initialize a vector from memory, or [2]:[1]:vcombine_%0%1(vcreate_%0%1(), vcreate_%0%1()) to initialize from integer [2]:constants |
Error |
err_systemz_invalid_tabort_code |
invalid transaction abort code |
Error |
err_64_bit_builtin_32_bit_tgt |
this builtin is only available on 64-bit targets |
Error |
err_ppc_builtin_only_on_pwr7 |
this builtin is only valid on POWER7 or later CPUs |
Error |
err_x86_builtin_32_bit_tgt |
this builtin is only available on x86-64 targets |
Error |
err_builtin_longjmp_unsupported |
__builtin_longjmp is not supported for the current target |
Error |
err_builtin_setjmp_unsupported |
__builtin_setjmp is not supported for the current target |
Error |
err_builtin_longjmp_invalid_val |
argument to __builtin_longjmp must be a constant 1 |
Error |
err_builtin_requires_language |
'%0' is only available in %1 |
Error |
err_constant_integer_arg_type |
argument to %0 must be a constant integer |
Extension |
ext_mixed_decls_code |
ISO C90 forbids mixing declarations and code |
Error |
err_non_local_variable_decl_in_for |
declaration of non-local variable in 'for' loop |
Error |
err_non_variable_decl_in_for |
non-variable declaration in 'for' loop |
Error |
err_toomany_element_decls |
only one element declaration is allowed |
Error |
err_selector_element_not_lvalue |
selector element is not a valid lvalue |
Error |
err_selector_element_type |
selector element type %0 is not a valid object |
Error |
err_selector_element_const_type |
selector element of type %0 cannot be a constant l-value expression |
Error |
err_collection_expr_type |
the type %0 is not a pointer to a fast-enumerable object |
Warning |
warn_collection_expr_type |
collection expression type %0 may not respond to %1 |
Error |
err_invalid_conversion_between_ext_vectors |
invalid conversion between ext-vector type %0 and %1 |
Warning |
warn_duplicate_attribute_exact |
attribute %0 is already applied |
Warning |
warn_duplicate_attribute |
attribute %0 is already applied with different parameters |
Warning |
warn_sync_fetch_and_nand_semantics_change |
[1]:the semantics of this intrinsic changed with GCC [2]:version 4.4 - the newer semantics are provided here |
Extension |
ext_invalid_sign_spec |
'%0' cannot be signed or unsigned |
Warning |
warn_receiver_forward_class |
receiver %0 is a forward class and corresponding @interface may not exist |
Note |
note_method_sent_forward_class |
method %0 is used for the forward class |
ExtWarn |
ext_missing_declspec |
declaration specifier missing, defaulting to 'int' |
ExtWarn |
ext_missing_type_specifier |
type specifier missing, defaults to 'int' |
Error |
err_decimal_unsupported |
GNU decimal type extension not supported |
Error |
err_missing_type_specifier |
C++ requires a type specifier for all declarations |
Error |
err_objc_array_of_interfaces |
array of interface %0 is invalid (probably should be an array of pointers) |
Extension |
ext_c99_array_usage |
[1]:%select{qualifier in |static |}0array size %select{||'[*] '}0is a C99 [2]:feature |
Error |
err_c99_array_usage_cxx |
[1]:%select{qualifier in |static |}0array size %select{||'[*] '}0is a C99 [2]:feature, not permitted in C++ |
Error |
err_type_requires_extension |
use of type %0 requires %1 extension to be enabled |
Error |
err_int128_unsupported |
__int128 is not supported on this target |
Error |
err_nsconsumed_attribute_mismatch |
[1]:overriding method has mismatched ns_consumed attribute on its [2]: parameter |
Error |
err_nsreturns_retained_attribute_mismatch |
[1]:overriding method has mismatched ns_returns_%select{not_retained|retained}0 [2]: attributes |
Note |
note_getter_unavailable |
or because setter is declared here, but no getter method %0 is found |
Error |
err_invalid_protocol_qualifiers |
invalid protocol qualifiers on non-ObjC type |
Warning |
warn_ivar_use_hidden |
local declaration of %0 hides instance variable |
Warning |
warn_direct_initialize_call |
explicit call to +initialize results in duplicate call to +initialize |
Warning |
warn_direct_super_initialize_call |
[1]:explicit call to [super initialize] should only be in implementation [2]:of +initialize |
Error |
error_ivar_use_in_class_method |
instance variable %0 accessed in class method |
Error |
error_implicit_ivar_access |
instance variable %0 cannot be accessed because 'self' has been redeclared |
Error |
error_private_ivar_access |
instance variable %0 is private |
Error |
error_protected_ivar_access |
instance variable %0 is protected |
Warning |
warn_maynot_respond |
%0 may not respond to %1 |
Warning |
ext_typecheck_base_super |
[1]:method parameter type [2]:[1]:%diff{$ does not match super class method parameter type $| [2]:does not match super class method parameter type}0,1 |
Warning |
warn_missing_method_return_type |
method has no return type specified; defaults to 'id' |
Warning |
warn_direct_ivar_access |
[1]:instance variable %0 is being [2]:directly accessed |
Error |
err_unknown_typename |
unknown type name %0 |
Error |
err_unknown_type_or_class_name_suggest |
unknown %select{type|class}1 name %0; did you mean %2? |
Error |
err_unknown_typename_suggest |
unknown type name %0; did you mean %1? |
Error |
err_unknown_nested_typename_suggest |
no type named %0 in %1; did you mean %select{|simply }2%3? |
Error |
err_no_member_suggest |
no member named %0 in %1; did you mean %select{|simply }2%3? |
Error |
err_undeclared_use_suggest |
use of undeclared %0; did you mean %1? |
Error |
err_undeclared_var_use_suggest |
use of undeclared identifier %0; did you mean %1? |
Error |
err_no_template_suggest |
no template named %0; did you mean %1? |
Error |
err_no_member_template_suggest |
no template named %0 in %1; did you mean %select{|simply }2%3? |
Error |
err_mem_init_not_member_or_class_suggest |
[1]:initializer %0 does not name a non-static data member or base [2]:class; did you mean the %select{base class|member}1 %2? |
Error |
err_field_designator_unknown_suggest |
[1]:field designator %0 does not refer to any field in type %1; did you mean [2]:%2? |
Error |
err_typecheck_member_reference_ivar_suggest |
%0 does not have a member named %1; did you mean %2? |
Error |
err_property_not_found_suggest |
property %0 not found on object of type %1; did you mean %2? |
Error |
err_ivar_access_using_property_syntax_suggest |
property %0 not found on object of type %1; did you mean to access instance variable %2? |
Warning |
warn_property_access_suggest |
property %0 not found on object of type %1; did you mean to access property %2? |
Error |
err_property_found_suggest |
[1]:property %0 found on object of type %1; did you mean to access [2]:it with the \".\" operator? |
Error |
err_undef_interface_suggest |
cannot find interface declaration for %0; did you mean %1? |
Warning |
warn_undef_interface_suggest |
cannot find interface declaration for %0; did you mean %1? |
Error |
err_undef_superclass_suggest |
[1]:cannot find interface declaration for %0, superclass of %1; did you mean [2]:%2? |
Error |
err_undeclared_protocol_suggest |
cannot find protocol declaration for %0; did you mean %1? |
Note |
note_base_class_specified_here |
base class %0 specified here |
Error |
err_using_directive_suggest |
no namespace named %0; did you mean %1? |
Error |
err_using_directive_member_suggest |
no namespace named %0 in %1; did you mean %select{|simply }2%3? |
Note |
note_namespace_defined_here |
namespace %0 defined here |
Error |
err_sizeof_pack_no_pack_name_suggest |
%0 does not refer to the name of a parameter pack; did you mean %1? |
Note |
note_parameter_pack_here |
parameter pack %0 declared here |
Error |
err_uncasted_use_of_unknown_any |
%0 has unknown type; cast it to its declared type to use it |
Error |
err_uncasted_call_of_unknown_any |
%0 has unknown return type; cast the call to its declared return type |
Error |
err_uncasted_send_to_unknown_any_method |
[1]:no known method %select{%objcinstance1|%objcclass1}0; cast the [2]:message send to the method's return type |
Error |
err_unsupported_unknown_any_decl |
%0 has unknown type, which is not supported for this kind of declaration |
Error |
err_unsupported_unknown_any_expr |
unsupported expression with unknown type |
Error |
err_unsupported_unknown_any_call |
call to unsupported expression with unknown type |
Error |
err_unknown_any_addrof |
[1]:the address of a declaration with unknown type [2]:can only be cast to a pointer type |
Error |
err_unknown_any_var_function_type |
variable %0 with unknown type cannot be given a function type |
Error |
err_unknown_any_function |
function %0 with unknown type must be given a function type |
Error |
err_filter_expression_integral |
filter expression type should be an integral value not %0 |
Error |
err_non_asm_stmt_in_naked_function |
non-ASM statement in naked function is not supported |
Error |
err_asm_naked_this_ref |
'this' pointer references not allowed in naked functions |
Error |
err_asm_naked_parm_ref |
parameter references not allowed in naked functions |
Error |
err_invalid_astype_of_different_size |
invalid reinterpretation: sizes of %0 and %1 must match |
Error |
err_static_kernel |
kernel functions cannot be declared static |
Error |
err_opencl_ptrptr_kernel_param |
kernel parameter cannot be declared as a pointer to a pointer |
Error |
err_opencl_private_ptr_kernel_param |
kernel parameter cannot be declared as a pointer to the __private address space |
Error |
err_opencl_function_variable |
%select{non-kernel function|function scope}0 variable cannot be declared in %1 address space |
Error |
err_static_function_scope |
variables in function scope cannot be declared static |
Error |
err_opencl_bitfields |
bitfields are not supported in OpenCL |
Error |
err_opencl_vla |
variable length arrays are not supported in OpenCL |
Error |
err_bad_kernel_param_type |
%0 cannot be used as the type of a kernel parameter |
Error |
err_record_with_pointers_kernel_param |
%select{struct|union}0 kernel parameters may not contain pointers |
Note |
note_within_field_of_type |
within field of type %0 declared here |
Note |
note_illegal_field_declared_here |
field of illegal %select{type|pointer type}0 %1 declared here |
Error |
err_event_t_global_var |
the event_t type cannot be used to declare a program scope variable |
Error |
err_opencl_type_struct_or_union_field |
the %0 type cannot be used to declare a structure or union field |
Error |
err_event_t_addr_space_qual |
the event_t type can only be used with __private address space qualifier |
Error |
err_expected_kernel_void_return_type |
kernel must have void return type |
Error |
err_sampler_argument_required |
sampler_t variable required - got %0 |
Error |
err_wrong_sampler_addressspace |
sampler type cannot be used with the __local and __global address space qualifiers |
Error |
err_opencl_global_invalid_addr_space |
%select{program scope|static local|extern}0 variable must reside in %1 address space |
Error |
err_missing_actual_pipe_type |
missing actual type specifier for pipe |
Error |
err_reference_pipe_type |
pipes packet types cannot be of reference type |
Error |
err_opencl_no_main |
%select{function|kernel}0 cannot be called 'main' |
Error |
err_opencl_kernel_attr |
attribute %0 can only be applied to a kernel function |
Error |
err_opencl_return_value_with_address_space |
return value cannot be qualified with address space |
Error |
err_opencl_constant_no_init |
variable in constant address space must be initialized |
Error |
err_atomic_init_constant |
[1]:atomic variable can only be assigned to a compile time constant [2]: in the declaration statement in the program scope |
Error |
err_opencl_implicit_vector_conversion |
implicit conversions between vector types (%0 and %1) are not permitted |
Error |
err_opencl_dereferencing |
dereferencing pointer of type %0 is not allowed in OpenCL |
Error |
err_opencl_block_proto_variadic |
invalid block prototype, variadic arguments are not allowed in OpenCL |
Error |
err_opencl_invalid_type_array |
array of %0 type is invalid in OpenCL |
Error |
err_opencl_ternary_with_block |
block type cannot be used as expression in ternary expression in OpenCL |
Error |
err_opencl_pointer_to_type |
pointer to type %0 is invalid in OpenCL |
Error |
err_opencl_type_can_only_be_used_as_function_parameter |
type %0 can only be used as a function parameter in OpenCL |
Error |
err_opencl_builtin_pipe_first_arg |
first argument to %0 must be a pipe type |
Error |
err_opencl_builtin_pipe_arg_num |
invalid number of arguments to function: %0 |
Error |
err_opencl_builtin_pipe_invalid_arg |
invalid argument type to function %0 (expecting %1) |
Error |
err_opencl_builtin_pipe_invalid_access_modifier |
invalid pipe access modifier (expecting %0) |
Error |
err_opencl_invalid_access_qualifier |
access qualifier can only be used for pipe and image type |
Error |
err_opencl_invalid_read_write |
access qualifier %0 can not be used for %1 %select{|earlier than OpenCL2.0 version}2 |
Error |
err_opencl_multiple_access_qualifiers |
multiple access qualifiers |
Error |
err_opencl_unknown_type_specifier |
OpenCL does not support the '%0' %select{type qualifier|storage class specifier}1 |
Error |
err_opencl_block_storage_type |
the __block storage type is not permitted |
Error |
err_opencl_invalid_block_declaration |
invalid block variable declaration - must be %select{const qualified|initialized}0 |
Error |
err_opencl_extern_block_declaration |
invalid block variable declaration - using 'extern' storage class is disallowed |
Error |
err_omp_expected_var_arg |
%0 is not a global variable, static local variable or static data member |
Error |
err_omp_expected_var_arg_suggest |
[1]:%0 is not a global variable, static local variable or static data member; [2]:did you mean %1 |
Error |
err_omp_global_var_arg |
arguments of '#pragma omp %0' must have %select{global storage|static storage duration}1 |
Error |
err_omp_ref_type_arg |
arguments of '#pragma omp %0' cannot be of reference type %1 |
Error |
err_omp_var_scope |
'#pragma omp %0' must appear in the scope of the %q1 variable declaration |
Error |
err_omp_var_used |
'#pragma omp %0' must precede all references to variable %q1 |
Error |
err_omp_var_thread_local |
variable %0 cannot be threadprivate because it is %select{thread-local|a global named register variable}1 |
Error |
err_omp_private_incomplete_type |
a private variable with incomplete type %0 |
Error |
err_omp_firstprivate_incomplete_type |
a firstprivate variable with incomplete type %0 |
Error |
err_omp_lastprivate_incomplete_type |
a lastprivate variable with incomplete type %0 |
Error |
err_omp_reduction_incomplete_type |
a reduction list item with incomplete type %0 |
Error |
err_omp_unexpected_clause_value |
expected %0 in OpenMP clause '%1' |
Error |
err_omp_expected_var_name_member_expr |
expected variable name%select{| or data member of current class}0 |
Error |
err_omp_expected_var_name_member_expr_or_array_item |
expected variable name%select{|, data member of current class}0, array element or array section |
Error |
err_omp_expected_named_var_member_or_array_expression |
expected expression containing only member accesses and/or array sections based on named variables |
Error |
err_omp_bit_fields_forbidden_in_map_clause |
bit fields cannot be used to specify storage in a map clause |
Error |
err_array_section_does_not_specify_contiguous_storage |
array section does not specify contiguous storage |
Error |
err_omp_union_type_not_allowed |
mapped storage cannot be derived from a union |
Error |
err_omp_expected_access_to_data_field |
expected access to data field |
Error |
err_omp_multiple_array_items_in_map_clause |
multiple array elements associated with the same variable are not allowed in map clauses of the same construct |
Error |
err_omp_pointer_mapped_along_with_derived_section |
pointer cannot be mapped along with a section derived from itself |
Error |
err_omp_original_storage_is_shared_and_does_not_contain |
original storage of expression in data environment is shared but data environment do not fully contain mapped expression storage |
Error |
err_omp_same_pointer_derreferenced |
same pointer derreferenced in multiple different ways in map clause expressions |
Note |
note_omp_task_predetermined_firstprivate_here |
predetermined as a firstprivate in a task construct here |
Error |
err_omp_threadprivate_incomplete_type |
threadprivate variable with incomplete type %0 |
Error |
err_omp_no_dsa_for_variable |
variable %0 must have explicitly specified data sharing attributes |
Error |
err_omp_wrong_dsa |
%0 variable cannot be %1 |
Error |
err_omp_variably_modified_type_not_supported |
arguments of OpenMP clause '%0' in '#pragma omp %2' directive cannot be of variably-modified type %1 |
Note |
note_omp_explicit_dsa |
defined as %0 |
Note |
note_omp_predetermined_dsa |
[1]:%select{static data member is predetermined as shared| [2]:[1]:variable with static storage duration is predetermined as shared| [2]:[1]:loop iteration variable is predetermined as private| [2]:[1]:loop iteration variable is predetermined as linear| [2]:[1]:loop iteration variable is predetermined as lastprivate| [2]:[1]:constant variable is predetermined as shared| [2]:[1]:global variable is predetermined as shared| [2]:[1]:non-shared variable in a task construct is predetermined as firstprivate| [2]:[1]:variable with automatic storage duration is predetermined as private}0 [2]:%select{|; perhaps you forget to enclose 'omp %2' directive into a parallel or another task region?}1 |
Note |
note_omp_implicit_dsa |
implicitly determined as %0 |
Error |
err_omp_loop_var_dsa |
loop iteration variable in the associated loop of 'omp %1' directive may not be %0, predetermined as %2 |
Error |
err_omp_not_for |
[1]:%select{statement after '#pragma omp %1' must be a for loop| [2]:expected %2 for loops after '#pragma omp %1'%select{|, but found only %4}3}0 |
Note |
note_omp_collapse_ordered_expr |
as specified in %select{'collapse'|'ordered'|'collapse' and 'ordered'}0 clause%select{||s}0 |
Error |
err_omp_negative_expression_in_clause |
argument to '%0' clause must be a %select{non-negative|strictly positive}1 integer value |
Error |
err_omp_not_integral |
[1]:expression must have integral or unscoped enumeration [2]:type, not %0 |
Error |
err_omp_incomplete_type |
expression has incomplete class type %0 |
Error |
err_omp_explicit_conversion |
expression requires explicit conversion from %0 to %1 |
Note |
note_omp_conversion_here |
conversion to %select{integral|enumeration}0 type %1 declared here |
Error |
err_omp_ambiguous_conversion |
[1]:ambiguous conversion from type %0 to an integral or unscoped [2]:enumeration type |
Error |
err_omp_required_access |
%0 variable must be %1 |
Error |
err_omp_const_variable |
const-qualified variable cannot be %0 |
Error |
err_omp_const_reduction_list_item |
const-qualified list item cannot be reduction |
Error |
err_omp_linear_incomplete_type |
a linear variable with incomplete type %0 |
Error |
err_omp_linear_expected_int_or_ptr |
[1]:argument of a linear clause should be of integral or pointer [2]:type, not %0 |
Warning |
warn_omp_linear_step_zero |
zero linear step (%0 %select{|and other variables in clause }1should probably be const) |
Warning |
warn_omp_alignment_not_power_of_two |
aligned clause will be ignored because the requested alignment is not a power of 2 |
Error |
err_omp_aligned_expected_array_or_ptr |
[1]:argument of aligned clause should be array [2]:[1]:%select{ or pointer|, pointer, reference to array or reference to pointer}1 [2]:, not %0 |
Error |
err_omp_aligned_twice |
a variable cannot appear in more than one aligned clause |
Error |
err_omp_local_var_in_threadprivate_init |
variable with local storage in initial value of threadprivate variable |
Error |
err_omp_loop_not_canonical_init |
[1]:initialization clause of OpenMP for loop is not in canonical form [2]:('var = init' or 'T var = init') |
ExtWarn |
ext_omp_loop_not_canonical_init |
[1]:initialization clause of OpenMP for loop is not in canonical form [2]:('var = init' or 'T var = init') |
Error |
err_omp_loop_not_canonical_cond |
[1]:condition of OpenMP for loop must be a relational comparison [2]:('<', '<=', '>', or '>=') of loop variable %0 |
Error |
err_omp_loop_not_canonical_incr |
[1]:increment clause of OpenMP for loop must perform simple addition [2]:or subtraction on loop variable %0 |
Error |
err_omp_loop_variable_type |
variable must be of integer or %select{pointer|random access iterator}0 type |
Error |
err_omp_loop_incr_not_compatible |
[1]:increment expression must cause %0 to %select{decrease|increase}1 [2]:on each iteration of OpenMP for loop |
Note |
note_omp_loop_cond_requres_compatible_incr |
loop step is expected to be %select{negative|positive}0 due to this condition |
Error |
err_omp_loop_diff_cxx |
[1]:could not calculate number of iterations calling 'operator-' with [2]:upper and lower loop bounds |
Error |
err_omp_loop_cannot_use_stmt |
'%0' statement cannot be used in OpenMP for loop |
Error |
err_omp_simd_region_cannot_use_stmt |
'%0' statement cannot be used in OpenMP simd region |
Warning |
warn_omp_loop_64_bit_var |
OpenMP loop iteration variable cannot have more than 64 bits size and will be narrowed |
Error |
err_omp_unknown_reduction_identifier |
incorrect reduction identifier, expected one of '+', '-', '*', '&', '|', '^', '&&', '||', 'min' or 'max' |
Error |
err_omp_reduction_ref_type_arg |
argument of OpenMP clause 'reduction' must reference the same object in all threads |
Error |
err_omp_clause_not_arithmetic_type_arg |
arguments of OpenMP clause 'reduction' for 'min' or 'max' must be of %select{scalar|arithmetic}0 type |
Error |
err_omp_clause_floating_type_arg |
arguments of OpenMP clause 'reduction' with bitwise operators cannot be of floating type |
Error |
err_omp_once_referenced |
variable can appear only once in OpenMP '%0' clause |
Note |
note_omp_referenced |
previously referenced here |
Error |
err_omp_reduction_in_task |
reduction variables may not be accessed in an explicit task |
Error |
err_omp_reduction_id_not_compatible |
list item of type %0 is not valid for specified reduction operation: unable to provide default initialization value |
Error |
err_omp_prohibited_region |
[1]:region cannot be%select{| closely}0 nested inside '%1' region [2]:[1]:%select{|; perhaps you forget to enclose 'omp %3' directive into a parallel region?| [2]:[1]:; perhaps you forget to enclose 'omp %3' directive into a for or a parallel for region with 'ordered' clause?| [2]:[1]:; perhaps you forget to enclose 'omp %3' directive into a target region?| [2]:; perhaps you forget to enclose 'omp %3' directive into a teams region?}2 |
Error |
err_omp_prohibited_region_simd |
OpenMP constructs may not be nested inside a simd region |
Error |
err_omp_prohibited_region_atomic |
OpenMP constructs may not be nested inside an atomic region |
Error |
err_omp_prohibited_region_critical_same_name |
cannot nest 'critical' regions having the same name %0 |
Note |
note_omp_previous_critical_region |
previous 'critical' region starts here |
Error |
err_omp_sections_not_compound_stmt |
the statement for '#pragma omp sections' must be a compound statement |
Error |
err_omp_parallel_sections_not_compound_stmt |
the statement for '#pragma omp parallel sections' must be a compound statement |
Error |
err_omp_orphaned_section_directive |
[1]:%select{orphaned 'omp section' directives are prohibited, it|'omp section' directive}0 [2]: must be closely nested to a sections region%select{|, not a %1 region}0 |
Error |
err_omp_sections_substmt_not_section |
statement in 'omp sections' directive must be enclosed into a section region |
Error |
err_omp_parallel_sections_substmt_not_section |
statement in 'omp parallel sections' directive must be enclosed into a section region |
Error |
err_omp_parallel_reduction_in_task_firstprivate |
argument of a reduction clause of a %0 construct must not appear in a firstprivate clause on a task construct |
Error |
err_omp_atomic_read_not_expression_statement |
[1]:the statement for 'atomic read' must be an expression statement of form 'v = x;', [2]: where v and x are both lvalue expressions with scalar type |
Note |
note_omp_atomic_read_write |
%select{expected an expression statement|expected built-in assignment operator|expected expression of scalar type|expected lvalue expression}0 |
Error |
err_omp_atomic_write_not_expression_statement |
[1]:the statement for 'atomic write' must be an expression statement of form 'x = expr;', [2]: where x is a lvalue expression with scalar type |
Error |
err_omp_atomic_update_not_expression_statement |
[1]:the statement for 'atomic update' must be an expression statement of form '++x;', '--x;', 'x++;', 'x--;', 'x binop= expr;', 'x = x binop expr' or 'x = expr binop x', [2]: where x is an l-value expression with scalar type |
Error |
err_omp_atomic_not_expression_statement |
[1]:the statement for 'atomic' must be an expression statement of form '++x;', '--x;', 'x++;', 'x--;', 'x binop= expr;', 'x = x binop expr' or 'x = expr binop x', [2]: where x is an l-value expression with scalar type |
Note |
note_omp_atomic_update |
[1]:%select{expected an expression statement|expected built-in binary or unary operator|expected unary decrement/increment operation| [2]:[1]:expected expression of scalar type|expected assignment expression|expected built-in binary operator| [2]:expected one of '+', '*', '-', '/', '&', '^', '%|', '<<', or '>>' built-in operations|expected in right hand side of expression}0 |
Error |
err_omp_atomic_capture_not_expression_statement |
[1]:the statement for 'atomic capture' must be an expression statement of form 'v = ++x;', 'v = --x;', 'v = x++;', 'v = x--;', 'v = x binop= expr;', 'v = x = x binop expr' or 'v = x = expr binop x', [2]: where x and v are both l-value expressions with scalar type |
Error |
err_omp_atomic_capture_not_compound_statement |
[1]:the statement for 'atomic capture' must be a compound statement of form '{v = x; x binop= expr;}', '{x binop= expr; v = x;}', [2]:[1]: '{v = x; x = x binop expr;}', '{v = x; x = expr binop x;}', '{x = x binop expr; v = x;}', '{x = expr binop x; v = x;}' or '{v = x; x = expr;}', [2]:[1]: '{v = x; x++;}', '{v = x; ++x;}', '{++x; v = x;}', '{x++; v = x;}', '{v = x; x--;}', '{v = x; --x;}', '{--x; v = x;}', '{x--; v = x;}' [2]: where x is an l-value expression with scalar type |
Note |
note_omp_atomic_capture |
%select{expected assignment expression|expected compound statement|expected exactly two expression statements|expected in right hand side of the first expression}0 |
Error |
err_omp_atomic_several_clauses |
directive '#pragma omp atomic' cannot contain more than one 'read', 'write', 'update' or 'capture' clause |
Note |
note_omp_atomic_previous_clause |
'%0' clause used here |
Error |
err_omp_target_contains_not_only_teams |
target construct with nested teams region contains statements outside of the teams construct |
Note |
note_omp_nested_teams_construct_here |
nested teams construct here |
Note |
note_omp_nested_statement_here |
%select{statement|directive}0 outside teams construct here |
Error |
err_omp_single_copyprivate_with_nowait |
the 'copyprivate' clause must not be used with the 'nowait' clause |
Note |
note_omp_nowait_clause_here |
'nowait' clause is here |
Error |
err_omp_wrong_cancel_region |
one of 'for', 'parallel', 'sections' or 'taskgroup' is expected |
Error |
err_omp_parent_cancel_region_nowait |
parent region for 'omp %select{cancellation point/cancel}0' construct cannot be nowait |
Error |
err_omp_parent_cancel_region_ordered |
parent region for 'omp %select{cancellation point/cancel}0' construct cannot be ordered |
Error |
err_omp_reduction_wrong_type |
reduction type cannot be %select{qualified with 'const', 'volatile' or 'restrict'|a function|a reference|an array}0 type |
Error |
err_omp_wrong_var_in_declare_reduction |
only %select{'omp_priv' or 'omp_orig'|'omp_in' or 'omp_out'}0 variables are allowed in %select{initializer|combiner}0 expression |
Error |
err_omp_declare_reduction_redefinition |
redefinition of user-defined reduction for type %0 |
Error |
err_omp_array_section_use |
OpenMP array section is not allowed here |
Error |
err_omp_typecheck_section_value |
subscripted value is not an array or pointer |
Error |
err_omp_typecheck_section_not_integer |
array section %select{lower bound|length}0 is not an integer |
Error |
err_omp_section_function_type |
section of pointer to function type %0 |
Warning |
warn_omp_section_is_char |
array section %select{lower bound|length}0 is of type 'char' |
Error |
err_omp_section_incomplete_type |
section of pointer to incomplete type %0 |
Error |
err_omp_section_negative |
section %select{lower bound|length}0 is evaluated to a negative value %1 |
Error |
err_omp_section_length_undefined |
section length is unspecified and cannot be inferred because subscripted value is %select{not an array|an array of unknown bound}0 |
Error |
err_omp_wrong_linear_modifier |
expected %select{'val' modifier|one of 'ref', val' or 'uval' modifiers}0 |
Error |
err_omp_wrong_linear_modifier_non_reference |
variable of non-reference type %0 can be used only with 'val' modifier, but used with '%1' |
Error |
err_omp_wrong_simdlen_safelen_values |
the value of 'simdlen' parameter must be less than or equal to the value of the 'safelen' parameter |
Error |
err_omp_wrong_if_directive_name_modifier |
directive name modifier '%0' is not allowed for '#pragma omp %1' |
Error |
err_omp_no_more_if_clause |
no more 'if' clause is allowed |
Error |
err_omp_unnamed_if_clause |
expected %select{|one of}0 %1 directive name modifier%select{|s}0 |
Note |
note_omp_previous_named_if_clause |
previous clause with directive name modifier specified here |
Error |
err_omp_ordered_directive_with_param |
'ordered' directive %select{without any clauses|with 'threads' clause}0 cannot be closely nested inside ordered region with specified parameter |
Error |
err_omp_ordered_directive_without_param |
'ordered' directive with 'depend' clause cannot be closely nested inside ordered region without specified parameter |
Note |
note_omp_ordered_param |
'ordered' clause with specified parameter |
Error |
err_omp_expected_base_var_name |
expected variable name as a base of the array %select{subscript|section}0 |
Error |
err_omp_map_shared_storage |
variable already marked as mapped in current construct |
Error |
err_omp_not_mappable_type |
type %0 is not mappable to target |
Error |
err_omp_invalid_map_type_for_directive |
%select{map type '%1' is not allowed|map type must be specified}0 for '#pragma omp %2' |
Error |
err_omp_no_map_for_directive |
expected at least one map clause for '#pragma omp %0' |
Note |
note_omp_polymorphic_in_target |
mappable type cannot be polymorphic |
Note |
note_omp_static_member_in_target |
mappable type cannot contain static members |
Error |
err_omp_threadprivate_in_map |
threadprivate variables are not allowed in map clause |
Error |
err_omp_wrong_ordered_loop_count |
the parameter of the 'ordered' clause must be greater than or equal to the parameter of the 'collapse' clause |
Note |
note_collapse_loop_count |
parameter of the 'collapse' clause |
Error |
err_omp_grainsize_num_tasks_mutually_exclusive |
'%0' and '%1' clause are mutually exclusive and may not appear on the same directive |
Note |
note_omp_previous_grainsize_num_tasks |
'%0' clause is specified here |
Error |
err_omp_hint_clause_no_name |
the name of the construct must be specified in presence of 'hint' clause |
Error |
err_omp_critical_with_hint |
constructs with the same name must have a 'hint' clause with the same value |
Note |
note_omp_critical_hint_here |
%select{|previous }0'hint' clause with value '%1' |
Note |
note_omp_critical_no_hint |
%select{|previous }0directive with no 'hint' clause specified |
Error |
err_omp_firstprivate_distribute_private_teams |
private variable in '#pragma omp teams' cannot be firstprivate in '#pragma omp distribute' |
Error |
err_omp_firstprivate_and_lastprivate_in_distribute |
lastprivate variable cannot be firstprivate in '#pragma omp distribute' |
Error |
err_omp_firstprivate_distribute_in_teams_reduction |
reduction variable in '#pragma omp teams' cannot be firstprivate in '#pragma omp distribute' |
Error |
err_omp_depend_clause_thread_simd |
'depend' clauses cannot be mixed with '%0' clause |
Error |
err_omp_depend_sink_wrong_expr |
expected expression form x[+-d], where x is the loop iteration variable and d is a constant non-negative integer |
Error |
err_omp_depend_sink_expected_loop_iteration |
expected %0 loop iteration variable |
Error |
err_omp_depend_sink_unexpected_expr |
unexpected expression: number of expressions is larger than the number of associated loops |
Error |
err_omp_depend_sink_expected_plus_minus |
expected '+' or '-' operation |
Error |
err_omp_depend_sink_source_not_allowed |
'depend(%select{source|sink:vec}0)' clause%select{|s}0 cannot be mixed with 'depend(%select{sink:vec|source}0)' clause%select{s|}0 |
Error |
err_omp_linear_ordered |
'linear' clause cannot be specified along with 'ordered' clause with a parameter |
Error |
err_omp_unexpected_schedule_modifier |
modifier '%0' cannot be used along with modifier '%1' |
Error |
err_omp_schedule_nonmonotonic_static |
'nonmonotonic' modifier can only be specified with 'dynamic' or 'guided' schedule kind |
Error |
err_omp_schedule_nonmonotonic_ordered |
'schedule' clause with 'nonmonotonic' modifier cannot be specified if an 'ordered' clause is specified |
Error |
err_omp_ordered_simd |
'ordered' clause with a parameter can not be specified in '#pragma omp %0' directive |
Warning |
warn_related_result_type_compatibility_class |
[1]:method is expected to return an instance of its class type [2]:[1]:%diff{$, but is declared to return $| [2]:, but is declared to return different type}0,1 |
Warning |
warn_related_result_type_compatibility_protocol |
[1]:protocol method is expected to return an instance of the implementing [2]:class, but is declared to return %0 |
Note |
note_related_result_type_family |
[1]:%select{overridden|current}0 method is part of the '%select{|alloc|copy|init| [2]:[1]:mutableCopy|new|autorelease|dealloc|finalize|release|retain|retainCount| [2]:[1]:self}1' method family%select{| and is expected to return an instance of its [2]:class type}0 |
Note |
note_related_result_type_overridden |
overridden method returns an instance of its class type |
Note |
note_related_result_type_inferred |
[1]:%select{class|instance}0 method %1 is assumed to return an instance of [2]:its receiver type (%2) |
Note |
note_related_result_type_explicit |
[1]:%select{overridden|current}0 method is explicitly declared 'instancetype' [2]:%select{| and is expected to return an instance of its class type}0 |
Error |
err_module_private_specialization |
[1]:%select{template|partial|member}0 specialization cannot be [2]:declared __module_private__ |
Error |
err_module_private_local |
[1]:%select{local variable|parameter|typedef}0 %1 cannot be declared [2]:__module_private__ |
Error |
err_module_private_local_class |
[1]:local %select{struct|interface|union|class|enum}0 cannot be declared [2]:__module_private__ |
Error |
err_module_unimported_use |
[1]:%select{declaration|definition|default argument}0 of %1 must be imported [2]:from module '%2' before it is required |
Error |
err_module_unimported_use_multiple |
[1]:%select{declaration|definition|default argument}0 of %1 must be imported [2]:from one of the following modules before it is required:%2 |
ExtWarn |
ext_module_import_in_extern_c |
[1]:import of C++ module '%0' appears within extern \"C\" language linkage [2]:specification |
Note |
note_module_import_in_extern_c |
extern \"C\" language linkage specification begins here |
Error |
err_module_import_not_at_top_level_fatal |
import of module '%0' appears within %1 |
ExtWarn |
ext_module_import_not_at_top_level_noop |
redundant #include of module '%0' appears within %1 |
Note |
note_module_import_not_at_top_level |
%0 begins here |
Error |
err_module_self_import |
import of module '%0' appears within same top-level module '%1' |
Error |
err_module_import_in_implementation |
@import of module '%0' in implementation of '%1'; use #import |
ExtWarn |
ext_equivalent_internal_linkage_decl_in_modules |
ambiguous use of internal linkage declaration %0 defined in multiple modules |
Note |
note_equivalent_internal_linkage_decl |
declared here%select{ in module '%1'|}0 |
Error |
err_return_in_coroutine |
return statement not allowed in coroutine; did you mean 'co_return'? |
Note |
note_declared_coroutine_here |
[1]:function is a coroutine due to use of [2]:'%select{co_await|co_yield|co_return}0' here |
Error |
err_coroutine_objc_method |
Objective-C methods as coroutines are not yet supported |
Error |
err_coroutine_unevaluated_context |
'%0' cannot be used in an unevaluated context |
Error |
err_coroutine_outside_function |
'%0' cannot be used outside a function |
Error |
err_coroutine_ctor_dtor |
'%1' cannot be used in a %select{constructor|destructor}0 |
Error |
err_coroutine_constexpr |
'%0' cannot be used in a constexpr function |
Error |
err_coroutine_varargs |
'%0' cannot be used in a varargs function |
ExtWarn |
ext_coroutine_without_co_await_co_yield |
[1]:'co_return' used in a function [2]:that uses neither 'co_await' nor 'co_yield' |
Error |
err_implied_std_coroutine_traits_not_found |
you need to include before defining a coroutine |
Error |
err_malformed_std_coroutine_traits |
'std::coroutine_traits' must be a class template |
Error |
err_implied_std_coroutine_traits_promise_type_not_found |
this function cannot be a coroutine: %q0 has no member named 'promise_type' |
Error |
err_implied_std_coroutine_traits_promise_type_not_class |
this function cannot be a coroutine: %0 is not a class |
Error |
err_coroutine_traits_missing_specialization |
[1]:this function cannot be a coroutine: missing definition of [2]:specialization %q0 |
Warning |
warn_not_a_doxygen_trailing_member_comment |
not a Doxygen trailing comment |
Warning |
warn_profile_data_out_of_date |
[1]:profile data may be out of date: of %0 function%s0, %1 %plural{1:has|:have}1 [2]: no data and %2 %plural{1:has|:have}2 mismatched data that will be ignored |
Warning |
warn_profile_data_unprofiled |
no profile data available for file \"%0\" |
Warning |
warn_mismatched_nullability_attr |
nullability specifier %0 conflicts with existing specifier %1 |
Warning |
warn_nullability_declspec |
[1]:nullability specifier %0 cannot be applied [2]:[1]:to non-pointer type %1; did you mean to apply the specifier to the [2]:[1]:%select{pointer|block pointer|member pointer|function pointer| [2]:member function pointer}2? |
Note |
note_nullability_here |
%0 specified here |
Error |
err_nullability_nonpointer |
nullability specifier %0 cannot be applied to non-pointer type %1 |
Warning |
warn_nullability_lost |
[1]:implicit conversion from nullable pointer %0 to non-nullable pointer [2]:type %1 |
Error |
err_nullability_cs_multilevel |
nullability keyword %0 cannot be applied to multi-level pointer type %1 |
Note |
note_nullability_type_specifier |
[1]:use nullability type specifier %0 to affect the innermost [2]:pointer type of %1 |
Warning |
warn_null_resettable_setter |
synthesized setter %0 for null_resettable property %1 does not handle nil |
Warning |
warn_nullability_missing |
[1]:%select{pointer|block pointer|member pointer}0 is missing a nullability [2]:type specifier (_Nonnull, _Nullable, or _Null_unspecified) |
Error |
err_objc_type_arg_explicit_nullability |
type argument %0 cannot explicitly specify nullability |
Error |
err_objc_type_param_bound_explicit_nullability |
type parameter %0 bound %1 cannot explicitly specify nullability |
Error |
err_objc_type_param_bound_nonobject |
type bound %0 for type parameter %1 is not an Objective-C pointer type |
Error |
err_objc_type_param_bound_missing_pointer |
missing '*' in type bound %0 for type parameter %1 |
Error |
err_objc_type_param_bound_qualified |
type bound %1 for type parameter %0 cannot be qualified with '%2' |
Error |
err_objc_type_param_redecl |
redeclaration of type parameter %0 |
Error |
err_objc_type_param_arity_mismatch |
[1]:%select{forward class declaration|class definition|category|extension}0 has [2]:too %select{few|many}1 type parameters (expected %2, have %3) |
Error |
err_objc_type_param_bound_conflict |
[1]:type bound %0 for type parameter %1 conflicts with [2]:%select{implicit|previous}2 bound %3%select{for type parameter %5|}4 |
Error |
err_objc_type_param_variance_conflict |
[1]:%select{in|co|contra}0variant type parameter %1 conflicts with previous [2]:%select{in|co|contra}2variant type parameter %3 |
Note |
note_objc_type_param_here |
type parameter %0 declared here |
Error |
err_objc_type_param_bound_missing |
missing type bound %0 for type parameter %1 in %select{@interface|@class}2 |
Error |
err_objc_parameterized_category_nonclass |
[1]:%select{extension|category}0 of non-parameterized class %1 cannot have type [2]:parameters |
Error |
err_objc_parameterized_forward_class |
[1]:forward declaration of non-parameterized class %0 cannot have type [2]:parameters |
Error |
err_objc_parameterized_forward_class_first |
class %0 previously declared with type parameters |
Error |
err_objc_type_arg_missing_star |
type argument %0 must be a pointer (requires a '*') |
Error |
err_objc_type_arg_qualified |
type argument %0 cannot be qualified with '%1' |
Error |
err_objc_type_arg_missing |
no type or protocol named %0 |
Error |
err_objc_type_args_and_protocols |
[1]:angle brackets contain both a %select{type|protocol}0 (%1) and a [2]:%select{protocol|type}0 (%2) |
Error |
err_objc_type_args_non_class |
type arguments cannot be applied to non-class type %0 |
Error |
err_objc_type_args_non_parameterized_class |
type arguments cannot be applied to non-parameterized class %0 |
Error |
err_objc_type_args_specialized_class |
type arguments cannot be applied to already-specialized class type %0 |
Error |
err_objc_type_args_wrong_arity |
too %select{many|few}0 type arguments for class %1 (have %2, expected %3) |
Error |
err_objc_type_arg_not_id_compatible |
type argument %0 is neither an Objective-C object nor a block type |
Error |
err_objc_type_arg_does_not_match_bound |
type argument %0 does not satisfy the bound (%1) of type parameter %2 |
Warning |
warn_objc_redundant_qualified_class_type |
[1]:parameterized class %0 already conforms to the protocols listed; did you [2]:forget a '*'? |