Module:ClangDiags/DiagsData

From emmtrix Wiki
Jump to navigation Jump to search

Documentation for this module may be created at Module:ClangDiags/DiagsData/doc

local a="type";
local b="prefix";
local c="title";
local d="error: ";
local e="Error";
local f="hierarchical";
local g="warning: ";
local h="Warning";
local i="note: ";
local j="Note";
local k="defaultactive";
local l="";
local m="function";
local n="constructor";
local o="class";
local p="destructor";
local q="Downgradable Error";
local r="struct";
local s="fatal error: ";
local t="Fatal";
local u="method";
local v="union";
local w=" ";
local x="\'";
local y="block";
local z="variable";
local A="equality";
local B="interface";
local C="private";
local D="protected";
local E="reference";
local F="returning from function with different return type";
local G="assigning to different types";
local H="read of";
local I="casting between types";
local J="A";
local K="casting A to type B";
local L="sending to parameter of different type";
local M="sending A to parameter of type B";
local N="passing A to parameter of type B";
local O="initializing with expression of different type";
local P="converting A to type B";
local Q="initializing A with an expression of type B";
local R="converting between types";
local S="passing to parameter of different type";
local T="returning A from a function with result type B";
local U=" template";
local V="candidate ";
local W="pointer";
local X=" B";
local Y="consteval";
local Z=" C";
local ab="assigning to A from B";
local bb=" found ";
local cb="s";
local db="property";
local eb="typedef";
local fb="no";
local gb="function (the implicit copy assignment operator)";
local hb="constructor (the implicit copy constructor)";
local ib="function (with reversed parameter order)";
local jb="constructor (the implicit move constructor)";
local kb="function (the implicit \'operator==\' for this \'operator<=>)\'";
local lb="function (the implicit move assignment operator)";
local mb="constructor (the implicit default constructor)";
local nb="constexpr";
local ob="inherited constructor";
local pb="enum";
local qb="Remark";
local rb="default constructor";
local sb="copy constructor";
local tb="move assignment operator";
local ub="remark: ";
local vb="move constructor";
local wb="method F";
local xb="copy assignment operator";
local yb="reinterpret_cast";
local zb="and";
local Ab="defined here";
local Bb="C-style cast";
local Cb="copy";
local Db="type alias";
local Eb="base class";
local Fb="three-way";
local Gb="method D";
local Hb="template";
local Ib="because";
local Jb="relational";
local Kb="function template";
local Lb=" here";
local Mb="definition in module \'C\'";
local Nb="\\";
local Ob="instance";
local Pb=" is ";
local Qb="@";
local Rb="...";
local Sb="\'B\'";
local Tb="true";
local Ub="volatile";
local Vb="false";
local Wb="cannot ";
local Xb="variable template";
local Yb="decrement of";
local Zb="kernel function";
local ac="parameter";
local bc="A has different definitions in different modules; first difference is ";
local cc="A has different definitions in different modules; first difference is ... found ...";
local dc="arguments to ";
local ec="; remove *";
local fc="; remove &";
local gc="execution configuration ";
local hc="D";
local ic="assignment to";
local jc="__device__";
local kc="__global__";
local lc="increment of";
local mc="dynamic_cast";
local nc="__host__";
local oc="__host__ __device__";
local pc="assignment operator";
local qc="declaration";
local rc="array";
local sc="typeid applied to";
local tc="member";
local uc="field";
local vc="functional-style cast";
local wc="integral";
local xc="destruction of";
local yc=" (A and B)";
local zc="class template";
local Ac="integer";
local Bc="C";
local Cc="static_cast";
local Dc="alias";
local Ec="arithmetic between";
local Fc="enumeration";
local Gc="template template parameter";
local Hc="dynamic_cast of";
local Ic="module";
local Jc="member call on";
local Kc="definition";
local Lc="const";
local Mc="comparison of";
local Nc="bitwise operation between";
local Oc="compound assignment of";
local Pc="; take the address with &";
local Qc="no ";
local Rc=" type B";
local Sc="conditional expression between";
local Tc="; dereference with *";
local Uc="move";
local Vc="static";
local Wc="instance variable";
local Xc="const_cast";
local Yc="alias template";
local Zc="selector";
local ad=" attribute";
local bd="\'C\'";
local cd="set";
local dd="construction of";
local ed="reference to ";
local fd="B";
local gd="non-";
local hd="getter";
local id="setter";
local jd="default";
local kd="but in ";
local ld="rvalue";
local md="but in ... found ...";
local nd="protocol";
local od="\'C\' exclusively";
local pd="argument";
local qd="__weak";
local rd=" (B and C)";
local sd=" different enumeration types";
local td="lvalue";
local ud="definition here";
local vd="functions";
local wd="increment";
local xd="__strong";
local yd="sizeless";
local zd=" function";
local Ad="return";
local Bd="default argument";
local Cd="subobject of ";
local Dd="implicit";
local Ed="from";
local Fd="classes";
local Gd=" with ";
local Hd="but in \'A\' found ";
local Id="decrement";
local Jd="size";
local Kd=" destructor";
local Ld=": B vs C";
local Md="expected ";
local Nd="but in \'A\' found ...";

return {
	["backslash_newline_space"]={
		[c]="backslash and newline separated by space [-Wbackslash-newline-escape]",
		[f]="backslash and newline separated by space",
		[b]=g,
		[a]=h
	},
	["err_32_bit_builtin_64_bit_tgt"]={
		[c]="this builtin is only available on 32-bit targets",
		[b]=d,
		[a]=e
	},
	["err_64_bit_builtin_32_bit_tgt"]={
		[c]="this builtin is only available on 64-bit targets",
		[b]=d,
		[a]=e
	},
	["err__Pragma_malformed"]={
		[c]="_Pragma takes a parenthesized string literal",
		[b]=d,
		[a]=e
	},
	["err_abi_tag_on_redeclaration"]={
		[c]="cannot add \'abi_tag\' attribute in a redeclaration",
		[b]=d,
		[a]=e
	},
	["err_abstract_type_in_decl"]={
		[c]="... type B is an abstract class",
		[f]={{Ad,ac,z,uc,Wc,"synthesized instance variable"}," type B is an abstract class"},
		[b]=d,
		[a]=e
	},
	["err_access"]={
		[c]="B is a ... member of D",
		[f]={"B is a ",{C,D}," member of D"},
		[b]=d,
		[a]=e
	},
	["err_access_base_ctor"]={
		[c]="... B has ... ...constructor",
		[f]={{Eb,"inherited virtual base class"}," B has ",{C,D},w,{"default ","copy ","move ",l},n},
		[b]=d,
		[a]=e
	},
	["err_access_ctor"]={
		[c]="calling a ... constructor of class C",
		[f]={"calling a ",{C,D}," constructor of class C"},
		[b]=d,
		[a]=e
	},
	["err_access_decl"]={
		[c]="ISO C++11 does not allow access declarations; use using declarations instead",
		[b]=d,
		[a]=e
	},
	["err_access_dtor"]={
		[c]="calling a ... destructor of class A",
		[f]={"calling a ",{C,D}," destructor of class A"},
		[b]=d,
		[a]=e
	},
	["err_access_dtor_base"]={
		[c]="base class A has ... destructor",
		[f]={"base class A has ",{C,D},Kd},
		[b]=d,
		[a]=e
	},
	["err_access_dtor_exception"]={
		[c]="exception object of type A has ... destructor",
		[f]={"exception object of type A has ",{C,D},Kd},
		[b]=d,
		[a]=e
	},
	["err_access_dtor_field"]={
		[c]="field of type B has ... destructor",
		[f]={"field of type B has ",{C,D},Kd},
		[b]=d,
		[a]=e
	},
	["err_access_dtor_ivar"]={
		[c]="instance variable of type A has ... destructor",
		[f]={"instance variable of type A has ",{C,D},Kd},
		[b]=d,
		[a]=e
	},
	["err_access_dtor_temp"]={
		[c]="temporary of type A has ... destructor",
		[f]={"temporary of type A has ",{C,D},Kd},
		[b]=d,
		[a]=e
	},
	["err_access_dtor_var"]={
		[c]="variable of type B has ... destructor",
		[f]={"variable of type B has ",{C,D},Kd},
		[b]=d,
		[a]=e
	},
	["err_access_dtor_vbase"]={
		[c]="inherited virtual base class B has ... destructor",
		[f]={"inherited virtual base class B has ",{C,D},Kd},
		[b]=d,
		[a]=e
	},
	["err_access_field_ctor"]={
		[c]="field of type A has ... ...constructor",
		[f]={"field of type A has ",{C,D},w,{"default ","copy ","move ",l},n},
		[b]=d,
		[a]=e
	},
	["err_access_friend_function"]={
		[c]="friend function B is a ... member of D",
		[f]={"friend function B is a ",{C,D}," member of D"},
		[b]=d,
		[a]=e
	},
	["err_access_lambda_capture"]={
		[c]="capture of variable \'A\' as type B calls ... ...constructor",
		[f]={"capture of variable \'A\' as type B calls ",{C,D},w,{"default ","copy ","move ",l},n},
		[b]=d,
		[a]=e
	},
	["err_access_specifier_interface"]={
		[c]="interface types cannot specify \'...\' access",
		[f]={"interface types cannot specify \'",{C,D},"\' access"},
		[b]=d,
		[a]=e
	},
	["err_addr_ovl_ambiguous"]={
		[c]="address of overloaded function A is ambiguous",
		[b]=d,
		[a]=e
	},
	["err_addr_ovl_no_qualifier"]={
		[c]="cannot form member pointer of type A without \'&\' and class name",
		[b]=d,
		[a]=e
	},
	["err_addr_ovl_no_viable"]={
		[c]="address of overloaded function A does not match required type B",
		[b]=d,
		[a]=e
	},
	["err_addr_ovl_not_func_ptrref"]={
		[c]="address of overloaded function A cannot be converted to type B",
		[b]=d,
		[a]=e
	},
	["err_address_of_function_with_pass_object_size_params"]={
		[c]="cannot take address of function A because parameter B has pass_object_size attribute",
		[b]=d,
		[a]=e
	},
	["err_address_of_label_outside_fn"]={
		[c]="use of address-of-label extension outside of a function body",
		[b]=d,
		[a]=e
	},
	["err_address_space_mismatch_templ_inst"]={
		[c]="conflicting address space qualifiers are provided between types A and B",
		[b]=d,
		[a]=e
	},
	["err_address_space_qualified_delete"]={
		[c]="\'delete\' cannot delete objects of type A in address space \'B\'",
		[b]=d,
		[a]=e
	},
	["err_address_space_qualified_new"]={
		[c]="\'new\' cannot allocate objects of type A in address space \'B\'",
		[b]=d,
		[a]=e
	},
	["err_addrof_function_constraints_not_satisfied"]={
		[c]="cannot take address of function A because its constraints are not satisfied",
		[b]=d,
		[a]=e
	},
	["err_addrof_function_disabled_by_enable_if_attr"]={
		[c]="cannot take address of function A because it has one or more non-tautological enable_if conditions",
		[b]=d,
		[a]=e
	},
	["err_aix_attr_unsupported_tls_model"]={
		[c]="TLS model \'A\' is not yet supported on AIX",
		[b]=d,
		[a]=e
	},
	["err_aix_unsupported_tls_model"]={
		[c]="TLS model \'A\' is not yet supported on AIX",
		[b]=d,
		[a]=e
	},
	["err_alias_after_tentative"]={
		[c]="alias definition of A after tentative definition",
		[b]=d,
		[a]=e
	},
	["err_alias_declaration_not_identifier"]={
		[c]="name defined in alias declaration must be an identifier",
		[b]=d,
		[a]=e
	},
	["err_alias_declaration_pack_expansion"]={
		[c]="alias declaration cannot be a pack expansion",
		[b]=d,
		[a]=e
	},
	["err_alias_declaration_specialization"]={
		[c]="... of alias templates is not permitted",
		[f]={{"partial specialization","explicit specialization","explicit instantiation"}," of alias templates is not permitted"},
		[b]=d,
		[a]=e
	},
	["err_alias_is_definition"]={
		[c]="definition A cannot also be an ...",
		[f]={"definition A cannot also be an ",{Dc,"ifunc"}},
		[b]=d,
		[a]=e
	},
	["err_alias_not_supported_on_darwin"]={
		[c]="aliases are not supported on darwin",
		[b]=d,
		[a]=e
	},
	["err_alias_not_supported_on_nvptx"]={
		[c]="CUDA does not support aliases",
		[b]=d,
		[a]=e
	},
	["err_alias_template_extra_headers"]={
		[c]="extraneous template parameter list in alias template declaration",
		[b]=d,
		[a]=e
	},
	["err_alias_to_undefined"]={
		[c]="... must point to a defined ...function",
		[f]={{Dc,"ifunc"}," must point to a defined ",{"variable or ",l},m},
		[b]=d,
		[a]=e
	},
	["err_align_value_attribute_argument_not_int"]={
		[c]="\'align_value\' attribute requires integer constant",
		[b]=d,
		[a]=e
	},
	["err_alignas_attribute_wrong_decl_type"]={
		[c]="A attribute cannot be applied to ...",
		[f]={"A attribute cannot be applied to ",{"a function parameter","a variable with \'register\' storage class","a \'catch\' variable","a bit-field","an enumeration"}},
		[b]=d,
		[a]=e
	},
	["err_alignas_mismatch"]={
		[c]="redeclaration has different alignment requirement (B vs A)",
		[b]=d,
		[a]=e
	},
	["err_alignas_missing_on_definition"]={
		[c]="A must be specified on definition if it is specified on any declaration",
		[b]=d,
		[a]=e
	},
	["err_alignas_underaligned"]={
		[c]="requested alignment is less than minimum alignment of B for type A",
		[b]=d,
		[a]=e
	},
	["err_aligned_allocation_unavailable"]={
		[c]="aligned ... function of type \'B\' is ... available on C...",
		[f]={"aligned ",{"allocation","deallocation"}," function of type \'B\' is ",{"only","not"}," available on C",{" D or newer",l}},
		[b]=d,
		[a]=e
	},
	["err_aligned_attribute_argument_not_int"]={
		[c]="\'aligned\' attribute requires integer constant",
		[b]=d,
		[a]=e
	},
	["err_alignment_dependent_typedef_name"]={
		[c]="requested alignment is dependent but declaration is not dependent",
		[b]=d,
		[a]=e
	},
	["err_alignment_not_power_of_two"]={
		[c]="requested alignment is not a power of 2",
		[b]=d,
		[a]=e
	},
	["err_alignment_too_big"]={
		[c]="requested alignment must be A or smaller",
		[b]=d,
		[a]=e
	},
	["err_alignment_too_small"]={
		[c]="requested alignment must be A or greater",
		[b]=d,
		[a]=e
	},
	["err_alignof_member_of_incomplete_type"]={
		[c]="invalid application of \'alignof\' to a field of a class still being defined",
		[b]=d,
		[a]=e
	},
	["err_allocation_of_abstract_type"]={
		[c]="allocating an object of abstract class type A",
		[b]=d,
		[a]=e
	},
	["err_altivec_empty_initializer"]={
		[c]="expected initializer",
		[b]=d,
		[a]=e
	},
	["err_ambiguous_base_to_derived_cast"]={
		[c]="ambiguous cast from base A to derived B:C",
		[b]=d,
		[a]=e
	},
	["err_ambiguous_delete_operand"]={
		[c]="ambiguous conversion of delete expression of type A to a pointer",
		[b]=d,
		[a]=e
	},
	["err_ambiguous_derived_to_base_conv"]={
		[c]="ambiguous conversion from derived class A to base class B:C",
		[b]=d,
		[a]=e
	},
	["err_ambiguous_destructor"]={
		[c]="destructor of class A is ambiguous",
		[b]=d,
		[a]=e
	},
	["err_ambiguous_inherited_constructor"]={
		[c]="constructor of A inherited from multiple base class subobjects",
		[b]=d,
		[a]=e
	},
	["err_ambiguous_member_multiple_subobject_types"]={
		[c]="member A found in multiple base classes of different types",
		[b]=d,
		[a]=e
	},
	["err_ambiguous_member_multiple_subobjects"]={
		[c]="non-static member A found in multiple base-class subobjects of type B:C",
		[b]=d,
		[a]=e
	},
	["err_ambiguous_memptr_conv"]={
		[c]="ambiguous conversion from pointer to member of ... class B to pointer to member of ... class C:D",
		[f]={"ambiguous conversion from pointer to member of ",{"base","derived"}," class B to pointer to member of ",{"derived","base"}," class C:D"},
		[b]=d,
		[a]=e
	},
	["err_ambiguous_reference"]={
		[c]="reference to A is ambiguous",
		[b]=d,
		[a]=e
	},
	["err_ambiguous_suitable_delete_member_function_found"]={
		[c]="multiple suitable A functions in B",
		[b]=d,
		[a]=e
	},
	["err_ambiguous_tag_hiding"]={
		[c]="a type named A is hidden by a declaration in a different namespace",
		[b]=d,
		[a]=e
	},
	["err_analyzer_checker_incompatible_analyzer_option"]={
		[c]="checker cannot be enabled with analyzer option \'A\' == B",
		[b]=d,
		[a]=e
	},
	["err_analyzer_checker_option_invalid_input"]={
		[c]="invalid input for checker option \'A\', that expects B",
		[b]=d,
		[a]=e
	},
	["err_analyzer_checker_option_unknown"]={
		[c]="checker \'A\' has no option called \'B\'",
		[b]=d,
		[a]=e
	},
	["err_analyzer_config_invalid_input"]={
		[c]="invalid input for analyzer-config option \'A\', that expects B value",
		[b]=d,
		[a]=e
	},
	["err_analyzer_config_multiple_values"]={
		[c]="analyzer-config option \'A\' should contain only one \'=\'",
		[b]=d,
		[a]=e
	},
	["err_analyzer_config_no_value"]={
		[c]="analyzer-config option \'A\' has a key but no value",
		[b]=d,
		[a]=e
	},
	["err_analyzer_config_unknown"]={
		[c]="unknown analyzer-config \'A\'",
		[b]=d,
		[a]=e
	},
	["err_analyzer_not_built_with_z3"]={
		[c]="analyzer constraint manager \'z3\' is only available if LLVM was built with -DLLVM_ENABLE_Z3_SOLVER=ON",
		[b]=d,
		[a]=e
	},
	["err_anon_bitfield_has_negative_width"]={
		[c]="anonymous bit-field has negative width (A)",
		[b]=d,
		[a]=e
	},
	["err_anon_bitfield_member_init"]={
		[c]="anonymous bit-field cannot have a default member initializer",
		[b]=d,
		[a]=e
	},
	["err_anon_bitfield_qualifiers"]={
		[c]="anonymous bit-field cannot have qualifiers",
		[b]=d,
		[a]=e
	},
	["err_anon_type_definition"]={
		[c]="declaration of anonymous A must be a definition",
		[b]=d,
		[a]=e
	},
	["err_anonymous_enum_bitfield"]={
		[c]="ISO C++ only allows \':\' in member enumeration declaration to introduce a fixed underlying type, not an anonymous bit-field",
		[b]=d,
		[a]=e
	},
	["err_anonymous_property"]={
		[c]="anonymous property is not supported",
		[b]=d,
		[a]=e
	},
	["err_anonymous_record_bad_member"]={
		[c]="anonymous ... can only contain non-static data members",
		[f]={"anonymous ",{r,v}," can only contain non-static data members"},
		[b]=d,
		[a]=e
	},
	["err_anonymous_record_member_redecl"]={
		[c]="member of anonymous ... redeclares B",
		[f]={"member of anonymous ",{r,v}," redeclares B"},
		[b]=d,
		[a]=e
	},
	["err_anonymous_record_nonpublic_member"]={
		[c]="anonymous ... cannot contain a ... data member",
		[f]={"anonymous ",{r,v}," cannot contain a ",{C,D}," data member"},
		[b]=d,
		[a]=e
	},
	["err_anonymous_record_with_function"]={
		[c]="functions cannot be declared in an anonymous ...",
		[f]={"functions cannot be declared in an anonymous ",{r,v}},
		[b]=d,
		[a]=e
	},
	["err_anonymous_record_with_static"]={
		[c]="static members cannot be declared in an anonymous ...",
		[f]={"static members cannot be declared in an anonymous ",{r,v}},
		[b]=d,
		[a]=e
	},
	["err_anonymous_record_with_type"]={
		[c]="types cannot be declared in an anonymous ...",
		[f]={"types cannot be declared in an anonymous ",{r,v}},
		[b]=d,
		[a]=e
	},
	["err_anonymous_struct_not_member"]={
		[c]="anonymous ... must be ... members",
		[f]={"anonymous ",{"structs","structs and classes"}," must be ",{"struct or union",o}," members"},
		[b]=d,
		[a]=e
	},
	["err_anonymous_union_not_static"]={
		[c]="anonymous unions at namespace or global scope must be declared \'static\'",
		[b]=d,
		[a]=e
	},
	["err_anonymous_union_with_storage_spec"]={
		[c]="anonymous union at class scope must not have a storage specifier",
		[b]=d,
		[a]=e
	},
	["err_anyx86_interrupt_attribute"]={
		[c]="... \'interrupt\' attribute only applies to functions that have ...",
		[f]={{"x86","x86-64"}," \'interrupt\' attribute only applies to functions that have ",{"a \'void\' return type","only a pointer parameter optionally followed by an integer parameter","a pointer as the first parameter","a C type as the second parameter"}},
		[b]=d,
		[a]=e
	},
	["err_anyx86_interrupt_called"]={
		[c]="interrupt service routine cannot be called directly",
		[b]=d,
		[a]=e
	},
	["err_arc_array_param_no_ownership"]={
		[c]="must explicitly describe intended ownership of an object array parameter",
		[b]=d,
		[a]=e
	},
	["err_arc_assign_property_ownership"]={
		[c]="existing instance variable B for property A with ... attribute must be __unsafe_unretained",
		[f]={"existing instance variable B for property A with ",{"unsafe_unretained","assign"}," attribute must be __unsafe_unretained"},
		[b]=d,
		[a]=e
	},
	["err_arc_atomic_ownership"]={
		[c]="cannot perform atomic operation on a pointer to type A: type has non-trivial ownership",
		[b]=d,
		[a]=e
	},
	["err_arc_autoreleasing_capture"]={
		[c]="cannot capture __autoreleasing variable in a ...",
		[f]={"cannot capture __autoreleasing variable in a ",{y,"lambda by copy"}},
		[b]=d,
		[a]=e
	},
	["err_arc_autoreleasing_var"]={
		[c]="... cannot have __autoreleasing ownership",
		[f]={{"__block variables","global variables","fields","instance variables"}," cannot have __autoreleasing ownership"},
		[b]=d,
		[a]=e
	},
	["err_arc_bridge_cast_incompatible"]={
		[c]="incompatible types casting A to B with a ... cast",
		[f]={"incompatible types casting A to B with a ",{"__bridge","__bridge_transfer","__bridge_retained"}," cast"},
		[b]=d,
		[a]=e
	},
	["err_arc_bridge_cast_wrong_kind"]={
		[c]="cast of ... pointer type B to ... pointer type D cannot use ...",
		[f]={"cast of ",{"Objective-C",y,Bc}," pointer type B to ",{"Objective-C",y,Bc}," pointer type D cannot use ",{"__bridge","__bridge_transfer","__bridge_retained"}},
		[b]=d,
		[a]=e
	},
	["err_arc_bridge_retain"]={
		[c]="unknown cast annotation __bridge_retain; did you mean __bridge_retained?",
		[b]=d,
		[a]=e
	},
	["err_arc_cast_requires_bridge"]={
		[c]="... of ... pointer type C to ... pointer type E requires a bridged cast",
		[f]={{"cast","implicit conversion"}," of ",{"Objective-C",y,Bc}," pointer type C to ",{"Objective-C",y,Bc}," pointer type E requires a bridged cast"},
		[b]=d,
		[a]=e
	},
	["err_arc_collection_forward"]={
		[c]="collection expression type A is a forward declaration",
		[b]=d,
		[a]=e
	},
	["err_arc_convesion_of_weak_unavailable"]={
		[c]="... of weak-unavailable object of type B to a __weak object of type C",
		[f]={{"implicit conversion","cast"}," of weak-unavailable object of type B to a __weak object of type C"},
		[b]=d,
		[a]=e
	},
	["err_arc_gained_method_convention"]={
		[c]="method implementation does not match its declaration",
		[b]=d,
		[a]=e
	},
	["err_arc_illegal_explicit_message"]={
		[c]="ARC forbids explicit message send of A",
		[b]=d,
		[a]=e
	},
	["err_arc_illegal_method_def"]={
		[c]="ARC forbids ... of B",
		[f]={"ARC forbids ",{"implementation","synthesis"}," of B"},
		[b]=d,
		[a]=e
	},
	["err_arc_illegal_selector"]={
		[c]="ARC forbids use of A in a @selector",
		[b]=d,
		[a]=e
	},
	["err_arc_inconsistent_property_ownership"]={
		[c]="... property A may not also be declared ...",
		[f]={{l,"unsafe_unretained","strong","weak"}," property A may not also be declared ",{l,"__unsafe_unretained",xd,qd,"__autoreleasing"}},
		[b]=d,
		[a]=e
	},
	["err_arc_indirect_no_ownership"]={
		[c]="... to non-const type A with no explicit ownership",
		[f]={{W,E}," to non-const type A with no explicit ownership"},
		[b]=d,
		[a]=e
	},
	["err_arc_init_method_unrelated_result_type"]={
		[c]="init methods must return a type related to the receiver type",
		[b]=d,
		[a]=e
	},
	["err_arc_lost_method_convention"]={
		[c]="method was declared as ... method, but its implementation doesn\'t match because ...",
		[f]={"method was declared as ",{"an \'alloc\'","a \'copy\'","an \'init\'","a \'new\'"}," method, but its implementation doesn\'t match because ",{"its result type is not an object pointer","its result type is unrelated to its receiver type"}},
		[b]=d,
		[a]=e
	},
	["err_arc_may_not_respond"]={
		[c]="no visible @interface for A declares the selector B",
		[b]=d,
		[a]=e
	},
	["err_arc_method_not_found"]={
		[c]="no known ... method for selector A",
		[f]={"no known ",{Ob,o}," method for selector A"},
		[b]=d,
		[a]=e
	},
	["err_arc_mismatched_cast"]={
		[c]="... of ... to D is disallowed with ARC",
		[f]={{"implicit conversion","cast"}," of ",{Bc,"a non-Objective-C pointer type C","a block pointer","an Objective-C pointer","an indirect pointer to an Objective-C pointer"}," to D is disallowed with ARC"},
		[b]=d,
		[a]=e
	},
	["err_arc_multiple_method_decl"]={
		[c]="multiple methods named A found with mismatched result, parameter type or attributes",
		[b]=d,
		[a]=e
	},
	["err_arc_new_array_without_ownership"]={
		[c]="\'new\' cannot allocate an array of A with no explicit ownership",
		[b]=d,
		[a]=e
	},
	["err_arc_nolifetime_behavior"]={
		[c]="explicit ownership qualifier on cast result has no effect",
		[b]=d,
		[a]=e
	},
	["err_arc_nonlocal_writeback"]={
		[c]="passing address of ... object to __autoreleasing parameter for write-back",
		[f]={"passing address of ",{"non-local","non-scalar"}," object to __autoreleasing parameter for write-back"},
		[b]=d,
		[a]=e
	},
	["err_arc_objc_property_default_assign_on_object"]={
		[c]="ARC forbids synthesizing a property of an Objective-C object with unspecified ownership or storage attribute",
		[b]=d,
		[a]=e
	},
	["err_arc_perform_selector_retains"]={
		[c]="performSelector names a selector which retains the object",
		[b]=d,
		[a]=e
	},
	["err_arc_pseudo_dtor_inconstant_quals"]={
		[c]="pseudo-destructor destroys object of type A with inconsistently-qualified type B",
		[b]=d,
		[a]=e
	},
	["err_arc_receiver_forward_class"]={
		[c]="receiver A for class message is a forward declaration",
		[b]=d,
		[a]=e
	},
	["err_arc_receiver_forward_instance"]={
		[c]="receiver type A for instance message is a forward declaration",
		[b]=d,
		[a]=e
	},
	["err_arc_strong_property_ownership"]={
		[c]="existing instance variable B for strong property A may not be ...",
		[f]={"existing instance variable B for strong property A may not be ",{l,"__unsafe_unretained",l,qd}},
		[b]=d,
		[a]=e
	},
	["err_arc_thread_ownership"]={
		[c]="thread-local variable has non-trivial ownership: type is A",
		[b]=d,
		[a]=e
	},
	["err_arc_typecheck_convert_incompatible_pointer"]={
		[c]="incompatible pointer types passing retainable parameter of type Ato a CF function expecting B type",
		[b]=d,
		[a]=e
	},
	["err_arc_unsupported_on_runtime"]={
		[c]="-fobjc-arc is not supported on platforms using the legacy runtime",
		[b]=d,
		[a]=e
	},
	["err_arc_unsupported_on_toolchain"]={
		[c]="-fobjc-arc is not supported on versions of OS X prior to 10.6",
		[b]=d,
		[a]=e
	},
	["err_arc_unsupported_weak_class"]={
		[c]="class is incompatible with __weak references",
		[b]=d,
		[a]=e
	},
	["err_arc_unused_init_message"]={
		[c]="the result of a delegate init call must be immediately returned or assigned to \'self\'",
		[b]=d,
		[a]=e
	},
	["err_arc_weak_disabled"]={
		[c]="cannot create __weak reference in file using manual reference counting",
		[b]=d,
		[a]=e
	},
	["err_arc_weak_ivar_access"]={
		[c]="dereferencing a __weak pointer is not allowed due to possible null value caused by race condition, assign it to strong variable first",
		[b]=d,
		[a]=e
	},
	["err_arc_weak_no_runtime"]={
		[c]="cannot create __weak reference because the current deployment target does not support weak references",
		[b]=d,
		[a]=e
	},
	["err_arc_weak_unavailable_assign"]={
		[c]="assignment of a weak-unavailable object to a __weak object",
		[b]=d,
		[a]=e
	},
	["err_arc_weak_unavailable_property"]={
		[c]="synthesizing __weak instance variable of type A, which does not support weak references",
		[b]=d,
		[a]=e
	},
	["err_arch_unsupported_isa"]={
		[c]="architecture \'A\' does not support \'B\' execution mode",
		[b]=d,
		[a]=e
	},
	["err_arcmt_nsinvocation_ownership"]={
		[c]="NSInvocation\'s A is not safe to be used with an object with ownership other than __unsafe_unretained",
		[b]=d,
		[a]=e
	},
	["err_arg_with_address_space"]={
		[c]="parameter may not be qualified with an address space",
		[b]=d,
		[a]=e
	},
	["err_argument_invalid_range"]={
		[c]="argument value A is outside the valid range [B, C]",
		[b]=d,
		[a]=e
	},
	["err_argument_not_contiguous_bit_field"]={
		[c]="argument A value should represent a contiguous bit field",
		[b]=d,
		[a]=e
	},
	["err_argument_not_multiple"]={
		[c]="argument should be a multiple of A",
		[b]=d,
		[a]=e
	},
	["err_argument_not_power_of_2"]={
		[c]="argument should be a power of 2",
		[b]=d,
		[a]=e
	},
	["err_argument_not_shifted_byte"]={
		[c]="argument should be an 8-bit value shifted by a multiple of 8 bits",
		[b]=d,
		[a]=e
	},
	["err_argument_not_shifted_byte_or_xxff"]={
		[c]="argument should be an 8-bit value shifted by a multiple of 8 bits, or in the form 0x??FF",
		[b]=d,
		[a]=e
	},
	["err_argument_required_after_attribute"]={
		[c]="argument required after attribute",
		[b]=d,
		[a]=e
	},
	["err_arithmetic_nonfragile_interface"]={
		[c]="arithmetic on pointer to interface A, which is not a constant size for this architecture and platform",
		[b]=d,
		[a]=e
	},
	["err_arm_invalid_coproc"]={
		[c]="coprocessor A must be configured as ...",
		[f]={"coprocessor A must be configured as ",{"GCP","CDE"}},
		[b]=d,
		[a]=e
	},
	["err_arm_invalid_specialreg"]={
		[c]="invalid special register for builtin",
		[b]=d,
		[a]=e
	},
	["err_array_designator_empty_range"]={
		[c]="array designator range [A, B] is empty",
		[b]=d,
		[a]=e
	},
	["err_array_designator_negative"]={
		[c]="array designator value \'A\' is negative",
		[b]=d,
		[a]=e
	},
	["err_array_designator_non_array"]={
		[c]="array designator cannot initialize non-array type A",
		[b]=d,
		[a]=e
	},
	["err_array_designator_too_large"]={
		[c]="array designator index (A) exceeds array bounds (B)",
		[b]=d,
		[a]=e
	},
	["err_array_element_alignment"]={
		[c]="size of array element of type A (B bytes) isn\'t a multiple of its alignment (C bytes)",
		[b]=d,
		[a]=e
	},
	["err_array_incomplete_or_sizeless_type"]={
		[c]="array has ... element type B",
		[f]={"array has ",{"incomplete",yd}," element type B"},
		[b]=d,
		[a]=e
	},
	["err_array_init_different_type"]={
		[c]="cannot initialize array of type A with array of type B",
		[f]={"cannot initialize array ",{"of type A with array of type B","with different type of array"}},
		[b]=d,
		[a]=e
	},
	["err_array_init_incompat_wide_string_into_wchar"]={
		[c]="initializing wide char array with incompatible wide string literal",
		[b]=d,
		[a]=e
	},
	["err_array_init_narrow_string_into_wchar"]={
		[c]="initializing wide char array with non-wide string literal",
		[b]=d,
		[a]=e
	},
	["err_array_init_non_constant_array"]={
		[c]="cannot initialize array of type A with non-constant array of type B",
		[f]={"cannot initialize array ",{"of type A with non-constant array of type B","with different type of array"}},
		[b]=d,
		[a]=e
	},
	["err_array_init_not_init_list"]={
		[c]="array initializer must be an initializer list...",
		[f]={"array initializer must be an initializer list",{l," or string literal"," or wide string literal"}},
		[b]=d,
		[a]=e
	},
	["err_array_init_plain_string_into_char8_t"]={
		[c]="initializing \'char8_t\' array with plain string literal",
		[b]=d,
		[a]=e
	},
	["err_array_init_utf8_string_into_char"]={
		[c]="initialization of ...char array with UTF-8 string literal is not permitted by ...",
		[f]={"initialization of ",{l,"signed "},"char array with UTF-8 string literal is not permitted by ",{"\'-fchar8_t\'","C++20"}},
		[b]=d,
		[a]=e
	},
	["err_array_init_wide_string_into_char"]={
		[c]="initializing char array with wide string literal",
		[b]=d,
		[a]=e
	},
	["err_array_new_needs_size"]={
		[c]="array size must be specified in new expression with no initializer",
		[b]=d,
		[a]=e
	},
	["err_array_of_abstract_type"]={
		[c]="array of abstract class type A",
		[b]=d,
		[a]=e
	},
	["err_array_section_does_not_specify_contiguous_storage"]={
		[c]="array section does not specify contiguous storage",
		[b]=d,
		[a]=e
	},
	["err_array_section_does_not_specify_length"]={
		[c]="array section does not specify length for outermost dimension",
		[b]=d,
		[a]=e
	},
	["err_array_size_ambiguous_conversion"]={
		[c]="ambiguous conversion of array size expression of type A to an integral or enumeration type",
		[b]=d,
		[a]=e
	},
	["err_array_size_explicit_conversion"]={
		[c]="array size expression of type A requires explicit conversion to type B",
		[b]=d,
		[a]=e
	},
	["err_array_size_incomplete_type"]={
		[c]="array size expression has incomplete class type A",
		[b]=d,
		[a]=e
	},
	["err_array_size_non_int"]={
		[c]="size of array has non-integer type A",
		[b]=d,
		[a]=e
	},
	["err_array_size_not_integral"]={
		[c]="array size expression must have integral or ...enumeration type, not B",
		[f]={"array size expression must have integral or ",{l,"unscoped "},"enumeration type, not B"},
		[b]=d,
		[a]=e
	},
	["err_array_star_in_function_definition"]={
		[c]="variable length array must be bound in function definition",
		[b]=d,
		[a]=e
	},
	["err_array_star_outside_prototype"]={
		[c]="star modifier used outside of function prototype",
		[b]=d,
		[a]=e
	},
	["err_array_static_not_outermost"]={
		[c]="A used in non-outermost array type derivation",
		[b]=d,
		[a]=e
	},
	["err_array_static_outside_prototype"]={
		[c]="A used in array declarator outside of function prototype",
		[b]=d,
		[a]=e
	},
	["err_array_too_large"]={
		[c]="array is too large (A elements)",
		[b]=d,
		[a]=e
	},
	["err_as_qualified_auto_decl"]={
		[c]="automatic variable qualified with an... address space",
		[f]={"automatic variable qualified with an",{l," invalid"}," address space"},
		[b]=d,
		[a]=e
	},
	["err_asm_bad_register_type"]={
		[c]="bad type for named register variable",
		[b]=d,
		[a]=e
	},
	["err_asm_duplicate_qual"]={
		[c]="duplicate asm qualifier \'A\'",
		[b]=d,
		[a]=e
	},
	["err_asm_empty"]={
		[c]="__asm used with no assembly instructions",
		[b]=d,
		[a]=e
	},
	["err_asm_empty_symbolic_operand_name"]={
		[c]="empty symbolic operand name in inline assembly string",
		[b]=d,
		[a]=e
	},
	["err_asm_incomplete_type"]={
		[c]="asm operand has incomplete type A",
		[b]=d,
		[a]=e
	},
	["err_asm_input_duplicate_match"]={
		[c]="more than one input constraint matches the same output \'A\'",
		[b]=d,
		[a]=e
	},
	["err_asm_invalid_escape"]={
		[c]="invalid % escape in inline assembly string",
		[b]=d,
		[a]=e
	},
	["err_asm_invalid_global_var_reg"]={
		[c]="register \'A\' unsuitable for global register variables on this target",
		[b]=d,
		[a]=e
	},
	["err_asm_invalid_input_constraint"]={
		[c]="invalid input constraint \'A\' in asm",
		[b]=d,
		[a]=e
	},
	["err_asm_invalid_input_size"]={
		[c]="invalid input size for constraint \'A\'",
		[b]=d,
		[a]=e
	},
	["err_asm_invalid_lvalue_in_input"]={
		[c]="invalid lvalue in asm input for constraint \'A\'",
		[b]=d,
		[a]=e
	},
	["err_asm_invalid_lvalue_in_output"]={
		[c]="invalid lvalue in asm output",
		[b]=d,
		[a]=e
	},
	["err_asm_invalid_operand_number"]={
		[c]="invalid operand number in inline asm string",
		[b]=d,
		[a]=e
	},
	["err_asm_invalid_output_constraint"]={
		[c]="invalid output constraint \'A\' in asm",
		[b]=d,
		[a]=e
	},
	["err_asm_invalid_output_size"]={
		[c]="invalid output size for constraint \'A\'",
		[b]=d,
		[a]=e
	},
	["err_asm_invalid_type"]={
		[c]="invalid type A in asm ...",
		[f]={"invalid type A in asm ",{"input","output"}},
		[b]=d,
		[a]=e
	},
	["err_asm_invalid_type_in_input"]={
		[c]="invalid type A in asm input for constraint \'B\'",
		[b]=d,
		[a]=e
	},
	["err_asm_naked_parm_ref"]={
		[c]="parameter references not allowed in naked functions",
		[b]=d,
		[a]=e
	},
	["err_asm_naked_this_ref"]={
		[c]="\'this\' pointer references not allowed in naked functions",
		[b]=d,
		[a]=e
	},
	["err_asm_non_addr_value_in_memory_constraint"]={
		[c]="reference to a ... in asm ... with a memory constraint \'C\'",
		[f]={"reference to a ",{"bit-field","vector element","global register variable"}," in asm ",{"input","output"}," with a memory constraint \'C\'"},
		[b]=d,
		[a]=e
	},
	["err_asm_operand_wide_string_literal"]={
		[c]="cannot use ... string literal in \'asm\'",
		[f]={"cannot use ",{"unicode","wide","an empty"}," string literal in \'asm\'"},
		[b]=d,
		[a]=e
	},
	["err_asm_pmf_through_constraint_not_permitted"]={
		[c]="cannot pass a pointer-to-member through register-constrained inline assembly parameter",
		[b]=d,
		[a]=e
	},
	["err_asm_qualifier_ignored"]={
		[c]="expected \'volatile\', \'inline\', \'goto\', or \'(\'",
		[b]=d,
		[a]=e
	},
	["err_asm_register_size_mismatch"]={
		[c]="size of register \'A\' does not match variable size",
		[b]=d,
		[a]=e
	},
	["err_asm_tying_incompatible_types"]={
		[c]="unsupported inline asm: input with type A matching output with type B",
		[f]={"unsupported inline asm: input with type ",{"A matching output with type B",l}},
		[b]=d,
		[a]=e
	},
	["err_asm_unexpected_constraint_alternatives"]={
		[c]="asm constraint has an unexpected number of alternatives: A vs B",
		[b]=d,
		[a]=e
	},
	["err_asm_unknown_register_name"]={
		[c]="unknown register name \'A\' in asm",
		[b]=d,
		[a]=e
	},
	["err_asm_unknown_symbolic_operand_name"]={
		[c]="unknown symbolic operand name in inline assembly string",
		[b]=d,
		[a]=e
	},
	["err_asm_unterminated_symbolic_operand_name"]={
		[c]="unterminated symbolic operand name in inline assembly string",
		[b]=d,
		[a]=e
	},
	["err_asm_unwind_and_goto"]={
		[c]="unwind clobber can\'t be used with asm goto",
		[b]=d,
		[a]=e
	},
	["err_assoc_compatible_types"]={
		[c]="type A in generic association compatible with previously specified type B",
		[b]=d,
		[a]=e
	},
	["err_assoc_type_incomplete"]={
		[c]="type A in generic association incomplete",
		[b]=d,
		[a]=e
	},
	["err_assoc_type_nonobject"]={
		[c]="type A in generic association not an object type",
		[b]=d,
		[a]=e
	},
	["err_assoc_type_variably_modified"]={
		[c]="type A in generic association is a variably modified type",
		[b]=d,
		[a]=e
	},
	["err_ast_file_invalid"]={
		[c]="file \'B\' is not a valid precompiled ... file",
		[f]={"file \'B\' is not a valid precompiled ",{"PCH",Ic,"AST"}," file"},
		[b]=s,
		[a]=t
	},
	["err_ast_file_not_found"]={
		[c]="... file \'B\' not found...",
		[f]={{"PCH",Ic,"AST"}," file \'B\' not found",{l,": D"}},
		[b]=s,
		[a]=t
	},
	["err_ast_file_out_of_date"]={
		[c]="... file \'B\' is out of date and needs to be rebuilt...",
		[f]={{"PCH",Ic,"AST"}," file \'B\' is out of date and needs to be rebuilt",{l,": D"}},
		[b]=s,
		[a]=t
	},
	["err_at_defs_cxx"]={
		[c]="@defs is not supported in Objective-C++",
		[b]=d,
		[a]=e
	},
	["err_at_in_class"]={
		[c]="unexpected \'@\' in member specification",
		[b]=d,
		[a]=e
	},
	["err_atdef_nonfragile_interface"]={
		[c]="use of @defs is not supported on this architecture and platform",
		[b]=d,
		[a]=e
	},
	["err_atimport"]={
		[c]="use of \'@import\' when modules are disabled",
		[b]=d,
		[a]=e
	},
	["err_atomic_builtin_bit_int_prohibit"]={
		[c]="argument to atomic builtin of type \'_BitInt\' is not supported",
		[b]=d,
		[a]=e
	},
	["err_atomic_builtin_cannot_be_const"]={
		[c]="address argument to atomic builtin cannot be const-qualified (A invalid)",
		[b]=d,
		[a]=e
	},
	["err_atomic_builtin_ext_int_size"]={
		[c]="Atomic memory operand must have a power-of-two size",
		[b]=d,
		[a]=e
	},
	["err_atomic_builtin_must_be_pointer"]={
		[c]="address argument to atomic builtin must be a pointer (A invalid)",
		[b]=d,
		[a]=e
	},
	["err_atomic_builtin_must_be_pointer_intfltptr"]={
		[c]="address argument to atomic builtin must be a pointer to integer, floating-point or pointer (A invalid)",
		[b]=d,
		[a]=e
	},
	["err_atomic_builtin_must_be_pointer_intptr"]={
		[c]="address argument to atomic builtin must be a pointer to integer or pointer (A invalid)",
		[b]=d,
		[a]=e
	},
	["err_atomic_builtin_pointer_size"]={
		[c]="address argument to atomic builtin must be a pointer to 1,2,4,8 or 16 byte type (A invalid)",
		[b]=d,
		[a]=e
	},
	["err_atomic_exclusive_builtin_pointer_size"]={
		[c]="address argument to load or store exclusive builtin must be a pointer to 1,2,4 or 8 byte type (A invalid)",
		[b]=d,
		[a]=e
	},
	["err_atomic_load_store_uses_lib"]={
		[c]="atomic ... requires runtime support that is not available for this target",
		[f]={"atomic ",{"load","store"}," requires runtime support that is not available for this target"},
		[b]=d,
		[a]=e
	},
	["err_atomic_op_has_invalid_synch_scope"]={
		[c]="synchronization scope argument to atomic operation is invalid",
		[b]=d,
		[a]=e
	},
	["err_atomic_op_needs_atomic"]={
		[c]="address argument to atomic operation must be a pointer to _Atomic type (A invalid)",
		[b]=d,
		[a]=e
	},
	["err_atomic_op_needs_atomic_int"]={
		[c]="address argument to atomic operation must be a pointer to ...integer (B invalid)",
		[f]={"address argument to atomic operation must be a pointer to ",{l,"atomic "},"integer (B invalid)"},
		[b]=d,
		[a]=e
	},
	["err_atomic_op_needs_atomic_int_or_fp"]={
		[c]="address argument to atomic operation must be a pointer to ...integer or supported floating point type (B invalid)",
		[f]={"address argument to atomic operation must be a pointer to ",{l,"atomic "},"integer or supported floating point type (B invalid)"},
		[b]=d,
		[a]=e
	},
	["err_atomic_op_needs_atomic_int_or_ptr"]={
		[c]="address argument to atomic operation must be a pointer to ...integer or pointer (B invalid)",
		[f]={"address argument to atomic operation must be a pointer to ",{l,"atomic "},"integer or pointer (B invalid)"},
		[b]=d,
		[a]=e
	},
	["err_atomic_op_needs_atomic_int_ptr_or_fp"]={
		[c]="address argument to atomic operation must be a pointer to ...integer, pointer or supported floating point type (B invalid)",
		[f]={"address argument to atomic operation must be a pointer to ",{l,"atomic "},"integer, pointer or supported floating point type (B invalid)"},
		[b]=d,
		[a]=e
	},
	["err_atomic_op_needs_non_const_atomic"]={
		[c]="address argument to atomic operation must be a pointer to non-... _Atomic type (B invalid)",
		[f]={"address argument to atomic operation must be a pointer to non-",{Lc,"constant"}," _Atomic type (B invalid)"},
		[b]=d,
		[a]=e
	},
	["err_atomic_op_needs_non_const_pointer"]={
		[c]="address argument to atomic operation must be a pointer to non-const type (A invalid)",
		[b]=d,
		[a]=e
	},
	["err_atomic_op_needs_trivial_copy"]={
		[c]="address argument to atomic operation must be a pointer to a trivially-copyable type (A invalid)",
		[b]=d,
		[a]=e
	},
	["err_atomic_property_nontrivial_assign_op"]={
		[c]="atomic property of reference type A cannot have non-trivial assignment operator",
		[b]=d,
		[a]=e
	},
	["err_atomic_specifier_bad_type"]={
		[c]="_Atomic cannot be applied to ...type B ...",
		[f]={"_Atomic cannot be applied to ",{"incomplete ","array ","function ","reference ","atomic ","qualified ","sizeless ",l,"integer "},"type B ",{l,l,l,l,l,l,l,"which is not trivially copyable",l}},
		[b]=d,
		[a]=e
	},
	["err_atprotocol_protocol"]={
		[c]="@protocol is using a forward protocol declaration of A",
		[b]=d,
		[a]=e
	},
	["err_attr_cond_never_constant_expr"]={
		[c]="A attribute expression never produces a constant expression",
		[b]=d,
		[a]=e
	},
	["err_attr_objc_ownership_redundant"]={
		[c]="the type A is already explicitly ownership-qualified",
		[b]=d,
		[a]=e
	},
	["err_attr_swift_error_no_error_parameter"]={
		[c]="A attribute can only be applied to a ... with an error parameter",
		[f]={"A attribute can only be applied to a ",{m,u}," with an error parameter"},
		[b]=d,
		[a]=e
	},
	["err_attr_swift_error_return_type"]={
		[c]="A attribute with \'B\' convention can only be applied to a ... returning ...",
		[f]={"A attribute with \'B\' convention can only be applied to a ",{m,u}," returning ",{"an integral type","a pointer"}},
		[b]=d,
		[a]=e
	},
	["err_attr_tlsmodel_arg"]={
		[c]="tls_model must be \"global-dynamic\", \"local-dynamic\", \"initial-exec\" or \"local-exec\"",
		[b]=d,
		[a]=e
	},
	["err_attribute_address_function_type"]={
		[c]="function type may not be qualified with an address space",
		[b]=d,
		[a]=e
	},
	["err_attribute_address_multiple_qualifiers"]={
		[c]="multiple address spaces specified for type",
		[b]=d,
		[a]=e
	},
	["err_attribute_address_space_negative"]={
		[c]="address space is negative",
		[b]=d,
		[a]=e
	},
	["err_attribute_address_space_too_high"]={
		[c]="address space is larger than the maximum supported (A)",
		[b]=d,
		[a]=e
	},
	["err_attribute_aligned_too_great"]={
		[c]="requested alignment must be A bytes or smaller",
		[b]=d,
		[a]=e
	},
	["err_attribute_argument_invalid"]={
		[c]="A attribute argument is invalid: ...",
		[f]={"A attribute argument is invalid: ",{"max must be 0 since min is 0","min must not be greater than max"}},
		[b]=d,
		[a]=e
	},
	["err_attribute_argument_is_zero"]={
		[c]="A attribute must be greater than 0",
		[b]=d,
		[a]=e
	},
	["err_attribute_argument_n_type"]={
		[c]="A attribute requires parameter B to be ...",
		[f]={"A attribute requires parameter B to be ",{"int or bool","an integer constant","a string","an identifier","a constant expression","a builtin function"}},
		[b]=d,
		[a]=e
	},
	["err_attribute_argument_out_of_bounds"]={
		[c]="A attribute parameter B is out of bounds",
		[b]=d,
		[a]=e
	},
	["err_attribute_argument_out_of_bounds_extra_info"]={
		[c]="A attribute parameter B is out of bounds: no parameters to index into",
		[f]={"A attribute parameter B is out of bounds: ",{"no parameters to index into","can only be 1, since there is one parameter","must be between 1 and C"}},
		[b]=d,
		[a]=e
	},
	["err_attribute_argument_out_of_range"]={
		[c]="A attribute requires integer constant between B and C inclusive",
		[b]=d,
		[a]=e
	},
	["err_attribute_argument_parm_pack_not_supported"]={
		[c]="attribute A does not support argument pack expansion",
		[b]=d,
		[a]=e
	},
	["err_attribute_argument_type"]={
		[c]="A attribute requires ...",
		[f]={"A attribute requires ",{"int or bool","an integer constant","a string","an identifier"}},
		[b]=d,
		[a]=e
	},
	["err_attribute_arm_builtin_alias"]={
		[c]="\'__clang_arm_builtin_alias\' attribute can only be applied to an ARM builtin",
		[b]=d,
		[a]=e
	},
	["err_attribute_arm_feature_sve_bits_unsupported"]={
		[c]="A is only supported when \'-msve-vector-bits=<bits>\' is specified with a value of 128, 256, 512, 1024 or 2048.",
		[b]=d,
		[a]=e
	},
	["err_attribute_arm_mve_polymorphism"]={
		[c]="\'__clang_arm_mve_strict_polymorphism\' attribute can only be applied to an MVE/NEON vector type",
		[b]=d,
		[a]=e
	},
	["err_attribute_bad_neon_vector_size"]={
		[c]="Neon vector size must be 64 or 128 bits",
		[b]=d,
		[a]=e
	},
	["err_attribute_bad_rvv_vector_size"]={
		[c]="invalid RVV vector size \'A\', expected size is \'B\' based on LMUL of type and \'-mrvv-vector-bits\'",
		[b]=d,
		[a]=e
	},
	["err_attribute_bad_sve_vector_size"]={
		[c]="invalid SVE vector size \'A\', must match value set by \'-msve-vector-bits\' (\'B\')",
		[b]=d,
		[a]=e
	},
	["err_attribute_bounds_for_function"]={
		[c]="A attribute references parameter B, but the function C has only D parameters",
		[b]=d,
		[a]=e
	},
	["err_attribute_builtin_alias"]={
		[c]="A attribute can only be applied to a ARM, HLSL or RISC-V builtin",
		[b]=d,
		[a]=e
	},
	["err_attribute_cleanup_arg_not_function"]={
		[c]="\'cleanup\' argument ...is not a ...function",
		[f]={"\'cleanup\' argument ",{l,"B ","B "},"is not a ",{l,l,"single "},m},
		[b]=d,
		[a]=e
	},
	["err_attribute_cleanup_func_arg_incompatible_type"]={
		[c]="\'cleanup\' function A parameter has type B which is incompatible with type C",
		[f]={"\'cleanup\' function A parameter has ",{"type B which is incompatible with type C","incompatible type"}},
		[b]=d,
		[a]=e
	},
	["err_attribute_cleanup_func_must_take_one_arg"]={
		[c]="\'cleanup\' function A must take 1 parameter",
		[b]=d,
		[a]=e
	},
	["err_attribute_dll_ambiguous_default_ctor"]={
		[c]="\'__declspec(dllexport)\' cannot be applied to more than one default constructor in A",
		[b]=d,
		[a]=e
	},
	["err_attribute_dll_deleted"]={
		[c]="attribute A cannot be applied to a deleted function",
		[b]=d,
		[a]=e
	},
	["err_attribute_dll_lambda"]={
		[c]="lambda cannot be declared A",
		[b]=d,
		[a]=e
	},
	["err_attribute_dll_member_of_dll_class"]={
		[c]="attribute A cannot be applied to member of B class",
		[b]=d,
		[a]=e
	},
	["err_attribute_dll_not_extern"]={
		[c]="A must have external linkage when declared B",
		[b]=d,
		[a]=e
	},
	["err_attribute_dll_redeclaration"]={
		[c]="redeclaration of A cannot add B attribute",
		[b]=d,
		[a]=e
	},
	["err_attribute_dll_thread_local"]={
		[c]="A cannot be thread local when declared B",
		[b]=d,
		[a]=e
	},
	["err_attribute_dllimport_data_definition"]={
		[c]="definition of dllimport data",
		[b]=d,
		[a]=e
	},
	["err_attribute_dllimport_function_definition"]={
		[c]="dllimport cannot be applied to non-inline function definition",
		[b]=d,
		[a]=e
	},
	["err_attribute_dllimport_function_specialization_definition"]={
		[c]="cannot define non-inline dllimport template specialization",
		[b]=d,
		[a]=e
	},
	["err_attribute_dllimport_static_field_definition"]={
		[c]="definition of dllimport static field not allowed",
		[b]=d,
		[a]=e
	},
	["err_attribute_integers_only"]={
		[c]="A attribute argument may only refer to a function parameter of integer type",
		[b]=d,
		[a]=e
	},
	["err_attribute_invalid_argument"]={
		[c]="... is an invalid argument to attribute B",
		[f]={{"a reference type","an array type","a non-vector or non-vectorizable scalar type"}," is an invalid argument to attribute B"},
		[b]=d,
		[a]=e
	},
	["err_attribute_invalid_bitint_vector_type"]={
		[c]="\'_BitInt\' vector element width must be ...",
		[f]={"\'_BitInt\' vector element width must be ",{"a power of 2","at least as wide as \'CHAR_BIT\'"}},
		[b]=d,
		[a]=e
	},
	["err_attribute_invalid_implicit_this_argument"]={
		[c]="A attribute is invalid for the implicit this argument",
		[b]=d,
		[a]=e
	},
	["err_attribute_invalid_matrix_type"]={
		[c]="invalid matrix element type A",
		[b]=d,
		[a]=e
	},
	["err_attribute_invalid_on_decl"]={
		[c]="A... cannot be applied to a declaration",
		[f]={J,{ad,l}," cannot be applied to a declaration"},
		[b]=d,
		[a]=e
	},
	["err_attribute_invalid_rvv_type"]={
		[c]="A attribute applied to non-RVV type B",
		[b]=d,
		[a]=e
	},
	["err_attribute_invalid_size"]={
		[c]="vector size not an integral multiple of component size",
		[b]=d,
		[a]=e
	},
	["err_attribute_invalid_sve_type"]={
		[c]="A attribute applied to non-SVE type B",
		[b]=d,
		[a]=e
	},
	["err_attribute_invalid_vector_type"]={
		[c]="invalid vector element type A",
		[b]=d,
		[a]=e
	},
	["err_attribute_missing_on_first_decl"]={
		[c]="A attribute does not appear on the first declaration",
		[b]=d,
		[a]=e
	},
	["err_attribute_multiple_objc_gc"]={
		[c]="multiple garbage collection attributes specified for type",
		[b]=d,
		[a]=e
	},
	["err_attribute_no_builtin_on_defaulted_deleted_function"]={
		[c]="A attribute has no effect on defaulted or deleted functions",
		[b]=d,
		[a]=e
	},
	["err_attribute_no_builtin_on_non_definition"]={
		[c]="A attribute is permitted on definitions only",
		[b]=d,
		[a]=e
	},
	["err_attribute_no_builtin_wildcard_or_builtin_name"]={
		[c]="empty A cannot be composed with named ones",
		[b]=d,
		[a]=e
	},
	["err_attribute_no_member_function"]={
		[c]="A attribute cannot be applied to non-static member functions",
		[b]=d,
		[a]=e
	},
	["err_attribute_no_member_pointers"]={
		[c]="A attribute cannot be used with pointers to members",
		[b]=d,
		[a]=e
	},
	["err_attribute_not_clinkage"]={
		[c]="function type with A attribute must have C linkage",
		[b]=d,
		[a]=e
	},
	["err_attribute_not_import_attr"]={
		[c]="A attribute cannot be applied to a module import",
		[b]=d,
		[a]=e
	},
	["err_attribute_not_module_attr"]={
		[c]="A attribute cannot be applied to a module",
		[b]=d,
		[a]=e
	},
	["err_attribute_not_supported_in_lang"]={
		[c]="A attribute is not supported in ...",
		[f]={"A attribute is not supported in ",{Bc,"C++","Objective-C"}},
		[b]=d,
		[a]=e
	},
	["err_attribute_not_supported_on_arch"]={
		[c]="A attribute is not supported on \'B\'",
		[b]=d,
		[a]=e
	},
	["err_attribute_not_type_attr"]={
		[c]="A... cannot be applied to types",
		[f]={J,{ad,l}," cannot be applied to types"},
		[b]=d,
		[a]=e
	},
	["err_attribute_only_once_per_parameter"]={
		[c]="A attribute can only be applied once per parameter",
		[b]=d,
		[a]=e
	},
	["err_attribute_output_parameter"]={
		[c]="attribute only applies to output parameters",
		[b]=d,
		[a]=e
	},
	["err_attribute_overloadable_mismatch"]={
		[c]="redeclaration of A must ...have the \'overloadable\' attribute",
		[f]={"redeclaration of A must ",{"not ",l},"have the \'overloadable\' attribute"},
		[b]=d,
		[a]=e
	},
	["err_attribute_overloadable_multiple_unmarked_overloads"]={
		[c]="at most one overload for a given name may lack the \'overloadable\' attribute",
		[b]=d,
		[a]=e
	},
	["err_attribute_overloadable_no_prototype"]={
		[c]="\'overloadable\' function A must have a prototype",
		[b]=d,
		[a]=e
	},
	["err_attribute_parameter_types"]={
		[c]="A attribute parameter types do not match: parameter B of function C has type D, but parameter E of function F has type G",
		[b]=d,
		[a]=e
	},
	["err_attribute_pointers_only"]={
		[c]="A attribute only applies to... pointer arguments",
		[f]={"A attribute only applies to",{l," constant"}," pointer arguments"},
		[b]=d,
		[a]=e
	},
	["err_attribute_preferred_name_arg_invalid"]={
		[c]="argument A to \'preferred_name\' attribute is not a typedef for a specialization of B",
		[b]=d,
		[a]=e
	},
	["err_attribute_regparm_invalid_number"]={
		[c]="\'regparm\' parameter must be between 0 and A inclusive",
		[b]=d,
		[a]=e
	},
	["err_attribute_regparm_wrong_platform"]={
		[c]="\'regparm\' is not valid on this platform",
		[b]=d,
		[a]=e
	},
	["err_attribute_requires_arguments"]={
		[c]="parentheses must be omitted if A attribute\'s argument list is empty",
		[b]=d,
		[a]=e
	},
	["err_attribute_requires_opencl_version"]={
		[c]="attribute A is supported in the OpenCL version B...",
		[f]={"attribute A is supported in the OpenCL version B",{l," onwards"}},
		[b]=d,
		[a]=e
	},
	["err_attribute_requires_positive_integer"]={
		[c]="A attribute requires a ... integral compile time constant expression",
		[f]={"A attribute requires a ",{"positive","non-negative"}," integral compile time constant expression"},
		[b]=d,
		[a]=e
	},
	["err_attribute_riscv_rvv_bits_unsupported"]={
		[c]="A is only supported when \'-mrvv-vector-bits=<bits>\' is specified with a value of \"zvl\" or a power 2 in the range [64,65536]",
		[b]=d,
		[a]=e
	},
	["err_attribute_section_invalid_for_target"]={
		[c]="argument to ... attribute is not valid for this target: A",
		[f]={"argument to ",{"\'code_seg\'","\'section\'"}," attribute is not valid for this target: A"},
		[b]=d,
		[a]=e
	},
	["err_attribute_selectany_non_extern_data"]={
		[c]="\'selectany\' can only be applied to data items with external linkage",
		[b]=d,
		[a]=e
	},
	["err_attribute_sentinel_less_than_zero"]={
		[c]="\'sentinel\' parameter 1 less than zero",
		[b]=d,
		[a]=e
	},
	["err_attribute_sentinel_not_zero_or_one"]={
		[c]="\'sentinel\' parameter 2 not 0 or 1",
		[b]=d,
		[a]=e
	},
	["err_attribute_size_too_large"]={
		[c]="A size too large",
		[b]=d,
		[a]=e
	},
	["err_attribute_sizeless_type"]={
		[c]="A attribute cannot be applied to sizeless type B",
		[b]=d,
		[a]=e
	},
	["err_attribute_too_few_arguments"]={
		[c]="A attribute takes at least B argumentB",
		[b]=d,
		[a]=e
	},
	["err_attribute_too_many_arguments"]={
		[c]="A attribute takes no more than B argumentB",
		[b]=d,
		[a]=e
	},
	["err_attribute_unsupported"]={
		[c]="A attribute is not supported on targets missing B; specify an appropriate -march= or -mcpu=",
		[b]=d,
		[a]=e
	},
	["err_attribute_uuid_malformed_guid"]={
		[c]="uuid attribute contains a malformed GUID",
		[b]=d,
		[a]=e
	},
	["err_attribute_vecreturn_only_pod_record"]={
		[c]="the vecreturn attribute can only be used on a POD (plain old data) class or structure (i.e. no virtual functions)",
		[b]=d,
		[a]=e
	},
	["err_attribute_vecreturn_only_vector_member"]={
		[c]="the vecreturn attribute can only be used on a class or structure with one member, which must be a vector",
		[b]=d,
		[a]=e
	},
	["err_attribute_weak_static"]={
		[c]="weak declaration cannot have internal linkage",
		[b]=d,
		[a]=e
	},
	["err_attribute_weakref_not_global_context"]={
		[c]="weakref declaration of A must be in a global context",
		[b]=d,
		[a]=e
	},
	["err_attribute_weakref_not_static"]={
		[c]="weakref declaration must have internal linkage",
		[b]=d,
		[a]=e
	},
	["err_attribute_weakref_without_alias"]={
		[c]="weakref declaration of A must also have an alias attribute",
		[b]=d,
		[a]=e
	},
	["err_attribute_webassembly_funcref"]={
		[c]="\'__funcref\' attribute can only be applied to a function pointer type",
		[b]=d,
		[a]=e
	},
	["err_attribute_wrong_decl_type"]={
		[c]="A... only applies to ...",
		[f]={J,{ad,l}," only applies to ",{vd,"unions","variables and functions","functions and methods","functions, methods and blocks","functions, methods, and parameters","variables","variables and fields","variables, data members and tag types","types and namespaces","variables, functions and classes","kernel functions","non-K&R-style functions"}},
		[b]=d,
		[a]=e
	},
	["err_attribute_wrong_decl_type_str"]={
		[c]="A... only applies to C",
		[f]={J,{ad,l}," only applies to C"},
		[b]=d,
		[a]=e
	},
	["err_attribute_wrong_number_arguments"]={
		[c]="A attribute takes no arguments",
		[f]={"A attribute ",{"takes no arguments","takes one argument","requires exactly B arguments"}},
		[b]=d,
		[a]=e
	},
	["err_attribute_wrong_number_arguments_for"]={
		[c]="A attribute references function B, which takes no arguments",
		[f]={"A attribute references function B, which ",{"takes no arguments","takes one argument","takes exactly C arguments"}},
		[b]=d,
		[a]=e
	},
	["err_attribute_zero_size"]={
		[c]="zero A size",
		[b]=d,
		[a]=e
	},
	["err_attributes_are_not_compatible"]={
		[c]="A and B... are not compatible",
		[f]={"A and B",{" attributes",l}," are not compatible"},
		[b]=d,
		[a]=e
	},
	["err_attributes_misplaced"]={
		[c]="misplaced attributes; expected attributes here",
		[b]=d,
		[a]=e
	},
	["err_attributes_not_allowed"]={
		[c]="an attribute list cannot appear here",
		[b]=d,
		[a]=e
	},
	["err_auto_bitfield"]={
		[c]="cannot pass bit-field as __auto_type initializer in C",
		[b]=d,
		[a]=e
	},
	["err_auto_different_deductions"]={
		[c]="... deduced as B in declaration of C and deduced as D in declaration of E",
		[f]={{"\'auto\'","\'decltype(auto)\'","\'__auto_type\'","template arguments"}," deduced as B in declaration of C and deduced as D in declaration of E"},
		[b]=d,
		[a]=e
	},
	["err_auto_expr_deduction_failure"]={
		[c]="functional-style cast to A has incompatible initializer of type B",
		[b]=d,
		[a]=e
	},
	["err_auto_expr_init_multiple_expressions"]={
		[c]="initializer for functional-style cast to A contains multiple expressions",
		[b]=d,
		[a]=e
	},
	["err_auto_expr_init_no_expression"]={
		[c]="initializer for functional-style cast to A is empty",
		[b]=d,
		[a]=e
	},
	["err_auto_expr_init_paren_braces"]={
		[c]="cannot deduce actual type for B from ... initializer list",
		[f]={"cannot deduce actual type for B from ",{"parenthesized","nested"}," initializer list"},
		[b]=d,
		[a]=e
	},
	["err_auto_fn_deduction_failure"]={
		[c]="cannot deduce return type A from returned value of type B",
		[b]=d,
		[a]=e
	},
	["err_auto_fn_different_deductions"]={
		[c]="\'...\' in return type deduced as B here but deduced as C in earlier return statement",
		[f]={x,{"auto","decltype(auto)"},"\' in return type deduced as B here but deduced as C in earlier return statement"},
		[b]=d,
		[a]=e
	},
	["err_auto_fn_no_return_but_not_auto"]={
		[c]="cannot deduce return type A for function with no return statements",
		[b]=d,
		[a]=e
	},
	["err_auto_fn_return_init_list"]={
		[c]="cannot deduce return type from initializer list",
		[b]=d,
		[a]=e
	},
	["err_auto_fn_return_void_but_not_auto"]={
		[c]="cannot deduce return type A from omitted return expression",
		[b]=d,
		[a]=e
	},
	["err_auto_fn_used_before_defined"]={
		[c]="function A with deduced return type cannot be used before it is defined",
		[b]=d,
		[a]=e
	},
	["err_auto_fn_virtual"]={
		[c]="function with deduced return type cannot be virtual",
		[b]=d,
		[a]=e
	},
	["err_auto_inconsistent_deduction"]={
		[c]="deduced conflicting types (A vs B) for initializer list element type",
		[f]={"deduced conflicting types ",{"(A vs B) ",l},"for initializer list element type"},
		[b]=d,
		[a]=e
	},
	["err_auto_init_list_from_c"]={
		[c]="cannot use __auto_type with initializer list in C",
		[b]=d,
		[a]=e
	},
	["err_auto_missing_trailing_return"]={
		[c]="\'auto\' return without trailing return type; deduced return types are a C++14 extension",
		[b]=d,
		[a]=e
	},
	["err_auto_new_ctor_multiple_expressions"]={
		[c]="new expression for type A contains multiple constructor arguments",
		[b]=d,
		[a]=e
	},
	["err_auto_new_deduction_failure"]={
		[c]="new expression for type A has incompatible constructor argument of type B",
		[b]=d,
		[a]=e
	},
	["err_auto_new_requires_ctor_arg"]={
		[c]="new expression for type A requires a constructor argument",
		[b]=d,
		[a]=e
	},
	["err_auto_non_deduced_not_alone"]={
		[c]="... must be the only declaration in its group",
		[f]={{"function with deduced return type","declaration with trailing return type"}," must be the only declaration in its group"},
		[b]=d,
		[a]=e
	},
	["err_auto_not_allowed"]={
		[c]="... not allowed ...",
		[f]={{"\'auto\'","\'decltype(auto)\'","\'__auto_type\'",{"use of ",{zc,Kb,Xb,Yc,Gc,"concept",Hb}," D requires template arguments; argument deduction"}}," not allowed ",{"in function prototype","in non-static struct member","in struct member","in non-static union member","in union member","in non-static class member","in interface member","in exception declaration","in template parameter until C++17","in block literal","in template argument","in typedef","in type alias","in function return type","in conversion function type","here","in lambda parameter","in type allocated by \'new\'","in K&R-style function parameter","in template parameter","in friend declaration","in function prototype that is not a function declaration","in requires expression parameter"}},
		[b]=d,
		[a]=e
	},
	["err_auto_not_allowed_var_inst"]={
		[c]="\'auto\' variable template instantiation is not allowed",
		[b]=d,
		[a]=e
	},
	["err_auto_var_deduction_failure"]={
		[c]="variable A with type B has incompatible initializer of type C",
		[b]=d,
		[a]=e
	},
	["err_auto_var_deduction_failure_from_init_list"]={
		[c]="cannot deduce actual type for variable A with type B from initializer list",
		[b]=d,
		[a]=e
	},
	["err_auto_var_init_multiple_expressions"]={
		[c]="initializer for variable A with type B contains multiple expressions",
		[b]=d,
		[a]=e
	},
	["err_auto_var_init_no_expression"]={
		[c]="initializer for variable A with type B is empty",
		[b]=d,
		[a]=e
	},
	["err_auto_var_init_paren_braces"]={
		[c]="cannot deduce type for variable B with type C from ... initializer list",
		[f]={"cannot deduce type for variable B with type C from ",{"parenthesized","nested"}," initializer list"},
		[b]=d,
		[a]=e
	},
	["err_auto_var_requires_init"]={
		[c]="declaration of variable A with deduced type B requires an initializer",
		[b]=d,
		[a]=e
	},
	["err_auto_variable_cannot_appear_in_own_initializer"]={
		[c]="variable A declared with deduced type B cannot appear in its own initializer",
		[b]=d,
		[a]=e
	},
	["err_avail_query_expected_platform_name"]={
		[c]="expected a platform name here",
		[b]=d,
		[a]=e
	},
	["err_avail_query_unrecognized_platform_name"]={
		[c]="unrecognized platform name A",
		[b]=d,
		[a]=e
	},
	["err_availability_expected_change"]={
		[c]="expected \'introduced\', \'deprecated\', or \'obsoleted\'",
		[b]=d,
		[a]=e
	},
	["err_availability_expected_platform"]={
		[c]="expected a platform name, e.g., \'macos\'",
		[b]=d,
		[a]=e
	},
	["err_availability_query_repeated_platform"]={
		[c]="version for \'A\' already specified",
		[b]=d,
		[a]=e
	},
	["err_availability_query_repeated_star"]={
		[c]="\'*\' query has already been specified",
		[b]=d,
		[a]=e
	},
	["err_availability_query_wildcard_required"]={
		[c]="must handle potential future platforms with \'*\'",
		[b]=d,
		[a]=e
	},
	["err_availability_redundant"]={
		[c]="redundant A availability change; only the last specified change will be used",
		[b]=d,
		[a]=e
	},
	["err_availability_unknown_change"]={
		[c]="A is not an availability stage; use \'introduced\', \'deprecated\', or \'obsoleted\'",
		[b]=d,
		[a]=e
	},
	["err_avx_calling_convention"]={
		[c]="AVX vector ... of type B without \'C\' enabled changes the ABI",
		[f]={"AVX vector ",{Ad,pd}," of type B without \'C\' enabled changes the ABI"},
		[b]=d,
		[a]=e
	},
	["err_await_suspend_invalid_return_type"]={
		[c]="return type of \'await_suspend\' is required to be \'void\' or \'bool\' (have A)",
		[b]=d,
		[a]=e
	},
	["err_bad_cast_incomplete"]={
		[c]="A is an incomplete type",
		[b]=d,
		[a]=e
	},
	["err_bad_category_property_decl"]={
		[c]="property implementation must have its declaration in the category A",
		[b]=d,
		[a]=e
	},
	["err_bad_character_encoding"]={
		[c]="illegal character encoding in character literal",
		[b]=d,
		[a]=e
	},
	["err_bad_const_cast_dest"]={
		[c]="... to C, which is not a reference, pointer-to-object, or pointer-to-data-member",
		[f]={{Xc,l,l,l,Bb,vc,l}," to C, which is not a reference, pointer-to-object, or pointer-to-data-member"},
		[b]=d,
		[a]=e
	},
	["err_bad_cstyle_cast_overload"]={
		[c]="address of overloaded function A cannot be cast to type B",
		[b]=d,
		[a]=e
	},
	["err_bad_cxx_cast_addr_space_mismatch"]={
		[c]="... from B to C converts between mismatching address spaces",
		[f]={{Xc,Cc,yb,mc,Bb,vc,"addrspace_cast"}," from B to C converts between mismatching address spaces"},
		[b]=d,
		[a]=e
	},
	["err_bad_cxx_cast_bitfield"]={
		[c]="... from bit-field lvalue to reference type C",
		[f]={{Xc,Cc,yb,mc,Bb,vc,l}," from bit-field lvalue to reference type C"},
		[b]=d,
		[a]=e
	},
	["err_bad_cxx_cast_generic"]={
		[c]="... from B to C is not allowed",
		[f]={{Xc,Cc,yb,mc,Bb,vc,"addrspace_cast"}," from B to C is not allowed"},
		[b]=d,
		[a]=e
	},
	["err_bad_cxx_cast_member_pointer_size"]={
		[c]="cannot ... from member pointer type B to member pointer type C of different size",
		[f]={Wb,{l,l,yb,l,Bb,l,l}," from member pointer type B to member pointer type C of different size"},
		[b]=d,
		[a]=e
	},
	["err_bad_cxx_cast_qualifiers_away"]={
		[c]="... from B to C casts away qualifiers",
		[f]={{Xc,Cc,yb,mc,Bb,vc,l}," from B to C casts away qualifiers"},
		[b]=d,
		[a]=e
	},
	["err_bad_cxx_cast_rvalue"]={
		[c]="... from rvalue to reference type C",
		[f]={{Xc,Cc,yb,mc,Bb,vc,"addrspace_cast"}," from rvalue to reference type C"},
		[b]=d,
		[a]=e
	},
	["err_bad_cxx_cast_scalar_to_vector_different_size"]={
		[c]="... from scalar B to vector C of different size",
		[f]={{l,l,yb,l,Bb,l,l}," from scalar B to vector C of different size"},
		[b]=d,
		[a]=e
	},
	["err_bad_cxx_cast_unrelated_class"]={
		[c]="... from B to C, which are not related by inheritance, is not allowed",
		[f]={{Xc,Cc,yb,mc,Bb,vc,l}," from B to C, which are not related by inheritance, is not allowed"},
		[b]=d,
		[a]=e
	},
	["err_bad_cxx_cast_vector_to_scalar_different_size"]={
		[c]="... from vector B to scalar C of different size",
		[f]={{l,l,yb,l,Bb,l,l}," from vector B to scalar C of different size"},
		[b]=d,
		[a]=e
	},
	["err_bad_cxx_cast_vector_to_vector_different_size"]={
		[c]="... from vector B to vector C of different size",
		[f]={{l,l,yb,l,Bb,l,l}," from vector B to vector C of different size"},
		[b]=d,
		[a]=e
	},
	["err_bad_dynamic_cast_not_class"]={
		[c]="A is not a class type",
		[b]=d,
		[a]=e
	},
	["err_bad_dynamic_cast_not_polymorphic"]={
		[c]="A is not polymorphic",
		[b]=d,
		[a]=e
	},
	["err_bad_dynamic_cast_not_ptr"]={
		[c]="cannot use dynamic_cast to convert from A to B",
		[b]=d,
		[a]=e
	},
	["err_bad_dynamic_cast_not_ref_or_ptr"]={
		[c]="invalid target type A for dynamic_cast; target type must be a reference or pointer type to a defined class",
		[b]=d,
		[a]=e
	},
	["err_bad_kernel_param_type"]={
		[c]="A cannot be used as the type of a kernel parameter",
		[b]=d,
		[a]=e
	},
	["err_bad_lvalue_to_rvalue_cast"]={
		[c]="cannot cast from lvalue of type B to rvalue reference type C; types are not compatible",
		[b]=d,
		[a]=e
	},
	["err_bad_memptr_lhs"]={
		[c]="left hand operand to A must be a ...class compatible with the right hand operand, but is C",
		[f]={"left hand operand to A must be a ",{l,"pointer to "},"class compatible with the right hand operand, but is C"},
		[b]=d,
		[a]=e
	},
	["err_bad_memptr_rhs"]={
		[c]="right hand operand to A has non-pointer-to-member type B",
		[b]=d,
		[a]=e
	},
	["err_bad_multiversion_option"]={
		[c]="function multiversioning doesn\'t support ... \'B\'",
		[f]={"function multiversioning doesn\'t support ",{"feature","architecture"}," \'B\'"},
		[b]=d,
		[a]=e
	},
	["err_bad_new_type"]={
		[c]="cannot allocate ... type A with new",
		[f]={"cannot allocate ",{m,E}," type A with new"},
		[b]=d,
		[a]=e
	},
	["err_bad_parameter_name"]={
		[c]="A cannot be the name of a parameter",
		[b]=d,
		[a]=e
	},
	["err_bad_parameter_name_template_id"]={
		[c]="parameter name cannot have template arguments",
		[b]=d,
		[a]=e
	},
	["err_bad_property_context"]={
		[c]="property implementation must be in a class or category implementation",
		[b]=d,
		[a]=e
	},
	["err_bad_property_decl"]={
		[c]="property implementation must have its declaration in interface A or one of its extensions",
		[b]=d,
		[a]=e
	},
	["err_bad_receiver_type"]={
		[c]="bad receiver type A",
		[b]=d,
		[a]=e
	},
	["err_bad_reinterpret_cast_overload"]={
		[c]="reinterpret_cast cannot resolve overloaded function A to type B",
		[b]=d,
		[a]=e
	},
	["err_bad_reinterpret_cast_reference"]={
		[c]="reinterpret_cast of a A to B needs its address, which is not allowed",
		[b]=d,
		[a]=e
	},
	["err_bad_reinterpret_cast_small_int"]={
		[c]="cast from pointer to smaller type C loses information",
		[b]=d,
		[a]=e
	},
	["err_bad_rvalue_to_rvalue_cast"]={
		[c]="cannot cast from rvalue of type B to rvalue reference type C; types are not compatible",
		[b]=d,
		[a]=e
	},
	["err_bad_static_cast_member_pointer_nonmp"]={
		[c]="cannot cast from type B to member pointer type C",
		[b]=d,
		[a]=e
	},
	["err_bad_static_cast_overload"]={
		[c]="address of overloaded function A cannot be static_cast to type B",
		[b]=d,
		[a]=e
	},
	["err_bad_static_cast_pointer_nonpointer"]={
		[c]="cannot cast from type B to pointer type C",
		[b]=d,
		[a]=e
	},
	["err_bad_string_encoding"]={
		[c]="illegal character encoding in string literal",
		[b]=d,
		[a]=e
	},
	["err_bad_variable_name"]={
		[c]="A cannot be the name of a variable or data member",
		[b]=d,
		[a]=e
	},
	["err_base_class_has_flexible_array_member"]={
		[c]="base class A has a flexible array member",
		[b]=d,
		[a]=e
	},
	["err_base_clause_on_union"]={
		[c]="unions cannot have base classes",
		[b]=d,
		[a]=e
	},
	["err_base_init_direct_and_virtual"]={
		[c]="base class initializer A names both a direct base class and an inherited virtual base class",
		[b]=d,
		[a]=e
	},
	["err_base_init_does_not_name_class"]={
		[c]="constructor initializer A does not name a class",
		[b]=d,
		[a]=e
	},
	["err_base_must_be_class"]={
		[c]="base specifier must name a class",
		[b]=d,
		[a]=e
	},
	["err_base_specifier_attribute"]={
		[c]="A... cannot be applied to a base specifier",
		[f]={J,{ad,l}," cannot be applied to a base specifier"},
		[b]=d,
		[a]=e
	},
	["err_binding_cannot_appear_in_own_initializer"]={
		[c]="binding A cannot appear in the initializer of its own decomposition declaration",
		[b]=d,
		[a]=e
	},
	["err_bit_cast_non_trivially_copyable"]={
		[c]="__builtin_bit_cast ... type must be trivially copyable",
		[f]={"__builtin_bit_cast ",{"source","destination"}," type must be trivially copyable"},
		[b]=d,
		[a]=e
	},
	["err_bit_cast_type_size_mismatch"]={
		[c]="__builtin_bit_cast source size does not equal destination size (A vs B)",
		[b]=d,
		[a]=e
	},
	["err_bit_int_bad_size"]={
		[c]="... _BitInt must have a bit size of at least ...",
		[f]={{"signed","unsigned"}," _BitInt must have a bit size of at least ",{"2","1"}},
		[b]=d,
		[a]=e
	},
	["err_bit_int_max_size"]={
		[c]="... _BitInt of bit sizes greater than B not supported",
		[f]={{"signed","unsigned"}," _BitInt of bit sizes greater than B not supported"},
		[b]=d,
		[a]=e
	},
	["err_bitfield_has_negative_width"]={
		[c]="bit-field A has negative width (B)",
		[b]=d,
		[a]=e
	},
	["err_bitfield_has_zero_width"]={
		[c]="named bit-field A has zero width",
		[b]=d,
		[a]=e
	},
	["err_bitfield_too_wide"]={
		[c]="... is too wide (C bits)",
		[f]={{"bit-field B","anonymous bit-field"}," is too wide (C bits)"},
		[b]=d,
		[a]=e
	},
	["err_bitfield_width_exceeds_type_width"]={
		[c]="width of... bit-field... (C bits) exceeds the ... of its type (E bitE)",
		[f]={"width of",{" anonymous",l}," bit-field",{l,X}," (C bits) exceeds the ",{"width",Jd}," of its type (E bitE)"},
		[b]=d,
		[a]=e
	},
	["err_block_decl_ref_not_modifiable_lvalue"]={
		[c]="variable is not assignable (missing __block type specifier)",
		[b]=d,
		[a]=e
	},
	["err_block_extern_cant_init"]={
		[c]="declaration of block scope identifier with linkage cannot have an initializer",
		[b]=d,
		[a]=e
	},
	["err_block_on_nonlocal"]={
		[c]="__block attribute not allowed, only allowed on local variables",
		[b]=d,
		[a]=e
	},
	["err_block_on_vm"]={
		[c]="__block attribute not allowed on declaration with a variably modified type",
		[b]=d,
		[a]=e
	},
	["err_block_return_missing_expr"]={
		[c]="non-void block should return a value",
		[b]=d,
		[a]=e
	},
	["err_block_returning_array_function"]={
		[c]="block cannot return ... type B",
		[f]={"block cannot return ",{rc,m},Rc},
		[b]=d,
		[a]=e
	},
	["err_blocks_disable"]={
		[c]="blocks support disabled - compile with -fblocks or ...",
		[f]={"blocks support disabled - compile with -fblocks or ",{"pick a deployment target that supports them","for OpenCL C 2.0 or OpenCL C 3.0 with __opencl_c_device_enqueue feature"}},
		[b]=d,
		[a]=e
	},
	["err_bool_redeclaration"]={
		[c]="redeclaration of C++ built-in type \'bool\'",
		[b]=d,
		[a]=e
	},
	["err_bound_member_function"]={
		[c]="reference to non-static member function must be called...",
		[f]={"reference to non-static member function must be called",{l,"; did you mean to call it with no arguments?"}},
		[b]=d,
		[a]=e
	},
	["err_box_literal_collection"]={
		[c]="... literal must be prefixed by \'@\' in a collection",
		[f]={{"string","character","boolean","numeric"}," literal must be prefixed by \'@\' in a collection"},
		[b]=d,
		[a]=e
	},
	["err_bracket_depth_exceeded"]={
		[c]="bracket nesting level exceeded maximum of A",
		[b]=s,
		[a]=t
	},
	["err_brackets_go_after_unqualified_id"]={
		[c]="brackets are not allowed here; to declare an array, place the brackets after the ...",
		[f]={"brackets are not allowed here; to declare an array, place the brackets after the ",{"identifier","name"}},
		[b]=d,
		[a]=e
	},
	["err_break_not_in_loop_or_switch"]={
		[c]="\'break\' statement not in loop or switch statement",
		[b]=d,
		[a]=e
	},
	["err_btf_type_id_not_const"]={
		[c]="__builtin_btf_type_id argument A not a constant",
		[b]=d,
		[a]=e
	},
	["err_builtin_annotation_first_arg"]={
		[c]="first argument to __builtin_annotation must be an integer",
		[b]=d,
		[a]=e
	},
	["err_builtin_annotation_second_arg"]={
		[c]="second argument to __builtin_annotation must be a non-wide string constant",
		[b]=d,
		[a]=e
	},
	["err_builtin_definition"]={
		[c]="definition of builtin function A",
		[b]=d,
		[a]=e
	},
	["err_builtin_fn_use"]={
		[c]="builtin functions must be directly called",
		[b]=d,
		[a]=e
	},
	["err_builtin_func_cast_more_than_one_arg"]={
		[c]="function-style cast to a builtin type can only take one argument",
		[b]=d,
		[a]=e
	},
	["err_builtin_invalid_arg_type"]={
		[c]="A argument must be a ... (was C)",
		[f]={"A argument must be a ",{"vector, integer or floating point type","matrix","pointer to a valid matrix element type","signed integer or floating point type","vector type","floating point type","vector of integers"}," (was C)"},
		[b]=d,
		[a]=e
	},
	["err_builtin_launder_invalid_arg"]={
		[c]="... argument to \'__builtin_launder\' is not allowed",
		[f]={{"non-pointer","function pointer","void pointer"}," argument to \'__builtin_launder\' is not allowed"},
		[b]=d,
		[a]=e
	},
	["err_builtin_longjmp_invalid_val"]={
		[c]="argument to __builtin_longjmp must be a constant 1",
		[b]=d,
		[a]=e
	},
	["err_builtin_longjmp_unsupported"]={
		[c]="__builtin_longjmp is not supported for the current target",
		[b]=d,
		[a]=e
	},
	["err_builtin_matrix_disabled"]={
		[c]="matrix types extension is disabled. Pass -fenable-matrix to enable it",
		[b]=d,
		[a]=e
	},
	["err_builtin_matrix_invalid_dimension"]={
		[c]="A dimension is outside the allowed range [1, B]",
		[b]=d,
		[a]=e
	},
	["err_builtin_matrix_pointer_arg_mismatch"]={
		[c]="the pointee of the 2nd argument must match the element type of the 1st argument (A != B)",
		[b]=d,
		[a]=e
	},
	["err_builtin_matrix_scalar_unsigned_arg"]={
		[c]="A argument must be a constant unsigned integer expression",
		[b]=d,
		[a]=e
	},
	["err_builtin_matrix_store_to_const"]={
		[c]="cannot store matrix to read-only pointer",
		[b]=d,
		[a]=e
	},
	["err_builtin_matrix_stride_too_small"]={
		[c]="stride must be greater or equal to the number of rows",
		[b]=d,
		[a]=e
	},
	["err_builtin_move_forward_unsupported"]={
		[c]="unsupported signature for A",
		[b]=d,
		[a]=e
	},
	["err_builtin_needs_feature"]={
		[c]="A needs target feature B",
		[b]=d,
		[a]=e
	},
	["err_builtin_operator_new_delete_not_usual"]={
		[c]="call to \'...\' selects non-usual ... function",
		[f]={"call to \'",{"__builtin_operator_new","__builtin_operator_delete"},"\' selects non-usual ",{"allocation","deallocation"},zd},
		[b]=d,
		[a]=e
	},
	["err_builtin_pass_in_regs_non_class"]={
		[c]="argument A is not an unqualified class type",
		[b]=d,
		[a]=e
	},
	["err_builtin_redeclare"]={
		[c]="cannot redeclare builtin function A",
		[b]=d,
		[a]=e
	},
	["err_builtin_requires_language"]={
		[c]="\'A\' is only available in B",
		[b]=d,
		[a]=e
	},
	["err_builtin_setjmp_unsupported"]={
		[c]="__builtin_setjmp is not supported for the current target",
		[b]=d,
		[a]=e
	},
	["err_builtin_target_unsupported"]={
		[c]="builtin is not supported on this target",
		[b]=d,
		[a]=e
	},
	["err_builtin_x64_aarch64_only"]={
		[c]="this builtin is only available on x86-64 and aarch64 targets",
		[b]=d,
		[a]=e
	},
	["err_c11_noreturn_misplaced"]={
		[c]="\'_Noreturn\' keyword must precede function declarator",
		[b]=d,
		[a]=e
	},
	["err_c99_array_usage_cxx"]={
		[c]="...array size ...is a C99 feature, not permitted in C++",
		[f]={{"qualifier in ","static ",l},"array size ",{l,l,"\'[*] \'"},"is a C99 feature, not permitted in C++"},
		[b]=d,
		[a]=e
	},
	["err_call_function_incomplete_return"]={
		[c]="calling A with incomplete return type B",
		[b]=d,
		[a]=e
	},
	["err_call_incomplete_argument"]={
		[c]="argument type A is incomplete",
		[b]=d,
		[a]=e
	},
	["err_call_incomplete_return"]={
		[c]="calling function with incomplete return type A",
		[b]=d,
		[a]=e
	},
	["err_callback_attribute_argument_unknown"]={
		[c]="\'callback\' attribute argument A is not a known function parameter",
		[b]=d,
		[a]=e
	},
	["err_callback_attribute_invalid_callee"]={
		[c]="\'callback\' attribute specifies invalid callback callee",
		[b]=d,
		[a]=e
	},
	["err_callback_attribute_multiple"]={
		[c]="multiple \'callback\' attributes specified",
		[b]=d,
		[a]=e
	},
	["err_callback_attribute_no_callee"]={
		[c]="\'callback\' attribute specifies no callback callee",
		[b]=d,
		[a]=e
	},
	["err_callback_callee_is_variadic"]={
		[c]="\'callback\' attribute callee may not be variadic",
		[b]=d,
		[a]=e
	},
	["err_callback_callee_no_function_type"]={
		[c]="\'callback\' attribute callee does not have function type",
		[b]=d,
		[a]=e
	},
	["err_callback_implicit_this_not_available"]={
		[c]="\'callback\' argument at position A references unavailable implicit \'this\'",
		[b]=d,
		[a]=e
	},
	["err_called_once_attribute_wrong_type"]={
		[c]="\'called_once\' attribute only applies to function-like parameters",
		[b]=d,
		[a]=e
	},
	["err_cannot_find_suitable_accessor"]={
		[c]="cannot find suitable ... for property B",
		[f]={"cannot find suitable ",{hd,id}," for property B"},
		[b]=d,
		[a]=e
	},
	["err_cannot_form_pointer_to_member_of_reference_type"]={
		[c]="cannot form a pointer-to-member to member A of reference type B",
		[b]=d,
		[a]=e
	},
	["err_cannot_open_file"]={
		[c]="cannot open file \'A\': B",
		[b]=s,
		[a]=t
	},
	["err_cannot_pass_non_trivial_c_struct_to_vararg"]={
		[c]="cannot pass non-trivial C object of type A by value to variadic ...",
		[f]={"cannot pass non-trivial C object of type A by value to variadic ",{m,y,u,n}},
		[b]=d,
		[a]=e
	},
	["err_cannot_pass_objc_interface_to_vararg"]={
		[c]="cannot pass object with interface type A by value through variadic ...",
		[f]={"cannot pass object with interface type A by value through variadic ",{m,y,u,n}},
		[b]=d,
		[a]=e
	},
	["err_cannot_pass_objc_interface_to_vararg_format"]={
		[c]="cannot pass object with interface type B by value to variadic ...; expected type from format string was D",
		[f]={"cannot pass object with interface type B by value to variadic ",{m,y,u,n},"; expected type from format string was D"},
		[b]=d,
		[a]=e
	},
	["err_cannot_pass_to_vararg"]={
		[c]="cannot pass ... to variadic ...",
		[f]={"cannot pass ",{"expression of type B","initializer list"}," to variadic ",{m,y,u,n}},
		[b]=d,
		[a]=e
	},
	["err_cannot_pass_to_vararg_format"]={
		[c]="cannot pass ... to variadic ...; expected type from format string was D",
		[f]={"cannot pass ",{"expression of type B","initializer list"}," to variadic ",{m,y,u,n},"; expected type from format string was D"},
		[b]=d,
		[a]=e
	},
	["err_capture_bad_target"]={
		[c]="capture host variable A by reference in device or host device lambda function",
		[b]=d,
		[a]=e
	},
	["err_capture_binding_openmp"]={
		[c]="capturing a structured binding is not yet supported in OpenMP",
		[b]=d,
		[a]=e
	},
	["err_capture_block_variable"]={
		[c]="__block variable A cannot be captured in a ...",
		[f]={"__block variable A cannot be captured in a ",{"lambda expression","captured statement"}},
		[b]=d,
		[a]=e
	},
	["err_capture_default_first"]={
		[c]="capture default must be first",
		[b]=d,
		[a]=e
	},
	["err_capture_default_non_local"]={
		[c]="non-local lambda expression cannot have a capture-default",
		[b]=d,
		[a]=e
	},
	["err_capture_does_not_name_variable"]={
		[c]="A in capture list does not name a variable",
		[b]=d,
		[a]=e
	},
	["err_capture_more_than_once"]={
		[c]="A can appear only once in a capture list",
		[b]=d,
		[a]=e
	},
	["err_capture_non_automatic_variable"]={
		[c]="A cannot be captured because it does not have automatic storage duration",
		[b]=d,
		[a]=e
	},
	["err_capture_of_abstract_type"]={
		[c]="by-copy capture of value of abstract type A",
		[b]=d,
		[a]=e
	},
	["err_capture_of_incomplete_or_sizeless_type"]={
		[c]="by-copy capture of variable A with ... type C",
		[f]={"by-copy capture of variable A with ",{"incomplete",yd}," type C"},
		[b]=d,
		[a]=e
	},
	["err_carries_dependency_missing_on_first_decl"]={
		[c]="... declared \'[[carries_dependency]]\' after its first declaration",
		[f]={{m,ac}," declared \'[[carries_dependency]]\' after its first declaration"},
		[b]=d,
		[a]=e
	},
	["err_carries_dependency_param_not_function_decl"]={
		[c]="\'[[carries_dependency]]\' attribute only allowed on parameter in a function declaration or lambda",
		[b]=d,
		[a]=e
	},
	["err_case_not_in_switch"]={
		[c]="\'case\' statement not in switch statement",
		[b]=d,
		[a]=e
	},
	["err_cast_from_randomized_struct"]={
		[c]="casting from randomized structure pointer type A to B",
		[b]=d,
		[a]=e
	},
	["err_cast_pointer_from_non_pointer_int"]={
		[c]="operand of type A cannot be cast to a pointer type",
		[b]=d,
		[a]=e
	},
	["err_cast_pointer_to_non_pointer_int"]={
		[c]="pointer cannot be cast to type A",
		[b]=d,
		[a]=e
	},
	["err_cast_selector_expr"]={
		[c]="cannot type cast @selector expression",
		[b]=d,
		[a]=e
	},
	["err_catch_incomplete"]={
		[c]="cannot catch incomplete type A",
		[b]=d,
		[a]=e
	},
	["err_catch_incomplete_ptr"]={
		[c]="cannot catch pointer to incomplete type A",
		[b]=d,
		[a]=e
	},
	["err_catch_incomplete_ref"]={
		[c]="cannot catch reference to incomplete type A",
		[b]=d,
		[a]=e
	},
	["err_catch_param_not_objc_type"]={
		[c]="@catch parameter is not a pointer to an interface type",
		[b]=d,
		[a]=e
	},
	["err_catch_rvalue_ref"]={
		[c]="cannot catch exceptions by rvalue reference",
		[b]=d,
		[a]=e
	},
	["err_catch_sizeless"]={
		[c]="cannot catch ...sizeless type B",
		[f]={"cannot catch ",{l,ed},"sizeless type B"},
		[b]=d,
		[a]=e
	},
	["err_catch_variably_modified"]={
		[c]="cannot catch variably modified type A",
		[b]=d,
		[a]=e
	},
	["err_category_forward_interface"]={
		[c]="cannot define ... for undefined class B",
		[f]={"cannot define ",{"category","class extension"}," for undefined class B"},
		[b]=d,
		[a]=e
	},
	["err_category_property"]={
		[c]="property declared in category A cannot be implemented in class implementation",
		[b]=d,
		[a]=e
	},
	["err_cc1_round_trip_fail_then_ok"]={
		[c]="original arguments parse failed, then succeeded in round-trip",
		[b]=d,
		[a]=e
	},
	["err_cc1_round_trip_mismatch"]={
		[c]="generated arguments do not match in round-trip",
		[b]=d,
		[a]=e
	},
	["err_cc1_round_trip_ok_then_fail"]={
		[c]="generated arguments parse failed in round-trip",
		[b]=d,
		[a]=e
	},
	["err_cc1_unbounded_vscale_min"]={
		[c]="minimum vscale must be an unsigned integer greater than 0",
		[b]=d,
		[a]=e
	},
	["err_cconv_change"]={
		[c]="function declared \'A\' here was previously declared ...",
		[f]={"function declared \'A\' here was previously declared ",{bd,"without calling convention"}},
		[b]=d,
		[a]=e
	},
	["err_cconv_incomplete_param_type"]={
		[c]="parameter A must have a complete type to use function B with the C calling convention",
		[b]=d,
		[a]=e
	},
	["err_cconv_knr"]={
		[c]="function with no prototype cannot use the A calling convention",
		[b]=d,
		[a]=e
	},
	["err_cconv_varargs"]={
		[c]="variadic function cannot use A calling convention",
		[b]=d,
		[a]=e
	},
	["err_cfstring_literal_not_string_constant"]={
		[c]="CFString literal is not a string constant",
		[b]=d,
		[a]=e
	},
	["err_character_not_allowed"]={
		[c]="unexpected character <U+A>",
		[b]=d,
		[a]=e
	},
	["err_character_not_allowed_identifier"]={
		[c]="character <U+A> not allowed ... an identifier",
		[f]={"character <U+A> not allowed ",{"in","at the start of"}," an identifier"},
		[b]=d,
		[a]=e
	},
	["err_character_too_large"]={
		[c]="character too large for enclosing character literal type",
		[b]=d,
		[a]=e
	},
	["err_circular_inheritance"]={
		[c]="circular inheritance between A and B",
		[b]=d,
		[a]=e
	},
	["err_class_extension_after_impl"]={
		[c]="cannot declare class extension for A after class implementation",
		[b]=d,
		[a]=e
	},
	["err_class_marked_final_used_as_base"]={
		[c]="base A is marked \'...\'",
		[f]={"base A is marked \'",{"final","sealed"},x},
		[b]=d,
		[a]=e
	},
	["err_class_on_template_template_param"]={
		[c]="template template parameter requires \'class\'... after the parameter list",
		[f]={"template template parameter requires \'class\'",{l," or \'typename\'"}," after the parameter list"},
		[b]=d,
		[a]=e
	},
	["err_class_property_found"]={
		[c]="property A is a class property; did you mean to access it with class \'B\'?",
		[b]=d,
		[a]=e
	},
	["err_class_redeclared_with_different_access"]={
		[c]="A redeclared with \'B\' access",
		[b]=d,
		[a]=e
	},
	["err_class_stub_subclassing_mismatch"]={
		[c]="\'objc_class_stub\' attribute cannot be specified on a class that does not have the \'objc_subclassing_restricted\' attribute",
		[b]=d,
		[a]=e
	},
	["err_cmse_pi_are_incompatible"]={
		[c]="cmse is not compatible with ...",
		[f]={"cmse is not compatible with ",{"RWPI","ROPI"}},
		[b]=d,
		[a]=e
	},
	["err_cocoa_naming_owned_rule"]={
		[c]="property follows Cocoa naming convention for returning \'owned\' objects",
		[b]=d,
		[a]=e
	},
	["err_collection_expr_type"]={
		[c]="the type A is not a pointer to a fast-enumerable object",
		[b]=d,
		[a]=e
	},
	["err_complex_mode_vector_type"]={
		[c]="type of machine mode does not support base vector types",
		[b]=d,
		[a]=e
	},
	["err_compound_literal_with_address_space"]={
		[c]="compound literal in function scope may not be qualified with an address space",
		[b]=d,
		[a]=e
	},
	["err_compound_qualified_function_type"]={
		[c]="... to function type ...cannot have \'D\' qualifier",
		[f]={{"block pointer",W,E}," to function type ",{"C ",l},"cannot have \'D\' qualifier"},
		[b]=d,
		[a]=e
	},
	["err_concept_decls_may_only_appear_in_global_namespace_scope"]={
		[c]="concept declarations may only appear in global or namespace scope",
		[b]=d,
		[a]=e
	},
	["err_concept_definition_not_identifier"]={
		[c]="name defined in concept definition must be an identifier",
		[b]=d,
		[a]=e
	},
	["err_concept_extra_headers"]={
		[c]="extraneous template parameter list in concept definition",
		[b]=d,
		[a]=e
	},
	["err_concept_legacy_bool_keyword"]={
		[c]="ISO C++ does not permit the \'bool\' keyword after \'concept\'",
		[b]=d,
		[a]=e
	},
	["err_concept_no_associated_constraints"]={
		[c]="concept cannot have associated constraints",
		[b]=d,
		[a]=e
	},
	["err_concept_no_parameters"]={
		[c]="concept template parameter list must have at least one parameter; explicit specialization of concepts is not allowed",
		[b]=d,
		[a]=e
	},
	["err_cond_voidptr_arc"]={
		[c]="operands to conditional of types A and B are incompatible in ARC mode",
		[f]={"operands to conditional of types",{" A and B",l}," are incompatible in ARC mode"},
		[b]=d,
		[a]=e
	},
	["err_conditional_ambiguous"]={
		[c]="conditional expression is ambiguous; A can be converted to B and vice versa",
		[f]={"conditional expression is ambiguous; ",{"A can be converted to B and vice versa","types can be convert to each other"}},
		[b]=d,
		[a]=e
	},
	["err_conditional_ambiguous_ovl"]={
		[c]="conditional expression is ambiguous; A and B can be converted to several common types",
		[f]={"conditional expression is ambiguous; ",{"A and B","types"}," can be converted to several common types"},
		[b]=d,
		[a]=e
	},
	["err_conditional_vector_cond_result_mismatch"]={
		[c]="cannot mix vectors and extended vectors in a vector conditional",
		[b]=d,
		[a]=e
	},
	["err_conditional_vector_element_size"]={
		[c]="vector condition type A and result type B do not have elements of the same size",
		[b]=d,
		[a]=e
	},
	["err_conditional_vector_has_void"]={
		[c]="GNU vector conditional operand cannot be ...",
		[f]={"GNU vector conditional operand cannot be ",{"void","a throw expression"}},
		[b]=d,
		[a]=e
	},
	["err_conditional_vector_mismatched"]={
		[c]="vector operands to the vector conditional must be the same type (A and B)}",
		[f]={"vector operands to the vector conditional must be the same type ",{"(A and B)",l},"}"},
		[b]=d,
		[a]=e
	},
	["err_conditional_vector_operand_type"]={
		[c]="enumeration type A is not allowed in a vector conditional",
		[b]=d,
		[a]=e
	},
	["err_conditional_vector_size"]={
		[c]="vector condition type A and result type B do not have the same number of elements",
		[b]=d,
		[a]=e
	},
	["err_conditional_void_nonvoid"]={
		[c]="... operand to ? is void, but ... operand is of type A",
		[f]={{"left","right"}," operand to ? is void, but ",{"right","left"}," operand is of type A"},
		[b]=d,
		[a]=e
	},
	["err_config_scalar_return"]={
		[c]="CUDA special function \'A\' must have scalar return type",
		[b]=d,
		[a]=e
	},
	["err_conflict_marker"]={
		[c]="version control conflict marker in file",
		[b]=d,
		[a]=e
	},
	["err_conflicting_aliasing_type"]={
		[c]="conflicting types for alias A",
		[b]=d,
		[a]=e
	},
	["err_conflicting_aligned_options"]={
		[c]="conflicting option \'-fcoro-aligned-allocation\' and \'-fno-aligned-allocation\'",
		[b]=d,
		[a]=e
	},
	["err_conflicting_codeseg_attribute"]={
		[c]="conflicting code segment specifiers",
		[b]=d,
		[a]=e
	},
	["err_conflicting_ivar_bitwidth"]={
		[c]="instance variable A has conflicting bit-field width",
		[b]=d,
		[a]=e
	},
	["err_conflicting_ivar_name"]={
		[c]="conflicting instance variable names: A vs B",
		[b]=d,
		[a]=e
	},
	["err_conflicting_ivar_type"]={
		[c]="instance variable A has conflicting type: B vs C",
		[f]={"instance variable A has conflicting type",{Ld,l}},
		[b]=d,
		[a]=e
	},
	["err_conflicting_overriding_cc_attributes"]={
		[c]="virtual function A has different calling convention attributes (B) than the function it overrides (which has calling convention C)",
		[f]={"virtual function A has different calling convention attributes ",{"(B) than the function it overrides (which has calling convention C)","than the function it overrides"}},
		[b]=d,
		[a]=e
	},
	["err_conflicting_super_class"]={
		[c]="conflicting super class name A",
		[b]=d,
		[a]=e
	},
	["err_conflicting_types"]={
		[c]="conflicting types for A",
		[b]=d,
		[a]=e
	},
	["err_constant_integer_arg_type"]={
		[c]="argument to A must be a constant integer",
		[b]=d,
		[a]=e
	},
	["err_consteval_override"]={
		[c]="consteval function A cannot override a non-consteval function",
		[b]=d,
		[a]=e
	},
	["err_constexpr_body_invalid_stmt"]={
		[c]="statement not allowed in ... ...",
		[f]={"statement not allowed in ",{nb,Y},w,{m,n}},
		[b]=d,
		[a]=e
	},
	["err_constexpr_body_no_return"]={
		[c]="no return statement in ... function",
		[f]={"no return statement in ",{nb,Y},zd},
		[b]=d,
		[a]=e
	},
	["err_constexpr_dtor"]={
		[c]="destructor cannot be declared ...",
		[f]={"destructor cannot be declared ",{nb,Y,"constinit"}},
		[b]=d,
		[a]=e
	},
	["err_constexpr_dtor_subobject"]={
		[c]="destructor cannot be declared ... because ... does not have a constexpr destructor",
		[f]={"destructor cannot be declared ",{nb,Y,"constinit"}," because ",{"data member C","base class D"}," does not have a constexpr destructor"},
		[b]=d,
		[a]=e
	},
	["err_constexpr_if_condition_expression_is_not_constant"]={
		[c]="constexpr if condition is not a constant expression",
		[b]=d,
		[a]=e
	},
	["err_constexpr_invalid_template_arg"]={
		[c]="... to ...... is not allowed in a template argument",
		[f]={{W,E}," to ",{l,Cd},{"type_info object","string literal","temporary object","predefined \'D\' variable"}," is not allowed in a template argument"},
		[b]=d,
		[a]=e
	},
	["err_constexpr_local_var_non_literal_type"]={
		[c]="variable of non-literal type B cannot be defined in a constexpr ... before C++23",
		[f]={"variable of non-literal type B cannot be defined in a constexpr ",{m,n}," before C++23"},
		[b]=d,
		[a]=e
	},
	["err_constexpr_main"]={
		[c]="\'main\' is not allowed to be declared ...",
		[f]={"\'main\' is not allowed to be declared ",{nb,Y}},
		[b]=d,
		[a]=e
	},
	["err_constexpr_non_literal_param"]={
		[c]="... ...\'s A parameter type D is not a literal type",
		[f]={{nb,Y},w,{m,n},"\'s A parameter type D is not a literal type"},
		[b]=d,
		[a]=e
	},
	["err_constexpr_non_literal_return"]={
		[c]="... function\'s return type B is not a literal type",
		[f]={{nb,Y}," function\'s return type B is not a literal type"},
		[b]=d,
		[a]=e
	},
	["err_constexpr_redecl_mismatch"]={
		[c]="... declaration of A follows ... declaration",
		[f]={{"non-constexpr",nb,Y}," declaration of A follows ",{"non-constexpr",nb,Y}," declaration"},
		[b]=d,
		[a]=e
	},
	["err_constexpr_return_missing_expr"]={
		[c]="non-void ... function A should return a value",
		[f]={"non-void ",{nb,Y}," function A should return a value"},
		[b]=d,
		[a]=e
	},
	["err_constexpr_static_mem_var_requires_init"]={
		[c]="declaration of constexpr static data member A requires an initializer",
		[b]=d,
		[a]=e
	},
	["err_constexpr_tag"]={
		[c]="... cannot be marked ...",
		[f]={{o,r,B,v,pb,"enum class","enum struct"}," cannot be marked ",{nb,Y,"constinit"}},
		[b]=d,
		[a]=e
	},
	["err_constexpr_var_non_literal"]={
		[c]="constexpr variable cannot have non-literal type A",
		[b]=d,
		[a]=e
	},
	["err_constexpr_var_requires_const_destruction"]={
		[c]="constexpr variable A must have constant destruction",
		[b]=d,
		[a]=e
	},
	["err_constexpr_var_requires_const_init"]={
		[c]="constexpr variable A must be initialized by a constant expression",
		[b]=d,
		[a]=e
	},
	["err_constexpr_virtual"]={
		[c]="virtual function cannot be constexpr",
		[b]=d,
		[a]=e
	},
	["err_constexpr_virtual_base"]={
		[c]="constexpr ... not allowed in ... with virtual base class",
		[f]={"constexpr ",{"member function",n}," not allowed in ",{r,B,o}," with virtual base ",{o,Fd}},
		[b]=d,
		[a]=e
	},
	["err_constexpr_vla"]={
		[c]="variably-modified type A cannot be used in a constexpr ...",
		[f]={"variably-modified type A cannot be used in a constexpr ",{m,n}},
		[b]=d,
		[a]=e
	},
	["err_constexpr_wrong_decl_kind"]={
		[c]="... can only be used in ... declarations",
		[f]={{nb,Y,"constinit"}," can only be used in ",{l,"variable and function",m,z}," declarations"},
		[b]=d,
		[a]=e
	},
	["err_constinit_added_too_late"]={
		[c]="\'constinit\' specifier added after initialization of variable",
		[b]=d,
		[a]=e
	},
	["err_constinit_local_variable"]={
		[c]="local variable cannot be declared \'constinit\'",
		[b]=d,
		[a]=e
	},
	["err_constrained_non_templated_function"]={
		[c]="non-templated function cannot have a requires clause",
		[b]=d,
		[a]=e
	},
	["err_constrained_virtual_method"]={
		[c]="virtual function cannot have a requires clause",
		[b]=d,
		[a]=e
	},
	["err_constraint_depends_on_self"]={
		[c]="satisfaction of constraint \'A\' depends on itself",
		[b]=d,
		[a]=e
	},
	["err_constructor_bad_name"]={
		[c]="missing return type for function A; did you mean the constructor name B?",
		[b]=d,
		[a]=e
	},
	["err_constructor_byvalue_arg"]={
		[c]="copy constructor must pass its first argument by reference",
		[b]=d,
		[a]=e
	},
	["err_constructor_cannot_be"]={
		[c]="constructor cannot be declared \'A\'",
		[b]=d,
		[a]=e
	},
	["err_constructor_redeclared"]={
		[c]="constructor cannot be redeclared",
		[b]=d,
		[a]=e
	},
	["err_constructor_return_type"]={
		[c]="constructor cannot have a return type",
		[b]=d,
		[a]=e
	},
	["err_continuation_class"]={
		[c]="class extension has no primary class",
		[b]=d,
		[a]=e
	},
	["err_continue_from_cond_var_init"]={
		[c]="cannot jump from this continue statement to the loop increment; jump bypasses initialization of loop condition variable",
		[b]=d,
		[a]=e
	},
	["err_continue_not_in_loop"]={
		[c]="\'continue\' statement not in loop statement",
		[b]=d,
		[a]=e
	},
	["err_conv_function_not_member"]={
		[c]="conversion function must be a non-static member function",
		[b]=d,
		[a]=e
	},
	["err_conv_function_redeclared"]={
		[c]="conversion function cannot be redeclared",
		[b]=d,
		[a]=e
	},
	["err_conv_function_return_type"]={
		[c]="conversion function cannot have a return type",
		[b]=d,
		[a]=e
	},
	["err_conv_function_to_array"]={
		[c]="conversion function cannot convert to an array type",
		[b]=d,
		[a]=e
	},
	["err_conv_function_to_function"]={
		[c]="conversion function cannot convert to a function type",
		[b]=d,
		[a]=e
	},
	["err_conv_function_variadic"]={
		[c]="conversion function cannot be variadic",
		[b]=d,
		[a]=e
	},
	["err_conv_function_with_complex_decl"]={
		[c]="cannot specify any part of a return type in the declaration of a conversion function...",
		[f]={"cannot specify any part of a return type in the declaration of a conversion function",{"; put the complete type after \'operator\'","; use a typedef to declare a conversion to B","; use an alias template to declare a conversion to B",l}},
		[b]=d,
		[a]=e
	},
	["err_conv_function_with_params"]={
		[c]="conversion function cannot have any parameters",
		[b]=d,
		[a]=e
	},
	["err_convertvector_incompatible_vector"]={
		[c]="first two arguments to __builtin_convertvector must have the same number of elements",
		[b]=d,
		[a]=e
	},
	["err_convertvector_non_vector"]={
		[c]="first argument to __builtin_convertvector must be a vector",
		[b]=d,
		[a]=e
	},
	["err_convertvector_non_vector_type"]={
		[c]="second argument to __builtin_convertvector must be a vector type",
		[b]=d,
		[a]=e
	},
	["err_copy_capture_with_copy_default"]={
		[c]="\'&\' must precede a capture when the capture default is \'=\'",
		[b]=d,
		[a]=e
	},
	["err_coro_invalid_addr_of_label"]={
		[c]="the GNU address of label extension is not allowed in coroutines.",
		[b]=d,
		[a]=e
	},
	["err_coroutine_handle_missing_member"]={
		[c]="std::coroutine_handle must have a member named \'A\'",
		[b]=d,
		[a]=e
	},
	["err_coroutine_invalid_func_context"]={
		[c]="\'B\' cannot be used in ...",
		[f]={"\'B\' cannot be used in ",{"a constructor","a destructor","the \'main\' function","a constexpr function","a function with a deduced return type","a varargs function","a consteval function"}},
		[b]=d,
		[a]=e
	},
	["err_coroutine_objc_method"]={
		[c]="Objective-C methods as coroutines are not yet supported",
		[b]=d,
		[a]=e
	},
	["err_coroutine_outside_function"]={
		[c]="\'A\' cannot be used outside a function",
		[b]=d,
		[a]=e
	},
	["err_coroutine_promise_final_suspend_requires_nothrow"]={
		[c]="the expression \'co_await __promise.final_suspend()\' is required to be non-throwing",
		[b]=d,
		[a]=e
	},
	["err_coroutine_promise_get_return_object_on_allocation_failure"]={
		[c]="A: \'get_return_object_on_allocation_failure()\' must be a static member function",
		[b]=d,
		[a]=e
	},
	["err_coroutine_promise_incompatible_return_functions"]={
		[c]="the coroutine promise type A declares both \'return_value\' and \'return_void\'",
		[b]=d,
		[a]=e
	},
	["err_coroutine_promise_new_requires_nothrow"]={
		[c]="A is required to have a non-throwing noexcept specification when the promise type declares \'get_return_object_on_allocation_failure()\'",
		[b]=d,
		[a]=e
	},
	["err_coroutine_promise_type_incomplete"]={
		[c]="this function cannot be a coroutine: A is an incomplete type",
		[b]=d,
		[a]=e
	},
	["err_coroutine_promise_unhandled_exception_required"]={
		[c]="A is required to declare the member \'unhandled_exception()\'",
		[b]=d,
		[a]=e
	},
	["err_coroutine_type_missing_specialization"]={
		[c]="this function cannot be a coroutine: missing definition of specialization A",
		[b]=d,
		[a]=e
	},
	["err_coroutine_unevaluated_context"]={
		[c]="\'A\' cannot be used in an unevaluated context",
		[b]=d,
		[a]=e
	},
	["err_coroutine_unfound_nothrow_new"]={
		[c]="unable to find ... for A",
		[f]={"unable to find ",{"\'::operator new(size_t, nothrow_t)\'","\'::operator new(size_t, align_val_t, nothrow_t)\'"}," for A"},
		[b]=d,
		[a]=e
	},
	["err_coroutine_unusable_new"]={
		[c]="\'operator new\' provided by A is not usable with the function signature of B",
		[b]=d,
		[a]=e
	},
	["err_coroutine_within_handler"]={
		[c]="\'A\' cannot be used in the handler of a try block",
		[b]=d,
		[a]=e
	},
	["err_covariant_return_ambiguous_derived_to_base_conv"]={
		[c]="return type of virtual function D is not covariant with the return type of the function it overrides (ambiguous conversion from derived class A to base class B:C)",
		[b]=d,
		[a]=e
	},
	["err_covariant_return_inaccessible_base"]={
		[c]="invalid covariant return for virtual function: B is a ... base class of A",
		[f]={"invalid covariant return for virtual function: B is a ",{C,D}," base class of A"},
		[b]=d,
		[a]=e
	},
	["err_covariant_return_incomplete"]={
		[c]="return type of virtual function A is not covariant with the return type of the function it overrides (B is incomplete)",
		[b]=d,
		[a]=e
	},
	["err_covariant_return_not_derived"]={
		[c]="return type of virtual function A is not covariant with the return type of the function it overrides (B is not derived from C)",
		[b]=d,
		[a]=e
	},
	["err_covariant_return_type_class_type_more_qualified"]={
		[c]="return type of virtual function A is not covariant with the return type of the function it overrides (class type B is more qualified than class type C",
		[b]=d,
		[a]=e
	},
	["err_covariant_return_type_different_qualifications"]={
		[c]="return type of virtual function A is not covariant with the return type of the function it overrides (B has different qualifiers than C)",
		[b]=d,
		[a]=e
	},
	["err_cpu_dispatch_mismatch"]={
		[c]="\'cpu_dispatch\' function redeclared with different CPUs",
		[b]=d,
		[a]=e
	},
	["err_cpu_specific_multiple_defs"]={
		[c]="multiple \'cpu_specific\' functions cannot specify the same CPU: A",
		[b]=d,
		[a]=e
	},
	["err_cpu_unsupported_isa"]={
		[c]="CPU \'A\' does not support \'B\' execution mode",
		[b]=d,
		[a]=e
	},
	["err_ctor_dtor_returns_void"]={
		[c]="... A must not return void expression",
		[f]={{n,p}," A must not return void expression"},
		[b]=d,
		[a]=e
	},
	["err_ctor_init_missing_comma"]={
		[c]="missing \',\' between base or member initializers",
		[b]=d,
		[a]=e
	},
	["err_ctu_error_opening"]={
		[c]="error opening \'A\': required by the CrossTU functionality",
		[b]=d,
		[a]=e
	},
	["err_cuda_device_builtin_surftex_cls_template"]={
		[c]="illegal device builtin ... reference class template B declared here",
		[f]={"illegal device builtin ",{"surface","texture"}," reference class template B declared here"},
		[b]=d,
		[a]=e
	},
	["err_cuda_device_builtin_surftex_ref_decl"]={
		[c]="illegal device builtin ... reference type B declared here",
		[f]={"illegal device builtin ",{"surface","texture"}," reference type B declared here"},
		[b]=d,
		[a]=e
	},
	["err_cuda_device_exceptions"]={
		[c]="cannot use \'A\' in ... function",
		[f]={"cannot use \'A\' in ",{jc,kc,nc,oc},zd},
		[b]=d,
		[a]=e
	},
	["err_cuda_extern_shared"]={
		[c]="__shared__ variable A cannot be \'extern\'",
		[b]=d,
		[a]=e
	},
	["err_cuda_host_shared"]={
		[c]="__shared__ local variables not allowed in ... functions",
		[f]={"__shared__ local variables not allowed in ",{jc,kc,nc,oc}," functions"},
		[b]=d,
		[a]=e
	},
	["err_cuda_nonstatic_constdev"]={
		[c]="__constant__, __device__, and __managed__ are not allowed on non-static local variables",
		[b]=d,
		[a]=e
	},
	["err_cuda_ovl_target"]={
		[c]="... function B cannot overload ... function D",
		[f]={{jc,kc,nc,oc}," function B cannot overload ",{jc,kc,nc,oc}," function D"},
		[b]=d,
		[a]=e
	},
	["err_cuda_unattributed_constexpr_cannot_overload_device"]={
		[c]="constexpr function A without __host__ or __device__ attributes cannot overload __device__ function with same signature.  Add a __host__ attribute, or build with -fno-cuda-host-device-constexpr.",
		[b]=d,
		[a]=e
	},
	["err_cuda_vla"]={
		[c]="cannot use variable-length arrays in ... functions",
		[f]={"cannot use variable-length arrays in ",{jc,kc,nc,oc}," functions"},
		[b]=d,
		[a]=e
	},
	["err_current_module_name_mismatch"]={
		[c]="module name \'A\' specified on command line does not match name of module",
		[b]=d,
		[a]=e
	},
	["err_cxx11_attribute_forbids_arguments"]={
		[c]="attribute A cannot have an argument list",
		[b]=d,
		[a]=e
	},
	["err_cxx11_attribute_forbids_ellipsis"]={
		[c]="attribute A cannot be used as an attribute pack",
		[b]=d,
		[a]=e
	},
	["err_cxx23_size_t_suffix"]={
		[c]="\'size_t\' suffix for literals is a C++23 feature",
		[b]=d,
		[a]=e
	},
	["err_cyclic_alias"]={
		[c]="... definition is part of a cycle",
		[f]={{Dc,"ifunc"}," definition is part of a cycle"},
		[b]=d,
		[a]=e
	},
	["err_dangling_member"]={
		[c]="... ...member A ... a temporary object whose lifetime would be shorter than the lifetime of the constructed object",
		[f]={{E,"backing array for \'std::initializer_list\'"},w,{l,Cd},"member A ",{"binds to","is"}," a temporary object whose lifetime would be shorter than the lifetime of the constructed object"},
		[b]=d,
		[a]=e
	},
	["err_dealloc_bad_result_type"]={
		[c]="dealloc return type must be correctly specified as \'void\' under ARC, instead of A",
		[b]=d,
		[a]=e
	},
	["err_decimal_unsupported"]={
		[c]="GNU decimal type extension not supported",
		[b]=d,
		[a]=e
	},
	["err_decl_attribute_invalid_on_stmt"]={
		[c]="A... cannot be applied to a statement",
		[f]={J,{ad,l}," cannot be applied to a statement"},
		[b]=d,
		[a]=e
	},
	["err_decl_negative_array_size"]={
		[c]="\'A\' declared as an array with a negative size",
		[b]=d,
		[a]=e
	},
	["err_declaration_does_not_declare_param"]={
		[c]="declaration does not declare a parameter",
		[b]=d,
		[a]=e
	},
	["err_declarator_need_ident"]={
		[c]="declarator requires an identifier",
		[b]=d,
		[a]=e
	},
	["err_declspec_after_virtspec"]={
		[c]="\'A\' qualifier may not appear after the virtual specifier \'B\'",
		[b]=d,
		[a]=e
	},
	["err_declspec_keyword_has_no_effect"]={
		[c]="A cannot appear here, place it after \"...\" to apply it to the type declaration",
		[f]={"A cannot appear here, place it after \"",{o,r,B,v,pb},"\" to apply it to the type declaration"},
		[b]=d,
		[a]=e
	},
	["err_declspec_thread_on_thread_variable"]={
		[c]="\'__declspec(thread)\' applied to variable that already has a thread-local storage specifier",
		[b]=d,
		[a]=e
	},
	["err_decltype_auto_cannot_be_combined"]={
		[c]="\'decltype(auto)\' cannot be combined with other type specifiers",
		[b]=d,
		[a]=e
	},
	["err_decltype_auto_compound_type"]={
		[c]="cannot form ... \'decltype(auto)\'",
		[f]={"cannot form ",{"pointer to","reference to","array of"}," \'decltype(auto)\'"},
		[b]=d,
		[a]=e
	},
	["err_decltype_auto_function_declarator_not_declaration"]={
		[c]="\'decltype(auto)\' can only be used as a return type in a function declaration",
		[b]=d,
		[a]=e
	},
	["err_decltype_auto_initializer_list"]={
		[c]="cannot deduce \'decltype(auto)\' from initializer list",
		[b]=d,
		[a]=e
	},
	["err_decltype_auto_invalid"]={
		[c]="\'decltype(auto)\' not allowed here",
		[b]=d,
		[a]=e
	},
	["err_decltype_in_declarator"]={
		[c]="\'decltype\' cannot be used to name a declaration",
		[b]=d,
		[a]=e
	},
	["err_decomp_decl_ambiguous_base"]={
		[c]="cannot decompose members of ambiguous base class B of A:C",
		[b]=d,
		[a]=e
	},
	["err_decomp_decl_anon_union_member"]={
		[c]="cannot decompose class type A because it has an anonymous ... member",
		[f]={"cannot decompose class type A because it has an anonymous ",{r,v}," member"},
		[b]=d,
		[a]=e
	},
	["err_decomp_decl_constraint"]={
		[c]="decomposition declaration cannot be declared with constrained \'auto\'",
		[b]=d,
		[a]=e
	},
	["err_decomp_decl_context"]={
		[c]="decomposition declaration not permitted in this context",
		[b]=d,
		[a]=e
	},
	["err_decomp_decl_inaccessible_base"]={
		[c]="cannot decompose members of inaccessible base class B of A",
		[b]=d,
		[a]=e
	},
	["err_decomp_decl_inaccessible_field"]={
		[c]="cannot decompose ... member B of D",
		[f]={"cannot decompose ",{C,D}," member B of D"},
		[b]=d,
		[a]=e
	},
	["err_decomp_decl_lambda"]={
		[c]="cannot decompose lambda closure type",
		[b]=d,
		[a]=e
	},
	["err_decomp_decl_multiple_bases_with_members"]={
		[c]="cannot decompose class type B: ... D have non-static data members",
		[f]={"cannot decompose class type B: ",{"its base classes C and","both it and its base class"}," D have non-static data members"},
		[b]=d,
		[a]=e
	},
	["err_decomp_decl_not_alone"]={
		[c]="decomposition declaration must be the only declaration in its group",
		[b]=d,
		[a]=e
	},
	["err_decomp_decl_parens"]={
		[c]="decomposition declaration cannot be declared with parentheses",
		[b]=d,
		[a]=e
	},
	["err_decomp_decl_requires_init"]={
		[c]="decomposition declaration A requires an initializer",
		[b]=d,
		[a]=e
	},
	["err_decomp_decl_spec"]={
		[c]="decomposition declaration cannot be declared \'B\'",
		[f]={"decomposition declaration cannot be declared ",{Sb,"with \'B\' specifiers"}},
		[b]=d,
		[a]=e
	},
	["err_decomp_decl_std_tuple_element_not_specialized"]={
		[c]="cannot decompose this type; \'std::tuple_element<A>::type\' does not name a type",
		[b]=d,
		[a]=e
	},
	["err_decomp_decl_std_tuple_size_not_constant"]={
		[c]="cannot decompose this type; \'std::tuple_size<A>::value\' is not a valid integral constant expression",
		[b]=d,
		[a]=e
	},
	["err_decomp_decl_template"]={
		[c]="decomposition declaration template not supported",
		[b]=d,
		[a]=e
	},
	["err_decomp_decl_type"]={
		[c]="decomposition declaration cannot be declared with type A; declared type must be \'auto\' or reference to \'auto\'",
		[b]=d,
		[a]=e
	},
	["err_decomp_decl_unbindable_type"]={
		[c]="cannot decompose ... type C",
		[f]={"cannot decompose ",{v,"non-class, non-array"}," type C"},
		[b]=d,
		[a]=e
	},
	["err_decomp_decl_wrong_number_bindings"]={
		[c]="type A decomposes into D element, but ... name was provided",
		[f]={"type A decomposes into D ",{"element","elements"},", but ",{{{fb,"only B"}},fd},w,{"name was","names were"}," provided"},
		[b]=d,
		[a]=e
	},
	["err_decrement_bool"]={
		[c]="cannot decrement expression of type bool",
		[b]=d,
		[a]=e
	},
	["err_deduced_class_template_compound_type"]={
		[c]="cannot ... deduced class template specialization type",
		[f]={Wb,{"form pointer to","form reference to","form array of","form function returning","use parentheses when declaring variable with"}," deduced class template specialization type"},
		[b]=d,
		[a]=e
	},
	["err_deduced_class_template_ctor_ambiguous"]={
		[c]="ambiguous deduction for template arguments of A",
		[b]=d,
		[a]=e
	},
	["err_deduced_class_template_ctor_no_viable"]={
		[c]="no viable constructor or deduction guide for deduction of template arguments of A",
		[b]=d,
		[a]=e
	},
	["err_deduced_class_template_deleted"]={
		[c]="class template argument deduction for A selected a deleted constructor",
		[b]=d,
		[a]=e
	},
	["err_deduced_class_template_explicit"]={
		[c]="class template argument deduction for A selected an explicit ... for copy-list-initialization",
		[f]={"class template argument deduction for A selected an explicit ",{n,"deduction guide"}," for copy-list-initialization"},
		[b]=d,
		[a]=e
	},
	["err_deduced_class_template_incomplete"]={
		[c]="template A has no definition and no ...deduction guides for deduction of template arguments",
		[f]={"template A has no definition and no ",{l,"viable "},"deduction guides for deduction of template arguments"},
		[b]=d,
		[a]=e
	},
	["err_deduced_non_class_template_specialization_type"]={
		[c]="... B requires template arguments; argument deduction only allowed for class templates",
		[f]={{Kb,Xb,Yc,Gc,"concept",Hb}," B requires template arguments; argument deduction only allowed for class templates"},
		[b]=d,
		[a]=e
	},
	["err_deduced_non_type_template_arg_type_mismatch"]={
		[c]="deduced non-type template argument does not have the same type as the corresponding template parameter (A vs B)",
		[f]={"deduced non-type template argument does not have the same type as the corresponding template parameter",{" (A vs B)",l}},
		[b]=d,
		[a]=e
	},
	["err_deduced_return_type"]={
		[c]="deduced return types are a C++14 extension",
		[b]=d,
		[a]=e
	},
	["err_deduced_tst"]={
		[c]="typename specifier refers to ...; argument deduction not allowed here",
		[f]={"typename specifier refers to ",{zc,Kb,Xb,Yc,Gc,Hb},"; argument deduction not allowed here"},
		[b]=d,
		[a]=e
	},
	["err_deduction_guide_bad_trailing_return_type"]={
		[c]="deduced type B of deduction guide is not ...a specialization of template A",
		[f]={"deduced type B of deduction guide is not ",{l,"written as "},"a specialization of template A"},
		[b]=d,
		[a]=e
	},
	["err_deduction_guide_defines_function"]={
		[c]="deduction guide cannot have a function definition",
		[b]=d,
		[a]=e
	},
	["err_deduction_guide_invalid_specifier"]={
		[c]="deduction guide cannot be declared \'A\'",
		[b]=d,
		[a]=e
	},
	["err_deduction_guide_name_not_class_template"]={
		[c]="cannot specify deduction guide for ... B",
		[f]={"cannot specify deduction guide for ",{Kb,Xb,Yc,Gc,"concept","dependent template name"},X},
		[b]=d,
		[a]=e
	},
	["err_deduction_guide_no_trailing_return_type"]={
		[c]="deduction guide declaration without trailing return type",
		[b]=d,
		[a]=e
	},
	["err_deduction_guide_redeclared"]={
		[c]="redeclaration of deduction guide",
		[b]=d,
		[a]=e
	},
	["err_deduction_guide_specialized"]={
		[c]="deduction guide cannot be ...",
		[f]={"deduction guide cannot be ",{"explicitly instantiated","explicitly specialized"}},
		[b]=d,
		[a]=e
	},
	["err_deduction_guide_template_not_deducible"]={
		[c]="deduction guide template contains ... that cannot be deduced",
		[f]={"deduction guide template contains ",{"a template parameter","template parameters"}," that cannot be deduced"},
		[b]=d,
		[a]=e
	},
	["err_deduction_guide_with_complex_decl"]={
		[c]="cannot specify any part of a return type in the declaration of a deduction guide",
		[b]=d,
		[a]=e
	},
	["err_deduction_guide_wrong_access"]={
		[c]="deduction guide has different access from the corresponding member template",
		[b]=d,
		[a]=e
	},
	["err_deduction_guide_wrong_scope"]={
		[c]="deduction guide must be declared in the same scope as template A",
		[b]=d,
		[a]=e
	},
	["err_deep_exception_specs_differ"]={
		[c]="exception specifications of ... types differ",
		[f]={"exception specifications of ",{Ad,pd}," types differ"},
		[b]=d,
		[a]=e
	},
	["err_default_arg_in_partial_spec"]={
		[c]="default template argument in a class template partial specialization",
		[b]=d,
		[a]=e
	},
	["err_default_arg_makes_ctor_special"]={
		[c]="addition of default argument on redeclaration makes this constructor a ... constructor",
		[f]={"addition of default argument on redeclaration makes this constructor a ",{jd,Cb,Uc}," constructor"},
		[b]=d,
		[a]=e
	},
	["err_default_arg_unparsed"]={
		[c]="unexpected end of default argument expression",
		[b]=d,
		[a]=e
	},
	["err_default_delete_in_multiple_declaration"]={
		[c]="\'= ...\' is a function definition and must occur in a standalone declaration",
		[f]={"\'= ",{jd,"delete"},"\' is a function definition and must occur in a standalone declaration"},
		[b]=d,
		[a]=e
	},
	["err_default_init_const"]={
		[c]="default initialization of an object of const type A...",
		[f]={"default initialization of an object of const type A",{l," without a user-provided default constructor"}},
		[b]=d,
		[a]=e
	},
	["err_default_member_initializer_cycle"]={
		[c]="default member initializer for A uses itself",
		[b]=d,
		[a]=e
	},
	["err_default_member_initializer_not_yet_parsed"]={
		[c]="default member initializer for B needed within definition of enclosing class A outside of member functions",
		[b]=d,
		[a]=e
	},
	["err_default_not_in_switch"]={
		[c]="\'default\' statement not in switch statement",
		[b]=d,
		[a]=e
	},
	["err_default_special_members"]={
		[c]="only special member functions ...may be defaulted",
		[f]={"only special member functions ",{l,"and comparison operators "},"may be defaulted"},
		[b]=d,
		[a]=e
	},
	["err_default_template_template_parameter_not_template"]={
		[c]="default template argument for a template template parameter must be a class template",
		[b]=d,
		[a]=e
	},
	["err_defaulted_comparison_cannot_deduce_undeduced_auto"]={
		[c]="return type of defaulted \'operator<=>\' cannot be deduced because three-way comparison for ... B has a deduced return type and is not yet defined",
		[f]={"return type of defaulted \'operator<=>\' cannot be deduced because three-way comparison for ",{l,tc,Eb}," B has a deduced return type and is not yet defined"},
		[b]=d,
		[a]=e
	},
	["err_defaulted_comparison_deduced_return_type_not_auto"]={
		[c]="deduced return type for defaulted ... comparison operator must be \'auto\', not B",
		[f]={"deduced return type for defaulted ",{A,Fb,A,Jb}," comparison operator must be \'auto\', not B"},
		[b]=d,
		[a]=e
	},
	["err_defaulted_comparison_non_const"]={
		[c]="defaulted member ... comparison operator must be const-qualified",
		[f]={"defaulted member ",{A,Fb,A,Jb}," comparison operator must be const-qualified"},
		[b]=d,
		[a]=e
	},
	["err_defaulted_comparison_not_friend"]={
		[c]="... comparison operator is not a friend of ...C",
		[f]={{A,Fb,A,Jb}," comparison operator is not a friend of ",{l,"incomplete class "},Bc},
		[b]=d,
		[a]=e
	},
	["err_defaulted_comparison_num_args"]={
		[c]="... ... comparison operator comparison operator must have ... parameters",
		[f]={{"non-member",tc},w,{A,Fb,A,Jb}," comparison operator comparison operator must have ",{"2","1"}," parameters"},
		[b]=d,
		[a]=e
	},
	["err_defaulted_comparison_param"]={
		[c]="invalid parameter type for defaulted ... comparison operator; found B, expected C...",
		[f]={"invalid parameter type for defaulted ",{A,Fb,A,Jb}," comparison operator; found B, expected C",{l," or E"}},
		[b]=d,
		[a]=e
	},
	["err_defaulted_comparison_param_mismatch"]={
		[c]="parameters for defaulted ... comparison operator must have the same type (found B vs C)",
		[f]={"parameters for defaulted ",{A,Fb,A,Jb}," comparison operator must have the same type",{" (found B vs C)",l}},
		[b]=d,
		[a]=e
	},
	["err_defaulted_comparison_param_unknown"]={
		[c]="invalid parameter type for non-member defaulted ... comparison operator; found B, expected class or reference to a constant class",
		[f]={"invalid parameter type for non-member defaulted ",{A,Fb,A,Jb}," comparison operator; found B, expected class or reference to a constant class"},
		[b]=d,
		[a]=e
	},
	["err_defaulted_comparison_return_type_not_bool"]={
		[c]="return type for defaulted ... comparison operator must be \'bool\', not B",
		[f]={"return type for defaulted ",{A,Fb,A,Jb}," comparison operator must be \'bool\', not B"},
		[b]=d,
		[a]=e
	},
	["err_defaulted_comparison_template"]={
		[c]="comparison operator template cannot be defaulted",
		[b]=d,
		[a]=e
	},
	["err_defaulted_copy_assign_not_ref"]={
		[c]="the parameter for an explicitly-defaulted copy assignment operator must be an lvalue reference type",
		[b]=d,
		[a]=e
	},
	["err_defaulted_special_member_copy_const_param"]={
		[c]="the parameter for this explicitly-defaulted copy ... is const, but a member or base requires it to be non-const",
		[f]={"the parameter for this explicitly-defaulted copy ",{n,pc}," is const, but a member or base requires it to be non-const"},
		[b]=d,
		[a]=e
	},
	["err_defaulted_special_member_move_const_param"]={
		[c]="the parameter for an explicitly-defaulted move ... may not be const",
		[f]={"the parameter for an explicitly-defaulted move ",{n,pc}," may not be const"},
		[b]=d,
		[a]=e
	},
	["err_defaulted_special_member_params"]={
		[c]="an explicitly-defaulted ...constructor cannot have default arguments",
		[f]={"an explicitly-defaulted ",{l,"copy ","move "},"constructor cannot have default arguments"},
		[b]=d,
		[a]=e
	},
	["err_defaulted_special_member_quals"]={
		[c]="an explicitly-defaulted ... assignment operator may not have \'const\'... or \'volatile\' qualifiers",
		[f]={"an explicitly-defaulted ",{Cb,Uc}," assignment operator may not have \'const\'",{", \'constexpr\'",l}," or \'volatile\' qualifiers"},
		[b]=d,
		[a]=e
	},
	["err_defaulted_special_member_return_type"]={
		[c]="explicitly-defaulted ... assignment operator must return B",
		[f]={"explicitly-defaulted ",{Cb,Uc}," assignment operator must return B"},
		[b]=d,
		[a]=e
	},
	["err_defaulted_special_member_variadic"]={
		[c]="an explicitly-defaulted ...constructor cannot be variadic",
		[f]={"an explicitly-defaulted ",{l,"copy ","move "},"constructor cannot be variadic"},
		[b]=d,
		[a]=e
	},
	["err_defaulted_special_member_volatile_param"]={
		[c]="the parameter for an explicitly-defaulted ... may not be volatile",
		[f]={"the parameter for an explicitly-defaulted ",{rb,sb,vb,xb,tb,p}," may not be volatile"},
		[b]=d,
		[a]=e
	},
	["err_defined_macro_name"]={
		[c]="\'defined\' cannot be used as a macro name",
		[b]=d,
		[a]=e
	},
	["err_definition_of_explicitly_defaulted_member"]={
		[c]="definition of explicitly defaulted ...",
		[f]={"definition of explicitly defaulted ",{rb,sb,vb,xb,tb,p,m}},
		[b]=d,
		[a]=e
	},
	["err_definition_of_implicitly_declared_member"]={
		[c]="definition of implicitly declared ...",
		[f]={"definition of implicitly declared ",{rb,sb,vb,xb,tb,p,m}},
		[b]=d,
		[a]=e
	},
	["err_delegating_ctor"]={
		[c]="delegating constructors are permitted only in C++11",
		[b]=d,
		[a]=e
	},
	["err_delegating_initializer_alone"]={
		[c]="an initializer for a delegating constructor must appear alone",
		[b]=d,
		[a]=e
	},
	["err_delete_explicit_conversion"]={
		[c]="converting delete expression from type A to type B invokes an explicit conversion function",
		[b]=d,
		[a]=e
	},
	["err_delete_incomplete_class_type"]={
		[c]="deleting incomplete class type A; no conversions to pointer type",
		[b]=d,
		[a]=e
	},
	["err_delete_operand"]={
		[c]="cannot delete expression of type A",
		[b]=d,
		[a]=e
	},
	["err_deleted_decl_not_first"]={
		[c]="deleted definition must be first declaration",
		[b]=d,
		[a]=e
	},
	["err_deleted_function_use"]={
		[c]="attempt to use a deleted function",
		[b]=d,
		[a]=e
	},
	["err_deleted_inherited_ctor_use"]={
		[c]="constructor inherited by A from base class B is implicitly deleted",
		[b]=d,
		[a]=e
	},
	["err_deleted_main"]={
		[c]="\'main\' is not allowed to be deleted",
		[b]=d,
		[a]=e
	},
	["err_deleted_non_function"]={
		[c]="only functions can have deleted definitions",
		[b]=d,
		[a]=e
	},
	["err_deleted_override"]={
		[c]="deleted function A cannot override a non-deleted function",
		[b]=d,
		[a]=e
	},
	["err_delimited_escape_empty"]={
		[c]="delimited escape sequence cannot be empty",
		[b]=d,
		[a]=e
	},
	["err_delimited_escape_invalid"]={
		[c]="invalid digit \'A\' in escape sequence",
		[b]=d,
		[a]=e
	},
	["err_delimited_escape_missing_brace"]={
		[c]="expected \'{\' after \'\\A\' escape sequence",
		[b]=d,
		[a]=e
	},
	["err_dep_source_scanner_missing_semi_after_at_import"]={
		[c]="could not find \';\' after @import",
		[b]=d,
		[a]=e
	},
	["err_dep_source_scanner_unexpected_tokens_at_import"]={
		[c]="unexpected extra tokens at end of @import declaration",
		[b]=d,
		[a]=e
	},
	["err_dependent_deduced_tst"]={
		[c]="typename specifier refers to ... member in B; argument deduction not allowed here",
		[f]={"typename specifier refers to ",{zc,Kb,Xb,Yc,Gc,Hb}," member in B; argument deduction not allowed here"},
		[b]=d,
		[a]=e
	},
	["err_dependent_function_template_spec_no_match"]={
		[c]="no candidate function template was found for dependent friend function template specialization",
		[b]=d,
		[a]=e
	},
	["err_dependent_nested_name_spec"]={
		[c]="nested name specifier for a declaration cannot depend on a template parameter",
		[b]=d,
		[a]=e
	},
	["err_dependent_non_type_arg_in_partial_spec"]={
		[c]="type of specialized non-type template argument depends on a template parameter of the partial specialization",
		[b]=d,
		[a]=e
	},
	["err_dependent_tag_decl"]={
		[c]="... of ... in a dependent scope",
		[f]={{qc,Kc}," of ",{r,B,v,o,pb}," in a dependent scope"},
		[b]=d,
		[a]=e
	},
	["err_dependent_typed_non_type_arg_in_partial_spec"]={
		[c]="non-type template argument specializes a template parameter with dependent type A",
		[b]=d,
		[a]=e
	},
	["err_dereference_incomplete_type"]={
		[c]="dereference of pointer to incomplete type A",
		[b]=d,
		[a]=e
	},
	["err_designated_init_attr_non_init"]={
		[c]="\'objc_designated_initializer\' attribute only applies to init methods of interface or class extension declarations",
		[b]=d,
		[a]=e
	},
	["err_designated_init_for_non_aggregate"]={
		[c]="initialization of non-aggregate type A with a designated initializer list",
		[b]=d,
		[a]=e
	},
	["err_designator_for_scalar_or_sizeless_init"]={
		[c]="designator in initializer for ... type B",
		[f]={"designator in initializer for ",{"scalar","indivisible sizeless"},Rc},
		[b]=d,
		[a]=e
	},
	["err_designator_into_flexible_array_member"]={
		[c]="designator into flexible array member subobject",
		[b]=d,
		[a]=e
	},
	["err_destroy_attr_on_non_static_var"]={
		[c]="... attribute can only be applied to a variable with static or thread storage duration",
		[f]={{"no_destroy","always_destroy"}," attribute can only be applied to a variable with static or thread storage duration"},
		[b]=d,
		[a]=e
	},
	["err_destroying_operator_delete_not_usual"]={
		[c]="destroying operator delete can have only an optional size and optional alignment parameter",
		[b]=d,
		[a]=e
	},
	["err_destructor_cannot_be"]={
		[c]="destructor cannot be declared \'A\'",
		[b]=d,
		[a]=e
	},
	["err_destructor_expr_mismatch"]={
		[c]="identifier A in object destruction expression does not name the type B of the object being destroyed",
		[b]=d,
		[a]=e
	},
	["err_destructor_expr_nontype"]={
		[c]="identifier A in object destruction expression does not name a type",
		[b]=d,
		[a]=e
	},
	["err_destructor_expr_type_mismatch"]={
		[c]="destructor type A in object destruction expression does not match the type B of the object being destroyed",
		[b]=d,
		[a]=e
	},
	["err_destructor_name"]={
		[c]="expected the class name after \'~\' to name the enclosing class",
		[b]=d,
		[a]=e
	},
	["err_destructor_name_nontype"]={
		[c]="identifier A after \'~\' in destructor name does not name a type",
		[b]=d,
		[a]=e
	},
	["err_destructor_not_member"]={
		[c]="destructor must be a non-static member function",
		[b]=d,
		[a]=e
	},
	["err_destructor_redeclared"]={
		[c]="destructor cannot be redeclared",
		[b]=d,
		[a]=e
	},
	["err_destructor_return_type"]={
		[c]="destructor cannot have a return type",
		[b]=d,
		[a]=e
	},
	["err_destructor_template"]={
		[c]="destructor cannot be declared as a template",
		[b]=d,
		[a]=e
	},
	["err_destructor_template_id"]={
		[c]="destructor name A does not refer to a template",
		[b]=d,
		[a]=e
	},
	["err_destructor_tilde_identifier"]={
		[c]="expected a class name after \'~\' to name a destructor",
		[b]=d,
		[a]=e
	},
	["err_destructor_tilde_scope"]={
		[c]="\'~\' in destructor name should be after nested name specifier",
		[b]=d,
		[a]=e
	},
	["err_destructor_variadic"]={
		[c]="destructor cannot be variadic",
		[b]=d,
		[a]=e
	},
	["err_destructor_with_params"]={
		[c]="destructor cannot have any parameters",
		[b]=d,
		[a]=e
	},
	["err_diagnose_if_invalid_diagnostic_type"]={
		[c]="invalid diagnostic type for \'diagnose_if\'; use \"error\" or \"warning\" instead",
		[b]=d,
		[a]=e
	},
	["err_different_asm_label"]={
		[c]="conflicting asm label",
		[b]=d,
		[a]=e
	},
	["err_different_language_linkage"]={
		[c]="declaration of A has a different language linkage",
		[b]=d,
		[a]=e
	},
	["err_different_pass_object_size_params"]={
		[c]="conflicting pass_object_size attributes on parameters",
		[b]=d,
		[a]=e
	},
	["err_different_return_type_for_overriding_virtual_function"]={
		[c]="virtual function A has a different return type (B) than the function it overrides (which has return type C)",
		[f]={"virtual function A has a different return type ",{"(B) than the function it overrides (which has return type C)","than the function it overrides"}},
		[b]=d,
		[a]=e
	},
	["err_digit_separator_not_between_digits"]={
		[c]="digit separator cannot appear at ... of digit sequence",
		[f]={"digit separator cannot appear at ",{"start","end"}," of digit sequence"},
		[b]=d,
		[a]=e
	},
	["err_dimension_expr_not_constant_integer"]={
		[c]="dimension expression does not evaluate to a constant unsigned int",
		[b]=d,
		[a]=e
	},
	["err_direct_selector_expression"]={
		[c]="@selector expression formed with direct selector A",
		[b]=d,
		[a]=e
	},
	["err_disallowed_duplicate_attribute"]={
		[c]="attribute A cannot appear more than once on a declaration",
		[b]=d,
		[a]=e
	},
	["err_distant_exception_spec"]={
		[c]="exception specifications are not allowed beyond a single level of indirection",
		[b]=d,
		[a]=e
	},
	["err_downcast_from_inaccessible_base"]={
		[c]="cannot cast ... base class B to A",
		[f]={"cannot cast ",{C,D}," base class B to A"},
		[b]=d,
		[a]=e
	},
	["err_drv_I_dash_not_supported"]={
		[c]="\'A\' not supported, please use -iquote instead",
		[b]=d,
		[a]=e
	},
	["err_drv_Xopenmp_target_missing_triple"]={
		[c]="cannot deduce implicit triple value for -Xopenmp-target, specify triple using -Xopenmp-target=<triple>",
		[b]=d,
		[a]=e
	},
	["err_drv_alignment_not_power_of_two"]={
		[c]="alignment is not a power of 2 in \'A\'",
		[b]=d,
		[a]=e
	},
	["err_drv_amdgpu_ieee_without_no_honor_nans"]={
		[c]="invalid argument \'-mno-amdgpu-ieee\' only allowed with relaxed NaN handling",
		[b]=d,
		[a]=e
	},
	["err_drv_arg_requires_bitcode_input"]={
		[c]="option \'A\' requires input to be LLVM bitcode",
		[b]=d,
		[a]=e
	},
	["err_drv_argument_not_allowed_with"]={
		[c]="invalid argument \'A\' not allowed with \'B\'",
		[b]=d,
		[a]=e
	},
	["err_drv_argument_only_allowed_with"]={
		[c]="invalid argument \'A\' only allowed with \'B\'",
		[b]=d,
		[a]=e
	},
	["err_drv_bad_offload_arch_combo"]={
		[c]="invalid offload arch combinations: \'A\' and \'B\' (for a specific processor, a feature should either exist in all offload archs, or not exist in any offload archs)",
		[b]=d,
		[a]=e
	},
	["err_drv_bad_target_id"]={
		[c]="invalid target ID \'A\'; format is a processor name followed by an optional colon-delimited list of features followed by an enable/disable sign (e.g., \'gfx908:sramecc+:xnack-\')",
		[b]=d,
		[a]=e
	},
	["err_drv_bitcode_unsupported_on_toolchain"]={
		[c]="-fembed-bitcode is not supported on versions of iOS prior to 6.0",
		[b]=d,
		[a]=e
	},
	["err_drv_cannot_mix_options"]={
		[c]="cannot specify \'B\' along with \'A\'",
		[b]=d,
		[a]=e
	},
	["err_drv_cannot_open_config_file"]={
		[c]="configuration file \'A\' cannot be opened: B",
		[b]=d,
		[a]=e
	},
	["err_drv_cannot_open_randomize_layout_seed_file"]={
		[c]="cannot read randomize layout seed file \'A\'",
		[b]=d,
		[a]=e
	},
	["err_drv_cannot_read_config_file"]={
		[c]="cannot read configuration file \'A\': B",
		[b]=d,
		[a]=e
	},
	["err_drv_cc_print_options_failure"]={
		[c]="unable to open CC_PRINT_OPTIONS file: A",
		[b]=d,
		[a]=e
	},
	["err_drv_clang_unsupported"]={
		[c]="the clang compiler does not support \'A\'",
		[b]=d,
		[a]=e
	},
	["err_drv_clang_unsupported_opt_cxx_darwin_i386"]={
		[c]="the clang compiler does not support \'A\' for C++ on Darwin/i386",
		[b]=d,
		[a]=e
	},
	["err_drv_clang_unsupported_opt_faltivec"]={
		[c]="the clang compiler does not support \'A\', B",
		[b]=d,
		[a]=e
	},
	["err_drv_clang_unsupported_opt_pg_darwin"]={
		[c]="the clang compiler does not support -pg option on ...",
		[f]={"the clang compiler does not support -pg option on ",{"Darwin","versions of OS X 10.9 and later"}},
		[b]=d,
		[a]=e
	},
	["err_drv_command_failed"]={
		[c]="A command failed with exit code B (use -v to see invocation)",
		[b]=d,
		[a]=e
	},
	["err_drv_command_failure"]={
		[c]="unable to execute command: A",
		[b]=d,
		[a]=e
	},
	["err_drv_command_signalled"]={
		[c]="A command failed due to signal (use -v to see invocation)",
		[b]=d,
		[a]=e
	},
	["err_drv_compilationdatabase"]={
		[c]="compilation database \'A\' could not be opened: B",
		[b]=d,
		[a]=e
	},
	["err_drv_config_file_not_found"]={
		[c]="configuration file \'A\' cannot be found",
		[b]=d,
		[a]=e
	},
	["err_drv_conflicting_deployment_targets"]={
		[c]="conflicting deployment targets, both \'A\' and \'B\' are present in environment",
		[b]=d,
		[a]=e
	},
	["err_drv_cuda_bad_gpu_arch"]={
		[c]="unsupported CUDA gpu architecture: A",
		[b]=d,
		[a]=e
	},
	["err_drv_cuda_host_arch"]={
		[c]="unsupported architecture \'A\' for host compilation",
		[b]=d,
		[a]=e
	},
	["err_drv_cuda_offload_only_emit_bc"]={
		[c]="CUDA offload target is supported only along with --emit-llvm",
		[b]=d,
		[a]=e
	},
	["err_drv_cuda_version_unsupported"]={
		[c]="GPU arch A is supported by CUDA versions between B and C (inclusive), but installation at D is E; use \'--cuda-path\' to specify a different CUDA install, pass a different GPU arch with \'--cuda-gpu-arch\', or pass \'--no-cuda-version-check\'",
		[b]=d,
		[a]=e
	},
	["err_drv_darwin_sdk_missing_arclite"]={
		[c]="SDK does not contain \'libarclite\' at the path \'A\'; try increasing the minimum deployment target",
		[b]=d,
		[a]=e
	},
	["err_drv_defsym_invalid_format"]={
		[c]="defsym must be of the form: sym=value: A",
		[b]=d,
		[a]=e
	},
	["err_drv_defsym_invalid_symval"]={
		[c]="value is not an integer: A",
		[b]=d,
		[a]=e
	},
	["err_drv_duplicate_config"]={
		[c]="no more than one option \'--config\' is allowed",
		[b]=d,
		[a]=e
	},
	["err_drv_dxc_missing_target_profile"]={
		[c]="target profile option (-T) is missing",
		[b]=d,
		[a]=e
	},
	["err_drv_emit_llvm_link"]={
		[c]="-emit-llvm cannot be used when linking",
		[b]=d,
		[a]=e
	},
	["err_drv_expand_response_file"]={
		[c]="failed to expand response file: A",
		[b]=d,
		[a]=e
	},
	["err_drv_expecting_fopenmp_with_fopenmp_targets"]={
		[c]="\'-fopenmp-targets\' must be used in conjunction with a \'-fopenmp\' option compatible with offloading; e.g., \'-fopenmp=libomp\' or \'-fopenmp=libiomp5\'",
		[b]=d,
		[a]=e
	},
	["err_drv_extract_api_wrong_kind"]={
		[c]="header file \'A\' input \'B\' does not match the type of prior input in api extraction; use \'-x C\' to override",
		[b]=d,
		[a]=e
	},
	["err_drv_failed_to_deduce_target_from_arch"]={
		[c]="failed to deduce triple for target architecture \'A\'; specify the triple using \'-fopenmp-targets\' and \'-Xopenmp-target\' instead.",
		[b]=d,
		[a]=e
	},
	["err_drv_force_crash"]={
		[c]="failing because ...",
		[f]={"failing because ",{"environment variable \'FORCE_CLANG_DIAGNOSTICS_CRASH\' is set","\'-gen-reproducer\' is used"}},
		[b]=d,
		[a]=e
	},
	["err_drv_gnustep_objc_runtime_incompatible_binary"]={
		[c]="GNUstep Objective-C runtime version A incompatible with target binary format",
		[b]=d,
		[a]=e
	},
	["err_drv_header_unit_extra_inputs"]={
		[c]="multiple inputs are not valid for header units (first extra \'A\')",
		[b]=d,
		[a]=e
	},
	["err_drv_hipspv_no_hip_path"]={
		[c]="\'--hip-path\' must be specified when offloading to SPIR-V....",
		[f]={"\'--hip-path\' must be specified when offloading to SPIR-V",{l," unless B is given"},"."},
		[b]=d,
		[a]=e
	},
	["err_drv_hlsl_unsupported_target"]={
		[c]="HLSL code generation is unsupported for target \'A\'",
		[b]=d,
		[a]=e
	},
	["err_drv_incompatible_omp_arch"]={
		[c]="OpenMP target architecture \'A\' pointer size is incompatible with host \'B\'",
		[b]=d,
		[a]=e
	},
	["err_drv_incompatible_options"]={
		[c]="the combination of \'A\' and \'B\' is incompatible",
		[b]=d,
		[a]=e
	},
	["err_drv_incompatible_unwindlib"]={
		[c]="--rtlib=libgcc requires --unwindlib=libgcc",
		[b]=d,
		[a]=e
	},
	["err_drv_invalid_Xarch_argument_with_args"]={
		[c]="invalid Xarch argument: \'A\', options requiring arguments are unsupported",
		[b]=d,
		[a]=e
	},
	["err_drv_invalid_Xopenmp_target_with_args"]={
		[c]="invalid -Xopenmp-target argument: \'A\', options requiring arguments are unsupported",
		[b]=d,
		[a]=e
	},
	["err_drv_invalid_arch_name"]={
		[c]="invalid arch name \'A\'",
		[b]=d,
		[a]=e
	},
	["err_drv_invalid_argument_to_option"]={
		[c]="invalid argument \'A\' to -B",
		[b]=d,
		[a]=e
	},
	["err_drv_invalid_cf_runtime_abi"]={
		[c]="invalid CoreFoundation Runtime ABI \'A\'; must be one of \'objc\', \'standalone\', \'swift\', \'swift-5.0\', \'swift-4.2\', \'swift-4.1\'",
		[b]=d,
		[a]=e
	},
	["err_drv_invalid_darwin_version"]={
		[c]="invalid Darwin version number: A",
		[b]=d,
		[a]=e
	},
	["err_drv_invalid_diagnotics_hotness_threshold"]={
		[c]="invalid argument in \'A\', only integer or \'auto\' is supported",
		[b]=d,
		[a]=e
	},
	["err_drv_invalid_diagnotics_misexpect_tolerance"]={
		[c]="invalid argument in \'A\', only integers are supported",
		[b]=d,
		[a]=e
	},
	["err_drv_invalid_directx_shader_module"]={
		[c]="invalid profile : A",
		[b]=d,
		[a]=e
	},
	["err_drv_invalid_empty_dxil_validator_version"]={
		[c]="invalid validator version : A\nIf validator major version is 0, minor version must also be 0.",
		[b]=d,
		[a]=e
	},
	["err_drv_invalid_format_dxil_validator_version"]={
		[c]="invalid validator version : A\nFormat of validator version is \"<major>.<minor>\" (ex:\"1.4\").",
		[b]=d,
		[a]=e
	},
	["err_drv_invalid_gcc_install_dir"]={
		[c]="\'A\' does not contain a GCC installation",
		[b]=d,
		[a]=e
	},
	["err_drv_invalid_gcc_output_type"]={
		[c]="invalid output type \'A\' for use with gcc tool",
		[b]=d,
		[a]=e
	},
	["err_drv_invalid_int_value"]={
		[c]="invalid integral value \'B\' in \'A\'",
		[b]=d,
		[a]=e
	},
	["err_drv_invalid_linker_name"]={
		[c]="invalid linker name in argument \'A\'",
		[b]=d,
		[a]=e
	},
	["err_drv_invalid_malign_branch_EQ"]={
		[c]="invalid argument \'A\' to -malign-branch=; each element must be one of: B",
		[b]=d,
		[a]=e
	},
	["err_drv_invalid_mfloat_abi"]={
		[c]="invalid float ABI \'A\'",
		[b]=d,
		[a]=e
	},
	["err_drv_invalid_mtp"]={
		[c]="invalid thread pointer reading mode \'A\'",
		[b]=d,
		[a]=e
	},
	["err_drv_invalid_object_mode"]={
		[c]="OBJECT_MODE setting A is not recognized and is not a valid setting",
		[b]=d,
		[a]=e
	},
	["err_drv_invalid_omp_target"]={
		[c]="OpenMP target is invalid: \'A\'",
		[b]=d,
		[a]=e
	},
	["err_drv_invalid_or_unsupported_offload_target"]={
		[c]="invalid or unsupported offload target: \'A\'",
		[b]=d,
		[a]=e
	},
	["err_drv_invalid_os_in_arg"]={
		[c]="invalid OS value \'A\' in \'B\'",
		[b]=d,
		[a]=e
	},
	["err_drv_invalid_output_with_multiple_archs"]={
		[c]="cannot use \'A\' output with multiple -arch options",
		[b]=d,
		[a]=e
	},
	["err_drv_invalid_range_dxil_validator_version"]={
		[c]="invalid validator version : A\nValidator version must be less than or equal to current internal version.",
		[b]=d,
		[a]=e
	},
	["err_drv_invalid_remap_file"]={
		[c]="invalid option \'A\' not of the form <from-file>;<to-file>",
		[b]=d,
		[a]=e
	},
	["err_drv_invalid_riscv_arch_name"]={
		[c]="invalid arch name \'A\', B",
		[b]=d,
		[a]=e
	},
	["err_drv_invalid_riscv_cpu_name_for_target"]={
		[c]="cpu \'A\' does not support rv...",
		[f]={"cpu \'A\' does not support rv",{"32","64"}},
		[b]=d,
		[a]=e
	},
	["err_drv_invalid_rtlib_name"]={
		[c]="invalid runtime library name in argument \'A\'",
		[b]=d,
		[a]=e
	},
	["err_drv_invalid_stdlib_name"]={
		[c]="invalid library name in argument \'A\'",
		[b]=d,
		[a]=e
	},
	["err_drv_invalid_thread_model_for_target"]={
		[c]="invalid thread model \'A\' in \'B\' for this target",
		[b]=d,
		[a]=e
	},
	["err_drv_invalid_unwindlib_name"]={
		[c]="invalid unwind library name in argument \'A\'",
		[b]=d,
		[a]=e
	},
	["err_drv_invalid_value"]={
		[c]="invalid value \'B\' in \'A\'",
		[b]=d,
		[a]=e
	},
	["err_drv_invalid_value_with_suggestion"]={
		[c]="invalid value \'B\' in \'A\', expected one of: C",
		[b]=d,
		[a]=e
	},
	["err_drv_invalid_version_number"]={
		[c]="invalid version number in \'A\'",
		[b]=d,
		[a]=e
	},
	["err_drv_loongarch_invalid_mfpu_EQ"]={
		[c]="invalid argument \'A\' to -mfpu=; must be one of: 64, 32, none, 0 (alias for none)",
		[b]=d,
		[a]=e
	},
	["err_drv_lto_without_lld"]={
		[c]="LTO requires -fuse-ld=lld",
		[b]=d,
		[a]=e
	},
	["err_drv_malformed_sanitizer_coverage_allowlist"]={
		[c]="malformed sanitizer coverage allowlist: \'A\'",
		[b]=d,
		[a]=e
	},
	["err_drv_malformed_sanitizer_coverage_ignorelist"]={
		[c]="malformed sanitizer coverage ignorelist: \'A\'",
		[b]=d,
		[a]=e
	},
	["err_drv_malformed_sanitizer_ignorelist"]={
		[c]="malformed sanitizer ignorelist: \'A\'",
		[b]=d,
		[a]=e
	},
	["err_drv_malformed_sanitizer_metadata_ignorelist"]={
		[c]="malformed sanitizer metadata ignorelist: \'A\'",
		[b]=d,
		[a]=e
	},
	["err_drv_mg_requires_m_or_mm"]={
		[c]="option \'-MG\' requires \'-M\' or \'-MM\'",
		[b]=d,
		[a]=e
	},
	["err_drv_minws_unsupported_input_type"]={
		[c]="\'-fminimize-whitespace\' invalid for input of type A",
		[b]=d,
		[a]=e
	},
	["err_drv_missing_arg_mtp"]={
		[c]="missing argument to \'A\'",
		[b]=d,
		[a]=e
	},
	["err_drv_missing_argument"]={
		[c]="argument to \'A\' is missing (expected B valueB)",
		[b]=d,
		[a]=e
	},
	["err_drv_missing_sanitizer_ignorelist"]={
		[c]="missing sanitizer ignorelist: \'A\'",
		[b]=d,
		[a]=e
	},
	["err_drv_mix_cuda_hip"]={
		[c]="mixed CUDA and HIP compilation is not supported",
		[b]=d,
		[a]=e
	},
	["err_drv_module_header_wrong_kind"]={
		[c]="header file \'A\' input type \'B\' does not match type of prior input in module compilation; use \'-x C\' to override",
		[b]=d,
		[a]=e
	},
	["err_drv_module_output_with_multiple_arch"]={
		[c]="option \'-fmodule-output\' can\'t be used with multiple arch options",
		[b]=d,
		[a]=e
	},
	["err_drv_modules_validate_once_requires_timestamp"]={
		[c]="option \'-fmodules-validate-once-per-build-session\' requires \'-fbuild-session-timestamp=<seconds since Epoch>\' or \'-fbuild-session-file=<file>\'",
		[b]=d,
		[a]=e
	},
	["err_drv_needs_hvx"]={
		[c]="A requires HVX, use -mhvx/-mhvx= to enable it",
		[b]=d,
		[a]=e
	},
	["err_drv_needs_hvx_version"]={
		[c]="A is not supported on HVX B",
		[b]=d,
		[a]=e
	},
	["err_drv_negative_columns"]={
		[c]="invalid value \'B\' in \'A\', value must be \'none\' or a positive integer",
		[b]=d,
		[a]=e
	},
	["err_drv_no_ast_support"]={
		[c]="\'A\': unable to use AST files with this tool",
		[b]=d,
		[a]=e
	},
	["err_drv_no_cuda_installation"]={
		[c]="cannot find CUDA installation; provide its path via \'--cuda-path\', or pass \'-nocudainc\' to build without CUDA includes",
		[b]=d,
		[a]=e
	},
	["err_drv_no_cuda_libdevice"]={
		[c]="cannot find libdevice for A; provide path to different CUDA installation via \'--cuda-path\', or pass \'-nocudalib\' to build without linking with libdevice",
		[b]=d,
		[a]=e
	},
	["err_drv_no_hip_runtime"]={
		[c]="cannot find HIP runtime; provide its path via \'--rocm-path\', or pass \'-nogpuinc\' to build without HIP runtime",
		[b]=d,
		[a]=e
	},
	["err_drv_no_hipspv_device_lib"]={
		[c]="cannot find HIP device library...; provide its path via \'--hip-path\' or \'--hip-device-lib-path\', or pass \'-nogpulib\' to build without HIP device library",
		[f]={"cannot find HIP device library",{l," for B"},"; provide its path via \'--hip-path\' or \'--hip-device-lib-path\', or pass \'-nogpulib\' to build without HIP device library"},
		[b]=d,
		[a]=e
	},
	["err_drv_no_input_files"]={
		[c]="no input files",
		[b]=d,
		[a]=e
	},
	["err_drv_no_linker_llvm_support"]={
		[c]="\'A\': unable to pass LLVM bit-code files to linker",
		[b]=d,
		[a]=e
	},
	["err_drv_no_module_support"]={
		[c]="\'A\': unable to use module files with this tool",
		[b]=d,
		[a]=e
	},
	["err_drv_no_neon_modifier"]={
		[c]="[no]neon is not accepted as modifier, please use [no]simd instead",
		[b]=d,
		[a]=e
	},
	["err_drv_no_rocm_device_lib"]={
		[c]="cannot find ROCm device library...; provide its path via \'--rocm-path\' or \'--rocm-device-lib-path\', or pass \'-nogpulib\' to build without ROCm device library",
		[f]={"cannot find ROCm device library",{l," for B","for ABI version B"},"; provide its path via \'--rocm-path\' or \'--rocm-device-lib-path\', or pass \'-nogpulib\' to build without ROCm device library"},
		[b]=d,
		[a]=e
	},
	["err_drv_no_such_file"]={
		[c]="no such file or directory: \'A\'",
		[b]=d,
		[a]=e
	},
	["err_drv_no_such_file_with_suggestion"]={
		[c]="no such file or directory: \'A\'; did you mean \'B\'?",
		[b]=d,
		[a]=e
	},
	["err_drv_offload_bad_gpu_arch"]={
		[c]="unsupported A gpu architecture: B",
		[b]=d,
		[a]=e
	},
	["err_drv_omp_host_ir_file_not_found"]={
		[c]="provided host compiler IR file \'A\' is required to generate code for OpenMP target regions but cannot be found",
		[b]=d,
		[a]=e
	},
	["err_drv_omp_host_target_not_supported"]={
		[c]="target \'A\' is not a supported OpenMP host target",
		[b]=d,
		[a]=e
	},
	["err_drv_omp_offload_target_bcruntime_not_found"]={
		[c]="bitcode library \'A\' does not exist",
		[b]=d,
		[a]=e
	},
	["err_drv_omp_offload_target_cuda_version_not_support"]={
		[c]="NVPTX target requires CUDA 9.2 or above; CUDA A detected",
		[b]=d,
		[a]=e
	},
	["err_drv_omp_offload_target_missingbcruntime"]={
		[c]="no library \'A\' found in the default clang lib directory or in LIBRARY_PATH; use \'--libomptarget-B-bc-path\' to specify B bitcode library",
		[b]=d,
		[a]=e
	},
	["err_drv_only_one_offload_target_supported"]={
		[c]="only one offload target is supported",
		[b]=d,
		[a]=e
	},
	["err_drv_optimization_remark_format"]={
		[c]="unknown remark serializer format: \'A\'",
		[b]=d,
		[a]=e
	},
	["err_drv_optimization_remark_pattern"]={
		[c]="in pattern \'B\': A",
		[b]=d,
		[a]=e
	},
	["err_drv_out_file_argument_with_multiple_sources"]={
		[c]="cannot specify \'AB\' when compiling multiple source files",
		[b]=d,
		[a]=e
	},
	["err_drv_output_argument_with_multiple_files"]={
		[c]="cannot specify -o when generating multiple output files",
		[b]=d,
		[a]=e
	},
	["err_drv_preamble_format"]={
		[c]="incorrect format for -preamble-bytes=N,END",
		[b]=d,
		[a]=e
	},
	["err_drv_print_header_env_var"]={
		[c]="environment variable CC_PRINT_HEADERS_... has invalid value B",
		[f]={"environment variable CC_PRINT_HEADERS_",{"FORMAT","FILTERING"}," has invalid value B"},
		[b]=d,
		[a]=e
	},
	["err_drv_print_header_env_var_combination"]={
		[c]="unsupported combination: CC_PRINT_HEADERS_FORMAT=A and CC_PRINT_HEADERS_FILTERING=B",
		[b]=d,
		[a]=e
	},
	["err_drv_print_header_env_var_combination_cc1"]={
		[c]="unsupported combination: -header-include-format=A and -header-include-filtering=B",
		[b]=d,
		[a]=e
	},
	["err_drv_riscv_unsupported_with_linker_relaxation"]={
		[c]="A is unsupported with RISC-V linker relaxation (-mrelax)",
		[b]=d,
		[a]=e
	},
	["err_drv_ropi_incompatible_with_cxx"]={
		[c]="ROPI is not compatible with c++",
		[b]=d,
		[a]=e
	},
	["err_drv_ropi_rwpi_incompatible_with_pic"]={
		[c]="embedded and GOT-based position independence are incompatible",
		[b]=d,
		[a]=e
	},
	["err_drv_small_columns"]={
		[c]="invalid value \'B\' in \'A\', value must be \'C\' or greater",
		[b]=d,
		[a]=e
	},
	["err_drv_ssp_missing_offset_argument"]={
		[c]="\'A\' is used without \'-mstack-protector-guard-offset\', and there is no default",
		[b]=d,
		[a]=e
	},
	["err_drv_target_variant_invalid"]={
		[c]="unsupported \'A\' value \'B\'; use \'ios-macabi\' instead",
		[b]=d,
		[a]=e
	},
	["err_drv_trivial_auto_var_init_stop_after_invalid_value"]={
		[c]="\'-ftrivial-auto-var-init-stop-after=*\' only accepts positive integers",
		[b]=d,
		[a]=e
	},
	["err_drv_trivial_auto_var_init_stop_after_missing_dependency"]={
		[c]="\'-ftrivial-auto-var-init-stop-after=*\' is used without \'-ftrivial-auto-var-init=zero\' or \'-ftrivial-auto-var-init=pattern\'",
		[b]=d,
		[a]=e
	},
	["err_drv_unable_to_remove_file"]={
		[c]="unable to remove file: A",
		[b]=d,
		[a]=e
	},
	["err_drv_unable_to_set_working_directory"]={
		[c]="unable to set working directory: A",
		[b]=d,
		[a]=e
	},
	["err_drv_undetermined_gpu_arch"]={
		[c]="cannot determine A architecture: B; consider passing it via \'C\'",
		[b]=d,
		[a]=e
	},
	["err_drv_unknown_argument"]={
		[c]="unknown argument: \'A\'",
		[b]=d,
		[a]=e
	},
	["err_drv_unknown_argument_with_suggestion"]={
		[c]="unknown argument \'A\'; did you mean \'B\'?",
		[b]=d,
		[a]=e
	},
	["err_drv_unknown_indirect_jump_opt"]={
		[c]="unknown \'-mindirect-jump=\' option \'A\'",
		[b]=d,
		[a]=e
	},
	["err_drv_unknown_language"]={
		[c]="language not recognized: \'A\'",
		[b]=d,
		[a]=e
	},
	["err_drv_unknown_objc_runtime"]={
		[c]="unknown or ill-formed Objective-C runtime \'A\'",
		[b]=d,
		[a]=e
	},
	["err_drv_unknown_stdin_type"]={
		[c]="-E or -x required when input is from standard input",
		[b]=d,
		[a]=e
	},
	["err_drv_unknown_stdin_type_clang_cl"]={
		[c]="use /Tc or /Tp to set input type for standard input",
		[b]=d,
		[a]=e
	},
	["err_drv_unknown_target_triple"]={
		[c]="unknown target triple \'A\'",
		[b]=d,
		[a]=e
	},
	["err_drv_unsupported_embed_bitcode"]={
		[c]="A is not supported with -fembed-bitcode",
		[b]=d,
		[a]=e
	},
	["err_drv_unsupported_fpatchable_function_entry_argument"]={
		[c]="the second argument of \'-fpatchable-function-entry\' must be smaller than the first argument",
		[b]=d,
		[a]=e
	},
	["err_drv_unsupported_indirect_jump_opt"]={
		[c]="\'-mindirect-jump=A\' is unsupported with the \'B\' architecture",
		[b]=d,
		[a]=e
	},
	["err_drv_unsupported_noabicalls_pic"]={
		[c]="position-independent code requires \'-mabicalls\'",
		[b]=d,
		[a]=e
	},
	["err_drv_unsupported_opt"]={
		[c]="unsupported option \'A\'",
		[b]=d,
		[a]=e
	},
	["err_drv_unsupported_opt_for_language_mode"]={
		[c]="unsupported option \'A\' for language mode \'B\'",
		[b]=d,
		[a]=e
	},
	["err_drv_unsupported_opt_for_target"]={
		[c]="unsupported option \'A\' for target \'B\'",
		[b]=d,
		[a]=e
	},
	["err_drv_unsupported_opt_with_suggestion"]={
		[c]="unsupported option \'A\'; did you mean \'B\'?",
		[b]=d,
		[a]=e
	},
	["err_drv_unsupported_option_argument"]={
		[c]="unsupported argument \'B\' to option \'A\'",
		[b]=d,
		[a]=e
	},
	["err_drv_unsupported_rtlib_for_platform"]={
		[c]="unsupported runtime library \'A\' for platform \'B\'",
		[b]=d,
		[a]=e
	},
	["err_drv_unsupported_static_sanitizer_darwin"]={
		[c]="static A runtime is not supported on darwin",
		[b]=d,
		[a]=e
	},
	["err_dtor_expr_without_call"]={
		[c]="reference to ... must be called...",
		[f]={ed,{p,"pseudo-destructor"}," must be called",{l,"; did you mean to call it with no arguments?"}},
		[b]=d,
		[a]=e
	},
	["err_dup_implementation_category"]={
		[c]="reimplementation of category B for class A",
		[b]=d,
		[a]=e
	},
	["err_dup_implementation_class"]={
		[c]="reimplementation of class A",
		[b]=d,
		[a]=e
	},
	["err_dup_virtual"]={
		[c]="duplicate \'virtual\' in base specifier",
		[b]=d,
		[a]=e
	},
	["err_duplicate_base_class"]={
		[c]="base class A specified more than once as a direct base class",
		[b]=d,
		[a]=e
	},
	["err_duplicate_case"]={
		[c]="duplicate case value \'A\'",
		[b]=d,
		[a]=e
	},
	["err_duplicate_case_differing_expr"]={
		[c]="duplicate case value: \'A\' and \'B\' both equal \'C\'",
		[b]=d,
		[a]=e
	},
	["err_duplicate_class_def"]={
		[c]="duplicate interface definition for class A",
		[b]=d,
		[a]=e
	},
	["err_duplicate_class_virt_specifier"]={
		[c]="class already marked \'A\'",
		[b]=d,
		[a]=e
	},
	["err_duplicate_declspec"]={
		[c]="duplicate \'A\' declaration specifier",
		[b]=d,
		[a]=e
	},
	["err_duplicate_default_assoc"]={
		[c]="duplicate default generic association",
		[b]=d,
		[a]=e
	},
	["err_duplicate_ivar_declaration"]={
		[c]="instance variable is already declared",
		[b]=d,
		[a]=e
	},
	["err_duplicate_ivar_use"]={
		[c]="synthesized properties A and B both claim instance variable C",
		[b]=d,
		[a]=e
	},
	["err_duplicate_mangled_name"]={
		[c]="definition with same mangled name \'A\' as another definition",
		[b]=d,
		[a]=e
	},
	["err_duplicate_member"]={
		[c]="duplicate member A",
		[b]=d,
		[a]=e
	},
	["err_duplicate_method_decl"]={
		[c]="duplicate declaration of method A",
		[b]=d,
		[a]=e
	},
	["err_duplicate_property"]={
		[c]="property has a previous declaration",
		[b]=d,
		[a]=e
	},
	["err_duplicate_virt_specifier"]={
		[c]="class member already marked \'A\'",
		[b]=d,
		[a]=e
	},
	["err_dynamic_and_noexcept_specification"]={
		[c]="cannot have both throw() and noexcept() clause on the same function",
		[b]=d,
		[a]=e
	},
	["err_dynamic_property_ivar_decl"]={
		[c]="dynamic property cannot have instance variable specification",
		[b]=d,
		[a]=e
	},
	["err_dynamic_var_init"]={
		[c]="dynamic initialization is not supported for __device__, __constant__, __shared__, and __managed__ variables.",
		[b]=d,
		[a]=e
	},
	["err_early_catch_all"]={
		[c]="catch-all handler must come last",
		[b]=d,
		[a]=e
	},
	["err_ellipsis_first_param"]={
		[c]="ISO C requires a named parameter before \'...\'",
		[b]=d,
		[a]=e
	},
	["err_ellipsis_in_declarator_not_parameter"]={
		[c]="only function and template parameters can be parameter packs",
		[b]=d,
		[a]=e
	},
	["err_embedded_directive"]={
		[c]="embedding a #A directive within macro arguments is not supported",
		[b]=d,
		[a]=e
	},
	["err_empty_enum"]={
		[c]="use of empty enum",
		[b]=d,
		[a]=e
	},
	["err_empty_requires_expr"]={
		[c]="a requires expression must contain at least one requirement",
		[b]=d,
		[a]=e
	},
	["err_empty_scalar_initializer"]={
		[c]="scalar initializer cannot be empty",
		[b]=d,
		[a]=e
	},
	["err_empty_sizeless_initializer"]={
		[c]="initializer for sizeless type A cannot be empty",
		[b]=d,
		[a]=e
	},
	["err_enum_invalid_underlying"]={
		[c]="non-integral type A is an invalid underlying type",
		[b]=d,
		[a]=e
	},
	["err_enum_mode_vector_type"]={
		[c]="mode A is not supported for enumeration types",
		[b]=d,
		[a]=e
	},
	["err_enum_redeclare_fixed_mismatch"]={
		[c]="enumeration previously declared with ...fixed underlying type",
		[f]={"enumeration previously declared with ",{"non",l},"fixed underlying type"},
		[b]=d,
		[a]=e
	},
	["err_enum_redeclare_scoped_mismatch"]={
		[c]="enumeration previously declared as ...scoped",
		[f]={"enumeration previously declared as ",{"un",l},"scoped"},
		[b]=d,
		[a]=e
	},
	["err_enum_redeclare_type_mismatch"]={
		[c]="enumeration redeclared with different underlying type A (was B)",
		[b]=d,
		[a]=e
	},
	["err_enum_template"]={
		[c]="enumeration cannot be a template",
		[b]=d,
		[a]=e
	},
	["err_enumerator_does_not_exist"]={
		[c]="enumerator A does not exist in instantiation of B",
		[b]=d,
		[a]=e
	},
	["err_enumerator_list_missing_comma"]={
		[c]="missing \',\' between enumerators",
		[b]=d,
		[a]=e
	},
	["err_enumerator_too_large"]={
		[c]="enumerator value is not representable in the underlying type A",
		[b]=d,
		[a]=e
	},
	["err_enumerator_unnamed_no_def"]={
		[c]="unnamed enumeration must be a definition",
		[b]=d,
		[a]=e
	},
	["err_enumerator_wrapped"]={
		[c]="enumerator value A is not representable in the underlying type B",
		[b]=d,
		[a]=e
	},
	["err_escape_too_large"]={
		[c]="... escape sequence out of range",
		[f]={{"hex","octal"}," escape sequence out of range"},
		[b]=d,
		[a]=e
	},
	["err_event_t_addr_space_qual"]={
		[c]="the event_t type can only be used with __private address space qualifier",
		[b]=d,
		[a]=e
	},
	["err_except_spec_unparsed"]={
		[c]="unexpected end of exception specification",
		[b]=d,
		[a]=e
	},
	["err_exception_spec_cycle"]={
		[c]="exception specification of A uses itself",
		[b]=d,
		[a]=e
	},
	["err_exception_spec_in_typedef"]={
		[c]="exception specifications are not allowed in ...",
		[f]={"exception specifications are not allowed in ",{"typedefs","type aliases"}},
		[b]=d,
		[a]=e
	},
	["err_exception_spec_incomplete_type"]={
		[c]="exception specification needed for member of incomplete class A",
		[b]=d,
		[a]=e
	},
	["err_exception_spec_not_parsed"]={
		[c]="exception specification is not available until end of class definition",
		[b]=d,
		[a]=e
	},
	["err_exceptions_disabled"]={
		[c]="cannot use \'A\' with exceptions disabled",
		[b]=d,
		[a]=e
	},
	["err_excess_initializers"]={
		[c]="excess elements in ... initializer",
		[f]={"excess elements in ",{rc,"vector","scalar",v,r}," initializer"},
		[b]=d,
		[a]=e
	},
	["err_excess_initializers_for_sizeless_type"]={
		[c]="excess elements in initializer for indivisible sizeless type A",
		[b]=d,
		[a]=e
	},
	["err_excess_initializers_in_char_array_initializer"]={
		[c]="excess elements in char array initializer",
		[b]=d,
		[a]=e
	},
	["err_expected"]={
		[c]="expected A",
		[b]=d,
		[a]=e
	},
	["err_expected_after"]={
		[c]="expected B after A",
		[b]=d,
		[a]=e
	},
	["err_expected_allocator_clause"]={
		[c]="expected an \'allocator\' clause inside of the target region; provide an \'allocator\' clause or use \'requires\' directive with the \'dynamic_allocators\' clause",
		[b]=d,
		[a]=e
	},
	["err_expected_allocator_expression"]={
		[c]="expected an allocator expression inside of the target region; provide an allocator expression or use \'requires\' directive with the \'dynamic_allocators\' clause",
		[b]=d,
		[a]=e
	},
	["err_expected_begin_assumes"]={
		[c]="\'#pragma omp end assumes\' with no matching \'#pragma omp begin assumes\'",
		[b]=d,
		[a]=e
	},
	["err_expected_begin_declare_variant"]={
		[c]="\'#pragma omp end declare variant\' with no matching \'#pragma omp begin declare variant\'",
		[b]=d,
		[a]=e
	},
	["err_expected_callable_argument"]={
		[c]="expected a callable expression as A argument to B, found C",
		[b]=d,
		[a]=e
	},
	["err_expected_capture"]={
		[c]="expected variable name or \'this\' in lambda capture list",
		[b]=d,
		[a]=e
	},
	["err_expected_case_before_expression"]={
		[c]="expected \'case\' keyword before expression",
		[b]=d,
		[a]=e
	},
	["err_expected_catch"]={
		[c]="expected catch",
		[b]=d,
		[a]=e
	},
	["err_expected_class_name"]={
		[c]="expected class name",
		[b]=d,
		[a]=e
	},
	["err_expected_class_name_not_template"]={
		[c]="\'typename\' is redundant; base classes are implicitly types",
		[b]=d,
		[a]=e
	},
	["err_expected_class_or_namespace"]={
		[c]="A is not a class...",
		[f]={"A is not a class",{" or namespace",", namespace, or enumeration"}},
		[b]=d,
		[a]=e
	},
	["err_expected_colon_after_setter_name"]={
		[c]="method name referenced in property setter attribute must end with \':\'",
		[b]=d,
		[a]=e
	},
	["err_expected_coloncolon_after_super"]={
		[c]="expected \'::\' after \'__super\'",
		[b]=d,
		[a]=e
	},
	["err_expected_comma_greater"]={
		[c]="expected \',\' or \'>\' in template-parameter-list",
		[b]=d,
		[a]=e
	},
	["err_expected_comma_or_rsquare"]={
		[c]="expected \',\' or \']\' in lambda capture list",
		[b]=d,
		[a]=e
	},
	["err_expected_either"]={
		[c]="expected A or B",
		[b]=d,
		[a]=e
	},
	["err_expected_end_declare_target_or_variant"]={
		[c]="expected \'#pragma omp end declare ...\'",
		[f]={"expected \'#pragma omp end declare ",{"target","variant"},x},
		[b]=d,
		[a]=e
	},
	["err_expected_end_of_enumerator"]={
		[c]="expected \'= constant-expression\' or end of enumerator definition",
		[b]=d,
		[a]=e
	},
	["err_expected_equal_designator"]={
		[c]="expected \'=\' or another designator",
		[b]=d,
		[a]=e
	},
	["err_expected_expression"]={
		[c]="expected expression",
		[b]=d,
		[a]=e
	},
	["err_expected_external_declaration"]={
		[c]="expected external declaration",
		[b]=d,
		[a]=e
	},
	["err_expected_field_designator"]={
		[c]="expected a field designator, such as \'.field = 4\'",
		[b]=d,
		[a]=e
	},
	["err_expected_fn_body"]={
		[c]="expected function body after function declarator",
		[b]=d,
		[a]=e
	},
	["err_expected_fold_operator"]={
		[c]="expected a foldable binary operator in fold expression",
		[b]=d,
		[a]=e
	},
	["err_expected_id_building_module"]={
		[c]="expected a module name in \'__building_module\' expression",
		[b]=d,
		[a]=e
	},
	["err_expected_init_in_condition"]={
		[c]="variable declaration in condition must have an initializer",
		[b]=d,
		[a]=e
	},
	["err_expected_init_in_condition_lparen"]={
		[c]="variable declaration in condition cannot have a parenthesized initializer",
		[b]=d,
		[a]=e
	},
	["err_expected_kernel_void_return_type"]={
		[c]="kernel must have void return type",
		[b]=d,
		[a]=e
	},
	["err_expected_lambda_body"]={
		[c]="expected body of lambda expression",
		[b]=d,
		[a]=e
	},
	["err_expected_lbrace_after_base_specifiers"]={
		[c]="expected \'{\' after base class list",
		[b]=d,
		[a]=e
	},
	["err_expected_lbrace_in_compound_literal"]={
		[c]="expected \'{\' in compound literal",
		[b]=d,
		[a]=e
	},
	["err_expected_less_after"]={
		[c]="expected \'<\' after \'A\'",
		[b]=d,
		[a]=e
	},
	["err_expected_lparen_after"]={
		[c]="expected \'(\' after \'A\'",
		[b]=d,
		[a]=e
	},
	["err_expected_lparen_after_type"]={
		[c]="expected \'(\' for function-style cast or type construction",
		[b]=d,
		[a]=e
	},
	["err_expected_member_name_or_semi"]={
		[c]="expected member name or \';\' after declaration specifiers",
		[b]=d,
		[a]=e
	},
	["err_expected_member_name_or_semi_objcxx_keyword"]={
		[c]="expected member name or \';\' after declaration specifiers; A is a keyword in Objective-C++",
		[b]=d,
		[a]=e
	},
	["err_expected_member_or_base_name"]={
		[c]="expected class member or base class name",
		[b]=d,
		[a]=e
	},
	["err_expected_method_body"]={
		[c]="expected method body",
		[b]=d,
		[a]=e
	},
	["err_expected_minus_or_plus"]={
		[c]="method type specifier must start with \'-\' or \'+\'",
		[b]=d,
		[a]=e
	},
	["err_expected_namespace_name"]={
		[c]="expected namespace name",
		[b]=d,
		[a]=e
	},
	["err_expected_objc_container"]={
		[c]="\'@end\' must appear in an Objective-C context",
		[b]=d,
		[a]=e
	},
	["err_expected_parameter_pack"]={
		[c]="expected the name of a parameter pack",
		[b]=d,
		[a]=e
	},
	["err_expected_parentheses_around_typename"]={
		[c]="expected parentheses around type name in A expression",
		[b]=d,
		[a]=e
	},
	["err_expected_property_name"]={
		[c]="expected property name",
		[b]=d,
		[a]=e
	},
	["err_expected_punc"]={
		[c]="expected \')\' or \',\' after \'A\'",
		[b]=d,
		[a]=e
	},
	["err_expected_qualified_after_typename"]={
		[c]="expected a qualified name after \'typename\'",
		[b]=d,
		[a]=e
	},
	["err_expected_rparen_after"]={
		[c]="expected \')\' after \'A\'",
		[b]=d,
		[a]=e
	},
	["err_expected_selector_for_method"]={
		[c]="expected selector for Objective-C method",
		[b]=d,
		[a]=e
	},
	["err_expected_semantic_identifier"]={
		[c]="expected HLSL Semantic identifier",
		[b]=d,
		[a]=e
	},
	["err_expected_semi_after_attribute_list"]={
		[c]="expected \';\' after attribute list",
		[b]=d,
		[a]=e
	},
	["err_expected_semi_after_expr"]={
		[c]="expected \';\' after expression",
		[b]=d,
		[a]=e
	},
	["err_expected_semi_after_method_proto"]={
		[c]="expected \';\' after method prototype",
		[b]=d,
		[a]=e
	},
	["err_expected_semi_after_namespace_name"]={
		[c]="expected \';\' after namespace name",
		[b]=d,
		[a]=e
	},
	["err_expected_semi_after_static_assert"]={
		[c]="expected \';\' after \'A\'",
		[b]=d,
		[a]=e
	},
	["err_expected_semi_after_stmt"]={
		[c]="expected \';\' after A statement",
		[b]=d,
		[a]=e
	},
	["err_expected_semi_decl_list"]={
		[c]="expected \';\' at end of declaration list",
		[b]=d,
		[a]=e
	},
	["err_expected_semi_declaration"]={
		[c]="expected \';\' at end of declaration",
		[b]=d,
		[a]=e
	},
	["err_expected_semi_for"]={
		[c]="expected \';\' in \'for\' statement specifier",
		[b]=d,
		[a]=e
	},
	["err_expected_semi_requirement"]={
		[c]="expected \';\' at end of requirement",
		[b]=d,
		[a]=e
	},
	["err_expected_sequence_or_directive"]={
		[c]="expected an OpenMP \'directive\' or \'sequence\' attribute argument",
		[b]=d,
		[a]=e
	},
	["err_expected_star_this_capture"]={
		[c]="expected \'this\' following \'*\' in lambda capture list",
		[b]=d,
		[a]=e
	},
	["err_expected_statement"]={
		[c]="expected statement",
		[b]=d,
		[a]=e
	},
	["err_expected_string_literal"]={
		[c]="expected string literal ...",
		[f]={"expected string literal ",{"in B","for diagnostic message in static_assert","for optional message in \'availability\' attribute",{"for ",{"language name","source container name","USR"}," in \'external_source_symbol\' attribute"}}},
		[b]=d,
		[a]=e
	},
	["err_expected_struct_pointer_argument"]={
		[c]="expected pointer to struct as A argument to B, found C",
		[b]=d,
		[a]=e
	},
	["err_expected_template"]={
		[c]="expected template",
		[b]=d,
		[a]=e
	},
	["err_expected_template_parameter"]={
		[c]="expected template parameter",
		[b]=d,
		[a]=e
	},
	["err_expected_token_instead_of_objcxx_keyword"]={
		[c]="expected A; B is a keyword in Objective-C++",
		[b]=d,
		[a]=e
	},
	["err_expected_type"]={
		[c]="expected a type",
		[b]=d,
		[a]=e
	},
	["err_expected_type_name_after_typename"]={
		[c]="expected an identifier or template-id after \'::\'",
		[b]=d,
		[a]=e
	},
	["err_expected_unqualified_id"]={
		[c]="expected ...",
		[f]={Md,{"identifier","unqualified-id"}},
		[b]=d,
		[a]=e
	},
	["err_expected_version"]={
		[c]="expected a version of the form \'major[.minor[.subminor]]\'",
		[b]=d,
		[a]=e
	},
	["err_expected_while"]={
		[c]="expected \'while\' in do/while loop",
		[b]=d,
		[a]=e
	},
	["err_experimental_clang_interp_failed"]={
		[c]="the experimental clang interpreter failed to evaluate an expression",
		[b]=d,
		[a]=e
	},
	["err_explicit_instantiation_ambiguous"]={
		[c]="partial ordering for explicit instantiation of A is ambiguous",
		[b]=d,
		[a]=e
	},
	["err_explicit_instantiation_constexpr"]={
		[c]="explicit instantiation cannot be \'constexpr\'",
		[b]=d,
		[a]=e
	},
	["err_explicit_instantiation_data_member_not_instantiated"]={
		[c]="explicit instantiation refers to static data member A that is not an instantiation",
		[b]=d,
		[a]=e
	},
	["err_explicit_instantiation_declaration_after_definition"]={
		[c]="explicit instantiation declaration (with \'extern\') follows explicit instantiation definition (without \'extern\')",
		[b]=d,
		[a]=e
	},
	["err_explicit_instantiation_dependent"]={
		[c]="explicit instantiation has dependent template arguments",
		[b]=d,
		[a]=e
	},
	["err_explicit_instantiation_duplicate"]={
		[c]="duplicate explicit instantiation of A",
		[b]=d,
		[a]=e
	},
	["err_explicit_instantiation_enum"]={
		[c]="enumerations cannot be explicitly instantiated",
		[b]=d,
		[a]=e
	},
	["err_explicit_instantiation_in_class"]={
		[c]="explicit instantiation of A in class scope",
		[b]=d,
		[a]=e
	},
	["err_explicit_instantiation_inline"]={
		[c]="explicit instantiation cannot be \'inline\'",
		[b]=d,
		[a]=e
	},
	["err_explicit_instantiation_internal_linkage"]={
		[c]="explicit instantiation declaration of A with internal linkage",
		[b]=d,
		[a]=e
	},
	["err_explicit_instantiation_member_function_not_instantiated"]={
		[c]="explicit instantiation refers to member function A that is not an instantiation",
		[b]=d,
		[a]=e
	},
	["err_explicit_instantiation_must_be_global"]={
		[c]="explicit instantiation of A must occur at global scope",
		[b]=d,
		[a]=e
	},
	["err_explicit_instantiation_nontemplate_type"]={
		[c]="explicit instantiation of non-templated type A",
		[b]=d,
		[a]=e
	},
	["err_explicit_instantiation_not_known"]={
		[c]="explicit instantiation of A does not refer to a function template, variable template, member function, member class, or static data member",
		[b]=d,
		[a]=e
	},
	["err_explicit_instantiation_of_typedef"]={
		[c]="explicit instantiation of typedef A",
		[b]=d,
		[a]=e
	},
	["err_explicit_instantiation_out_of_scope"]={
		[c]="explicit instantiation of A not in a namespace enclosing B",
		[b]=d,
		[a]=e
	},
	["err_explicit_instantiation_requires_name"]={
		[c]="explicit instantiation declaration requires a name",
		[b]=d,
		[a]=e
	},
	["err_explicit_instantiation_storage_class"]={
		[c]="explicit instantiation cannot have a storage class",
		[b]=d,
		[a]=e
	},
	["err_explicit_instantiation_undefined_func_template"]={
		[c]="explicit instantiation of undefined function template A",
		[b]=d,
		[a]=e
	},
	["err_explicit_instantiation_undefined_member"]={
		[c]="explicit instantiation of undefined ... B of class template C",
		[f]={"explicit instantiation of undefined ",{"member class","member function","static data member"}," B of class template C"},
		[b]=d,
		[a]=e
	},
	["err_explicit_instantiation_undefined_var_template"]={
		[c]="explicit instantiation of undefined variable template A",
		[b]=d,
		[a]=e
	},
	["err_explicit_instantiation_unqualified_wrong_namespace"]={
		[c]="explicit instantiation of A must occur in namespace B",
		[b]=d,
		[a]=e
	},
	["err_explicit_instantiation_with_definition"]={
		[c]="explicit template instantiation cannot have a definition; if this definition is meant to be an explicit specialization, add \'<>\' after the \'template\' keyword",
		[b]=d,
		[a]=e
	},
	["err_explicit_instantiation_without_template_id"]={
		[c]="explicit instantiation of A must specify a template argument list",
		[b]=d,
		[a]=e
	},
	["err_explicit_non_ctor_or_conv_function"]={
		[c]="\'explicit\' can only be applied to a constructor or conversion function",
		[b]=d,
		[a]=e
	},
	["err_explicit_non_function"]={
		[c]="\'explicit\' can only appear on non-static member functions",
		[b]=d,
		[a]=e
	},
	["err_explicit_out_of_class"]={
		[c]="\'explicit\' can only be specified inside the class definition",
		[b]=d,
		[a]=e
	},
	["err_explicit_spec_non_template"]={
		[c]="explicit ... of ...template B C",
		[f]={"explicit ",{"specialization","instantiation"}," of ",{gd,"undeclared "},"template B C"},
		[b]=d,
		[a]=e
	},
	["err_explicit_specialization_inconsistent_storage_class"]={
		[c]="explicit specialization has extraneous, inconsistent storage class \'...\'",
		[f]={"explicit specialization has extraneous, inconsistent storage class \'",{"none","extern",Vc,"__private_extern__","auto","register"},x},
		[b]=d,
		[a]=e
	},
	["err_exponent_has_no_digits"]={
		[c]="exponent has no digits",
		[b]=d,
		[a]=e
	},
	["err_export_anon_ns_internal"]={
		[c]="anonymous namespaces cannot be exported",
		[b]=d,
		[a]=e
	},
	["err_export_empty"]={
		[c]="export declaration cannot be empty",
		[b]=d,
		[a]=e
	},
	["err_export_in_private_module_fragment"]={
		[c]="export declaration cannot be used in a private module fragment",
		[b]=d,
		[a]=e
	},
	["err_export_inline_not_defined"]={
		[c]="inline function not defined...",
		[f]={"inline function not defined",{l," before the private module fragment"}},
		[b]=d,
		[a]=e
	},
	["err_export_internal"]={
		[c]="declaration of A with internal linkage cannot be exported",
		[b]=d,
		[a]=e
	},
	["err_export_non_namespace_scope_name"]={
		[c]="cannot export A as it is not at namespace scope",
		[b]=d,
		[a]=e
	},
	["err_export_not_in_module_interface"]={
		[c]="export declaration can only be used within a module purview",
		[b]=d,
		[a]=e
	},
	["err_export_partition_impl"]={
		[c]="module partition implementations cannot be exported",
		[b]=d,
		[a]=e
	},
	["err_export_using_internal"]={
		[c]="using declaration referring to B with ... linkage cannot be exported",
		[f]={"using declaration referring to B with ",{"internal",Ic,"unknown"}," linkage cannot be exported"},
		[b]=d,
		[a]=e
	},
	["err_export_within_anonymous_namespace"]={
		[c]="export declaration appears within anonymous namespace",
		[b]=d,
		[a]=e
	},
	["err_export_within_export"]={
		[c]="export declaration appears within another export declaration",
		[b]=d,
		[a]=e
	},
	["err_expr_not_cce"]={
		[c]="... is not a constant expression",
		[f]={{"case value","enumerator value","non-type template argument","array size","explicit specifier argument","noexcept specifier argument","call to \'size()\'","call to \'data()\'"}," is not a constant expression"},
		[b]=d,
		[a]=e
	},
	["err_expr_not_ice"]={
		[c]="expression is not an ... constant expression",
		[f]={"expression is not an ",{Ac,wc}," constant expression"},
		[b]=d,
		[a]=e
	},
	["err_expr_not_string_literal"]={
		[c]="expression is not a string literal",
		[b]=d,
		[a]=e
	},
	["err_ext_vector_component_exceeds_length"]={
		[c]="vector component access exceeds type A",
		[b]=d,
		[a]=e
	},
	["err_ext_vector_component_name_illegal"]={
		[c]="illegal vector component name \'A\'",
		[b]=d,
		[a]=e
	},
	["err_extdefmap_parsing"]={
		[c]="error parsing index file: \'A\' line: B \'<USR-Length>:<USR> <File-Path>\' format expected",
		[b]=d,
		[a]=e
	},
	["err_extern_c_global_conflict"]={
		[c]="declaration of B ... conflicts with declaration ...",
		[f]={"declaration of B ",{"with C language linkage","in global scope"}," conflicts with declaration ",{"in global scope","with C language linkage"}},
		[b]=d,
		[a]=e
	},
	["err_extern_def_in_header_unit"]={
		[c]="non-inline external definitions are not permitted in C++ header units",
		[b]=d,
		[a]=e
	},
	["err_extern_non_extern"]={
		[c]="extern declaration of A follows non-extern declaration",
		[b]=d,
		[a]=e
	},
	["err_external_source_symbol_duplicate_clause"]={
		[c]="duplicate A clause in an \'external_source_symbol\' attribute",
		[b]=d,
		[a]=e
	},
	["err_external_source_symbol_expected_keyword"]={
		[c]="expected \'language\', \'defined_in\', \'generated_declaration\', or \'USR\'",
		[b]=d,
		[a]=e
	},
	["err_extract_api_ignores_file_not_found"]={
		[c]="file \'A\' specified by \'--extract-api-ignores=\' not found",
		[b]=s,
		[a]=t
	},
	["err_extraneous_closing_brace"]={
		[c]="extraneous closing brace (\'}\')",
		[b]=d,
		[a]=e
	},
	["err_extraneous_rparen_in_condition"]={
		[c]="extraneous \')\' after condition, expected a statement",
		[b]=d,
		[a]=e
	},
	["err_extraneous_token_before_semi"]={
		[c]="extraneous \'A\' before \';\'",
		[b]=d,
		[a]=e
	},
	["err_falloff_nonvoid_block"]={
		[c]="non-void block does not return a value",
		[b]=d,
		[a]=e
	},
	["err_fallthrough_attr_invalid_placement"]={
		[c]="fallthrough annotation does not directly precede switch label",
		[b]=d,
		[a]=e
	},
	["err_fallthrough_attr_outside_switch"]={
		[c]="fallthrough annotation is outside switch statement",
		[b]=d,
		[a]=e
	},
	["err_fallthrough_attr_wrong_target"]={
		[c]="A attribute is only allowed on empty statements",
		[b]=d,
		[a]=e
	},
	["err_fe_action_not_available"]={
		[c]="action A not compiled in",
		[b]=d,
		[a]=e
	},
	["err_fe_ast_file_modified"]={
		[c]="file \'A\' has been modified since the ... \'C\' was built: ... changed...",
		[f]={"file \'A\' has been modified since the ",{"precompiled header","module file","AST file"}," \'C\' was built: ",{Jd,"mtime","content"}," changed",{l," (was F, now G)"}},
		[b]=s,
		[a]=t
	},
	["err_fe_backend_error_attr"]={
		[c]="call to \'A\' declared with \'error\' attribute: B",
		[b]=d,
		[a]=e
	},
	["err_fe_backend_resource_limit"]={
		[c]="A (B) exceeds limit (C) in \'D\'",
		[b]=d,
		[a]=e
	},
	["err_fe_dependency_file_requires_MT"]={
		[c]="-dependency-file requires at least one -MT or -MQ option",
		[b]=d,
		[a]=e
	},
	["err_fe_error_backend"]={
		[c]="error in backend: A",
		[b]=s,
		[a]=t
	},
	["err_fe_error_opening"]={
		[c]="error opening \'A\': B",
		[b]=d,
		[a]=e
	},
	["err_fe_error_reading"]={
		[c]="error reading \'A\': B",
		[b]=d,
		[a]=e
	},
	["err_fe_error_reading_stdin"]={
		[c]="error reading stdin: A",
		[b]=d,
		[a]=e
	},
	["err_fe_expected_clang_command"]={
		[c]="expected a clang compiler command",
		[b]=d,
		[a]=e
	},
	["err_fe_expected_compiler_job"]={
		[c]="unable to handle compilation, expected exactly one compiler job in \'A\'",
		[b]=d,
		[a]=e
	},
	["err_fe_invalid_alignment"]={
		[c]="invalid value \'B\' in \'A\'; alignment must be a power of 2",
		[b]=d,
		[a]=e
	},
	["err_fe_invalid_code_complete_file"]={
		[c]="cannot locate code-completion file A",
		[b]=s,
		[a]=t
	},
	["err_fe_invalid_exception_model"]={
		[c]="invalid exception model \'...\' for target \'B\'",
		[f]={"invalid exception model \'",{"none","sjlj","seh","dwarf","wasm"},"\' for target \'B\'"},
		[b]=d,
		[a]=e
	},
	["err_fe_invalid_plugin_name"]={
		[c]="unable to find plugin \'A\'",
		[b]=d,
		[a]=e
	},
	["err_fe_invalid_source_date_epoch"]={
		[c]="environment variable \'SOURCE_DATE_EPOCH\' (\'A\') must be a non-negative decimal integer <= B",
		[b]=d,
		[a]=e
	},
	["err_fe_linking_module"]={
		[c]="cannot link module \'A\': B",
		[b]=s,
		[a]=t
	},
	["err_fe_no_pch_in_dir"]={
		[c]="no suitable precompiled header file found in directory \'A\'",
		[b]=d,
		[a]=e
	},
	["err_fe_not_a_pch_file"]={
		[c]="input is not a PCH file: \'A\'",
		[b]=d,
		[a]=e
	},
	["err_fe_pch_file_overridden"]={
		[c]="file \'A\' from the precompiled header has been overridden",
		[b]=d,
		[a]=e
	},
	["err_fe_pch_malformed"]={
		[c]="malformed or corrupted AST file: \'A\'",
		[b]=s,
		[a]=t
	},
	["err_fe_pch_malformed_block"]={
		[c]="malformed block record in PCH file: \'A\'",
		[b]=s,
		[a]=t
	},
	["err_fe_remap_missing_from_file"]={
		[c]="could not remap from missing file \'A\'",
		[b]=s,
		[a]=t
	},
	["err_fe_remap_missing_to_file"]={
		[c]="could not remap file \'A\' to the contents of file \'B\'",
		[b]=s,
		[a]=t
	},
	["err_fe_unable_to_create_target"]={
		[c]="unable to create target: \'A\'",
		[b]=d,
		[a]=e
	},
	["err_fe_unable_to_interface_with_target"]={
		[c]="unable to interface with target machine",
		[b]=d,
		[a]=e
	},
	["err_fe_unable_to_load_basic_block_sections_file"]={
		[c]="unable to load basic block sections function list: \'A\'",
		[b]=d,
		[a]=e
	},
	["err_fe_unable_to_load_pch"]={
		[c]="unable to load PCH file",
		[b]=d,
		[a]=e
	},
	["err_fe_unable_to_load_plugin"]={
		[c]="unable to load plugin \'A\': \'B\'",
		[b]=d,
		[a]=e
	},
	["err_fe_unable_to_open_output"]={
		[c]="unable to open output file \'A\': \'B\'",
		[b]=d,
		[a]=e
	},
	["err_fe_unable_to_read_pch_file"]={
		[c]="unable to read PCH file A: \'B\'",
		[b]=d,
		[a]=e
	},
	["err_feature_check_malformed"]={
		[c]="builtin feature check macro requires a parenthesized identifier",
		[b]=d,
		[a]=e
	},
	["err_field_declared_as_function"]={
		[c]="field A declared as a function",
		[b]=d,
		[a]=e
	},
	["err_field_designator_non_aggr"]={
		[c]="field designator cannot initialize a ... type B",
		[f]={"field designator cannot initialize a ",{"non-struct, non-union","non-class"},Rc},
		[b]=d,
		[a]=e
	},
	["err_field_designator_nonfield"]={
		[c]="field designator A does not refer to a non-static data member",
		[b]=d,
		[a]=e
	},
	["err_field_designator_unknown"]={
		[c]="field designator A does not refer to any field in type B",
		[b]=d,
		[a]=e
	},
	["err_field_designator_unknown_suggest"]={
		[c]="field designator A does not refer to any field in type B; did you mean C?",
		[b]=d,
		[a]=e
	},
	["err_field_incomplete_or_sizeless"]={
		[c]="field has ... type B",
		[f]={"field has ",{"incomplete",yd},Rc},
		[b]=d,
		[a]=e
	},
	["err_field_instantiates_to_function"]={
		[c]="data member instantiated with function type A",
		[b]=d,
		[a]=e
	},
	["err_field_with_address_space"]={
		[c]="field may not be qualified with an address space",
		[b]=d,
		[a]=e
	},
	["err_file_modified"]={
		[c]="file \'A\' modified since it was first processed",
		[b]=s,
		[a]=t
	},
	["err_file_too_large"]={
		[c]="sorry, unsupported: file \'A\' is too large for Clang to process",
		[b]=d,
		[a]=e
	},
	["err_filter_expression_integral"]={
		[c]="filter expression has non-integral type A",
		[b]=d,
		[a]=e
	},
	["err_final_function_overridden"]={
		[c]="declaration of A overrides a \'...\' function",
		[f]={"declaration of A overrides a \'",{"final","sealed"},"\' function"},
		[b]=d,
		[a]=e
	},
	["err_first_argument_to_cwsc_block_call"]={
		[c]="first argument to __builtin_call_with_static_chain must not be a block call",
		[b]=d,
		[a]=e
	},
	["err_first_argument_to_cwsc_builtin_call"]={
		[c]="first argument to __builtin_call_with_static_chain must not be a builtin call",
		[b]=d,
		[a]=e
	},
	["err_first_argument_to_cwsc_not_call"]={
		[c]="first argument to __builtin_call_with_static_chain must be a non-member call expression",
		[b]=d,
		[a]=e
	},
	["err_first_argument_to_cwsc_pdtor_call"]={
		[c]="first argument to __builtin_call_with_static_chain must not be a pseudo-destructor call",
		[b]=d,
		[a]=e
	},
	["err_first_argument_to_va_arg_not_of_type_va_list"]={
		[c]="first argument to \'va_arg\' is of type A and not \'va_list\'",
		[b]=d,
		[a]=e
	},
	["err_fixed_point_not_enabled"]={
		[c]="compile with \'-ffixed-point\' to enable fixed point types",
		[b]=d,
		[a]=e
	},
	["err_flexible_array_arc_retainable"]={
		[c]="ARC forbids flexible array members with retainable object type",
		[b]=d,
		[a]=e
	},
	["err_flexible_array_empty_aggregate"]={
		[c]="flexible array member A not allowed in otherwise empty ...",
		[f]={"flexible array member A not allowed in otherwise empty ",{r,B,v,o,pb}},
		[b]=d,
		[a]=e
	},
	["err_flexible_array_has_nontrivial_dtor"]={
		[c]="flexible array member A of type B with non-trivial destruction",
		[b]=d,
		[a]=e
	},
	["err_flexible_array_init"]={
		[c]="initialization of flexible array member is not allowed",
		[b]=d,
		[a]=e
	},
	["err_flexible_array_init_needs_braces"]={
		[c]="flexible array requires brace-enclosed initializer",
		[b]=d,
		[a]=e
	},
	["err_flexible_array_not_at_end"]={
		[c]="flexible array member A with type B is not at the end of ...",
		[f]={"flexible array member A with type B is not at the end of ",{r,B,v,o,pb}},
		[b]=d,
		[a]=e
	},
	["err_flexible_array_union"]={
		[c]="flexible array member A in a union is not allowed",
		[b]=d,
		[a]=e
	},
	["err_flexible_array_virtual_base"]={
		[c]="flexible array member A not allowed in ... which has a virtual base class",
		[f]={"flexible array member A not allowed in ",{r,B,v,o,pb}," which has a virtual base class"},
		[b]=d,
		[a]=e
	},
	["err_fold_expression_bad_operand"]={
		[c]="expression not permitted as operand of fold expression",
		[b]=d,
		[a]=e
	},
	["err_fold_expression_empty"]={
		[c]="unary fold expression has empty expansion for operator \'A\' with no fallback value",
		[b]=d,
		[a]=e
	},
	["err_fold_expression_limit_exceeded"]={
		[c]="instantiating fold expression with A arguments exceeded expression nesting limit of B",
		[b]=s,
		[a]=t
	},
	["err_fold_expression_packs_both_sides"]={
		[c]="binary fold expression has unexpanded parameter packs in both operands",
		[b]=d,
		[a]=e
	},
	["err_fold_operator_mismatch"]={
		[c]="operators in fold expression must be the same",
		[b]=d,
		[a]=e
	},
	["err_for_co_await_not_range_for"]={
		[c]="\'co_await\' modifier can only be applied to range-based for loop",
		[b]=d,
		[a]=e
	},
	["err_for_range_decl_must_be_var"]={
		[c]="for range declaration must declare a variable",
		[b]=d,
		[a]=e
	},
	["err_for_range_deduction_failure"]={
		[c]="cannot use type A as a range",
		[b]=d,
		[a]=e
	},
	["err_for_range_dereference"]={
		[c]="invalid range expression of type A; did you mean to dereference it with \'*\'?",
		[b]=d,
		[a]=e
	},
	["err_for_range_expected_decl"]={
		[c]="for range declaration must declare a variable",
		[b]=d,
		[a]=e
	},
	["err_for_range_identifier"]={
		[c]="range-based for loop requires type for loop variable",
		[b]=d,
		[a]=e
	},
	["err_for_range_incomplete_type"]={
		[c]="cannot use incomplete type A as a range",
		[b]=d,
		[a]=e
	},
	["err_for_range_invalid"]={
		[c]="invalid range expression of type A; no viable \'...\' function available",
		[f]={"invalid range expression of type A; no viable \'",{"begin","end"},"\' function available"},
		[b]=d,
		[a]=e
	},
	["err_for_range_iter_deduction_failure"]={
		[c]="cannot use type A as an iterator",
		[b]=d,
		[a]=e
	},
	["err_for_range_storage_class"]={
		[c]="loop variable A may not be declared ...",
		[f]={"loop variable A may not be declared ",{"\'extern\'","\'static\'","\'__private_extern__\'","\'auto\'","\'register\'","\'constexpr\'","\'thread_local\'"}},
		[b]=d,
		[a]=e
	},
	["err_format_attribute_implicit_this_format_string"]={
		[c]="format attribute cannot specify the implicit this argument as the format string",
		[b]=d,
		[a]=e
	},
	["err_format_attribute_not"]={
		[c]="format argument not a string type",
		[b]=d,
		[a]=e
	},
	["err_format_attribute_result_not"]={
		[c]="function does not return A",
		[b]=d,
		[a]=e
	},
	["err_format_strftime_third_parameter"]={
		[c]="strftime format attribute requires 3rd parameter to be 0",
		[b]=d,
		[a]=e
	},
	["err_forward_ref_enum"]={
		[c]="ISO C++ forbids forward references to \'enum\' types",
		[b]=d,
		[a]=e
	},
	["err_forward_superclass"]={
		[c]="attempting to use the forward class A as superclass of B",
		[b]=d,
		[a]=e
	},
	["err_found_in_dependent_base"]={
		[c]="explicit qualification required to use member A from dependent base class",
		[b]=d,
		[a]=e
	},
	["err_found_later_in_class"]={
		[c]="member A used before its declaration",
		[b]=d,
		[a]=e
	},
	["err_friend_decl_defines_type"]={
		[c]="cannot define a type in a friend declaration",
		[b]=d,
		[a]=e
	},
	["err_friend_decl_does_not_match"]={
		[c]="friend declaration of A does not match any declaration in B",
		[b]=d,
		[a]=e
	},
	["err_friend_decl_spec"]={
		[c]="\'A\' is invalid in friend declarations",
		[b]=d,
		[a]=e
	},
	["err_friend_decl_with_def_arg_must_be_def"]={
		[c]="friend declaration specifying a default argument must be a definition",
		[b]=d,
		[a]=e
	},
	["err_friend_decl_with_def_arg_redeclared"]={
		[c]="friend declaration specifying a default argument must be the only declaration",
		[b]=d,
		[a]=e
	},
	["err_friend_def_in_local_class"]={
		[c]="friend function cannot be defined in a local class",
		[b]=d,
		[a]=e
	},
	["err_friend_explicit_instantiation"]={
		[c]="friend cannot be declared in an explicit instantiation; if this declaration is meant to be a friend declaration, remove the \'template\' keyword",
		[b]=d,
		[a]=e
	},
	["err_friend_invalid_in_context"]={
		[c]="\'friend\' used outside of class",
		[b]=d,
		[a]=e
	},
	["err_friend_is_member"]={
		[c]="friends cannot be members of the declaring class",
		[b]=d,
		[a]=e
	},
	["err_friend_not_first_in_declaration"]={
		[c]="\'friend\' must appear first in a non-function declaration",
		[b]=d,
		[a]=e
	},
	["err_func_def_incomplete_result"]={
		[c]="incomplete result type A in function definition",
		[b]=d,
		[a]=e
	},
	["err_func_def_no_params"]={
		[c]="function definition does not declare parameters",
		[b]=d,
		[a]=e
	},
	["err_func_returning_array_function"]={
		[c]="function cannot return ... type B",
		[f]={"function cannot return ",{rc,m},Rc},
		[b]=d,
		[a]=e
	},
	["err_func_returning_qualified_void"]={
		[c]="function cannot return qualified void type A [-Wqualified-void-return-type]",
		[f]="function cannot return qualified void type A",
		[b]=g,
		[a]=h
	},
	["err_function_attribute_mismatch"]={
		[c]="function declared with A attribute was previously declared without the A attribute",
		[b]=d,
		[a]=e
	},
	["err_function_decl_cmse_ns_call"]={
		[c]="functions may not be declared with \'cmse_nonsecure_call\' attribute",
		[b]=d,
		[a]=e
	},
	["err_function_declared_typedef"]={
		[c]="function definition declared \'typedef\'",
		[b]=d,
		[a]=e
	},
	["err_function_definition_not_allowed"]={
		[c]="function definition is not allowed here",
		[b]=d,
		[a]=e
	},
	["err_function_is_not_record"]={
		[c]="unexpected A in function call; perhaps remove the A?",
		[b]=d,
		[a]=e
	},
	["err_function_marked_override_not_overriding"]={
		[c]="A marked \'override\' but does not override any member functions",
		[b]=d,
		[a]=e
	},
	["err_function_needs_feature"]={
		[c]="always_inline function B requires target feature \'C\', but would be inlined into function A that is compiled without support for \'C\'",
		[b]=d,
		[a]=e
	},
	["err_function_parameter_pack_without_parameter_packs"]={
		[c]="type A of function parameter pack does not contain any unexpanded parameter packs",
		[b]=d,
		[a]=e
	},
	["err_function_scope_depth_exceeded"]={
		[c]="function scope depth exceeded maximum of A",
		[b]=s,
		[a]=t
	},
	["err_function_start_invalid_type"]={
		[c]="argument must be a function",
		[b]=d,
		[a]=e
	},
	["err_function_template_partial_spec"]={
		[c]="function template partial specialization is not allowed",
		[b]=d,
		[a]=e
	},
	["err_function_template_spec_ambiguous"]={
		[c]="function template specialization A ambiguously refers to more than one function template; explicitly specify... template arguments to identify a particular function template",
		[f]={"function template specialization A ambiguously refers to more than one function template; explicitly specify",{l," additional"}," template arguments to identify a particular function template"},
		[b]=d,
		[a]=e
	},
	["err_function_template_spec_no_match"]={
		[c]="no function template matches function template specialization A",
		[b]=d,
		[a]=e
	},
	["err_gc_weak_property_strong_type"]={
		[c]="weak attribute declared on a __strong type property in GC mode",
		[b]=d,
		[a]=e
	},
	["err_generic_sel_multi_match"]={
		[c]="controlling expression type A compatible with B generic association types",
		[b]=d,
		[a]=e
	},
	["err_generic_sel_no_match"]={
		[c]="controlling expression type A not compatible with any generic association type",
		[b]=d,
		[a]=e
	},
	["err_getter_not_found"]={
		[c]="no getter method for read from property",
		[b]=d,
		[a]=e
	},
	["err_global_asm_qualifier_ignored"]={
		[c]="meaningless \'A\' on asm outside function",
		[b]=d,
		[a]=e
	},
	["err_global_call_not_config"]={
		[c]="call to global function A not configured",
		[b]=d,
		[a]=e
	},
	["err_global_module_introducer_not_at_start"]={
		[c]="\'module;\' introducing a global module fragment can appear only at the start of the translation unit",
		[b]=d,
		[a]=e
	},
	["err_gnu_inline_asm_disabled"]={
		[c]="GNU-style inline assembly is disabled",
		[b]=d,
		[a]=e
	},
	["err_goto_into_protected_scope"]={
		[c]="cannot jump from this goto statement to its label",
		[b]=d,
		[a]=e
	},
	["err_goto_ms_asm_label"]={
		[c]="cannot jump from this goto statement to label A inside an inline assembly block",
		[b]=d,
		[a]=e
	},
	["err_half_const_requires_fp16"]={
		[c]="half precision constant requires cl_khr_fp16",
		[b]=d,
		[a]=e
	},
	["err_header_import_not_header_unit"]={
		[c]="header file A (aka \'B\') cannot be imported because it is not known to be a header unit",
		[b]=d,
		[a]=e
	},
	["err_header_import_semi_in_macro"]={
		[c]="semicolon terminating header import declaration cannot be produced by a macro",
		[b]=d,
		[a]=e
	},
	["err_hex_constant_requires"]={
		[c]="hexadecimal floating ... requires ...",
		[f]={"hexadecimal floating ",{"constant","literal"}," requires ",{"an exponent","a significand"}},
		[b]=d,
		[a]=e
	},
	["err_hex_escape_no_digits"]={
		[c]="\\A used with no following hex digits",
		[b]=d,
		[a]=e
	},
	["err_hidden_visibility_dllexport"]={
		[c]="hidden visibility cannot be applied to \'dllexport\' declaration",
		[b]=d,
		[a]=e
	},
	["err_hip_invalid_args_builtin_mangled_name"]={
		[c]="invalid argument: symbol must be a device-side function or global variable",
		[b]=d,
		[a]=e
	},
	["err_hlsl_attr_invalid_ast_node"]={
		[c]="attribute A only applies to B",
		[b]=d,
		[a]=e
	},
	["err_hlsl_attr_invalid_type"]={
		[c]="attribute A only applies to a field or parameter of type \'B\'",
		[b]=d,
		[a]=e
	},
	["err_hlsl_attr_unsupported_in_stage"]={
		[c]="attribute A is unsupported in ... shaders, requires C",
		[f]={"attribute A is unsupported in ",{"Pixel","Vertex","Geometry","Hull","Domain","Compute","Library","RayGeneration","Intersection","AnyHit","ClosestHit","Miss","Callable","Mesh","Amplification","Invalid"}," shaders, requires C"},
		[b]=d,
		[a]=e
	},
	["err_hlsl_attribute_param_mismatch"]={
		[c]="A attribute parameters do not match the previous declaration",
		[b]=d,
		[a]=e
	},
	["err_hlsl_entry_shader_attr_mismatch"]={
		[c]="A attribute on entry function does not match the pipeline stage",
		[b]=d,
		[a]=e
	},
	["err_hlsl_expected_space"]={
		[c]="invalid space specifier \'A\' used; expected \'space\' followed by an integer, like space1",
		[b]=d,
		[a]=e
	},
	["err_hlsl_init_priority_unsupported"]={
		[c]="initializer priorities are not supported in HLSL",
		[b]=d,
		[a]=e
	},
	["err_hlsl_missing_numthreads"]={
		[c]="missing numthreads attribute for A shader entry",
		[b]=d,
		[a]=e
	},
	["err_hlsl_missing_semantic_annotation"]={
		[c]="semantic annotations must be present for all parameters of an entry function or patch constant function",
		[b]=d,
		[a]=e
	},
	["err_hlsl_numthreads_argument_oor"]={
		[c]="argument \'...\' to numthreads attribute cannot exceed B",
		[f]={"argument \'",{"X","Y","Z"},"\' to numthreads attribute cannot exceed B"},
		[b]=d,
		[a]=e
	},
	["err_hlsl_numthreads_invalid"]={
		[c]="total number of threads cannot exceed A",
		[b]=d,
		[a]=e
	},
	["err_hlsl_operator_unsupported"]={
		[c]="the \'...\' operator is unsupported in HLSL",
		[f]={"the \'",{"&","*","->"},"\' operator is unsupported in HLSL"},
		[b]=d,
		[a]=e
	},
	["err_hlsl_pointers_unsupported"]={
		[c]="... are unsupported in HLSL",
		[f]={{"pointers","references"}," are unsupported in HLSL"},
		[b]=d,
		[a]=e
	},
	["err_hlsl_separate_attr_arg_and_number"]={
		[c]="wrong argument format for hlsl attribute, use A instead",
		[b]=d,
		[a]=e
	},
	["err_hlsl_unsupported_register_number"]={
		[c]="register number should be an integer",
		[b]=d,
		[a]=e
	},
	["err_hlsl_unsupported_register_type"]={
		[c]="invalid resource class specifier \'A\' used; expected \'b\', \'s\', \'t\', or \'u\'",
		[b]=d,
		[a]=e
	},
	["err_iboutletcollection_builtintype"]={
		[c]="type argument of iboutletcollection attribute cannot be a builtin type",
		[b]=d,
		[a]=e
	},
	["err_iboutletcollection_type"]={
		[c]="invalid type A as argument of iboutletcollection attribute",
		[b]=d,
		[a]=e
	},
	["err_ice_ambiguous_conversion"]={
		[c]="ambiguous conversion from type A to an integral or unscoped enumeration type",
		[b]=d,
		[a]=e
	},
	["err_ice_explicit_conversion"]={
		[c]="integral constant expression requires explicit conversion from A to B",
		[b]=d,
		[a]=e
	},
	["err_ice_incomplete_type"]={
		[c]="integral constant expression has incomplete class type A",
		[b]=d,
		[a]=e
	},
	["err_ice_not_integral"]={
		[c]="... constant expression must have ... type, not A",
		[f]={{Ac,wc}," constant expression must have ",{Ac,"integral or unscoped enumeration"}," type, not A"},
		[b]=d,
		[a]=e
	},
	["err_ice_too_large"]={
		[c]="integer constant expression evaluates to value A that cannot be represented in a B-bit ... integer type",
		[f]={"integer constant expression evaluates to value A that cannot be represented in a B-bit ",{"signed","unsigned"}," integer type"},
		[b]=d,
		[a]=e
	},
	["err_id_after_template_in_nested_name_spec"]={
		[c]="expected template name after \'template\' keyword in nested name specifier",
		[b]=d,
		[a]=e
	},
	["err_ident_list_in_fn_declaration"]={
		[c]="a parameter list without types is only allowed in a function definition",
		[b]=d,
		[a]=e
	},
	["err_ifunc_resolver_return"]={
		[c]="ifunc resolver function must return a pointer",
		[b]=d,
		[a]=e
	},
	["err_illegal_container_subscripting_op"]={
		[c]="illegal operation on Objective-C container subscripting",
		[b]=d,
		[a]=e
	},
	["err_illegal_decl_array_of_functions"]={
		[c]="\'A\' declared as array of functions of type B",
		[b]=d,
		[a]=e
	},
	["err_illegal_decl_array_of_references"]={
		[c]="\'A\' declared as array of references of type B",
		[b]=d,
		[a]=e
	},
	["err_illegal_decl_mempointer_in_nonclass"]={
		[c]="\'A\' does not point into a class",
		[b]=d,
		[a]=e
	},
	["err_illegal_decl_mempointer_to_reference"]={
		[c]="\'A\' declared as a member pointer to a reference of type B",
		[b]=d,
		[a]=e
	},
	["err_illegal_decl_mempointer_to_void"]={
		[c]="\'A\' declared as a member pointer to void",
		[b]=d,
		[a]=e
	},
	["err_illegal_decl_pointer_to_reference"]={
		[c]="\'A\' declared as a pointer to a reference of type B",
		[b]=d,
		[a]=e
	},
	["err_illegal_decl_reference_to_reference"]={
		[c]="A declared as a reference to a reference",
		[b]=d,
		[a]=e
	},
	["err_illegal_initializer"]={
		[c]="illegal initializer (only variables can be initialized)",
		[b]=d,
		[a]=e
	},
	["err_illegal_initializer_type"]={
		[c]="illegal initializer type A",
		[b]=d,
		[a]=e
	},
	["err_illegal_message_expr_incomplete_type"]={
		[c]="Objective-C message has incomplete result type A",
		[b]=d,
		[a]=e
	},
	["err_illegal_qualifiers_on_catch_parm"]={
		[c]="illegal qualifiers on @catch parameter",
		[b]=d,
		[a]=e
	},
	["err_illegal_super_cast"]={
		[c]="cannot cast \'super\' (it isn\'t an expression)",
		[b]=d,
		[a]=e
	},
	["err_illegal_union_or_anon_struct_member"]={
		[c]="... member B has a non-trivial ...",
		[f]={{"anonymous struct",v}," member B has a non-trivial ",{rb,sb,vb,xb,tb,p}},
		[b]=d,
		[a]=e
	},
	["err_illegal_use_of_flt_eval_macro"]={
		[c]="\'__FLT_EVAL_METHOD__\' cannot be expanded inside a scope containing \'#pragma clang fp eval_method\'",
		[b]=d,
		[a]=e
	},
	["err_imaginary_not_supported"]={
		[c]="imaginary types are not supported",
		[b]=d,
		[a]=e
	},
	["err_immediate_function_used_before_definition"]={
		[c]="immediate function A used before it is defined",
		[b]=d,
		[a]=e
	},
	["err_impcast_complex_scalar"]={
		[c]="implicit conversion from A to B is not permitted in C++",
		[b]=d,
		[a]=e
	},
	["err_implementation_of_class_stub"]={
		[c]="cannot declare implementation of a class declared with the \'objc_class_stub\' attribute",
		[b]=d,
		[a]=e
	},
	["err_implicit_coroutine_std_nothrow_type_not_found"]={
		[c]="std::nothrow was not found; include <new> before defining a coroutine which uses get_return_object_on_allocation_failure()",
		[b]=d,
		[a]=e
	},
	["err_implicit_empty_initializer"]={
		[c]="initializer for aggregate with no elements requires explicit braces",
		[b]=d,
		[a]=e
	},
	["err_implicit_instantiate_member_undefined"]={
		[c]="implicit instantiation of undefined member A",
		[b]=d,
		[a]=e
	},
	["err_implied_comparison_category_type_not_found"]={
		[c]="cannot ... because type \'A\' was not found; include <compare>",
		[f]={Wb,{"use builtin operator \'<=>\'","default \'operator<=>\'"}," because type \'A\' was not found; include <compare>"},
		[b]=d,
		[a]=e
	},
	["err_implied_coroutine_type_not_found"]={
		[c]="A type was not found; include <coroutine> before defining a coroutine",
		[b]=d,
		[a]=e
	},
	["err_implied_std_coroutine_traits_promise_type_not_class"]={
		[c]="this function cannot be a coroutine: A is not a class",
		[b]=d,
		[a]=e
	},
	["err_implied_std_coroutine_traits_promise_type_not_found"]={
		[c]="this function cannot be a coroutine: A has no member named \'promise_type\'",
		[b]=d,
		[a]=e
	},
	["err_implied_std_initializer_list_not_found"]={
		[c]="cannot deduce type of initializer list because std::initializer_list was not found; include <initializer_list>",
		[b]=d,
		[a]=e
	},
	["err_import_in_wrong_fragment"]={
		[c]="module... imports cannot be in the ... module fragment",
		[f]={Ic,{l," partition"}," imports cannot be in the ",{"global",C}," module fragment"},
		[b]=d,
		[a]=e
	},
	["err_import_not_allowed_here"]={
		[c]="imports must immediately follow the module declaration",
		[b]=d,
		[a]=e
	},
	["err_imported_module_modmap_changed"]={
		[c]="module \'A\' ... AST file \'B\' found in a different module map file (C) than when the importing AST file was built (D)",
		[f]={"module \'A\' ",{"in","imported by"}," AST file \'B\' found in a different module map file (C) than when the importing AST file was built (D)"},
		[b]=s,
		[a]=t
	},
	["err_imported_module_not_found"]={
		[c]="module \'A\' in AST file \'B\' ...is not defined in any loaded module map file; maybe you need to load \'D\'?",
		[f]={"module \'A\' in AST file \'B\' ",{"(imported by AST file \'C\') ",l},"is not defined in any loaded module map file; maybe you need to load \'D\'?"},
		[b]=s,
		[a]=t
	},
	["err_imported_module_relocated"]={
		[c]="module \'A\' was built in directory \'B\' but now resides in directory \'C\'",
		[b]=s,
		[a]=t
	},
	["err_in_class_initializer_bad_type"]={
		[c]="static data member of type A must be initialized out of line",
		[b]=d,
		[a]=e
	},
	["err_in_class_initializer_literal_type"]={
		[c]="in-class initializer for static data member of type A requires \'constexpr\' specifier",
		[b]=d,
		[a]=e
	},
	["err_in_class_initializer_non_const"]={
		[c]="non-const static data member must be initialized out of line",
		[b]=d,
		[a]=e
	},
	["err_in_class_initializer_non_constant"]={
		[c]="in-class initializer for static data member is not a constant expression",
		[b]=d,
		[a]=e
	},
	["err_in_class_initializer_volatile"]={
		[c]="static const volatile data member must be initialized out of line",
		[b]=d,
		[a]=e
	},
	["err_include_too_large"]={
		[c]="sorry, this include generates a translation unit too large for Clang to process.",
		[b]=s,
		[a]=t
	},
	["err_incompatible_exception_specs"]={
		[c]="target exception specification is not superset of source",
		[b]=d,
		[a]=e
	},
	["err_incompatible_fp_eval_method_options"]={
		[c]="option \'ffp-eval-method\' cannot be used with option ...",
		[f]={"option \'ffp-eval-method\' cannot be used with option ",{"\'fapprox-func\'","\'mreassociate\'","\'freciprocal\'"}},
		[b]=d,
		[a]=e
	},
	["err_incompatible_qualified_id"]={
		[c]=Rb,
		[f]={{{{"assigning to A from incompatible type B","assigning to type from incompatible type"}},{{"passing A to parameter of incompatible type B","passing type to parameter of incompatible type"}},{{"returning A from a function with incompatible result type B","returning type from a function with incompatible result type"}},{{"converting A to incompatible type B","converting type to incompatible type"}},{{"initializing A with an expression of incompatible type B","initializing type with an expression of incompatible type"}},{{"sending A to parameter of incompatible type B","sending type to parameter of incompatible type"}},{{"casting A to incompatible type B","casting type to incompatible type"}}}},
		[b]=d,
		[a]=e
	},
	["err_incompatible_vectors"]={
		[c]="incompatible vector types ...",
		[f]={"incompatible vector types ",{{{ab,G}},{{N,S}},{{T,F}},{{P,R}},{{Q,O}},{{M,L}},{{K,I}}}},
		[b]=d,
		[a]=e
	},
	["err_incomplete_array_member_init"]={
		[c]="array bound cannot be deduced from a default member initializer",
		[b]=d,
		[a]=e
	},
	["err_incomplete_base_class"]={
		[c]="base class has incomplete type",
		[b]=d,
		[a]=e
	},
	["err_incomplete_enum"]={
		[c]="enumeration A is incomplete",
		[b]=d,
		[a]=e
	},
	["err_incomplete_in_exception_spec"]={
		[c]="...incomplete type B is not allowed in exception specification",
		[f]={{l,"pointer to ",ed},"incomplete type B is not allowed in exception specification"},
		[b]=d,
		[a]=e
	},
	["err_incomplete_member_access"]={
		[c]="member access into incomplete type A",
		[b]=d,
		[a]=e
	},
	["err_incomplete_nested_name_spec"]={
		[c]="incomplete type A named in nested name specifier",
		[b]=d,
		[a]=e
	},
	["err_incomplete_object_call"]={
		[c]="incomplete type in call to object of type A",
		[b]=d,
		[a]=e
	},
	["err_incomplete_receiver_type"]={
		[c]="incomplete receiver type A",
		[b]=d,
		[a]=e
	},
	["err_incomplete_synthesized_property"]={
		[c]="cannot synthesize property A with incomplete type B",
		[b]=d,
		[a]=e
	},
	["err_incomplete_type"]={
		[c]="incomplete type A where a complete type is required",
		[b]=d,
		[a]=e
	},
	["err_incomplete_type_objc_at_encode"]={
		[c]="\'@encode\' of incomplete type A",
		[b]=d,
		[a]=e
	},
	["err_incomplete_type_used_in_type_trait_expr"]={
		[c]="incomplete type A used in type trait expression",
		[b]=d,
		[a]=e
	},
	["err_incomplete_typeid"]={
		[c]="\'typeid\' of incomplete type A",
		[b]=d,
		[a]=e
	},
	["err_inconsistent_ivar_count"]={
		[c]="inconsistent number of instance variables specified",
		[b]=d,
		[a]=e
	},
	["err_incorrect_defaulted_consteval"]={
		[c]="defaulted declaration of ... cannot be consteval because implicit definition is not constexpr",
		[f]={"defaulted declaration of ",{rb,sb,vb,xb,tb,p}," cannot be consteval because implicit definition is not constexpr"},
		[b]=d,
		[a]=e
	},
	["err_incorrect_defaulted_constexpr"]={
		[c]="defaulted definition of ... is not constexpr",
		[f]={"defaulted definition of ",{rb,sb,vb,xb,tb,p}," is not constexpr"},
		[b]=d,
		[a]=e
	},
	["err_incorrect_number_of_vector_initializers"]={
		[c]="number of elements must be either one or match the size of the vector",
		[b]=d,
		[a]=e
	},
	["err_increment_decrement_enum"]={
		[c]="cannot ... expression of enum type B",
		[f]={Wb,{Id,wd}," expression of enum type B"},
		[b]=d,
		[a]=e
	},
	["err_indirect_goto_in_protected_scope"]={
		[c]="cannot jump from this ... goto statement to one of its possible targets",
		[f]={"cannot jump from this ",{"indirect","asm"}," goto statement to one of its possible targets"},
		[b]=d,
		[a]=e
	},
	["err_indirect_goto_without_addrlabel"]={
		[c]="indirect goto in function with no address-of-label expressions",
		[b]=d,
		[a]=e
	},
	["err_init_capture_deduction_failure"]={
		[c]="cannot deduce type for lambda capture A from initializer of type C",
		[b]=d,
		[a]=e
	},
	["err_init_capture_deduction_failure_from_init_list"]={
		[c]="cannot deduce type for lambda capture A from initializer list",
		[b]=d,
		[a]=e
	},
	["err_init_capture_multiple_expressions"]={
		[c]="initializer for lambda capture A contains multiple expressions",
		[b]=d,
		[a]=e
	},
	["err_init_capture_no_expression"]={
		[c]="initializer missing for lambda capture A",
		[b]=d,
		[a]=e
	},
	["err_init_capture_paren_braces"]={
		[c]="cannot deduce type for lambda capture B from ... initializer list",
		[f]={"cannot deduce type for lambda capture B from ",{"parenthesized","nested"}," initializer list"},
		[b]=d,
		[a]=e
	},
	["err_init_conversion_failed"]={
		[c]="cannot initialize ... of type B with an ... of type D...",
		[f]={"cannot initialize ",{"a variable","a parameter","template parameter","return object","statement expression result","an exception object","a member subobject","an array element","a new value","a value","a base class","a constructor delegation","a vector element","a block element","a block element","a complex element","a lambda capture","a compound literal initializer","a related result","a parameter of CF audited function","a structured binding","a member subobject"},w,{{"of type B with an ",{ld,td}," of type D"},{"with an ",{ld,td}," of incompatible type"}},{l,{": different classes",{" (F vs G)",l}},": different number of parameters (F vs G)",{": type mismatch at F parameter",{" (G vs H)",l}},{": different return type",{" (F vs G)",l}},": different qualifiers (F vs G)",": different exception specifications"}},
		[b]=d,
		[a]=e
	},
	["err_init_element_not_constant"]={
		[c]="initializer element is not a compile-time constant",
		[b]=d,
		[a]=e
	},
	["err_init_for_function_type"]={
		[c]="cannot create object of function type A",
		[b]=d,
		[a]=e
	},
	["err_init_incomplete_type"]={
		[c]="initialization of incomplete type A",
		[b]=d,
		[a]=e
	},
	["err_init_list_bad_dest_type"]={
		[c]="...type B cannot be initialized with an initializer list",
		[f]={{l,"non-aggregate "},"type B cannot be initialized with an initializer list"},
		[b]=d,
		[a]=e
	},
	["err_init_list_bin_op"]={
		[c]="initializer list cannot be used on the ... hand side of operator \'B\'",
		[f]={"initializer list cannot be used on the ",{"left","right"}," hand side of operator \'B\'"},
		[b]=d,
		[a]=e
	},
	["err_init_method_bad_return_type"]={
		[c]="init methods must return an object pointer type, not A",
		[b]=d,
		[a]=e
	},
	["err_init_non_aggr_init_list"]={
		[c]="initialization of non-aggregate type A with an initializer list",
		[b]=d,
		[a]=e
	},
	["err_init_objc_class"]={
		[c]="cannot initialize Objective-C class type A",
		[b]=d,
		[a]=e
	},
	["err_init_priority_object_attr"]={
		[c]="can only use \'init_priority\' attribute on file-scope definitions of objects of class type",
		[b]=d,
		[a]=e
	},
	["err_init_reference_member_uninitialized"]={
		[c]="reference member of type A uninitialized",
		[b]=d,
		[a]=e
	},
	["err_initializer_overrides_destructed"]={
		[c]="initializer would partially override prior initialization of object of type B with non-trivial destruction",
		[b]=d,
		[a]=e
	},
	["err_initializer_string_for_char_array_too_long"]={
		[c]="initializer-string for char array is too long, array size is A but initializer has size B (including the null terminating character)",
		[b]=d,
		[a]=e
	},
	["err_inline_decl_follows_def"]={
		[c]="inline declaration of A follows non-inline definition",
		[b]=d,
		[a]=e
	},
	["err_inline_declaration_block_scope"]={
		[c]="inline declaration of A not allowed in block scope",
		[b]=d,
		[a]=e
	},
	["err_inline_main"]={
		[c]="\'main\' is not allowed to be declared inline",
		[b]=d,
		[a]=e
	},
	["err_inline_namespace_alias"]={
		[c]="namespace alias cannot be inline",
		[b]=d,
		[a]=e
	},
	["err_inline_namespace_mismatch"]={
		[c]="non-inline namespace cannot be reopened as inline",
		[b]=d,
		[a]=e
	},
	["err_inline_namespace_std"]={
		[c]="cannot declare the namespace \'std\' to be inline",
		[b]=d,
		[a]=e
	},
	["err_inline_nested_namespace_definition"]={
		[c]="nested namespace definition cannot be \'inline\'",
		[b]=d,
		[a]=e
	},
	["err_inline_non_function"]={
		[c]="\'inline\' can only appear on functions...",
		[f]={"\'inline\' can only appear on functions",{l," and non-local variables"}},
		[b]=d,
		[a]=e
	},
	["err_int_to_block_pointer"]={
		[c]="invalid block pointer conversion ...",
		[f]={"invalid block pointer conversion ",{{{ab,G}},{{N,S}},{{T,F}},{{P,R}},{{Q,O}},{{M,L}},{{K,I}}}},
		[b]=d,
		[a]=e
	},
	["err_integer_literal_too_large"]={
		[c]="integer literal is too large to be represented in any ...integer type",
		[f]={"integer literal is too large to be represented in any ",{"signed ",l},"integer type"},
		[b]=d,
		[a]=e
	},
	["err_integer_sequence_integral_element_type"]={
		[c]="integer sequences must have integral element type",
		[b]=d,
		[a]=e
	},
	["err_integer_sequence_negative_length"]={
		[c]="integer sequences must have non-negative sequence length",
		[b]=d,
		[a]=e
	},
	["err_introducing_special_friend"]={
		[c]="must use a qualified name when declaring a ... as a friend",
		[f]={{"must use a qualified name when declaring","cannot declare"}," a ",{n,p,"conversion operator","deduction guide"}," as a friend"},
		[b]=d,
		[a]=e
	},
	["err_invalid_asm_cast_lvalue"]={
		[c]="invalid use of a cast in a inline asm context requiring an lvalue: remove the cast or build with -fheinous-gnu-extensions",
		[b]=d,
		[a]=e
	},
	["err_invalid_asm_value_for_constraint"]={
		[c]="value \'A\' out of range for constraint \'B\'",
		[b]=d,
		[a]=e
	},
	["err_invalid_astype_of_different_size"]={
		[c]="invalid reinterpretation: sizes of A and B must match",
		[b]=d,
		[a]=e
	},
	["err_invalid_base_in_interface"]={
		[c]="interface type cannot inherit from ... B",
		[f]={"interface type cannot inherit from ",{r,"non-public interface",o},X},
		[b]=d,
		[a]=e
	},
	["err_invalid_branch_protection_spec"]={
		[c]="invalid or misplaced branch protection specification \'A\'",
		[b]=d,
		[a]=e
	},
	["err_invalid_char_raw_delim"]={
		[c]="invalid character \'A\' character in raw string delimiter; use PREFIX( )PREFIX to delimit raw string",
		[b]=d,
		[a]=e
	},
	["err_invalid_character_to_charify"]={
		[c]="invalid argument to convert to character",
		[b]=d,
		[a]=e
	},
	["err_invalid_character_udl"]={
		[c]="character literal with user-defined suffix cannot be used here",
		[b]=d,
		[a]=e
	},
	["err_invalid_collection_element"]={
		[c]="collection element of type A is not an Objective-C object",
		[b]=d,
		[a]=e
	},
	["err_invalid_complex_spec"]={
		[c]="\'_Complex A\' is invalid",
		[b]=d,
		[a]=e
	},
	["err_invalid_consteval_call"]={
		[c]="call to ... function A is not a constant expression",
		[f]={"call to ",{"immediate",Y}," function A is not a constant expression"},
		[b]=d,
		[a]=e
	},
	["err_invalid_consteval_decl_kind"]={
		[c]="A cannot be declared consteval",
		[b]=d,
		[a]=e
	},
	["err_invalid_consteval_take_address"]={
		[c]="cannot take address of ... ... A outside of an immediate invocation",
		[f]={"cannot take address of ",{"immediate",Y},w,{m,"call operator of"}," A outside of an immediate invocation"},
		[b]=d,
		[a]=e
	},
	["err_invalid_constexpr"]={
		[c]="... cannot be ...",
		[f]={{"function parameter",eb}," cannot be ",{nb,Y,"constinit"}},
		[b]=d,
		[a]=e
	},
	["err_invalid_constexpr_member"]={
		[c]="non-static data member cannot be constexpr...",
		[f]={"non-static data member cannot be constexpr",{{"; did you intend to make it ",{Lc,Vc},"?"},l}},
		[b]=d,
		[a]=e
	},
	["err_invalid_constexpr_var_decl"]={
		[c]="constexpr variable declaration must be a definition",
		[b]=d,
		[a]=e
	},
	["err_invalid_conversion_between_ext_vectors"]={
		[c]="invalid conversion between ext-vector type A and B",
		[b]=d,
		[a]=e
	},
	["err_invalid_conversion_between_matrix_and_type"]={
		[c]="conversion between matrix type A and incompatible type B is not allowed",
		[b]=d,
		[a]=e
	},
	["err_invalid_conversion_between_matrixes"]={
		[c]="conversion between matrix types A and B of different size is not allowed",
		[f]={"conversion between matrix types",{" A and B",l}," of different size is not allowed"},
		[b]=d,
		[a]=e
	},
	["err_invalid_conversion_between_vector_and_integer"]={
		[c]="invalid conversion between vector type A and integer type B of different size",
		[b]=d,
		[a]=e
	},
	["err_invalid_conversion_between_vector_and_scalar"]={
		[c]="invalid conversion between vector type A and scalar type B",
		[b]=d,
		[a]=e
	},
	["err_invalid_conversion_between_vectors"]={
		[c]="invalid conversion between vector type A and B of different size",
		[f]={"invalid conversion between vector type",{" A and B",l}," of different size"},
		[b]=d,
		[a]=e
	},
	["err_invalid_cpu_is"]={
		[c]="invalid cpu name for builtin",
		[b]=d,
		[a]=e
	},
	["err_invalid_cpu_specific_dispatch_value"]={
		[c]="invalid option \'A\' for ...",
		[f]={"invalid option \'A\' for ",{"cpu_specific","cpu_dispatch"}},
		[b]=d,
		[a]=e
	},
	["err_invalid_cpu_supports"]={
		[c]="invalid cpu feature string for builtin",
		[b]=d,
		[a]=e
	},
	["err_invalid_cxx_abi"]={
		[c]="invalid C++ ABI name \'A\'",
		[b]=d,
		[a]=e
	},
	["err_invalid_decl_spec_combination"]={
		[c]="cannot combine with previous \'A\' declaration specifier",
		[b]=d,
		[a]=e
	},
	["err_invalid_decl_specifier_in_nontype_parm"]={
		[c]="invalid declaration specifier in template non-type parameter",
		[b]=d,
		[a]=e
	},
	["err_invalid_declaration_in_hlsl_buffer"]={
		[c]="invalid declaration inside ...",
		[f]={"invalid declaration inside ",{"tbuffer","cbuffer"}},
		[b]=d,
		[a]=e
	},
	["err_invalid_declarator_global_scope"]={
		[c]="definition or redeclaration of A cannot name the global scope",
		[b]=d,
		[a]=e
	},
	["err_invalid_declarator_in_block"]={
		[c]="definition or redeclaration of A not allowed inside a block",
		[b]=d,
		[a]=e
	},
	["err_invalid_declarator_in_function"]={
		[c]="definition or redeclaration of A not allowed inside a function",
		[b]=d,
		[a]=e
	},
	["err_invalid_declarator_scope"]={
		[c]="cannot define or redeclare A here because namespace B does not enclose namespace C",
		[b]=d,
		[a]=e
	},
	["err_invalid_digit"]={
		[c]="invalid digit \'A\' in ... constant",
		[f]={"invalid digit \'A\' in ",{"decimal","octal","binary"}," constant"},
		[b]=d,
		[a]=e
	},
	["err_invalid_feature_combination"]={
		[c]="invalid feature combination: A",
		[b]=d,
		[a]=e
	},
	["err_invalid_form_pointer_member_function"]={
		[c]="cannot create a non-constant pointer to member function",
		[b]=d,
		[a]=e
	},
	["err_invalid_incomplete_type_use"]={
		[c]="invalid use of incomplete type A",
		[b]=d,
		[a]=e
	},
	["err_invalid_macos_32bit_deployment_target"]={
		[c]="32-bit targets are not supported when building for Mac Catalyst",
		[b]=d,
		[a]=e
	},
	["err_invalid_mask_type_size"]={
		[c]="mask type size must be between 1-byte and 8-bytes",
		[b]=d,
		[a]=e
	},
	["err_invalid_member_in_interface"]={
		[c]="...B is not permitted within an interface type",
		[f]={{"data member ","non-public member function ","static member function ","user-declared constructor","user-declared destructor","operator ","nested class "},"B is not permitted within an interface type"},
		[b]=d,
		[a]=e
	},
	["err_invalid_member_use_in_static_method"]={
		[c]="invalid use of member A in static member function",
		[b]=d,
		[a]=e
	},
	["err_invalid_module_name"]={
		[c]="A is an invalid name for a module",
		[b]=d,
		[a]=e
	},
	["err_invalid_neon_type_code"]={
		[c]="incompatible constant for this __builtin_neon function",
		[b]=d,
		[a]=e
	},
	["err_invalid_non_static_member_use"]={
		[c]="invalid use of non-static data member A",
		[b]=d,
		[a]=e
	},
	["err_invalid_nsnumber_type"]={
		[c]="A is not a valid literal type for NSNumber",
		[b]=d,
		[a]=e
	},
	["err_invalid_numeric_udl"]={
		[c]="numeric literal with user-defined suffix cannot be used here",
		[b]=d,
		[a]=e
	},
	["err_invalid_operator_on_type"]={
		[c]="cannot use ... operator on a type",
		[f]={"cannot use ",{"dot","arrow"}," operator on a type"},
		[b]=d,
		[a]=e
	},
	["err_invalid_pcs"]={
		[c]="invalid PCS type",
		[b]=d,
		[a]=e
	},
	["err_invalid_pixel_decl_spec_combination"]={
		[c]="\'__pixel\' must be preceded by \'__vector\'.  \'A\' declaration specifier not allowed here",
		[b]=d,
		[a]=e
	},
	["err_invalid_property_name"]={
		[c]="A is not a valid property name (accessing an object of type B)",
		[b]=d,
		[a]=e
	},
	["err_invalid_protocol_qualifiers"]={
		[c]="invalid protocol qualifiers on non-ObjC type",
		[b]=d,
		[a]=e
	},
	["err_invalid_qualified_constructor"]={
		[c]="\'A\' qualifier is not allowed on a constructor",
		[b]=d,
		[a]=e
	},
	["err_invalid_qualified_destructor"]={
		[c]="\'A\' qualifier is not allowed on a destructor",
		[b]=d,
		[a]=e
	},
	["err_invalid_qualified_function_type"]={
		[c]="... ...cannot have \'D\' qualifier",
		[f]={{"non-member function","static member function","deduction guide"},w,{"of type C ",l},"cannot have \'D\' qualifier"},
		[b]=d,
		[a]=e
	},
	["err_invalid_receiver_class_message"]={
		[c]="receiver type A is not an Objective-C class",
		[b]=d,
		[a]=e
	},
	["err_invalid_receiver_to_message_super"]={
		[c]="\'super\' is only valid in a method body",
		[b]=d,
		[a]=e
	},
	["err_invalid_reference_qualifier_application"]={
		[c]="\'A\' qualifier may not be applied to a reference",
		[b]=d,
		[a]=e
	},
	["err_invalid_saturation_spec"]={
		[c]="\'_Sat\' specifier is only valid on \'_Fract\' or \'_Accum\', not \'A\'",
		[b]=d,
		[a]=e
	},
	["err_invalid_sign_spec"]={
		[c]="\'A\' cannot be signed or unsigned",
		[b]=d,
		[a]=e
	},
	["err_invalid_storage_class_in_func_decl"]={
		[c]="invalid storage class specifier in function declarator",
		[b]=d,
		[a]=e
	},
	["err_invalid_string_udl"]={
		[c]="string literal with user-defined suffix cannot be used here",
		[b]=d,
		[a]=e
	},
	["err_invalid_suffix_constant"]={
		[c]="invalid suffix \'A\' on ... constant",
		[f]={"invalid suffix \'A\' on ",{Ac,"floating","fixed-point"}," constant"},
		[b]=d,
		[a]=e
	},
	["err_invalid_super_scope"]={
		[c]="invalid use of \'__super\', this keyword can only be used inside class or member function scope",
		[b]=d,
		[a]=e
	},
	["err_invalid_this_use"]={
		[c]="invalid use of \'this\' outside of a non-static member function",
		[b]=d,
		[a]=e
	},
	["err_invalid_thread"]={
		[c]="\'A\' is only allowed on variable declarations",
		[b]=d,
		[a]=e
	},
	["err_invalid_token_after_declarator_suggest_equal"]={
		[c]="invalid A at end of declaration; did you mean \'=\'?",
		[b]=d,
		[a]=e
	},
	["err_invalid_token_after_toplevel_declarator"]={
		[c]="expected \';\' after top level declarator",
		[b]=d,
		[a]=e
	},
	["err_invalid_type_for_program_scope_var"]={
		[c]="the A type cannot be used to declare a program scope variable",
		[b]=d,
		[a]=e
	},
	["err_invalid_ucn_name"]={
		[c]="\'A\' is not a valid Unicode character name",
		[b]=d,
		[a]=e
	},
	["err_invalid_use_of_array_type"]={
		[c]="an array type is not allowed here",
		[b]=d,
		[a]=e
	},
	["err_invalid_use_of_function_type"]={
		[c]="a function type is not allowed here",
		[b]=d,
		[a]=e
	},
	["err_invalid_utf8"]={
		[c]="source file is not valid UTF-8",
		[b]=d,
		[a]=e
	},
	["err_invalid_var_template_spec_type"]={
		[c]="type C of ... of B does not match expected type D",
		[f]={"type C of ",{"explicit instantiation","explicit specialization","partial specialization","redeclaration"}," of B does not match expected type D"},
		[b]=d,
		[a]=e
	},
	["err_invalid_vector_bool_decl_spec"]={
		[c]="cannot use \'A\' with \'__vector bool\'",
		[b]=d,
		[a]=e
	},
	["err_invalid_vector_bool_int128_decl_spec"]={
		[c]="use of \'__int128\' with \'__vector bool\' requires VSX support enabled (on POWER10 or later)",
		[b]=d,
		[a]=e
	},
	["err_invalid_vector_decl_spec_combination"]={
		[c]="cannot combine with previous \'A\' declaration specifier. \'__vector\' must be first",
		[b]=d,
		[a]=e
	},
	["err_invalid_vector_double_decl_spec"]={
		[c]="use of \'double\' with \'__vector\' requires VSX support to be enabled (available on POWER7 or later)",
		[b]=d,
		[a]=e
	},
	["err_invalid_vector_float_decl_spec"]={
		[c]="cannot use \'float\' with \'__vector\'",
		[b]=d,
		[a]=e
	},
	["err_invalid_vector_int128_decl_spec"]={
		[c]="use of \'__int128\' with \'__vector\' requires extended Altivec support (available on POWER8 or later)",
		[b]=d,
		[a]=e
	},
	["err_invalid_vector_long_decl_spec"]={
		[c]="cannot use \'long\' with \'__vector\'",
		[b]=d,
		[a]=e
	},
	["err_invalid_vector_long_double_decl_spec"]={
		[c]="cannot use \'long double\' with \'__vector\'",
		[b]=d,
		[a]=e
	},
	["err_invalid_vector_long_long_decl_spec"]={
		[c]="use of \'long long\' with \'__vector\' requires VSX support (available on POWER7 or later) to be enabled",
		[b]=d,
		[a]=e
	},
	["err_invalid_vfs_overlay"]={
		[c]="invalid virtual filesystem overlay file \'A\'",
		[b]=s,
		[a]=t
	},
	["err_invalid_width_spec"]={
		[c]="\'... B\' is invalid",
		[f]={x,{l,"short","long","long long"}," B\' is invalid"},
		[b]=d,
		[a]=e
	},
	["err_ivar_access_using_property_syntax_suggest"]={
		[c]="property A not found on object of type B; did you mean to access instance variable C?",
		[b]=d,
		[a]=e
	},
	["err_ivar_in_superclass_use"]={
		[c]="property A attempting to use instance variable B declared in super class C",
		[b]=d,
		[a]=e
	},
	["err_ivar_reference_type"]={
		[c]="instance variables cannot be of reference type",
		[b]=d,
		[a]=e
	},
	["err_ivar_use_in_class_method"]={
		[c]="instance variable A accessed in class method",
		[b]=d,
		[a]=e
	},
	["err_kern_call_not_global_function"]={
		[c]="kernel call to non-global function A",
		[b]=d,
		[a]=e
	},
	["err_kern_is_nonstatic_method"]={
		[c]="kernel function A must be a free function or static member function",
		[b]=d,
		[a]=e
	},
	["err_kern_type_not_void_return"]={
		[c]="kernel function type A must have void return type",
		[b]=d,
		[a]=e
	},
	["err_kernel_arg_address_space"]={
		[c]="pointer arguments to kernel functions must reside in \'__global\', \'__constant\' or \'__local\' address space",
		[b]=d,
		[a]=e
	},
	["err_keyword_as_parameter"]={
		[c]="invalid parameter name: \'A\' is a keyword",
		[b]=d,
		[a]=e
	},
	["err_keyword_misplaced"]={
		[c]="misplaced A; expected A here",
		[b]=d,
		[a]=e
	},
	["err_keyword_not_allowed"]={
		[c]="A cannot appear here",
		[b]=d,
		[a]=e
	},
	["err_keyword_not_import_attr"]={
		[c]="A cannot be applied to a module import",
		[b]=d,
		[a]=e
	},
	["err_keyword_not_module_attr"]={
		[c]="A cannot be applied to a module",
		[b]=d,
		[a]=e
	},
	["err_keyword_not_supported_on_target"]={
		[c]="A is not supported on this target",
		[b]=d,
		[a]=e
	},
	["err_l_square_l_square_not_attribute"]={
		[c]="C++11 only allows consecutive left square brackets when introducing an attribute",
		[b]=d,
		[a]=e
	},
	["err_lambda_after_delete"]={
		[c]="\'[]\' after delete interpreted as \'delete[]\'; add parentheses to treat this as a lambda-expression",
		[b]=d,
		[a]=e
	},
	["err_lambda_capture_anonymous_var"]={
		[c]="unnamed variable cannot be implicitly captured in a lambda expression",
		[b]=d,
		[a]=e
	},
	["err_lambda_capture_default_arg"]={
		[c]="lambda expression in default argument cannot capture any entity",
		[b]=d,
		[a]=e
	},
	["err_lambda_capture_flexarray_type"]={
		[c]="variable A with flexible array member cannot be captured in a lambda expression",
		[b]=d,
		[a]=e
	},
	["err_lambda_capture_misplaced_ellipsis"]={
		[c]="ellipsis in pack ...capture must appear ... the name of the capture",
		[f]={"ellipsis in pack ",{l,"init-"},"capture must appear ",{"after","before"}," the name of the capture"},
		[b]=d,
		[a]=e
	},
	["err_lambda_capture_multiple_ellipses"]={
		[c]="multiple ellipses in pack capture",
		[b]=d,
		[a]=e
	},
	["err_lambda_decl_ref_not_modifiable_lvalue"]={
		[c]="cannot assign to a variable captured by copy in a non-mutable lambda",
		[b]=d,
		[a]=e
	},
	["err_lambda_decl_specifier_repeated"]={
		[c]="... cannot appear multiple times in a lambda declarator",
		[f]={{"\'mutable\'","\'static\'","\'constexpr\'","\'consteval\'"}," cannot appear multiple times in a lambda declarator"},
		[b]=d,
		[a]=e
	},
	["err_lambda_impcap"]={
		[c]="variable A cannot be implicitly captured in a lambda with no capture-default specified",
		[b]=d,
		[a]=e
	},
	["err_lambda_in_constant_expression"]={
		[c]="a lambda expression may not appear inside of a constant expression",
		[b]=d,
		[a]=e
	},
	["err_lambda_in_invalid_context"]={
		[c]="a lambda expression cannot appear in this context",
		[b]=d,
		[a]=e
	},
	["err_lambda_incomplete_result"]={
		[c]="incomplete result type A in lambda expression",
		[b]=d,
		[a]=e
	},
	["err_lambda_return_init_list"]={
		[c]="cannot deduce lambda return type from initializer list",
		[b]=d,
		[a]=e
	},
	["err_lambda_template_parameter_list_empty"]={
		[c]="lambda template parameter list cannot be empty",
		[b]=d,
		[a]=e
	},
	["err_lambda_unevaluated_operand"]={
		[c]="lambda expression in an unevaluated operand",
		[b]=d,
		[a]=e
	},
	["err_language_linkage_spec_unknown"]={
		[c]="unknown linkage language",
		[b]=d,
		[a]=e
	},
	["err_late_asm_label_name"]={
		[c]="cannot apply asm label to ... after its first use",
		[f]={"cannot apply asm label to ",{z,m}," after its first use"},
		[b]=d,
		[a]=e
	},
	["err_lexing_char"]={
		[c]="failure when lexing a character literal",
		[b]=d,
		[a]=e
	},
	["err_lexing_numeric"]={
		[c]="failure when lexing a numeric literal",
		[b]=d,
		[a]=e
	},
	["err_lexing_string"]={
		[c]="failure when lexing a string literal",
		[b]=d,
		[a]=e
	},
	["err_lifetimebound_ctor_dtor"]={
		[c]="\'lifetimebound\' attribute cannot be applied to a ...",
		[f]={"\'lifetimebound\' attribute cannot be applied to a ",{n,p}},
		[b]=d,
		[a]=e
	},
	["err_lifetimebound_no_object_param"]={
		[c]="\'lifetimebound\' attribute cannot be applied; ...member function has no implicit object parameter",
		[f]={"\'lifetimebound\' attribute cannot be applied; ",{"static ",gd},"member function has no implicit object parameter"},
		[b]=d,
		[a]=e
	},
	["err_list_init_in_parens"]={
		[c]="cannot initialize ... type B with a parenthesized initializer list",
		[f]={"cannot initialize ",{"non-class",E}," type B with a parenthesized initializer list"},
		[b]=d,
		[a]=e
	},
	["err_literal_operator_bad_param_count"]={
		[c]="non-template literal operator must have one or two parameters",
		[b]=d,
		[a]=e
	},
	["err_literal_operator_default_argument"]={
		[c]="literal operator cannot have a default argument",
		[b]=d,
		[a]=e
	},
	["err_literal_operator_extern_c"]={
		[c]="literal operator must have C++ linkage",
		[b]=d,
		[a]=e
	},
	["err_literal_operator_id_outside_namespace"]={
		[c]="non-namespace scope \'A\' cannot have a literal operator member",
		[b]=d,
		[a]=e
	},
	["err_literal_operator_invalid_param"]={
		[c]="parameter of literal operator must have type \'unsigned long long\', \'long double\', \'char\', \'wchar_t\', \'char16_t\', \'char32_t\', or \'const char *\'",
		[b]=d,
		[a]=e
	},
	["err_literal_operator_outside_namespace"]={
		[c]="literal operator A must be in a namespace or global scope",
		[b]=d,
		[a]=e
	},
	["err_literal_operator_param"]={
		[c]="invalid literal operator parameter type A, did you mean B?",
		[b]=d,
		[a]=e
	},
	["err_literal_operator_string_not_empty"]={
		[c]="string literal after \'operator\' must be \'\"\"\'",
		[b]=d,
		[a]=e
	},
	["err_literal_operator_string_prefix"]={
		[c]="string literal after \'operator\' cannot have an encoding prefix",
		[b]=d,
		[a]=e
	},
	["err_literal_operator_template"]={
		[c]="template parameter list for literal operator must be either \'char...\' or \'typename T, T...\'",
		[b]=d,
		[a]=e
	},
	["err_literal_operator_template_with_params"]={
		[c]="literal operator template cannot have any parameters",
		[b]=d,
		[a]=e
	},
	["err_loader_uninitialized_cant_init"]={
		[c]="variable with \'loader_uninitialized\' attribute cannot have an initializer",
		[b]=d,
		[a]=e
	},
	["err_loader_uninitialized_extern_decl"]={
		[c]="variable A cannot be declared both \'extern\' and with the \'loader_uninitialized\' attribute",
		[b]=d,
		[a]=e
	},
	["err_loader_uninitialized_redeclaration"]={
		[c]="redeclaration cannot add \'loader_uninitialized\' attribute",
		[b]=d,
		[a]=e
	},
	["err_loader_uninitialized_trivial_ctor"]={
		[c]="variable with \'loader_uninitialized\' attribute must have a trivial default constructor",
		[b]=d,
		[a]=e
	},
	["err_local_cant_init"]={
		[c]="\'__local\' variable cannot have an initializer",
		[b]=d,
		[a]=e
	},
	["err_loongarch_builtin_requires_la32"]={
		[c]="this builtin requires target: loongarch32",
		[b]=d,
		[a]=e
	},
	["err_loongarch_builtin_requires_la64"]={
		[c]="this builtin requires target: loongarch64",
		[b]=d,
		[a]=e
	},
	["err_lvalue_reference_bind_to_initlist"]={
		[c]="... lvalue reference to type B cannot bind to an initializer list temporary",
		[f]={{"non-const",Ub}," lvalue reference to type B cannot bind to an initializer list temporary"},
		[b]=d,
		[a]=e
	},
	["err_lvalue_reference_bind_to_temporary"]={
		[c]="... lvalue reference to type B cannot bind to a temporary of type C",
		[f]={{"non-const",Ub}," lvalue reference ",{"to type B cannot bind to a temporary of type C","cannot bind to incompatible temporary"}},
		[b]=d,
		[a]=e
	},
	["err_lvalue_reference_bind_to_unrelated"]={
		[c]="... lvalue reference to type B cannot bind to a value of unrelated type C",
		[f]={{"non-const",Ub}," lvalue reference ",{"to type B cannot bind to a value of unrelated type C","cannot bind to a value of unrelated type"}},
		[b]=d,
		[a]=e
	},
	["err_lvalue_to_rvalue_ref"]={
		[c]="rvalue reference to type A cannot bind to lvalue of type B",
		[f]={"rvalue reference ",{"to type A cannot bind to lvalue of type B","cannot bind to incompatible lvalue"}},
		[b]=d,
		[a]=e
	},
	["err_machine_mode"]={
		[c]="... machine mode B",
		[f]={{"unknown","unsupported"}," machine mode B"},
		[b]=d,
		[a]=e
	},
	["err_main_arg_wrong"]={
		[c]="... parameter of \'main\' (...) must be of type B",
		[f]={{"first","second","third","fourth"}," parameter of \'main\' (",{"argument count","argument array","environment","platform-specific data"},") must be of type B"},
		[b]=d,
		[a]=e
	},
	["err_main_global_variable"]={
		[c]="main cannot be declared as global variable",
		[b]=d,
		[a]=e
	},
	["err_main_returns_nonint"]={
		[c]="\'main\' must return \'int\'",
		[b]=d,
		[a]=e
	},
	["err_main_surplus_args"]={
		[c]="too many parameters (A) for \'main\': must be 0, 2, or 3",
		[b]=d,
		[a]=e
	},
	["err_mainlike_template_decl"]={
		[c]="A cannot be a template",
		[b]=d,
		[a]=e
	},
	["err_make_signed_integral_only"]={
		[c]="\'...\' is only compatible with non-... integers and enum types, but was given C...",
		[f]={x,{"make_unsigned","make_signed"},"\' is only compatible with non-",{"bool","_BitInt(1)"}," integers and enum types, but was given C",{l," whose underlying type is E"}},
		[b]=d,
		[a]=e
	},
	["err_malformed_std_coroutine_handle"]={
		[c]="std::coroutine_handle isn\'t a class template",
		[b]=d,
		[a]=e
	},
	["err_malformed_std_coroutine_traits"]={
		[c]="std::coroutine_traits isn\'t a class template",
		[b]=d,
		[a]=e
	},
	["err_malformed_std_initializer_list"]={
		[c]="std::initializer_list must be a class template with a single type parameter",
		[b]=d,
		[a]=e
	},
	["err_malformed_std_nothrow"]={
		[c]="std::nothrow must be a valid variable declaration",
		[b]=d,
		[a]=e
	},
	["err_matrix_incomplete_index"]={
		[c]="single subscript expressions are not allowed for matrix values",
		[b]=d,
		[a]=e
	},
	["err_matrix_index_not_integer"]={
		[c]="matrix ... index is not an integer",
		[f]={"matrix ",{"row","column"}," index is not an integer"},
		[b]=d,
		[a]=e
	},
	["err_matrix_index_outside_range"]={
		[c]="matrix ... index is outside the allowed range [0, B)",
		[f]={"matrix ",{"row","column"}," index is outside the allowed range [0, B)"},
		[b]=d,
		[a]=e
	},
	["err_matrix_separate_incomplete_index"]={
		[c]="matrix row and column subscripts cannot be separated by any expression",
		[b]=d,
		[a]=e
	},
	["err_matrix_subscript_comma"]={
		[c]="comma expressions are not allowed as indices in matrix subscript expressions",
		[b]=d,
		[a]=e
	},
	["err_maybe_falloff_nonvoid_block"]={
		[c]="non-void block does not return a value in all control paths",
		[b]=d,
		[a]=e
	},
	["err_mem_init_not_member_or_class"]={
		[c]="member initializer A does not name a non-static data member or base class",
		[b]=d,
		[a]=e
	},
	["err_mem_init_not_member_or_class_suggest"]={
		[c]="initializer A does not name a non-static data member or base class; did you mean the ... C?",
		[f]={"initializer A does not name a non-static data member or base class; did you mean the ",{Eb,tc}," C?"},
		[b]=d,
		[a]=e
	},
	["err_member_call_without_object"]={
		[c]="call to non-static member function without an object argument",
		[b]=d,
		[a]=e
	},
	["err_member_decl_does_not_match"]={
		[c]="out-of-line ... of A does not match any declaration in B",
		[f]={"out-of-line ",{qc,Kc}," of A does not match any declaration in B"},
		[b]=d,
		[a]=e
	},
	["err_member_decl_does_not_match_suggest"]={
		[c]="out-of-line ... of A does not match any declaration in B; did you mean D?",
		[f]={"out-of-line ",{qc,Kc}," of A does not match any declaration in B; did you mean D?"},
		[b]=d,
		[a]=e
	},
	["err_member_def_does_not_match_ret_type"]={
		[c]="return type of out-of-line definition of A differs from that in the declaration",
		[b]=d,
		[a]=e
	},
	["err_member_def_undefined_record"]={
		[c]="out-of-line definition of A from class B without definition",
		[b]=d,
		[a]=e
	},
	["err_member_extra_qualification"]={
		[c]="extra qualification on member A",
		[b]=d,
		[a]=e
	},
	["err_member_function_call_bad_cvr"]={
		[c]="\'this\' argument to member function A has type B, but function is not marked ...",
		[f]={"\'this\' argument to member function A has type B, but function is not marked ",{Lc,"restrict","const or restrict",Ub,"const or volatile","volatile or restrict","const, volatile, or restrict"}},
		[b]=d,
		[a]=e
	},
	["err_member_function_call_bad_ref"]={
		[c]="\'this\' argument to member function A is an ..., but function has ... ref-qualifier",
		[f]={"\'this\' argument to member function A is an ",{td,ld},", but function has ",{"non-const lvalue",ld}," ref-qualifier"},
		[b]=d,
		[a]=e
	},
	["err_member_function_call_bad_type"]={
		[c]="cannot initialize object parameter of type A with an expression of type B",
		[b]=d,
		[a]=e
	},
	["err_member_function_initialization"]={
		[c]="initializer on function does not look like a pure-specifier",
		[b]=d,
		[a]=e
	},
	["err_member_name_of_class"]={
		[c]="member A has the same name as its class",
		[b]=d,
		[a]=e
	},
	["err_member_not_yet_instantiated"]={
		[c]="no member A in B; it has not yet been instantiated",
		[b]=d,
		[a]=e
	},
	["err_member_qualification"]={
		[c]="non-friend class member A cannot have a qualified name",
		[b]=d,
		[a]=e
	},
	["err_member_redeclared"]={
		[c]="class member cannot be redeclared",
		[b]=d,
		[a]=e
	},
	["err_member_redeclared_in_instantiation"]={
		[c]="multiple overloads of A instantiate to the same signature B",
		[b]=d,
		[a]=e
	},
	["err_member_reference_needs_call"]={
		[c]="base of member reference is a function; perhaps you meant to call it...?",
		[f]={"base of member reference is a function; perhaps you meant to call it",{l," with no arguments"},"?"},
		[b]=d,
		[a]=e
	},
	["err_member_with_template_arguments"]={
		[c]="member A cannot have template arguments",
		[b]=d,
		[a]=e
	},
	["err_mempointer_in_nonclass_type"]={
		[c]="member pointer refers into non-class type A",
		[b]=d,
		[a]=e
	},
	["err_memptr_conv_via_virtual"]={
		[c]="conversion from pointer to member of class A to pointer to member of class B via virtual base C is not allowed",
		[b]=d,
		[a]=e
	},
	["err_memptr_incomplete"]={
		[c]="member pointer has incomplete base type A",
		[b]=d,
		[a]=e
	},
	["err_memtag_any2arg_pointer"]={
		[c]="at least one argument of MTE builtin function must be a pointer (A, B invalid)",
		[b]=d,
		[a]=e
	},
	["err_memtag_arg_must_be_integer"]={
		[c]="A argument of MTE builtin function must be an integer type (B invalid)",
		[b]=d,
		[a]=e
	},
	["err_memtag_arg_must_be_pointer"]={
		[c]="A argument of MTE builtin function must be a pointer (B invalid)",
		[b]=d,
		[a]=e
	},
	["err_memtag_arg_null_or_pointer"]={
		[c]="A argument of MTE builtin function must be a null or a pointer (B invalid)",
		[b]=d,
		[a]=e
	},
	["err_messaging_class_with_direct_method"]={
		[c]="messaging a Class with a method that is possibly direct",
		[b]=d,
		[a]=e
	},
	["err_messaging_super_with_direct_method"]={
		[c]="messaging super with a direct method",
		[b]=d,
		[a]=e
	},
	["err_messaging_unqualified_id_with_direct_method"]={
		[c]="messaging unqualified id with a method that is possibly direct",
		[b]=d,
		[a]=e
	},
	["err_method_kernel"]={
		[c]="kernel functions cannot be class members",
		[b]=d,
		[a]=e
	},
	["err_method_not_found_with_typo"]={
		[c]="... method A not found ; did you mean C?",
		[f]={{Ob,o}," method A not found ; did you mean C?"},
		[b]=d,
		[a]=e
	},
	["err_mips_builtin_requires_dsp"]={
		[c]="this builtin requires \'dsp\' ASE, please use -mdsp",
		[b]=d,
		[a]=e
	},
	["err_mips_builtin_requires_dspr2"]={
		[c]="this builtin requires \'dsp r2\' ASE, please use -mdspr2",
		[b]=d,
		[a]=e
	},
	["err_mips_builtin_requires_msa"]={
		[c]="this builtin requires \'msa\' ASE, please use -mmsa",
		[b]=d,
		[a]=e
	},
	["err_mips_fp64_req"]={
		[c]="\'A\' can only be used if the target supports the mfhc1 and mthc1 instructions",
		[b]=d,
		[a]=e
	},
	["err_mismatched_code_seg_base"]={
		[c]="derived class must specify the same code segment as its base classes",
		[b]=d,
		[a]=e
	},
	["err_mismatched_code_seg_override"]={
		[c]="overriding virtual function must specify the same code segment as its overridden function",
		[b]=d,
		[a]=e
	},
	["err_mismatched_exception_spec"]={
		[c]="exception specification in declaration does not match previous declaration",
		[b]=d,
		[a]=e
	},
	["err_mismatched_exception_spec_explicit_instantiation"]={
		[c]="exception specification in explicit instantiation does not match instantiated one",
		[b]=d,
		[a]=e
	},
	["err_mismatched_ms_inheritance"]={
		[c]="inheritance model does not match ...",
		[f]={"inheritance model does not match ",{Kc,"previous declaration"}},
		[b]=d,
		[a]=e
	},
	["err_mismatched_owning_module"]={
		[c]="declaration of A in ... follows declaration in ...",
		[f]={"declaration of A in ",{"the global module","module C"}," follows declaration in ",{"the global module","module E"}},
		[b]=d,
		[a]=e
	},
	["err_mismatched_uuid"]={
		[c]="uuid does not match previous declaration",
		[b]=d,
		[a]=e
	},
	["err_mismatched_visibility"]={
		[c]="visibility does not match previous declaration",
		[b]=d,
		[a]=e
	},
	["err_misplaced_ellipsis_in_declaration"]={
		[c]="\'...\' must ...",
		[f]={"\'...\' must ",{"immediately precede declared identifier","be innermost component of anonymous pack declaration"}},
		[b]=d,
		[a]=e
	},
	["err_misplaced_ivar"]={
		[c]="instance variables may not be placed in ...",
		[f]={"instance variables may not be placed in ",{"categories","class extension"}},
		[b]=d,
		[a]=e
	},
	["err_missing_actual_pipe_type"]={
		[c]="missing actual type specifier for pipe",
		[b]=d,
		[a]=e
	},
	["err_missing_atsign_prefix"]={
		[c]="... literal must be prefixed by \'@\'",
		[f]={{"string","numeric"}," literal must be prefixed by \'@\'"},
		[b]=d,
		[a]=e
	},
	["err_missing_before_module_end"]={
		[c]="expected A at end of module",
		[b]=d,
		[a]=e
	},
	["err_missing_catch_finally"]={
		[c]="@try statement without a @catch and @finally clause",
		[b]=d,
		[a]=e
	},
	["err_missing_comma_before_ellipsis"]={
		[c]="C requires a comma prior to the ellipsis in a variadic function type",
		[b]=d,
		[a]=e
	},
	["err_missing_default_ctor"]={
		[c]="... ... D ... does not have a default constructor",
		[f]={{"constructor for B must explicitly initialize the","implicit default constructor for B must explicitly initialize the","cannot use constructor inherited from base class E;"},w,{Eb,tc}," D ",{"which","which","of B"}," does not have a default constructor"},
		[b]=d,
		[a]=e
	},
	["err_missing_dependent_template_keyword"]={
		[c]="use \'template\' keyword to treat \'A\' as a dependent template name",
		[b]=d,
		[a]=e
	},
	["err_missing_end_of_definition"]={
		[c]="missing \'}\' at end of definition of A",
		[b]=d,
		[a]=e
	},
	["err_missing_exception_specification"]={
		[c]="A is missing exception specification \'B\'",
		[b]=d,
		[a]=e
	},
	["err_missing_method_context"]={
		[c]="missing context for method declaration",
		[b]=d,
		[a]=e
	},
	["err_missing_module"]={
		[c]="no module named \'A\' declared in module map file \'B\'",
		[b]=s,
		[a]=t
	},
	["err_missing_module_name"]={
		[c]="no module name provided; specify one with -fmodule-name=",
		[b]=s,
		[a]=t
	},
	["err_missing_open_square_message_send"]={
		[c]="missing \'[\' at start of message send expression",
		[b]=d,
		[a]=e
	},
	["err_missing_param"]={
		[c]="expected parameter declarator",
		[b]=d,
		[a]=e
	},
	["err_missing_property_context"]={
		[c]="missing context for property implementation declaration",
		[b]=d,
		[a]=e
	},
	["err_missing_property_interface"]={
		[c]="property implementation in a category with no category declaration",
		[b]=d,
		[a]=e
	},
	["err_missing_property_ivar_decl"]={
		[c]="synthesized property A must either be named the same as a compatible instance variable or must explicitly name an instance variable",
		[b]=d,
		[a]=e
	},
	["err_missing_type_specifier"]={
		[c]="a type specifier is required for all declarations",
		[b]=d,
		[a]=e
	},
	["err_missing_vfs_overlay_file"]={
		[c]="virtual filesystem overlay file \'A\' not found",
		[b]=s,
		[a]=t
	},
	["err_missing_whitespace_digraph"]={
		[c]="found \'<::\' after a ... which forms the digraph \'<:\' (aka \'[\') and a \':\', did you mean \'< ::\'?",
		[f]={"found \'<::\' after a ",{"template name","addrspace_cast",Xc,mc,yb,Cc}," which forms the digraph \'<:\' (aka \'[\') and a \':\', did you mean \'< ::\'?"},
		[b]=d,
		[a]=e
	},
	["err_mixing_cxx_try_seh_try"]={
		[c]="cannot use ... in the same function as SEH \'__try\'",
		[f]={"cannot use ",{"C++ \'try\'","Objective-C \'@try\'"}," in the same function as SEH \'__try\'"},
		[b]=d,
		[a]=e
	},
	["err_mmap_config_macro_submodule"]={
		[c]="configuration macros are only allowed in top-level modules",
		[b]=d,
		[a]=e
	},
	["err_mmap_conflicting_export_as"]={
		[c]="conflicting re-export of module \'A\' as \'B\' or \'C\'",
		[b]=d,
		[a]=e
	},
	["err_mmap_duplicate_header_attribute"]={
		[c]="header attribute \'A\' specified multiple times",
		[b]=d,
		[a]=e
	},
	["err_mmap_expected_attribute"]={
		[c]="expected an attribute name",
		[b]=d,
		[a]=e
	},
	["err_mmap_expected_config_macro"]={
		[c]="expected configuration macro name after \',\'",
		[b]=d,
		[a]=e
	},
	["err_mmap_expected_conflicts_comma"]={
		[c]="expected \',\' after conflicting module name",
		[b]=d,
		[a]=e
	},
	["err_mmap_expected_conflicts_message"]={
		[c]="expected a message describing the conflict with \'A\'",
		[b]=d,
		[a]=e
	},
	["err_mmap_expected_export_wildcard"]={
		[c]="only \'*\' can be exported from an inferred submodule",
		[b]=d,
		[a]=e
	},
	["err_mmap_expected_feature"]={
		[c]="expected a feature name",
		[b]=d,
		[a]=e
	},
	["err_mmap_expected_header"]={
		[c]="expected a header name after \'A\'",
		[b]=d,
		[a]=e
	},
	["err_mmap_expected_header_attribute"]={
		[c]="expected a header attribute name (\'size\' or \'mtime\')",
		[b]=d,
		[a]=e
	},
	["err_mmap_expected_inferred_member"]={
		[c]="expected ...",
		[f]={Md,{"module exclusion with \'exclude\'","\'export *\'"}},
		[b]=d,
		[a]=e
	},
	["err_mmap_expected_lbrace"]={
		[c]="expected \'{\' to start module \'A\'",
		[b]=d,
		[a]=e
	},
	["err_mmap_expected_lbrace_wildcard"]={
		[c]="expected \'{\' to start inferred submodule",
		[b]=d,
		[a]=e
	},
	["err_mmap_expected_library_name"]={
		[c]="expected ... name as a string",
		[f]={Md,{"library","framework"}," name as a string"},
		[b]=d,
		[a]=e
	},
	["err_mmap_expected_member"]={
		[c]="expected umbrella, header, submodule, or module export",
		[b]=d,
		[a]=e
	},
	["err_mmap_expected_mmap_file"]={
		[c]="expected a module map file name",
		[b]=d,
		[a]=e
	},
	["err_mmap_expected_module"]={
		[c]="expected module declaration",
		[b]=d,
		[a]=e
	},
	["err_mmap_expected_module_name"]={
		[c]="expected module name",
		[b]=d,
		[a]=e
	},
	["err_mmap_expected_rbrace"]={
		[c]="expected \'}\'",
		[b]=d,
		[a]=e
	},
	["err_mmap_expected_rsquare"]={
		[c]="expected \']\' to close attribute",
		[b]=d,
		[a]=e
	},
	["err_mmap_explicit_inferred_framework"]={
		[c]="inferred framework modules cannot be \'explicit\'",
		[b]=d,
		[a]=e
	},
	["err_mmap_explicit_top_level"]={
		[c]="\'explicit\' is not permitted on top-level modules",
		[b]=d,
		[a]=e
	},
	["err_mmap_inferred_framework_submodule"]={
		[c]="inferred submodule cannot be a framework submodule",
		[b]=d,
		[a]=e
	},
	["err_mmap_inferred_no_umbrella"]={
		[c]="inferred submodules require a module with an umbrella",
		[b]=d,
		[a]=e
	},
	["err_mmap_inferred_redef"]={
		[c]="redefinition of inferred submodule",
		[b]=d,
		[a]=e
	},
	["err_mmap_invalid_header_attribute_value"]={
		[c]="expected integer literal as value for header attribute \'A\'",
		[b]=d,
		[a]=e
	},
	["err_mmap_missing_exclude_name"]={
		[c]="expected excluded module name",
		[b]=d,
		[a]=e
	},
	["err_mmap_missing_module_qualified"]={
		[c]="no module named \'A\' in \'B\'",
		[b]=d,
		[a]=e
	},
	["err_mmap_missing_module_unqualified"]={
		[c]="no module named \'A\' visible from \'B\'",
		[b]=d,
		[a]=e
	},
	["err_mmap_missing_parent_module"]={
		[c]="no module named \'A\' ..., parent module must be defined before the submodule",
		[f]={"no module named \'A\' ",{"found","in \'C\'"},", parent module must be defined before the submodule"},
		[b]=d,
		[a]=e
	},
	["err_mmap_module_id"]={
		[c]="expected a module name or \'*\'",
		[b]=d,
		[a]=e
	},
	["err_mmap_module_redefinition"]={
		[c]="redefinition of module \'A\'",
		[b]=d,
		[a]=e
	},
	["err_mmap_nested_submodule_id"]={
		[c]="qualified module name can only be used to define modules at the top level",
		[b]=d,
		[a]=e
	},
	["err_mmap_submodule_export_as"]={
		[c]="only top-level modules can be re-exported as public",
		[b]=d,
		[a]=e
	},
	["err_mmap_top_level_inferred_submodule"]={
		[c]="only submodules and framework modules may be inferred with wildcard syntax",
		[b]=d,
		[a]=e
	},
	["err_mmap_umbrella_clash"]={
		[c]="umbrella for module \'A\' already covers this directory",
		[b]=d,
		[a]=e
	},
	["err_mmap_unknown_token"]={
		[c]="skipping stray token",
		[b]=d,
		[a]=e
	},
	["err_mmap_use_decl_submodule"]={
		[c]="use declarations are only allowed in top-level modules",
		[b]=d,
		[a]=e
	},
	["err_mode_not_primitive"]={
		[c]="mode attribute only supported for integer and floating-point types",
		[b]=d,
		[a]=e
	},
	["err_mode_wrong_type"]={
		[c]="type of machine mode does not match type of base type",
		[b]=d,
		[a]=e
	},
	["err_modifier_expected_colon"]={
		[c]="missing \':\' after A modifier",
		[b]=d,
		[a]=e
	},
	["err_module_build_disabled"]={
		[c]="module \'A\' is needed but has not been provided, and implicit use of module files is disabled",
		[b]=s,
		[a]=t
	},
	["err_module_build_requires_fmodules"]={
		[c]="module compilation requires \'-fmodules\'",
		[b]=d,
		[a]=e
	},
	["err_module_build_shadowed_submodule"]={
		[c]="build a shadowed submodule \'A\'",
		[b]=s,
		[a]=t
	},
	["err_module_cannot_create_includes"]={
		[c]="cannot create includes file for module A: B",
		[b]=d,
		[a]=e
	},
	["err_module_cycle"]={
		[c]="cyclic dependency in module \'A\': B",
		[b]=s,
		[a]=t
	},
	["err_module_decl_in_header_unit"]={
		[c]="\'module\' declaration found while building header unit",
		[b]=d,
		[a]=e
	},
	["err_module_decl_in_module_map_module"]={
		[c]="\'module\' declaration found while building module from module map",
		[b]=d,
		[a]=e
	},
	["err_module_decl_not_at_start"]={
		[c]="module declaration must occur at the start of the translation unit",
		[b]=d,
		[a]=e
	},
	["err_module_declaration_missing"]={
		[c]="missing \'export module\' declaration in module interface unit",
		[b]=d,
		[a]=e
	},
	["err_module_declaration_missing_after_global_module_introducer"]={
		[c]="missing \'module\' declaration at end of global module fragment introduced here",
		[b]=d,
		[a]=e
	},
	["err_module_different_modmap"]={
		[c]="module \'A\' ... additional module map \'C\'... used when the module was built",
		[f]={"module \'A\' ",{"uses","does not use"}," additional module map \'C\'",{l," not"}," used when the module was built"},
		[b]=d,
		[a]=e
	},
	["err_module_expected_ident"]={
		[c]="expected a module name after \'...\'",
		[f]={"expected a module name after \'",{Ic,"import"},x},
		[b]=d,
		[a]=e
	},
	["err_module_expected_semi"]={
		[c]="expected \';\' after module name",
		[b]=d,
		[a]=e
	},
	["err_module_file_conflict"]={
		[c]="module \'A\' is defined in both \'B\' and \'C\'",
		[b]=s,
		[a]=t
	},
	["err_module_file_missing_top_level_submodule"]={
		[c]="module file \'A\' is missing its top-level submodule",
		[b]=s,
		[a]=t
	},
	["err_module_file_not_module"]={
		[c]="AST file \'A\' was not built as a module",
		[b]=s,
		[a]=t
	},
	["err_module_format_unhandled"]={
		[c]="no handler registered for module format \'A\'",
		[b]=s,
		[a]=t
	},
	["err_module_fragment_exported"]={
		[c]="... module fragment cannot be exported",
		[f]={{"global",C}," module fragment cannot be exported"},
		[b]=d,
		[a]=e
	},
	["err_module_header_file_not_found"]={
		[c]="module header file \'A\' not found",
		[b]=s,
		[a]=t
	},
	["err_module_header_missing"]={
		[c]="...header \'B\' not found",
		[f]={{l,"umbrella "},"header \'B\' not found"},
		[b]=d,
		[a]=e
	},
	["err_module_import_in_implementation"]={
		[c]="@import of module \'A\' in implementation of \'B\'; use #import",
		[b]=d,
		[a]=e
	},
	["err_module_import_not_at_top_level_fatal"]={
		[c]="import of module \'A\' appears within B",
		[b]=s,
		[a]=t
	},
	["err_module_interface_implementation_mismatch"]={
		[c]="missing \'export\' specifier in module declaration while building module interface",
		[b]=d,
		[a]=e
	},
	["err_module_interface_requires_cpp_modules"]={
		[c]="module interface compilation requires \'-std=c++20\'",
		[b]=d,
		[a]=e
	},
	["err_module_map_not_found"]={
		[c]="module map file \'A\' not found",
		[b]=s,
		[a]=t
	},
	["err_module_no_size_mtime_for_header"]={
		[c]="cannot emit module A: ... must be explicitly specified for missing header file \"C\"",
		[f]={"cannot emit module A: ",{Jd,"mtime"}," must be explicitly specified for missing header file \"C\""},
		[b]=d,
		[a]=e
	},
	["err_module_not_built"]={
		[c]="could not build module \'A\'",
		[b]=s,
		[a]=t
	},
	["err_module_not_defined"]={
		[c]="definition of module \'A\' is not available; use -fmodule-file= to specify path to precompiled module interface",
		[b]=d,
		[a]=e
	},
	["err_module_not_found"]={
		[c]="module \'A\' not found",
		[b]=s,
		[a]=t
	},
	["err_module_odr_violation_definition_data"]={
		[c]=cc,
		[f]={bc,{Mb,Ab},bb,{{"E base ",{o,Fd}},{"E virtual base ",{o,Fd}},"E base class with type F",{"E ",{"non-virtual","virtual"}," base class G"},{"E base class F with ",{"public",D,C,fb}," access specifier"}}},
		[b]=d,
		[a]=e
	},
	["err_module_odr_violation_different_definitions"]={
		[c]="A has different definitions in different modules; ...",
		[f]={"A has different definitions in different modules; ",{"definition in module \'C\' is here",Ab}},
		[b]=d,
		[a]=e
	},
	["err_module_odr_violation_different_instantiations"]={
		[c]="instantiation of A is different in different modules",
		[b]=d,
		[a]=e
	},
	["err_module_odr_violation_enum"]={
		[c]="A has different definitions in different modules; ... first difference is ...",
		[f]={"A has different definitions in different modules; ",{Mb,Ab}," first difference is ",{{"enum that is ",{"not scoped","scoped"}},{"enum scoped with keyword ",{r,o}},{"enum ",{"without","with"}," specified type"},"enum with specified type E","enum with E elementE","E element has name F",{"E element F ",{"has","does not have"}," an initializer"},"E element F has an initializer",l}},
		[b]=d,
		[a]=e
	},
	["err_module_odr_violation_field"]={
		[c]=cc,
		[f]={bc,{Mb,Ab},bb,{"field E","field E with type F",{{gd,l},"bitfield E"},"bitfield E with one width expression",{{gd,l},"mutable field E"},{"field E with ",{fb,"an"}," initializer"},"field E with an initializer"}},
		[b]=d,
		[a]=e
	},
	["err_module_odr_violation_function"]={
		[c]="A has different definitions in different modules; ... first difference is ...",
		[f]={"A has different definitions in different modules; ",{Mb,Ab}," first difference is ",{"return type is E","E parameter with name F",{"E parameter with type F",{l," decayed from H"}},{"E parameter with",{"out",l}," a default argument"},"E parameter with a default argument","function body"}},
		[b]=d,
		[a]=e
	},
	["err_module_odr_violation_method_params"]={
		[c]=cc,
		[f]={bc,{Mb,Ab},bb,{{{wb,n,p}," that has G parameterG"},{{wb,n,p}," with G parameter of type H",{l," decayed from J"}},{{wb,n,p}," with G parameter named H"}}},
		[b]=d,
		[a]=e
	},
	["err_module_odr_violation_mismatch_decl"]={
		[c]=cc,
		[f]={bc,{Mb,Ab},bb,{"end of class","public access specifier","private access specifier","protected access specifier","static assert",uc,u,Db,eb,"data member","friend declaration",Kb,u,Wc,db}},
		[b]=d,
		[a]=e
	},
	["err_module_odr_violation_mismatch_decl_unknown"]={
		[c]="A ... has different definitions in different modules; first difference is this ...",
		[f]={"A ",{"with definition in module \'C\'",Ab}," has different definitions in different modules; first difference is this ",{l,l,l,l,"static assert",uc,u,Db,eb,"data member","friend declaration",Kb,u,Wc,db,"unexpected decl"}},
		[b]=d,
		[a]=e
	},
	["err_module_odr_violation_missing_decl"]={
		[c]="A from module \'B\' is not present in definition of C...",
		[f]={"A from module \'B\' is not present in definition of C",{" in module \'E\'"," provided earlier"}},
		[b]=d,
		[a]=e
	},
	["err_module_odr_violation_objc_interface"]={
		[c]=cc,
		[f]={bc,{Mb,Ab},bb,{{{"no super class","super class with type F"}},{"instance variable \'E\' access control is ",{l,"@private","@protected","@public","@package"}}}},
		[b]=d,
		[a]=e
	},
	["err_module_odr_violation_objc_method"]={
		[c]=cc,
		[f]={bc,{Mb,Ab},bb,{"method E with return type F",{{o,Ob}," method E"},{{fb,"\'required\'","\'optional\'"}," method control"},{"method E with ",{"no designated initializer","designated initializer"}},{{"regular","direct"}," method E"},"method E"}},
		[b]=d,
		[a]=e
	},
	["err_module_odr_violation_objc_property"]={
		[c]=cc,
		[f]={bc,{Mb,Ab},bb,{"property E","property E with type F",{{fb,"\'required\'","\'optional\'"}," property control"},{"property E with ",{"default ",l},x,{"none","readonly",hd,"assign","readwrite","retain",Cb,"nonatomic",id,"atomic","weak","strong","unsafe_unretained","nullability","null_resettable",o,"direct"},"\' attribute"}}},
		[b]=d,
		[a]=e
	},
	["err_module_odr_violation_record"]={
		[c]=cc,
		[f]={bc,{Mb,Ab},bb,{"static assert with condition","static assert with message",{"static assert with ",{l,Qc},"message"},{{wb,n,p}},{{wb,n,p},Pb,{"not deleted","deleted"}},{{wb,n,p},Pb,{"not defaulted","defaulted"}},{{wb,n,p},Pb,{l,"pure "},{"not virtual","virtual"}},{{wb,n,p},Pb,{"not static",Vc}},{{wb,n,p},Pb,{"not volatile",Ub}},{{wb,n,p},Pb,{"not const",Lc}},{{wb,n,p},Pb,{"not inline","inline"}},{{wb,n,p}," with G parameter with",{"out",l}," a default argument"},{{wb,n,p}," with G parameter with a default argument"},{{wb,n,p},Gd,{Qc,l},"template arguments"},{{wb,n,p}," with G template argumentG"},{{wb,n,p}," with G for H template argument"},{{wb,n,p},Gd,{"no body","body"}},{{wb,n,p}," with body"},{"friend ",{o,m}},"friend E","friend function E","function template E with F template parameterF",{"function template E with F template parameter being a ",{a,"non-type",Hb}," template parameter"},{"function template E with F template parameter ",{"with no name","named H"}},{"function template E with F template parameter with ",{Qc,l},Bd},"function template E with F template parameter with default argument G","function template E with F template parameter with one type",{"function template E with F template parameter ",{"not ",l},"being a template parameter pack"},l}},
		[b]=d,
		[a]=e
	},
	["err_module_odr_violation_referenced_protocols"]={
		[c]=cc,
		[f]={bc,{Mb,Ab},bb,{{"E referenced ",{nd,"protocols"}},"E referenced protocol with name F"}},
		[b]=d,
		[a]=e
	},
	["err_module_odr_violation_template_parameter"]={
		[c]=cc,
		[f]={bc,{Mb,Ab},bb,{"unnamed template parameter","template parameter F",{"template parameter with ",{Qc,l},Bd},"template parameter with default argument"}},
		[b]=d,
		[a]=e
	},
	["err_module_odr_violation_typedef"]={
		[c]=cc,
		[f]={bc,{Mb,Ab},bb,{{{eb,Db}," name F"},{{eb,Db}," F with underlying type G"}}},
		[b]=d,
		[a]=e
	},
	["err_module_odr_violation_variable"]={
		[c]=cc,
		[f]={bc,{Mb,Ab},bb,{"data member with name E","data member E with type F",{"data member E with",{"out",l}," an initializer"},"data member E with an initializer",{"data member E ",{"is constexpr","is not constexpr"}}}},
		[b]=d,
		[a]=e
	},
	["err_module_prebuilt"]={
		[c]="error in loading module \'A\' from prebuilt module path",
		[b]=s,
		[a]=t
	},
	["err_module_private_local"]={
		[c]="... B cannot be declared __module_private__",
		[f]={{"local variable",ac,eb}," B cannot be declared __module_private__"},
		[b]=d,
		[a]=e
	},
	["err_module_private_local_class"]={
		[c]="local ... cannot be declared __module_private__",
		[f]={"local ",{r,B,v,o,pb}," cannot be declared __module_private__"},
		[b]=d,
		[a]=e
	},
	["err_module_private_specialization"]={
		[c]="... specialization cannot be declared __module_private__",
		[f]={{Hb,"partial",tc}," specialization cannot be declared __module_private__"},
		[b]=d,
		[a]=e
	},
	["err_module_rebuild_finalized"]={
		[c]="cannot rebuild module \'A\' as it is already finalized",
		[b]=s,
		[a]=t
	},
	["err_module_redeclaration"]={
		[c]="translation unit contains multiple module declarations",
		[b]=d,
		[a]=e
	},
	["err_module_redefinition"]={
		[c]="redefinition of module \'A\'",
		[b]=d,
		[a]=e
	},
	["err_module_self_import"]={
		[c]="import of module \'A\' appears within same top-level module \'B\'",
		[b]=d,
		[a]=e
	},
	["err_module_self_import_cxx20"]={
		[c]="import of module \'A\' appears within its own ...",
		[f]={"import of module \'A\' appears within its own ",{B,"implementation"}},
		[b]=d,
		[a]=e
	},
	["err_module_shadowed"]={
		[c]="import of shadowed module \'A\'",
		[b]=s,
		[a]=t
	},
	["err_module_unable_to_hash_content"]={
		[c]="failed to hash content for \'A\' because memory buffer cannot be retrieved",
		[b]=d,
		[a]=e
	},
	["err_module_unavailable"]={
		[c]="module \'A\' ... feature \'C\'",
		[f]={"module \'A\' ",{"is incompatible with","requires"}," feature \'C\'"},
		[b]=d,
		[a]=e
	},
	["err_module_unimported_use"]={
		[c]="... of B must be imported from module \'C\' before it is required",
		[f]={{qc,Kc,Bd,"explicit specialization","partial specialization"}," of B must be imported from module \'C\' before it is required"},
		[b]=d,
		[a]=e
	},
	["err_module_unimported_use_header"]={
		[c]="...; ...B must be ... before it is used",
		[f]={{"missing \'#include\'","missing \'#include D\'"},"; ",{l,l,"default argument of ","explicit specialization of ","partial specialization of "},"B must be ",{"declared","defined","defined","declared","declared"}," before it is used"},
		[b]=d,
		[a]=e
	},
	["err_module_unimported_use_multiple"]={
		[c]="... of B must be imported from one of the following modules before it is required:C",
		[f]={{qc,Kc,Bd,"explicit specialization","partial specialization"}," of B must be imported from one of the following modules before it is required:C"},
		[b]=d,
		[a]=e
	},
	["err_modules_embed_file_not_found"]={
		[c]="file \'A\' specified by \'-fmodules-embed-file=\' not found",
		[b]=s,
		[a]=t
	},
	["err_ms___leave_not_in___try"]={
		[c]="\'__leave\' statement not in __try block",
		[b]=d,
		[a]=e
	},
	["err_ms_asm_bitfield_unsupported"]={
		[c]="an inline asm block cannot have an operand which is a bit-field",
		[b]=d,
		[a]=e
	},
	["err_ms_attributes_not_enabled"]={
		[c]="\'__declspec\' attributes are not enabled; use \'-fdeclspec\' or \'-fms-extensions\' to enable support for __declspec attributes",
		[b]=d,
		[a]=e
	},
	["err_ms_declspec_type"]={
		[c]="__declspec attributes must be an identifier or string literal",
		[b]=d,
		[a]=e
	},
	["err_ms_property_duplicate_accessor"]={
		[c]="property declaration specifies \'A\' accessor twice",
		[b]=d,
		[a]=e
	},
	["err_ms_property_expected_accessor_name"]={
		[c]="expected name of accessor method",
		[b]=d,
		[a]=e
	},
	["err_ms_property_expected_comma_or_rparen"]={
		[c]="expected \',\' or \')\' at end of property accessor list",
		[b]=d,
		[a]=e
	},
	["err_ms_property_expected_equal"]={
		[c]="expected \'=\' after \'A\'",
		[b]=d,
		[a]=e
	},
	["err_ms_property_has_set_accessor"]={
		[c]="putter for property must be specified as \'put\', not \'set\'",
		[b]=d,
		[a]=e
	},
	["err_ms_property_initializer"]={
		[c]="property declaration cannot have a default member initializer",
		[b]=d,
		[a]=e
	},
	["err_ms_property_missing_accessor_kind"]={
		[c]="missing \'get=\' or \'put=\'",
		[b]=d,
		[a]=e
	},
	["err_ms_property_no_getter_or_putter"]={
		[c]="property does not specify a getter or a putter",
		[b]=d,
		[a]=e
	},
	["err_ms_property_unknown_accessor"]={
		[c]="expected \'get\' or \'put\' in property declaration",
		[b]=d,
		[a]=e
	},
	["err_ms_va_start_used_in_sysv_function"]={
		[c]="\'__builtin_ms_va_start\' used in System V ABI function",
		[b]=d,
		[a]=e
	},
	["err_msasm_unable_to_create_target"]={
		[c]="MS-style inline assembly is not available: A",
		[b]=d,
		[a]=e
	},
	["err_msasm_unsupported_arch"]={
		[c]="unsupported architecture \'A\' for MS-style inline assembly",
		[b]=d,
		[a]=e
	},
	["err_msvc_annotation_wide_str"]={
		[c]="arguments to __annotation must be wide string constants",
		[b]=d,
		[a]=e
	},
	["err_mt_message"]={
		[c]="[rewriter] A",
		[b]=d,
		[a]=e
	},
	["err_multichar_character_literal"]={
		[c]="... character literals may not contain multiple characters",
		[f]={{"wide","Unicode"}," character literals may not contain multiple characters"},
		[b]=d,
		[a]=e
	},
	["err_multiple_base_initialization"]={
		[c]="multiple initializations given for base A",
		[b]=d,
		[a]=e
	},
	["err_multiple_def_index"]={
		[c]="multiple definitions are found for the same key in index ",
		[b]=d,
		[a]=e
	},
	["err_multiple_default_labels_defined"]={
		[c]="multiple default labels in one switch",
		[b]=d,
		[a]=e
	},
	["err_multiple_final_overriders"]={
		[c]="virtual function A has more than one final overrider in B",
		[b]=d,
		[a]=e
	},
	["err_multiple_mem_initialization"]={
		[c]="multiple initializations given for non-static member A",
		[b]=d,
		[a]=e
	},
	["err_multiple_mem_union_initialization"]={
		[c]="initializing multiple members of union",
		[b]=d,
		[a]=e
	},
	["err_multiple_template_declarators"]={
		[c]="... can only ... a single entity",
		[f]={{l,"a template declaration","an explicit template specialization","an explicit template instantiation"}," can only ",{l,"declare","declare","instantiate"}," a single entity"},
		[b]=d,
		[a]=e
	},
	["err_multiversion_after_used"]={
		[c]="function declaration cannot become a multiversioned function after first usage",
		[b]=d,
		[a]=e
	},
	["err_multiversion_diff"]={
		[c]="multiversioned function declaration has a different ...",
		[f]={"multiversioned function declaration has a different ",{"calling convention","return type","constexpr specification","inline specification","linkage","language linkage"}},
		[b]=d,
		[a]=e
	},
	["err_multiversion_disallowed_other_attr"]={
		[c]="attribute \'...\' multiversioning cannot be combined with attribute B",
		[f]={"attribute \'",{l,"target","cpu_specific","cpu_dispatch","target_clones","target_version"},"\' multiversioning cannot be combined with attribute B"},
		[b]=d,
		[a]=e
	},
	["err_multiversion_doesnt_support"]={
		[c]="attribute \'...\' multiversioned functions do not yet support ...",
		[f]={"attribute \'",{l,"target","cpu_specific","cpu_dispatch","target_clones","target_version"},"\' multiversioned functions do not yet support ",{"function templates","virtual functions","deduced return types","constructors","destructors","deleted functions","defaulted functions","constexpr functions","consteval function","lambdas"}},
		[b]=d,
		[a]=e
	},
	["err_multiversion_duplicate"]={
		[c]="multiversioned function redeclarations require identical target attributes",
		[b]=d,
		[a]=e
	},
	["err_multiversion_noproto"]={
		[c]="multiversioned function must have a prototype",
		[b]=d,
		[a]=e
	},
	["err_multiversion_not_allowed_on_main"]={
		[c]="\'main\' cannot be a multiversioned function",
		[b]=d,
		[a]=e
	},
	["err_multiversion_not_supported"]={
		[c]="function multiversioning is not supported on the current target",
		[b]=d,
		[a]=e
	},
	["err_multiversion_required_in_redecl"]={
		[c]="function declaration is missing ... attribute in a multiversioned function",
		[f]={"function declaration is missing ",{"\'target\'","\'cpu_specific\' or \'cpu_dispatch\'","\'target_version\'"}," attribute in a multiversioned function"},
		[b]=d,
		[a]=e
	},
	["err_multiversion_types_mixed"]={
		[c]="multiversioning attributes cannot be combined",
		[b]=d,
		[a]=e
	},
	["err_musttail_callconv_mismatch"]={
		[c]="cannot perform a tail call to function... because it uses an incompatible calling convention",
		[f]={"cannot perform a tail call to function",{l,X}," because it uses an incompatible calling convention"},
		[b]=d,
		[a]=e
	},
	["err_musttail_forbidden_from_this_context"]={
		[c]="A attribute cannot be used from ...",
		[f]={"A attribute cannot be used from ",{"a block","an Objective-C function","this context"}},
		[b]=d,
		[a]=e
	},
	["err_musttail_member_mismatch"]={
		[c]="... function cannot perform a tail call to ... function...",
		[f]={{"non-member","static member","non-static member"}," function cannot perform a tail call to ",{"non-member","static member","non-static member","pointer-to-member"},zd,{l," D"}},
		[b]=d,
		[a]=e
	},
	["err_musttail_mismatch"]={
		[c]="cannot perform a tail call to function... because its signature is incompatible with the calling function",
		[f]={"cannot perform a tail call to function",{l,X}," because its signature is incompatible with the calling function"},
		[b]=d,
		[a]=e
	},
	["err_musttail_needs_call"]={
		[c]="A attribute requires that the return value is the result of a function call",
		[b]=d,
		[a]=e
	},
	["err_musttail_needs_prototype"]={
		[c]="A attribute requires that both caller and callee functions have a prototype",
		[b]=d,
		[a]=e
	},
	["err_musttail_needs_trivial_args"]={
		[c]="tail call requires that the return value, all parameters, and any temporaries created by the expression are trivially destructible",
		[b]=d,
		[a]=e
	},
	["err_musttail_no_variadic"]={
		[c]="A attribute may not be used with variadic functions",
		[b]=d,
		[a]=e
	},
	["err_musttail_scope"]={
		[c]="cannot perform a tail call from this return statement",
		[b]=d,
		[a]=e
	},
	["err_musttail_structors_forbidden"]={
		[c]="cannot perform a tail call ... a ...",
		[f]={"cannot perform a tail call ",{Ed,"to"}," a ",{n,p}},
		[b]=d,
		[a]=e
	},
	["err_mutable_const"]={
		[c]="\'mutable\' and \'const\' cannot be mixed",
		[b]=d,
		[a]=e
	},
	["err_mutable_function"]={
		[c]="\'mutable\' cannot be applied to functions",
		[b]=d,
		[a]=e
	},
	["err_mutable_nonmember"]={
		[c]="\'mutable\' can only be applied to member variables",
		[b]=d,
		[a]=e
	},
	["err_mutable_reference"]={
		[c]="\'mutable\' cannot be applied to references",
		[b]=d,
		[a]=e
	},
	["err_namespace_nonnamespace_scope"]={
		[c]="namespaces can only be defined in global or namespace scope",
		[b]=d,
		[a]=e
	},
	["err_need_header_before_placement_new"]={
		[c]="no matching A function for non-allocating placement new expression; include <new>",
		[b]=d,
		[a]=e
	},
	["err_need_header_before_typeid"]={
		[c]="you need to include <typeinfo> before using the \'typeid\' operator",
		[b]=d,
		[a]=e
	},
	["err_nested_name_member_ref_lookup_ambiguous"]={
		[c]="lookup of A in member access expression is ambiguous",
		[b]=d,
		[a]=e
	},
	["err_nested_name_spec_is_not_class"]={
		[c]="A cannot appear before \'::\' because it is not a class...; did you mean \':\'?",
		[f]={"A cannot appear before \'::\' because it is not a class",{" or namespace",", namespace, or enumeration"},"; did you mean \':\'?"},
		[b]=d,
		[a]=e
	},
	["err_nested_name_spec_non_tag"]={
		[c]="type A cannot be used prior to \'::\' because it has no members",
		[b]=d,
		[a]=e
	},
	["err_nested_non_static_member_use"]={
		[c]="... C of B from nested type D",
		[f]={{"call to non-static member function","use of non-static data member"}," C of B from nested type D"},
		[b]=d,
		[a]=e
	},
	["err_nested_pointer_qualifier_mismatch"]={
		[c]="... discards qualifiers in nested pointer types",
		[f]={{{{ab,G}},{{N,S}},{{T,F}},{{P,R}},{{Q,O}},{{M,L}},{{K,I}}}," discards qualifiers in nested pointer types"},
		[b]=d,
		[a]=e
	},
	["err_nested_redefinition"]={
		[c]="nested redefinition of A",
		[b]=d,
		[a]=e
	},
	["err_new_abi_tag_on_redeclaration"]={
		[c]="\'abi_tag\' A missing in original declaration",
		[b]=d,
		[a]=e
	},
	["err_new_array_init_args"]={
		[c]="array \'new\' cannot have initialization arguments",
		[b]=d,
		[a]=e
	},
	["err_new_array_nonconst"]={
		[c]="only the first dimension of an allocated array may have dynamic size",
		[b]=d,
		[a]=e
	},
	["err_new_array_of_auto"]={
		[c]="cannot allocate array of \'auto\'",
		[b]=d,
		[a]=e
	},
	["err_new_array_size_unknown_from_init"]={
		[c]="cannot determine allocated array size from initializer",
		[b]=d,
		[a]=e
	},
	["err_new_incomplete_or_sizeless_type"]={
		[c]="allocation of ... type B",
		[f]={"allocation of ",{"incomplete",yd},Rc},
		[b]=d,
		[a]=e
	},
	["err_no_accessor_for_property"]={
		[c]="no ... defined for property B",
		[f]={Qc,{hd,id}," defined for property B"},
		[b]=d,
		[a]=e
	},
	["err_no_base_classes"]={
		[c]="invalid use of \'__super\', A has no base classes",
		[b]=d,
		[a]=e
	},
	["err_no_declarators"]={
		[c]="declaration does not declare anything",
		[b]=d,
		[a]=e
	},
	["err_no_dynamic_cast_with_fno_rtti"]={
		[c]="use of dynamic_cast requires -frtti",
		[b]=d,
		[a]=e
	},
	["err_no_external_assembler"]={
		[c]="there is no external assembler that can be used on this platform",
		[b]=d,
		[a]=e
	},
	["err_no_matching_local_friend"]={
		[c]="no matching function found in local scope",
		[b]=d,
		[a]=e
	},
	["err_no_matching_local_friend_suggest"]={
		[c]="no matching function A found in local scope; did you mean D?",
		[b]=d,
		[a]=e
	},
	["err_no_matching_param"]={
		[c]="parameter named A is missing",
		[b]=d,
		[a]=e
	},
	["err_no_member"]={
		[c]="no member named A in B",
		[b]=d,
		[a]=e
	},
	["err_no_member_overloaded_arrow"]={
		[c]="no member named A in B; did you mean to use \'->\' instead of \'.\'?",
		[b]=d,
		[a]=e
	},
	["err_no_member_suggest"]={
		[c]="no member named A in B; did you mean ...D?",
		[f]={"no member named A in B; did you mean ",{l,"simply "},"D?"},
		[b]=d,
		[a]=e
	},
	["err_no_member_template"]={
		[c]="no template named A in B",
		[b]=d,
		[a]=e
	},
	["err_no_member_template_suggest"]={
		[c]="no template named A in B; did you mean ...D?",
		[f]={"no template named A in B; did you mean ",{l,"simply "},"D?"},
		[b]=d,
		[a]=e
	},
	["err_no_nsconstant_string_class"]={
		[c]="cannot find interface declaration for A",
		[b]=d,
		[a]=e
	},
	["err_no_submodule"]={
		[c]="no submodule named A in module \'B\'",
		[b]=d,
		[a]=e
	},
	["err_no_submodule_suggest"]={
		[c]="no submodule named A in module \'B\'; did you mean \'C\'?",
		[b]=d,
		[a]=e
	},
	["err_no_subobject_property_setting"]={
		[c]="expression is not assignable",
		[b]=d,
		[a]=e
	},
	["err_no_suitable_delete_member_function_found"]={
		[c]="no suitable member A in B",
		[b]=d,
		[a]=e
	},
	["err_no_super_class_message"]={
		[c]="no @interface declaration found in class messaging of A",
		[b]=d,
		[a]=e
	},
	["err_no_template"]={
		[c]="no template named A",
		[b]=d,
		[a]=e
	},
	["err_no_template_suggest"]={
		[c]="no template named A; did you mean B?",
		[b]=d,
		[a]=e
	},
	["err_no_typeid_with_fno_rtti"]={
		[c]="use of typeid requires -frtti",
		[b]=d,
		[a]=e
	},
	["err_no_viable_destructor"]={
		[c]="no viable destructor found for class A",
		[b]=d,
		[a]=e
	},
	["err_nogetter_property_compound_assignment"]={
		[c]="a getter method is needed to perform a compound assignment on a property",
		[b]=d,
		[a]=e
	},
	["err_nogetter_property_incdec"]={
		[c]="no getter method B for ... of property",
		[f]={"no getter method B for ",{wd,Id}," of property"},
		[b]=d,
		[a]=e
	},
	["err_non_asm_stmt_in_naked_function"]={
		[c]="non-ASM statement in naked function is not supported",
		[b]=d,
		[a]=e
	},
	["err_non_bool_atomic_constraint"]={
		[c]="atomic constraint must be of type \'bool\' (found A)",
		[b]=d,
		[a]=e
	},
	["err_non_c_like_anon_struct_in_typedef"]={
		[c]="anonymous non-C-compatible type given name for linkage purposes by ... declaration after its linkage was computed; add a tag name here to establish linkage prior to definition",
		[f]={"anonymous non-C-compatible type given name for linkage purposes by ",{eb,Dc}," declaration after its linkage was computed; add a tag name here to establish linkage prior to definition"},
		[b]=d,
		[a]=e
	},
	["err_non_constant_constraint_expression"]={
		[c]="substitution into constraint expression resulted in a non-constant expression",
		[b]=d,
		[a]=e
	},
	["err_non_consteval_override"]={
		[c]="non-consteval function A cannot override a consteval function",
		[b]=d,
		[a]=e
	},
	["err_non_default_visibility_dllimport"]={
		[c]="non-default visibility cannot be applied to \'dllimport\' declaration",
		[b]=d,
		[a]=e
	},
	["err_non_deleted_override"]={
		[c]="non-deleted function A cannot override a deleted function",
		[b]=d,
		[a]=e
	},
	["err_non_designated_init_used"]={
		[c]="a randomized struct can only be initialized with a designated initializer",
		[b]=d,
		[a]=e
	},
	["err_non_extern_extern"]={
		[c]="non-extern declaration of A follows extern declaration",
		[b]=d,
		[a]=e
	},
	["err_non_first_default_compare_deletes"]={
		[c]="defaulting ... would delete it after its first declaration",
		[f]={"defaulting ",{{"this ",{A,Fb,A,Jb}," comparison operator"},"the corresponding implicit \'operator==\' for this defaulted \'operator<=>\'"}," would delete it after its first declaration"},
		[b]=d,
		[a]=e
	},
	["err_non_first_default_compare_in_class"]={
		[c]="defaulting this ... comparison operator is not allowed because it was already declared outside the class",
		[f]={"defaulting this ",{A,Fb,A,Jb}," comparison operator is not allowed because it was already declared outside the class"},
		[b]=d,
		[a]=e
	},
	["err_non_local_variable_decl_in_for"]={
		[c]="declaration of non-local variable in \'for\' loop",
		[b]=d,
		[a]=e
	},
	["err_non_static_static"]={
		[c]="non-static declaration of A follows static declaration",
		[b]=d,
		[a]=e
	},
	["err_non_template_in_member_template_id_suggest"]={
		[c]="member A of B is not a template; did you mean ...D?",
		[f]={"member A of B is not a template; did you mean ",{l,"simply "},"D?"},
		[b]=d,
		[a]=e
	},
	["err_non_template_in_template_id"]={
		[c]="A does not name a template but is followed by template arguments",
		[b]=d,
		[a]=e
	},
	["err_non_template_in_template_id_suggest"]={
		[c]="A does not name a template but is followed by template arguments; did you mean B?",
		[b]=d,
		[a]=e
	},
	["err_non_thread_thread"]={
		[c]="non-thread-local declaration of A follows thread-local declaration",
		[b]=d,
		[a]=e
	},
	["err_non_trivial_c_union_in_invalid_context"]={
		[c]="cannot ... since it ... a union that is non-trivial to ...",
		[f]={Wb,{"use type B for a function/method parameter","use type B for function/method return","default-initialize an object of type B","declare an automatic variable of type B","copy-initialize an object of type B","assign to a variable of type B","construct an automatic compound literal of type B","capture a variable of type B","cannot use volatile type B where it causes an lvalue-to-rvalue conversion"}," since it ",{"contains","is"}," a union that is non-trivial to ",{"default-initialize","destruct",Cb}},
		[b]=d,
		[a]=e
	},
	["err_non_type_template_arg_addr_label_diff"]={
		[c]="template argument / label address difference / what did you expect?",
		[b]=d,
		[a]=e
	},
	["err_non_type_template_arg_subobject"]={
		[c]="non-type template argument refers to subobject \'A\'",
		[b]=d,
		[a]=e
	},
	["err_non_type_template_arg_unsupported"]={
		[c]="sorry, non-type template argument of type A is not yet supported",
		[b]=d,
		[a]=e
	},
	["err_non_type_template_in_nested_name_specifier"]={
		[c]="qualified name refers into a specialization of ... template B",
		[f]={"qualified name refers into a specialization of ",{m,z}," template B"},
		[b]=d,
		[a]=e
	},
	["err_non_type_template_parm_type_deduction_failure"]={
		[c]="non-type template parameter A with type B has incompatible initializer of type C",
		[b]=d,
		[a]=e
	},
	["err_non_variable_decl_in_for"]={
		[c]="non-variable declaration in \'for\' loop",
		[b]=d,
		[a]=e
	},
	["err_non_virtual_pure"]={
		[c]="A is not virtual and cannot be declared pure",
		[b]=d,
		[a]=e
	},
	["err_nonfunction_block_type"]={
		[c]="block pointer to non-function type is invalid",
		[b]=d,
		[a]=e
	},
	["err_nonstatic_member_out_of_line"]={
		[c]="non-static data member defined out-of-line",
		[b]=d,
		[a]=e
	},
	["err_nontemporal_builtin_must_be_pointer"]={
		[c]="address argument to nontemporal builtin must be a pointer (A invalid)",
		[b]=d,
		[a]=e
	},
	["err_nontemporal_builtin_must_be_pointer_intfltptr_or_vector"]={
		[c]="address argument to nontemporal builtin must be a pointer to integer, float, pointer, or a vector of such types (A invalid)",
		[b]=d,
		[a]=e
	},
	["err_noreturn_block_has_return_expr"]={
		[c]="block declared \'noreturn\' should not return",
		[b]=d,
		[a]=e
	},
	["err_noreturn_lambda_has_return_expr"]={
		[c]="lambda declared \'noreturn\' should not return",
		[b]=d,
		[a]=e
	},
	["err_noreturn_non_function"]={
		[c]="\'_Noreturn\' can only appear on functions",
		[b]=d,
		[a]=e
	},
	["err_nosetter_property_assignment"]={
		[c]=Rb,
		[f]={{"assignment to readonly property","no setter method B for assignment to property"}},
		[b]=d,
		[a]=e
	},
	["err_nosetter_property_incdec"]={
		[c]=Rb,
		[f]={{{{wd,Id}," of readonly property"},{"no setter method C for ",{wd,Id}," of property"}}},
		[b]=d,
		[a]=e
	},
	["err_not_class_template_specialization"]={
		[c]="cannot specialize a ...",
		[f]={"cannot specialize a ",{"dependent template",Gc}},
		[b]=d,
		[a]=e
	},
	["err_not_direct_base_or_virtual"]={
		[c]="type A is not a direct or virtual base of B",
		[b]=d,
		[a]=e
	},
	["err_not_found_by_two_phase_lookup"]={
		[c]="call to function A that is neither visible in the template definition nor found by argument-dependent lookup",
		[b]=d,
		[a]=e
	},
	["err_not_integral_type_anon_bitfield"]={
		[c]="anonymous bit-field has non-integral type A",
		[b]=d,
		[a]=e
	},
	["err_not_integral_type_bitfield"]={
		[c]="bit-field A has non-integral type B",
		[b]=d,
		[a]=e
	},
	["err_not_tag_in_scope"]={
		[c]="no ... named B in C",
		[f]={Qc,{r,B,v,o,pb}," named B in C"},
		[b]=d,
		[a]=e
	},
	["err_ns_attribute_wrong_parameter_type"]={
		[c]="A attribute only applies to ... parameters",
		[f]={"A attribute only applies to ",{"Objective-C object",W,"pointer-to-CF-pointer"}," parameters"},
		[b]=d,
		[a]=e
	},
	["err_nsconsumed_attribute_mismatch"]={
		[c]="overriding method has mismatched ns_consumed attribute on its parameter",
		[b]=d,
		[a]=e
	},
	["err_nserrordomain_invalid_decl"]={
		[c]="domain argument ...does not refer to global constant",
		[f]={"domain argument ",{l,"B "},"does not refer to global constant"},
		[b]=d,
		[a]=e
	},
	["err_nserrordomain_wrong_type"]={
		[c]="domain argument A does not point to an NSString or CFString constant",
		[b]=d,
		[a]=e
	},
	["err_nsnumber_nonliteral_unary"]={
		[c]="@A must be followed by a number to form an NSNumber object",
		[b]=d,
		[a]=e
	},
	["err_nsobject_attribute"]={
		[c]="\'NSObject\' attribute is for pointer types only",
		[b]=d,
		[a]=e
	},
	["err_nsreturns_retained_attribute_mismatch"]={
		[c]="overriding method has mismatched ns_returns_... attributes",
		[f]={"overriding method has mismatched ns_returns_",{"not_retained","retained"}," attributes"},
		[b]=d,
		[a]=e
	},
	["err_nullability_conflicting"]={
		[c]="nullability specifier A conflicts with existing specifier B",
		[b]=d,
		[a]=e
	},
	["err_nullability_cs_multilevel"]={
		[c]="nullability keyword A cannot be applied to multi-level pointer type B",
		[b]=d,
		[a]=e
	},
	["err_nullability_nonpointer"]={
		[c]="nullability specifier A cannot be applied to non-pointer type B",
		[b]=d,
		[a]=e
	},
	["err_nullptr_cast"]={
		[c]="cannot cast an object of type ...",
		[f]={"cannot cast an object of type ",{"\'nullptr_t\' to B","B to \'nullptr_t\'"}},
		[b]=d,
		[a]=e
	},
	["err_objc_array_of_interfaces"]={
		[c]="array of interface A is invalid (probably should be an array of pointers)",
		[b]=d,
		[a]=e
	},
	["err_objc_attr_not_id"]={
		[c]="parameter of A attribute must be a single name of an Objective-C ...",
		[f]={"parameter of A attribute must be a single name of an Objective-C ",{o,nd}},
		[b]=d,
		[a]=e
	},
	["err_objc_attr_protocol_requires_definition"]={
		[c]="attribute A can only be applied to @protocol definitions, not forward declarations",
		[b]=d,
		[a]=e
	},
	["err_objc_attr_typedef_not_id"]={
		[c]="parameter of A attribute must be \'id\' when used on a typedef",
		[b]=d,
		[a]=e
	},
	["err_objc_attr_typedef_not_void_pointer"]={
		[c]="\'objc_bridge(id)\' is only allowed on structs and typedefs of void pointers",
		[b]=d,
		[a]=e
	},
	["err_objc_bridged_related_invalid_class"]={
		[c]="could not find Objective-C class A to convert B to C",
		[b]=d,
		[a]=e
	},
	["err_objc_bridged_related_invalid_class_name"]={
		[c]="A must be name of an Objective-C class to be able to convert B to C",
		[b]=d,
		[a]=e
	},
	["err_objc_bridged_related_known_method"]={
		[c]="A must be explicitly converted to B; use ... method for this conversion",
		[f]={"A must be explicitly converted to B; use ",{Bc,Bc}," method for this conversion"},
		[b]=d,
		[a]=e
	},
	["err_objc_cf_bridged_not_interface"]={
		[c]="CF object of type A is bridged to B, which is not an Objective-C class",
		[b]=d,
		[a]=e
	},
	["err_objc_concat_string"]={
		[c]="unexpected token after Objective-C string",
		[b]=d,
		[a]=e
	},
	["err_objc_decls_may_only_appear_in_global_scope"]={
		[c]="Objective-C declarations may only appear in global scope",
		[b]=d,
		[a]=e
	},
	["err_objc_direct_duplicate_decl"]={
		[c]="...... declaration conflicts with previous ...declaration of ... D",
		[f]={{l,"direct "},{u,db}," declaration conflicts with previous ",{l,"direct "},"declaration of ",{u,db}," D"},
		[b]=d,
		[a]=e
	},
	["err_objc_direct_dynamic_property"]={
		[c]="direct property cannot be @dynamic",
		[b]=d,
		[a]=e
	},
	["err_objc_direct_impl_decl_mismatch"]={
		[c]="direct method was declared in ... but is implemented in ...",
		[f]={"direct method was declared in ",{"the primary interface","an extension","a category"}," but is implemented in ",{"the primary interface","a category","a different category"}},
		[b]=d,
		[a]=e
	},
	["err_objc_direct_missing_on_decl"]={
		[c]="direct method implementation was previously declared not direct",
		[b]=d,
		[a]=e
	},
	["err_objc_direct_on_override"]={
		[c]="methods that ... cannot be direct",
		[f]={"methods that ",{"override superclass methods","implement protocol requirements"}," cannot be direct"},
		[b]=d,
		[a]=e
	},
	["err_objc_direct_on_protocol"]={
		[c]="\'objc_direct\' attribute cannot be applied to ... declared in an Objective-C protocol",
		[f]={"\'objc_direct\' attribute cannot be applied to ",{"methods","properties"}," declared in an Objective-C protocol"},
		[b]=d,
		[a]=e
	},
	["err_objc_direct_protocol_conformance"]={
		[c]="... cannot conform to protocol C because of direct members declared in interface D",
		[f]={{"category B","class extension"}," cannot conform to protocol C because of direct members declared in interface D"},
		[b]=d,
		[a]=e
	},
	["err_objc_directive_only_in_protocol"]={
		[c]="directive may only be specified in protocols only",
		[b]=d,
		[a]=e
	},
	["err_objc_exceptions_disabled"]={
		[c]="cannot use \'A\' with Objective-C exceptions disabled",
		[b]=d,
		[a]=e
	},
	["err_objc_expected_equal_for_getter"]={
		[c]="expected \'=\' for Objective-C getter",
		[b]=d,
		[a]=e
	},
	["err_objc_expected_equal_for_setter"]={
		[c]="expected \'=\' for Objective-C setter",
		[b]=d,
		[a]=e
	},
	["err_objc_expected_property_attr"]={
		[c]="unknown property attribute A",
		[b]=d,
		[a]=e
	},
	["err_objc_expected_selector_for_getter_setter"]={
		[c]="expected selector for Objective-C ...",
		[f]={"expected selector for Objective-C ",{id,hd}},
		[b]=d,
		[a]=e
	},
	["err_objc_expected_type_parameter"]={
		[c]="expected type parameter name",
		[b]=d,
		[a]=e
	},
	["err_objc_for_range_init_stmt"]={
		[c]="initialization statement is not supported when iterating over Objective-C collection",
		[b]=d,
		[a]=e
	},
	["err_objc_illegal_boxed_expression_type"]={
		[c]="illegal type A used in a boxed expression",
		[b]=d,
		[a]=e
	},
	["err_objc_illegal_interface_qual"]={
		[c]="illegal interface qualifier",
		[b]=d,
		[a]=e
	},
	["err_objc_illegal_visibility_spec"]={
		[c]="illegal visibility specification",
		[b]=d,
		[a]=e
	},
	["err_objc_incomplete_boxed_expression_type"]={
		[c]="incomplete type A used in a boxed expression",
		[b]=d,
		[a]=e
	},
	["err_objc_index_incomplete_class_type"]={
		[c]="Objective-C index expression has incomplete class type A",
		[b]=d,
		[a]=e
	},
	["err_objc_indexing_method_result_type"]={
		[c]="method for accessing ... element must have Objective-C object return type instead of A",
		[f]={"method for accessing ",{"dictionary",rc}," element must have Objective-C object return type instead of A"},
		[b]=d,
		[a]=e
	},
	["err_objc_kindof_nonobject"]={
		[c]="\'__kindof\' specifier cannot be applied to non-object type A",
		[b]=d,
		[a]=e
	},
	["err_objc_kindof_wrong_position"]={
		[c]="\'__kindof\' type specifier must precede the declarator",
		[b]=d,
		[a]=e
	},
	["err_objc_literal_method_sig"]={
		[c]="literal construction method A has incompatible signature",
		[b]=d,
		[a]=e
	},
	["err_objc_method_unsupported_param_ret_type"]={
		[c]="A ... type is unsupported; support for vector types for this target is introduced in C",
		[f]={"A ",{ac,Ad}," type is unsupported; support for vector types for this target is introduced in C"},
		[b]=d,
		[a]=e
	},
	["err_objc_missing_end"]={
		[c]="missing \'@end\'",
		[b]=d,
		[a]=e
	},
	["err_objc_multiple_subscript_type_conversion"]={
		[c]="indexing expression is invalid because subscript type A has multiple type conversion functions",
		[b]=d,
		[a]=e
	},
	["err_objc_non_runtime_protocol_in_protocol_expr"]={
		[c]="cannot use a protocol declared \'objc_non_runtime_protocol\' in a @protocol expression",
		[b]=d,
		[a]=e
	},
	["err_objc_non_trivially_copyable_boxed_expression_type"]={
		[c]="non-trivially copyable type A cannot be used in a boxed expression",
		[b]=d,
		[a]=e
	},
	["err_objc_ns_bridged_invalid_cfobject"]={
		[c]="ObjectiveC object of type A is bridged to B, which is not valid CF object",
		[b]=d,
		[a]=e
	},
	["err_objc_object_assignment"]={
		[c]="cannot assign to class object (A invalid)",
		[b]=d,
		[a]=e
	},
	["err_objc_object_catch"]={
		[c]="cannot catch an Objective-C object by value",
		[b]=d,
		[a]=e
	},
	["err_objc_override_direct_method"]={
		[c]="cannot override a method that is declared direct by a superclass",
		[b]=d,
		[a]=e
	},
	["err_objc_parameterized_category_nonclass"]={
		[c]="... of non-parameterized class B cannot have type parameters",
		[f]={{"extension","category"}," of non-parameterized class B cannot have type parameters"},
		[b]=d,
		[a]=e
	},
	["err_objc_parameterized_forward_class"]={
		[c]="forward declaration of non-parameterized class A cannot have type parameters",
		[b]=d,
		[a]=e
	},
	["err_objc_parameterized_forward_class_first"]={
		[c]="class A previously declared with type parameters",
		[b]=d,
		[a]=e
	},
	["err_objc_parameterized_implementation"]={
		[c]="@implementation cannot have type parameters",
		[b]=d,
		[a]=e
	},
	["err_objc_postfix_attribute"]={
		[c]="postfix attributes are not allowed on Objective-C directives",
		[b]=d,
		[a]=e
	},
	["err_objc_postfix_attribute_hint"]={
		[c]="postfix attributes are not allowed on Objective-C directives, place them in front of \'...\'",
		[f]={"postfix attributes are not allowed on Objective-C directives, place them in front of \'",{"@interface","@protocol"},x},
		[b]=d,
		[a]=e
	},
	["err_objc_precise_lifetime_bad_type"]={
		[c]="objc_precise_lifetime only applies to retainable types; type here is A",
		[b]=d,
		[a]=e
	},
	["err_objc_property_attr_mutually_exclusive"]={
		[c]="property attributes \'A\' and \'B\' are mutually exclusive",
		[b]=d,
		[a]=e
	},
	["err_objc_property_bitfield"]={
		[c]="property name cannot be a bit-field",
		[b]=d,
		[a]=e
	},
	["err_objc_property_requires_field_name"]={
		[c]="property requires fields to be named",
		[b]=d,
		[a]=e
	},
	["err_objc_property_requires_object"]={
		[c]="property with \'A\' attribute must be of object type",
		[b]=d,
		[a]=e
	},
	["err_objc_root_class_subclass"]={
		[c]="objc_root_class attribute may only be specified on a root class declaration",
		[b]=d,
		[a]=e
	},
	["err_objc_runtime_visible_category"]={
		[c]="cannot implement a category for class A that is only visible via the Objective-C runtime",
		[b]=d,
		[a]=e
	},
	["err_objc_runtime_visible_subclass"]={
		[c]="cannot implement subclass A of a superclass B that is only visible via the Objective-C runtime",
		[b]=d,
		[a]=e
	},
	["err_objc_subscript_base_type"]={
		[c]="... subscript base type A is not an Objective-C object",
		[f]={{"dictionary",rc}," subscript base type A is not an Objective-C object"},
		[b]=d,
		[a]=e
	},
	["err_objc_subscript_dic_object_type"]={
		[c]="method object parameter type A is not object type",
		[b]=d,
		[a]=e
	},
	["err_objc_subscript_index_type"]={
		[c]="method index parameter type A is not integral type",
		[b]=d,
		[a]=e
	},
	["err_objc_subscript_key_type"]={
		[c]="method key parameter type A is not object type",
		[b]=d,
		[a]=e
	},
	["err_objc_subscript_method_not_found"]={
		[c]="expected method to ... ... element not found on object of type A",
		[f]={"expected method to ",{"read","write"},w,{"dictionary",rc}," element not found on object of type A"},
		[b]=d,
		[a]=e
	},
	["err_objc_subscript_object_type"]={
		[c]="cannot assign to this ... because assigning method\'s 2nd parameter of type A is not an Objective-C pointer type",
		[f]={"cannot assign to this ",{"dictionary",rc}," because assigning method\'s 2nd parameter of type A is not an Objective-C pointer type"},
		[b]=d,
		[a]=e
	},
	["err_objc_subscript_pointer"]={
		[c]="indexing expression is invalid because subscript type A is not an Objective-C pointer",
		[b]=d,
		[a]=e
	},
	["err_objc_subscript_type_conversion"]={
		[c]="indexing expression is invalid because subscript type A is not an integral or Objective-C pointer type",
		[b]=d,
		[a]=e
	},
	["err_objc_synchronized_expects_object"]={
		[c]="@synchronized requires an Objective-C object type (A invalid)",
		[b]=d,
		[a]=e
	},
	["err_objc_throw_expects_object"]={
		[c]="@throw requires an Objective-C object type (A invalid)",
		[b]=d,
		[a]=e
	},
	["err_objc_type_arg_does_not_match_bound"]={
		[c]="type argument A does not satisfy the bound (B) of type parameter C",
		[b]=d,
		[a]=e
	},
	["err_objc_type_arg_explicit_nullability"]={
		[c]="type argument A cannot explicitly specify nullability",
		[b]=d,
		[a]=e
	},
	["err_objc_type_arg_missing"]={
		[c]="no type or protocol named A",
		[b]=d,
		[a]=e
	},
	["err_objc_type_arg_missing_star"]={
		[c]="type argument A must be a pointer (requires a \'*\')",
		[b]=d,
		[a]=e
	},
	["err_objc_type_arg_not_id_compatible"]={
		[c]="type argument A is neither an Objective-C object nor a block type",
		[b]=d,
		[a]=e
	},
	["err_objc_type_arg_qualified"]={
		[c]="type argument A cannot be qualified with \'B\'",
		[b]=d,
		[a]=e
	},
	["err_objc_type_args_after_protocols"]={
		[c]="protocol qualifiers must precede type arguments",
		[b]=d,
		[a]=e
	},
	["err_objc_type_args_and_protocols"]={
		[c]="angle brackets contain both a ... (B) and a ... (C)",
		[f]={"angle brackets contain both a ",{a,nd}," (B) and a ",{nd,a}," (C)"},
		[b]=d,
		[a]=e
	},
	["err_objc_type_args_non_class"]={
		[c]="type arguments cannot be applied to non-class type A",
		[b]=d,
		[a]=e
	},
	["err_objc_type_args_non_parameterized_class"]={
		[c]="type arguments cannot be applied to non-parameterized class A",
		[b]=d,
		[a]=e
	},
	["err_objc_type_args_specialized_class"]={
		[c]="type arguments cannot be applied to already-specialized class type A",
		[b]=d,
		[a]=e
	},
	["err_objc_type_args_wrong_arity"]={
		[c]="too ... type arguments for class B (have C, expected D)",
		[f]={"too ",{"many","few"}," type arguments for class B (have C, expected D)"},
		[b]=d,
		[a]=e
	},
	["err_objc_type_param_arity_mismatch"]={
		[c]="... has too ... type parameters (expected C, have D)",
		[f]={{"forward class declaration","class definition","category","extension"}," has too ",{"few","many"}," type parameters (expected C, have D)"},
		[b]=d,
		[a]=e
	},
	["err_objc_type_param_bound_conflict"]={
		[c]="type bound A for type parameter B conflicts with ... bound D...",
		[f]={"type bound A for type parameter B conflicts with ",{Dd,"previous"}," bound D",{"for type parameter F",l}},
		[b]=d,
		[a]=e
	},
	["err_objc_type_param_bound_explicit_nullability"]={
		[c]="type parameter A bound B cannot explicitly specify nullability",
		[b]=d,
		[a]=e
	},
	["err_objc_type_param_bound_missing"]={
		[c]="missing type bound A for type parameter B in ...",
		[f]={"missing type bound A for type parameter B in ",{"@interface","@class"}},
		[b]=d,
		[a]=e
	},
	["err_objc_type_param_bound_missing_pointer"]={
		[c]="missing \'*\' in type bound A for type parameter B",
		[b]=d,
		[a]=e
	},
	["err_objc_type_param_bound_nonobject"]={
		[c]="type bound A for type parameter B is not an Objective-C pointer type",
		[b]=d,
		[a]=e
	},
	["err_objc_type_param_bound_qualified"]={
		[c]="type bound B for type parameter A cannot be qualified with \'C\'",
		[b]=d,
		[a]=e
	},
	["err_objc_type_param_redecl"]={
		[c]="redeclaration of type parameter A",
		[b]=d,
		[a]=e
	},
	["err_objc_type_param_variance_conflict"]={
		[c]="...variant type parameter B conflicts with previous ...variant type parameter D",
		[f]={{"in","co","contra"},"variant type parameter B conflicts with previous ",{"in","co","contra"},"variant type parameter D"},
		[b]=d,
		[a]=e
	},
	["err_objc_unexpected_atend"]={
		[c]="\'@end\' appears where closing brace \'}\' is expected",
		[b]=d,
		[a]=e
	},
	["err_objc_unexpected_attr"]={
		[c]="prefix attribute must be followed by an interface, protocol, or implementation",
		[b]=d,
		[a]=e
	},
	["err_objc_unknown_at"]={
		[c]="expected an Objective-C directive after \'@\'",
		[b]=d,
		[a]=e
	},
	["err_objc_var_decl_inclass"]={
		[c]="cannot declare variable inside @interface or @protocol",
		[b]=d,
		[a]=e
	},
	["err_objc_variable_sized_type_not_at_end"]={
		[c]="field A with variable sized type B is not at the end of class",
		[b]=d,
		[a]=e
	},
	["err_objc_weak_unsupported"]={
		[c]="-fobjc-weak is not supported on the current deployment target",
		[b]=d,
		[a]=e
	},
	["err_objc_weak_with_gc"]={
		[c]="-fobjc-weak is not supported in Objective-C garbage collection",
		[b]=d,
		[a]=e
	},
	["err_objcbridge_related_expected_related_class"]={
		[c]="expected a related ObjectiveC class name, e.g., \'NSColor\'",
		[b]=d,
		[a]=e
	},
	["err_objcbridge_related_selector_name"]={
		[c]="expected a class method selector with single argument, e.g., \'colorWithCGColor:\'",
		[b]=d,
		[a]=e
	},
	["err_object_cannot_be_passed_returned_by_value"]={
		[c]="interface type B cannot be ... by value; did you forget * in B?",
		[f]={"interface type B cannot be ",{"returned","passed"}," by value; did you forget * in B?"},
		[b]=d,
		[a]=e
	},
	["err_odr_different_num_template_parameters"]={
		[c]="template parameter lists have a different number of parameters (A vs B)",
		[b]=d,
		[a]=e
	},
	["err_odr_different_template_parameter_kind"]={
		[c]="template parameter has different kinds in different translation units",
		[b]=d,
		[a]=e
	},
	["err_odr_field_type_inconsistent"]={
		[c]="field A declared with incompatible types in different translation units (B vs. C)",
		[b]=d,
		[a]=e
	},
	["err_odr_function_type_inconsistent"]={
		[c]="external function A declared with incompatible types in different translation units (B vs. C)",
		[b]=d,
		[a]=e
	},
	["err_odr_ivar_type_inconsistent"]={
		[c]="instance variable A declared with incompatible types in different translation units (B vs. C)",
		[b]=d,
		[a]=e
	},
	["err_odr_non_type_parameter_type_inconsistent"]={
		[c]="non-type template parameter declared with incompatible types in different translation units (A vs. B)",
		[b]=d,
		[a]=e
	},
	["err_odr_objc_method_num_params_inconsistent"]={
		[c]="... method B has a different number of parameters in different translation units (C vs. D)",
		[f]={{o,Ob}," method B has a different number of parameters in different translation units (C vs. D)"},
		[b]=d,
		[a]=e
	},
	["err_odr_objc_method_param_type_inconsistent"]={
		[c]="... method B has a parameter with a different types in different translation units (C vs. D)",
		[f]={{o,Ob}," method B has a parameter with a different types in different translation units (C vs. D)"},
		[b]=d,
		[a]=e
	},
	["err_odr_objc_method_result_type_inconsistent"]={
		[c]="... method B has incompatible result types in different translation units (C vs. D)",
		[f]={{o,Ob}," method B has incompatible result types in different translation units (C vs. D)"},
		[b]=d,
		[a]=e
	},
	["err_odr_objc_method_variadic_inconsistent"]={
		[c]="... method B is variadic in one translation unit and not variadic in another",
		[f]={{o,Ob}," method B is variadic in one translation unit and not variadic in another"},
		[b]=d,
		[a]=e
	},
	["err_odr_objc_property_impl_kind_inconsistent"]={
		[c]="property A is implemented with ... in one translation but ... in another translation unit",
		[f]={"property A is implemented with ",{"@synthesize","@dynamic"}," in one translation but ",{"@dynamic","@synthesize"}," in another translation unit"},
		[b]=d,
		[a]=e
	},
	["err_odr_objc_property_type_inconsistent"]={
		[c]="property A declared with incompatible types in different translation units (B vs. C)",
		[b]=d,
		[a]=e
	},
	["err_odr_objc_superclass_inconsistent"]={
		[c]="class A has incompatible superclasses",
		[b]=d,
		[a]=e
	},
	["err_odr_objc_synthesize_ivar_inconsistent"]={
		[c]="property A is synthesized to different ivars in different translation units (B vs. C)",
		[b]=d,
		[a]=e
	},
	["err_odr_parameter_pack_non_pack"]={
		[c]="parameter kind mismatch; parameter is ... parameter pack",
		[f]={"parameter kind mismatch; parameter is ",{"not a","a"}," parameter pack"},
		[b]=d,
		[a]=e
	},
	["err_odr_tag_type_inconsistent"]={
		[c]="type A has incompatible definitions in different translation units",
		[b]=d,
		[a]=e
	},
	["err_odr_variable_multiple_def"]={
		[c]="external variable A defined in multiple translation units",
		[b]=d,
		[a]=e
	},
	["err_odr_variable_type_inconsistent"]={
		[c]="external variable A declared with incompatible types in different translation units (B vs. C)",
		[b]=d,
		[a]=e
	},
	["err_offsetof_array_type"]={
		[c]="offsetof requires array type, A invalid",
		[b]=d,
		[a]=e
	},
	["err_offsetof_bitfield"]={
		[c]="cannot compute offset of bit-field A",
		[b]=d,
		[a]=e
	},
	["err_offsetof_field_of_virtual_base"]={
		[c]="invalid application of \'offsetof\' to a field of a virtual base",
		[b]=d,
		[a]=e
	},
	["err_offsetof_incomplete_type"]={
		[c]="offsetof of incomplete type A",
		[b]=d,
		[a]=e
	},
	["err_offsetof_record_type"]={
		[c]="offsetof requires struct, union, or class type, A invalid",
		[b]=d,
		[a]=e
	},
	["err_omp_adjust_arg_multiple_clauses"]={
		[c]="\'adjust_arg\' argument A used in multiple clauses",
		[b]=d,
		[a]=e
	},
	["err_omp_aligned_expected_array_or_ptr"]={
		[c]="argument of aligned clause should be array..., not A",
		[f]={"argument of aligned clause should be array",{" or pointer",", pointer, reference to array or reference to pointer"},", not A"},
		[b]=d,
		[a]=e
	},
	["err_omp_allocator_not_in_uses_allocators"]={
		[c]="allocator must be specified in the \'uses_allocators\' clause",
		[b]=d,
		[a]=e
	},
	["err_omp_allocator_used_in_clauses"]={
		[c]="allocators used in \'uses_allocators\' clause cannot appear in other data-sharing or data-mapping attribute clauses",
		[b]=d,
		[a]=e
	},
	["err_omp_ambiguous_conversion"]={
		[c]="ambiguous conversion from type A to an integral or unscoped enumeration type",
		[b]=d,
		[a]=e
	},
	["err_omp_append_args_with_varargs"]={
		[c]="\'append_args\' is not allowed with varargs functions",
		[b]=d,
		[a]=e
	},
	["err_omp_argument_type_isdeviceptr"]={
		[c]="expected pointer, array, reference to pointer, or reference to array in \'is_device_ptr clause\'",
		[b]=d,
		[a]=e
	},
	["err_omp_array_section_use"]={
		[c]="OpenMP array section is not allowed here",
		[b]=d,
		[a]=e
	},
	["err_omp_array_shaping_use"]={
		[c]="OpenMP array shaping operation is not allowed here",
		[b]=d,
		[a]=e
	},
	["err_omp_at_least_one_motion_clause_required"]={
		[c]="expected at least one \'to\' clause or \'from\' clause specified to \'#pragma omp target update\'",
		[b]=d,
		[a]=e
	},
	["err_omp_atomic_capture_not_compound_statement"]={
		[c]="the statement for \'atomic capture\' must be a compound statement of form \'{v = x; x binop= expr;}\', \'{x binop= expr; v = x;}\', \'{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;}\', \'{v = x; x++;}\', \'{v = x; ++x;}\', \'{++x; v = x;}\', \'{x++; v = x;}\', \'{v = x; x--;}\', \'{v = x; --x;}\', \'{--x; v = x;}\', \'{x--; v = x;}\' where x is an lvalue expression with scalar type",
		[b]=d,
		[a]=e
	},
	["err_omp_atomic_capture_not_expression_statement"]={
		[c]="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\', where x and v are both lvalue expressions with scalar type",
		[b]=d,
		[a]=e
	},
	["err_omp_atomic_compare"]={
		[c]="the statement for \'atomic compare\' must be a compound statement of form \'{x = expr ordop x ? expr : x;}\', \'{x = x ordop expr? expr : x;}\', \'{x = x == e ? d : x;}\', \'{x = e == x ? d : x;}\', or \'if(expr ordop x) {x = expr;}\', \'if(x ordop expr) {x = expr;}\', \'if(x == e) {x = d;}\', \'if(e == x) {x = d;}\' where \'x\' is an lvalue expression with scalar type, \'expr\', \'e\', and \'d\' are expressions with scalar type, and \'ordop\' is one of \'<\' or \'>\'.",
		[b]=d,
		[a]=e
	},
	["err_omp_atomic_compare_capture"]={
		[c]="the statement for \'atomic compare capture\' must be a compound statement of form \'{v = x; cond-up-stmt}\', \'\'{cond-up-stmt v = x;}\', \'{if(x == e) {x = d;} else {v = x;}}\', \'{r = x == e; if(r) {x = d;}}\', or \'{r = x == e; if(r) {x = d;} else {v = x;}}\', where \'cond-update-stmt\' can have one of the following forms: \'if(expr ordop x) {x = expr;}\', \'if(x ordop expr) {x = expr;}\', \'if(x == e) {x = d;}\', or \'if(e == x) {x = d;}\' where \'x\', \'r\', and \'v\' are lvalue expressions with scalar type, \'expr\', \'e\', and \'d\' are expressions with scalar type, and \'ordop\' is one of \'<\' or \'>\'.",
		[b]=d,
		[a]=e
	},
	["err_omp_atomic_incompatible_mem_order_clause"]={
		[c]="directive \'#pragma omp atomic...\' cannot be used with \'C\' clause",
		[f]={"directive \'#pragma omp atomic",{" A",l},"\' cannot be used with \'C\' clause"},
		[b]=d,
		[a]=e
	},
	["err_omp_atomic_not_expression_statement"]={
		[c]="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\', where x is an lvalue expression with scalar type",
		[b]=d,
		[a]=e
	},
	["err_omp_atomic_read_not_expression_statement"]={
		[c]="the statement for \'atomic read\' must be an expression statement of form \'v = x;\', where v and x are both lvalue expressions with scalar type",
		[b]=d,
		[a]=e
	},
	["err_omp_atomic_several_clauses"]={
		[c]="directive \'#pragma omp atomic\' cannot contain more than one \'read\', \'write\', \'update\', \'capture\', or \'compare\' clause",
		[b]=d,
		[a]=e
	},
	["err_omp_atomic_update_not_expression_statement"]={
		[c]="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\', where x is an lvalue expression with scalar type",
		[b]=d,
		[a]=e
	},
	["err_omp_atomic_write_not_expression_statement"]={
		[c]="the statement for \'atomic write\' must be an expression statement of form \'x = expr;\', where x is a lvalue expression with scalar type",
		[b]=d,
		[a]=e
	},
	["err_omp_begin_declare_target_unexpected_implicit_to_clause"]={
		[c]="unexpected \'(\', only \'to\', \'link\' or \'device_type\' clauses expected for \'begin declare target\' directive",
		[b]=d,
		[a]=e
	},
	["err_omp_bit_fields_forbidden_in_clause"]={
		[c]="bit fields cannot be used to specify storage in a \'A\' clause",
		[b]=d,
		[a]=e
	},
	["err_omp_cannot_update_with_internal_linkage"]={
		[c]="the host cannot update a declare target variable that is not externally visible.",
		[b]=d,
		[a]=e
	},
	["err_omp_clause_floating_type_arg"]={
		[c]="arguments of OpenMP clause \'A\' with bitwise operators cannot be of floating type",
		[b]=d,
		[a]=e
	},
	["err_omp_clause_not_arithmetic_type_arg"]={
		[c]="arguments of OpenMP clause \'A\' for \'min\' or \'max\' must be of ... type",
		[f]={"arguments of OpenMP clause \'A\' for \'min\' or \'max\' must be of ",{"scalar","arithmetic"}," type"},
		[b]=d,
		[a]=e
	},
	["err_omp_clause_requires_dispatch_construct"]={
		[c]="\'A\' clause requires \'dispatch\' context selector",
		[b]=d,
		[a]=e
	},
	["err_omp_clauses_mutually_exclusive"]={
		[c]="\'A\' and \'B\' clause are mutually exclusive and may not appear on the same directive",
		[b]=d,
		[a]=e
	},
	["err_omp_const_list_item"]={
		[c]="const-qualified list item cannot be A",
		[b]=d,
		[a]=e
	},
	["err_omp_const_not_mutable_variable"]={
		[c]="const-qualified variable without mutable fields cannot be A",
		[b]=d,
		[a]=e
	},
	["err_omp_const_variable"]={
		[c]="const-qualified variable cannot be A",
		[b]=d,
		[a]=e
	},
	["err_omp_critical_with_hint"]={
		[c]="constructs with the same name must have a \'hint\' clause with the same value",
		[b]=d,
		[a]=e
	},
	["err_omp_decl_in_declare_simd_variant"]={
		[c]="function declaration is expected after \'declare ...\' directive",
		[f]={"function declaration is expected after \'declare ",{"simd","variant"},"\' directive"},
		[b]=d,
		[a]=e
	},
	["err_omp_declare_mapper_redefinition"]={
		[c]="redefinition of user-defined mapper for type A with name B",
		[b]=d,
		[a]=e
	},
	["err_omp_declare_mapper_wrong_var"]={
		[c]="only variable A is allowed in map clauses of this \'omp declare mapper\' directive",
		[b]=d,
		[a]=e
	},
	["err_omp_declare_reduction_redefinition"]={
		[c]="redefinition of user-defined reduction for type A",
		[b]=d,
		[a]=e
	},
	["err_omp_declare_simd_inbranch_notinbranch"]={
		[c]="unexpected \'A\' clause, \'B\' is specified already",
		[b]=d,
		[a]=e
	},
	["err_omp_declare_target_indirect_device_type"]={
		[c]="only \'device_type(any)\' clause is allowed with indirect clause",
		[b]=d,
		[a]=e
	},
	["err_omp_declare_target_missing_enter_or_link_clause"]={
		[c]="expected at least one ... clause",
		[f]={"expected at least one ",{"\'enter\' or \'link\'","\'enter\', \'link\' or \'indirect\'"}," clause"},
		[b]=d,
		[a]=e
	},
	["err_omp_declare_target_missing_to_or_link_clause"]={
		[c]="expected at least one ... clause",
		[f]={"expected at least one ",{"\'to\' or \'link\'","\'to\', \'link\' or \'indirect\'"}," clause"},
		[b]=d,
		[a]=e
	},
	["err_omp_declare_target_multiple"]={
		[c]="A appears multiple times in clauses on the same declare target directive",
		[b]=d,
		[a]=e
	},
	["err_omp_declare_target_to_and_link"]={
		[c]="A must not appear in both clauses \'to\' and \'link\'",
		[b]=d,
		[a]=e
	},
	["err_omp_declare_target_unexpected_clause"]={
		[c]="unexpected \'A\' clause, only ... clauses expected",
		[f]={"unexpected \'A\' clause, only ",{"\'device_type\'","\'to\' or \'link\'","\'to\', \'link\' or \'device_type\'","\'device_type\', \'indirect\'","\'to\', \'link\', \'device_type\' or \'indirect\'"}," clauses expected"},
		[b]=d,
		[a]=e
	},
	["err_omp_declare_target_unexpected_clause_52"]={
		[c]="unexpected \'A\' clause, only ... clauses expected",
		[f]={"unexpected \'A\' clause, only ",{"\'device_type\'","\'enter\' or \'link\'","\'enter\', \'link\' or \'device_type\'","\'device_type\', \'indirect\'","\'enter\', \'link\', \'device_type\' or \'indirect\'"}," clauses expected"},
		[b]=d,
		[a]=e
	},
	["err_omp_declare_target_unexpected_enter_clause"]={
		[c]="unexpected \'enter\' clause, use \'to\' instead",
		[b]=d,
		[a]=e
	},
	["err_omp_declare_target_unexpected_to_clause"]={
		[c]="unexpected \'to\' clause, use \'enter\' instead",
		[b]=d,
		[a]=e
	},
	["err_omp_declare_target_wrong_clause_after_implicit_enter"]={
		[c]="unexpected clause after an implicit \'enter\' clause",
		[b]=d,
		[a]=e
	},
	["err_omp_declare_target_wrong_clause_after_implicit_to"]={
		[c]="unexpected clause after an implicit \'to\' clause",
		[b]=d,
		[a]=e
	},
	["err_omp_declare_variant_diff"]={
		[c]="function with \'#pragma omp declare variant\' has a different ...",
		[f]={"function with \'#pragma omp declare variant\' has a different ",{"calling convention","return type","constexpr specification","inline specification","storage class","linkage"}},
		[b]=d,
		[a]=e
	},
	["err_omp_declare_variant_doesnt_support"]={
		[c]="\'#pragma omp declare variant\' does not support ...",
		[f]={"\'#pragma omp declare variant\' does not support ",{"function templates","virtual functions","deduced return types","constructors","destructors","deleted functions","defaulted functions","constexpr functions","consteval function"}},
		[b]=d,
		[a]=e
	},
	["err_omp_declare_variant_duplicate_nested_trait"]={
		[c]="nested OpenMP context selector contains duplicated trait \'A\' in selector \'B\' and set \'C\' with different score",
		[b]=d,
		[a]=e
	},
	["err_omp_declare_variant_incompat_attributes"]={
		[c]="\'#pragma omp declare variant\' is not compatible with any target-specific attributes",
		[b]=d,
		[a]=e
	},
	["err_omp_declare_variant_incompat_types"]={
		[c]="variant in \'#pragma omp declare variant\' with type A is incompatible with type B...",
		[f]={"variant in \'#pragma omp declare variant\' with type A is incompatible with type B",{l," with appended arguments"}},
		[b]=d,
		[a]=e
	},
	["err_omp_declare_variant_nested_user_condition"]={
		[c]="nested user conditions in OpenMP context selector not supported (yet)",
		[b]=d,
		[a]=e
	},
	["err_omp_declare_variant_prototype_required"]={
		[c]="function with \'#pragma omp declare variant\' must have a prototype when \'append_args\' is used",
		[b]=d,
		[a]=e
	},
	["err_omp_declare_variant_same_base_function"]={
		[c]="variant in \'#pragma omp declare variant\' is the same as the base function",
		[b]=d,
		[a]=e
	},
	["err_omp_declare_variant_user_condition_not_constant"]={
		[c]="the user condition in the OpenMP context selector needs to be constant; A is not",
		[b]=d,
		[a]=e
	},
	["err_omp_declare_variant_wrong_clause"]={
		[c]="expected ... clause on \'omp declare variant\' directive",
		[f]={Md,{"\'match\'","\'match\', \'adjust_args\', or \'append_args\'"}," clause on \'omp declare variant\' directive"},
		[b]=d,
		[a]=e
	},
	["err_omp_defaultmap_no_attr_for_variable"]={
		[c]="variable A must have explicitly specified data sharing attributes, data mapping attributes, or in an is_device_ptr clause",
		[b]=d,
		[a]=e
	},
	["err_omp_depend_clause_thread_simd"]={
		[c]="\'A\' clauses cannot be mixed with \'B\' clause",
		[b]=d,
		[a]=e
	},
	["err_omp_depend_modifier_not_iterator"]={
		[c]="expected iterator specification as depend modifier",
		[b]=d,
		[a]=e
	},
	["err_omp_depend_sink_expected_loop_iteration"]={
		[c]="expected... loop iteration variable",
		[f]={"expected",{l,X}," loop iteration variable"},
		[b]=d,
		[a]=e
	},
	["err_omp_depend_sink_expected_plus_minus"]={
		[c]="expected \'+\' or \'-\' operation",
		[b]=d,
		[a]=e
	},
	["err_omp_depend_sink_source_with_modifier"]={
		[c]="depend modifier cannot be used with \'sink\' or \'source\' depend type",
		[b]=d,
		[a]=e
	},
	["err_omp_depend_sink_unexpected_expr"]={
		[c]="unexpected expression: number of expressions is larger than the number of associated loops",
		[b]=d,
		[a]=e
	},
	["err_omp_depend_zero_length_array_section_not_allowed"]={
		[c]="zero-length array section is not allowed in \'depend\' clause",
		[b]=d,
		[a]=e
	},
	["err_omp_depobj_expected"]={
		[c]="expected depobj expression",
		[b]=d,
		[a]=e
	},
	["err_omp_depobj_single_clause_expected"]={
		[c]="exactly one of \'depend\', \'destroy\', or \'update\' clauses is expected",
		[b]=d,
		[a]=e
	},
	["err_omp_device_ancestor_without_requires_reverse_offload"]={
		[c]="Device clause with ancestor device-modifier used without specifying \'requires reverse_offload\'",
		[b]=d,
		[a]=e
	},
	["err_omp_device_type_mismatch"]={
		[c]="\'device_type(A)\' does not match previously specified \'device_type(B)\' for the same declaration",
		[b]=d,
		[a]=e
	},
	["err_omp_directive_before_requires"]={
		[c]="\'A\' region encountered before requires directive with \'B\' clause",
		[b]=d,
		[a]=e
	},
	["err_omp_dispatch_statement_call"]={
		[c]="statement after \'#pragma omp dispatch\' must be a direct call to a target function or an assignment to one",
		[b]=d,
		[a]=e
	},
	["err_omp_duplicate_map_type_modifier"]={
		[c]="same map type modifier has been specified more than once",
		[b]=d,
		[a]=e
	},
	["err_omp_duplicate_motion_modifier"]={
		[c]="same motion modifier has been specified more than once",
		[b]=d,
		[a]=e
	},
	["err_omp_expected_access_to_data_field"]={
		[c]="expected access to data field",
		[b]=d,
		[a]=e
	},
	["err_omp_expected_addressable_lvalue_or_array_item"]={
		[c]="expected addressable lvalue expression, array element......",
		[f]={"expected addressable lvalue expression, array element",{" or array section",", array section or array shaping expression"},{l," of non \'omp_depend_t\' type"}},
		[b]=d,
		[a]=e
	},
	["err_omp_expected_array_alloctraits"]={
		[c]="expected constant sized array of \'omp_alloctrait_t\' elements, not A",
		[b]=d,
		[a]=e
	},
	["err_omp_expected_base_var_name"]={
		[c]="expected variable name as a base of the array ...",
		[f]={"expected variable name as a base of the array ",{"subscript","section"}},
		[b]=d,
		[a]=e
	},
	["err_omp_expected_clause"]={
		[c]="expected at least one clause on \'#pragma omp A\' directive",
		[b]=d,
		[a]=e
	},
	["err_omp_expected_clause_argument"]={
		[c]="expected \'A\' clause with an argument on \'#pragma omp B\' construct",
		[b]=d,
		[a]=e
	},
	["err_omp_expected_colon"]={
		[c]="missing \':\' in A",
		[b]=d,
		[a]=e
	},
	["err_omp_expected_context_selector"]={
		[c]="expected valid context selector in A",
		[b]=d,
		[a]=e
	},
	["err_omp_expected_equal_in_iterator"]={
		[c]="expected \'=\' in iterator specifier",
		[b]=d,
		[a]=e
	},
	["err_omp_expected_identifier_for_critical"]={
		[c]="expected identifier specifying the name of the \'omp critical\' directive",
		[b]=d,
		[a]=e
	},
	["err_omp_expected_int_param"]={
		[c]="expected a reference to an integer-typed parameter",
		[b]=d,
		[a]=e
	},
	["err_omp_expected_interop_type"]={
		[c]="expected interop type: \'target\' and/or \'targetsync\'",
		[b]=d,
		[a]=e
	},
	["err_omp_expected_named_var_member_or_array_expression"]={
		[c]="expected expression containing only member accesses and/or array sections based on named variables",
		[b]=d,
		[a]=e
	},
	["err_omp_expected_omp_depend_t_lvalue"]={
		[c]="expected lvalue expression...",
		[f]={"expected lvalue expression",{" of \'omp_depend_t\' type, not B",l}},
		[b]=d,
		[a]=e
	},
	["err_omp_expected_predefined_allocator"]={
		[c]="expected one of the predefined allocators for the variables with the static storage: \'omp_default_mem_alloc\', \'omp_large_cap_mem_alloc\', \'omp_const_mem_alloc\', \'omp_high_bw_mem_alloc\', \'omp_low_lat_mem_alloc\', \'omp_cgroup_mem_alloc\', \'omp_pteam_mem_alloc\' or \'omp_thread_mem_alloc\'",
		[b]=d,
		[a]=e
	},
	["err_omp_expected_private_copy_for_allocate"]={
		[c]="the referenced item is not found in any private clause on the same directive",
		[b]=d,
		[a]=e
	},
	["err_omp_expected_punc"]={
		[c]="expected \',\' or \')\' in \'A\' ...",
		[f]={"expected \',\' or \')\' in \'A\' ",{"clause","directive"}},
		[b]=d,
		[a]=e
	},
	["err_omp_expected_punc_after_interop_mod"]={
		[c]="expected \',\' after interop modifier",
		[b]=d,
		[a]=e
	},
	["err_omp_expected_punc_after_iterator"]={
		[c]="expected \',\' or \')\' after iterator specifier",
		[b]=d,
		[a]=e
	},
	["err_omp_expected_reduction_identifier"]={
		[c]="expected identifier or one of the following operators: \'+\', \'-\', \'*\', \'&\', \'|\', \'^\', \'&&\', or \'||\'",
		[b]=d,
		[a]=e
	},
	["err_omp_expected_uniform_param"]={
		[c]="expected a reference to a parameter specified in a \'uniform\' clause",
		[b]=d,
		[a]=e
	},
	["err_omp_expected_var_arg"]={
		[c]="A is not a global variable, static local variable or static data member",
		[b]=d,
		[a]=e
	},
	["err_omp_expected_var_arg_suggest"]={
		[c]="A is not a global variable, static local variable or static data member; did you mean B",
		[b]=d,
		[a]=e
	},
	["err_omp_expected_var_name_member_expr"]={
		[c]="expected variable name...",
		[f]={"expected variable name",{l," or data member of current class"}},
		[b]=d,
		[a]=e
	},
	["err_omp_expected_var_name_member_expr_or_array_item"]={
		[c]="expected variable name..., array element or array section",
		[f]={"expected variable name",{l,", data member of current class"},", array element or array section"},
		[b]=d,
		[a]=e
	},
	["err_omp_expected_var_name_member_expr_with_type"]={
		[c]="expected variable... of type \'B\'",
		[f]={"expected variable",{l," or static data member",", static data member, or non-static data member of current class"}," of type \'B\'"},
		[b]=d,
		[a]=e
	},
	["err_omp_explicit_conversion"]={
		[c]="expression requires explicit conversion from A to B",
		[b]=d,
		[a]=e
	},
	["err_omp_firstprivate_incomplete_type"]={
		[c]="a firstprivate variable with incomplete type A",
		[b]=d,
		[a]=e
	},
	["err_omp_flush_order_clause_and_list"]={
		[c]="\'flush\' directive with memory order clause \'A\' cannot have the list",
		[b]=d,
		[a]=e
	},
	["err_omp_function_expected"]={
		[c]="\'#pragma omp declare ...\' can only be applied to functions",
		[f]={"\'#pragma omp declare ",{"simd","variant"},"\' can only be applied to functions"},
		[b]=d,
		[a]=e
	},
	["err_omp_function_in_link_clause"]={
		[c]="function name is not allowed in \'link\' clause",
		[b]=d,
		[a]=e
	},
	["err_omp_global_var_arg"]={
		[c]="arguments of \'#pragma omp A\' must have ...",
		[f]={"arguments of \'#pragma omp A\' must have ",{"global storage","static storage duration"}},
		[b]=d,
		[a]=e
	},
	["err_omp_hint_clause_no_name"]={
		[c]="the name of the construct must be specified in presence of \'hint\' clause",
		[b]=d,
		[a]=e
	},
	["err_omp_immediate_directive"]={
		[c]="\'#pragma omp A\' ...cannot be an immediate substatement",
		[f]={"\'#pragma omp A\' ",{l,"with \'C\' clause "},"cannot be an immediate substatement"},
		[b]=d,
		[a]=e
	},
	["err_omp_implied_type_not_found"]={
		[c]="\'A\' type not found; include <omp.h>",
		[b]=d,
		[a]=e
	},
	["err_omp_inclusive_exclusive_not_reduction"]={
		[c]="the list item must appear in \'reduction\' clause with the \'inscan\' modifier of the parent directive",
		[b]=d,
		[a]=e
	},
	["err_omp_incomplete_type"]={
		[c]="expression has incomplete class type A",
		[b]=d,
		[a]=e
	},
	["err_omp_inscan_reduction_expected"]={
		[c]="expected \'reduction\' clause with the \'inscan\' modifier",
		[b]=d,
		[a]=e
	},
	["err_omp_instantiation_not_supported"]={
		[c]="instantiation of \'A\' not supported yet",
		[b]=d,
		[a]=e
	},
	["err_omp_interop_bad_depend_clause"]={
		[c]="\'depend\' clause requires the \'targetsync\' interop type",
		[b]=d,
		[a]=e
	},
	["err_omp_interop_prefer_type"]={
		[c]="prefer_list item must be a string literal or constant integral expression",
		[b]=d,
		[a]=e
	},
	["err_omp_interop_type_not_found"]={
		[c]="\'omp_interop_t\' must be defined when \'append_args\' clause is used; include <omp.h>",
		[b]=d,
		[a]=e
	},
	["err_omp_interop_var_multiple_actions"]={
		[c]="interop variable A used in multiple action clauses",
		[b]=d,
		[a]=e
	},
	["err_omp_interop_variable_expected"]={
		[c]="expected... variable of type \'omp_interop_t\'",
		[f]={"expected",{l," non-const"}," variable of type \'omp_interop_t\'"},
		[b]=d,
		[a]=e
	},
	["err_omp_interop_variable_wrong_type"]={
		[c]="interop variable must be of type \'omp_interop_t\'",
		[b]=d,
		[a]=e
	},
	["err_omp_invalid_dsa"]={
		[c]="data-sharing attribute \'A\' in \'B\' clause requires OpenMP version C or above",
		[b]=d,
		[a]=e
	},
	["err_omp_invalid_map_this_expr"]={
		[c]="invalid \'this\' expression on \'map\' clause",
		[b]=d,
		[a]=e
	},
	["err_omp_invalid_map_type_for_directive"]={
		[c]="... for \'#pragma omp C\'",
		[f]={{"map type \'B\' is not allowed","map type must be specified"}," for \'#pragma omp C\'"},
		[b]=d,
		[a]=e
	},
	["err_omp_invalid_map_type_modifier_for_directive"]={
		[c]="map type modifier \'A\' is not allowed for \'#pragma omp B\'",
		[b]=d,
		[a]=e
	},
	["err_omp_invalid_mapper"]={
		[c]="cannot find a valid user-defined mapper for type A with name B",
		[b]=d,
		[a]=e
	},
	["err_omp_invalid_scope"]={
		[c]="\'#pragma omp A\' directive must appear only in file scope",
		[b]=d,
		[a]=e
	},
	["err_omp_invalid_target_decl"]={
		[c]="A used in declare target directive is not a variable or a function name",
		[b]=d,
		[a]=e
	},
	["err_omp_invariant_dependency"]={
		[c]="expected loop invariant expression",
		[b]=d,
		[a]=e
	},
	["err_omp_invariant_or_linear_dependency"]={
		[c]="expected loop invariant expression or \'<invariant1> * A + <invariant2>\' kind of expression",
		[b]=d,
		[a]=e
	},
	["err_omp_iterator_not_integral_or_pointer"]={
		[c]="expected integral or pointer type as the iterator-type, not A",
		[b]=d,
		[a]=e
	},
	["err_omp_iterator_step_constant_zero"]={
		[c]="iterator step expression A evaluates to 0",
		[b]=d,
		[a]=e
	},
	["err_omp_iterator_step_not_integral"]={
		[c]="iterator step expression A is not the integral expression",
		[b]=d,
		[a]=e
	},
	["err_omp_iterator_use"]={
		[c]="OpenMP iterator is not allowed here",
		[b]=d,
		[a]=e
	},
	["err_omp_lambda_capture_in_declare_target_not_to"]={
		[c]="variable captured in declare target region must appear in a to clause",
		[b]=d,
		[a]=e
	},
	["err_omp_lastprivate_conditional_non_scalar"]={
		[c]="expected list item of scalar type in \'lastprivate\' clause with \'conditional\' modifier",
		[b]=d,
		[a]=e
	},
	["err_omp_lastprivate_incomplete_type"]={
		[c]="a lastprivate variable with incomplete type A",
		[b]=d,
		[a]=e
	},
	["err_omp_lastprivate_loop_var_non_loop_iteration"]={
		[c]="only loop iteration variables are allowed in \'lastprivate\' clause in \'omp A\' directives",
		[b]=d,
		[a]=e
	},
	["err_omp_linear_distribute_var_non_loop_iteration"]={
		[c]="only loop iteration variables are allowed in \'linear\' clause in distribute directives",
		[b]=d,
		[a]=e
	},
	["err_omp_linear_expected_int_or_ptr"]={
		[c]="argument of a linear clause should be of integral or pointer type, not A",
		[b]=d,
		[a]=e
	},
	["err_omp_linear_incomplete_type"]={
		[c]="a linear variable with incomplete type A",
		[b]=d,
		[a]=e
	},
	["err_omp_linear_ordered"]={
		[c]="\'linear\' clause cannot be specified along with \'ordered\' clause with a parameter",
		[b]=d,
		[a]=e
	},
	["err_omp_local_var_in_threadprivate_init"]={
		[c]="variable with local storage in initial value of threadprivate variable",
		[b]=d,
		[a]=e
	},
	["err_omp_loop_cannot_use_stmt"]={
		[c]="\'A\' statement cannot be used in OpenMP for loop",
		[b]=d,
		[a]=e
	},
	["err_omp_loop_diff_cxx"]={
		[c]="could not calculate number of iterations calling \'operator-\' with upper and lower loop bounds",
		[b]=d,
		[a]=e
	},
	["err_omp_loop_incr_not_compatible"]={
		[c]="increment expression must cause A to ... on each iteration of OpenMP for loop",
		[f]={"increment expression must cause A to ",{"decrease","increase"}," on each iteration of OpenMP for loop"},
		[b]=d,
		[a]=e
	},
	["err_omp_loop_not_canonical_cond"]={
		[c]="condition of OpenMP for loop must be a relational comparison (\'<\', \'<=\', \'>\', ...) of loop variable B",
		[f]={"condition of OpenMP for loop must be a relational comparison (\'<\', \'<=\', \'>\', ",{"or \'>=\'","\'>=\', or \'!=\'"},") of loop variable B"},
		[b]=d,
		[a]=e
	},
	["err_omp_loop_not_canonical_incr"]={
		[c]="increment clause of OpenMP for loop must perform simple addition or subtraction on loop variable A",
		[b]=d,
		[a]=e
	},
	["err_omp_loop_not_canonical_init"]={
		[c]="initialization clause of OpenMP for loop is not in canonical form (\'var = init\' or \'T var = init\')",
		[b]=d,
		[a]=e
	},
	["err_omp_loop_var_dsa"]={
		[c]="loop iteration variable in the associated loop of \'omp B\' directive may not be A, predetermined as C",
		[b]=d,
		[a]=e
	},
	["err_omp_loop_variable_type"]={
		[c]="variable must be of integer or ... type",
		[f]={"variable must be of integer or ",{W,"random access iterator"}," type"},
		[b]=d,
		[a]=e
	},
	["err_omp_map_modifier_not_iterator"]={
		[c]="expected iterator specification as map modifier",
		[b]=d,
		[a]=e
	},
	["err_omp_map_shared_storage"]={
		[c]="variable already marked as mapped in current construct",
		[b]=d,
		[a]=e
	},
	["err_omp_map_type_missing"]={
		[c]="missing map type",
		[b]=d,
		[a]=e
	},
	["err_omp_map_type_modifier_missing"]={
		[c]="missing map type modifier",
		[b]=d,
		[a]=e
	},
	["err_omp_mapper_expected_declarator"]={
		[c]="expected declarator on \'omp declare mapper\' directive",
		[b]=d,
		[a]=e
	},
	["err_omp_mapper_illegal_identifier"]={
		[c]="illegal OpenMP user-defined mapper identifier",
		[b]=d,
		[a]=e
	},
	["err_omp_mapper_wrong_type"]={
		[c]="mapper type must be of struct, union or class type",
		[b]=d,
		[a]=e
	},
	["err_omp_more_one_clause"]={
		[c]="directive \'#pragma omp A\' cannot contain more than one \'B\' clause...",
		[f]={"directive \'#pragma omp A\' cannot contain more than one \'B\' clause",{l," with \'D\' name modifier"," with \'source\' dependence"}},
		[b]=d,
		[a]=e
	},
	["err_omp_multiple_array_items_in_map_clause"]={
		[c]="multiple array elements associated with the same variable are not allowed in map clauses of the same construct",
		[b]=d,
		[a]=e
	},
	["err_omp_negative_expression_in_clause"]={
		[c]="argument to \'A\' clause must be a ... integer value",
		[f]={"argument to \'A\' clause must be a ",{"non-negative","strictly positive"}," integer value"},
		[b]=d,
		[a]=e
	},
	["err_omp_no_clause_for_directive"]={
		[c]="expected at least one A clause for \'#pragma omp B\'",
		[b]=d,
		[a]=e
	},
	["err_omp_no_dsa_for_variable"]={
		[c]="variable A must have explicitly specified data sharing attributes",
		[b]=d,
		[a]=e
	},
	["err_omp_no_more_if_clause"]={
		[c]="no more \'if\' clause is allowed",
		[b]=d,
		[a]=e
	},
	["err_omp_non_lvalue_in_map_or_motion_clauses"]={
		[c]="expected addressable lvalue in \'A\' clause",
		[b]=d,
		[a]=e
	},
	["err_omp_non_pointer_type_array_shaping_base"]={
		[c]="expected expression with a pointer to a complete type as a base of an array shaping operation",
		[b]=d,
		[a]=e
	},
	["err_omp_nonpredefined_allocator_without_traits"]={
		[c]="non-predefined allocator must have traits specified",
		[b]=d,
		[a]=e
	},
	["err_omp_not_for"]={
		[c]=Rb,
		[f]={{"statement after \'#pragma omp B\' must be a for loop",{"expected C for loops after \'#pragma omp B\'",{l,", but found only E"}}}},
		[b]=d,
		[a]=e
	},
	["err_omp_not_integral"]={
		[c]="expression must have integral or unscoped enumeration type, not A",
		[b]=d,
		[a]=e
	},
	["err_omp_not_resolved_reduction_identifier"]={
		[c]="unable to resolve declare reduction construct for type A",
		[b]=d,
		[a]=e
	},
	["err_omp_nowait_clause_without_depend"]={
		[c]="directive \'#pragma omp taskwait\' cannot use \'nowait\' clause without \'depend\' clause",
		[b]=d,
		[a]=e
	},
	["err_omp_once_referenced"]={
		[c]="variable can appear only once in OpenMP \'A\' clause",
		[b]=d,
		[a]=e
	},
	["err_omp_once_referenced_in_target_update"]={
		[c]="variable can appear only once in OpenMP \'target update\' construct",
		[b]=d,
		[a]=e
	},
	["err_omp_one_defaultmap_each_category"]={
		[c]="at most one defaultmap clause for each variable-category can appear on the directive",
		[b]=d,
		[a]=e
	},
	["err_omp_ordered_directive_with_param"]={
		[c]="\'ordered\' directive ... cannot be closely nested inside ordered region with specified parameter",
		[f]={"\'ordered\' directive ",{"without any clauses","with \'threads\' clause"}," cannot be closely nested inside ordered region with specified parameter"},
		[b]=d,
		[a]=e
	},
	["err_omp_ordered_directive_without_param"]={
		[c]="\'ordered\' directive with \'A\' clause cannot be closely nested inside ordered region without specified parameter",
		[b]=d,
		[a]=e
	},
	["err_omp_ordered_simd"]={
		[c]="\'ordered\' clause with a parameter can not be specified in \'#pragma omp A\' directive",
		[b]=d,
		[a]=e
	},
	["err_omp_original_storage_is_shared_and_does_not_contain"]={
		[c]="original storage of expression in data environment is shared but data environment do not fully contain mapped expression storage",
		[b]=d,
		[a]=e
	},
	["err_omp_orphaned_device_directive"]={
		[c]="orphaned \'omp A\' directives are prohibited; perhaps you forget to enclose the directive into a ...region?",
		[f]={"orphaned \'omp A\' directives are prohibited; perhaps you forget to enclose the directive into a ",{l,l,l,"target ","teams","for, simd, for simd, parallel for, or parallel for simd "},"region?"},
		[b]=d,
		[a]=e
	},
	["err_omp_orphaned_section_directive"]={
		[c]="... must be closely nested to a sections region...",
		[f]={{"orphaned \'omp section\' directives are prohibited, it","\'omp section\' directive"}," must be closely nested to a sections region",{l,", not a B region"}},
		[b]=d,
		[a]=e
	},
	["err_omp_parallel_reduction_in_task_firstprivate"]={
		[c]="argument of a reduction clause of a A construct must not appear in a firstprivate clause on a task construct",
		[b]=d,
		[a]=e
	},
	["err_omp_parallel_sections_not_compound_stmt"]={
		[c]="the statement for \'#pragma omp parallel sections\' must be a compound statement",
		[b]=d,
		[a]=e
	},
	["err_omp_parallel_sections_substmt_not_section"]={
		[c]="statement in \'omp parallel sections\' directive must be enclosed into a section region",
		[b]=d,
		[a]=e
	},
	["err_omp_param_or_this_in_clause"]={
		[c]="expected reference to one of the parameters of function A...",
		[f]={"expected reference to one of the parameters of function A",{l," or \'this\'"}},
		[b]=d,
		[a]=e
	},
	["err_omp_parent_cancel_region_nowait"]={
		[c]="parent region for \'omp ...\' construct cannot be nowait",
		[f]={"parent region for \'omp ",{"cancellation point","cancel"},"\' construct cannot be nowait"},
		[b]=d,
		[a]=e
	},
	["err_omp_parent_cancel_region_ordered"]={
		[c]="parent region for \'omp ...\' construct cannot be ordered",
		[f]={"parent region for \'omp ",{"cancellation point","cancel"},"\' construct cannot be ordered"},
		[b]=d,
		[a]=e
	},
	["err_omp_pointer_mapped_along_with_derived_section"]={
		[c]="pointer cannot be mapped along with a section derived from itself",
		[b]=d,
		[a]=e
	},
	["err_omp_predefined_allocator_with_traits"]={
		[c]="predefined allocator cannot have traits specified",
		[b]=d,
		[a]=e
	},
	["err_omp_private_incomplete_type"]={
		[c]="a private variable with incomplete type A",
		[b]=d,
		[a]=e
	},
	["err_omp_prohibited_region"]={
		[c]="region cannot be... nested inside \'B\' region...",
		[f]={"region cannot be",{l," closely"}," nested inside \'B\' region",{l,"; perhaps you forget to enclose \'omp D\' directive into a parallel region?","; perhaps you forget to enclose \'omp D\' directive into a for or a parallel for region with \'ordered\' clause?","; perhaps you forget to enclose \'omp D\' directive into a target region?","; perhaps you forget to enclose \'omp D\' directive into a teams region?","; perhaps you forget to enclose \'omp D\' directive into a for, simd, for simd, parallel for, or parallel for simd region?"}},
		[b]=d,
		[a]=e
	},
	["err_omp_prohibited_region_atomic"]={
		[c]="OpenMP constructs may not be nested inside an atomic region",
		[b]=d,
		[a]=e
	},
	["err_omp_prohibited_region_critical_same_name"]={
		[c]="cannot nest \'critical\' regions having the same name A",
		[b]=d,
		[a]=e
	},
	["err_omp_prohibited_region_order"]={
		[c]="construct \'A\' not allowed in a region associated with a directive with \'order\' clause",
		[b]=d,
		[a]=e
	},
	["err_omp_prohibited_region_simd"]={
		[c]="OpenMP constructs may not be nested inside a simd region...",
		[f]={"OpenMP constructs may not be nested inside a simd region",{l," except for ordered simd, simd, scan, or atomic directive"}},
		[b]=d,
		[a]=e
	},
	["err_omp_reduction_id_not_compatible"]={
		[c]="list item of type A is not valid for specified reduction operation: unable to provide default initialization value",
		[b]=d,
		[a]=e
	},
	["err_omp_reduction_identifier_mismatch"]={
		[c]="in_reduction variable must have the same reduction operation as in a task_reduction clause",
		[b]=d,
		[a]=e
	},
	["err_omp_reduction_in_task"]={
		[c]="reduction variables may not be accessed in an explicit task",
		[b]=d,
		[a]=e
	},
	["err_omp_reduction_incomplete_type"]={
		[c]="a reduction list item with incomplete type A",
		[b]=d,
		[a]=e
	},
	["err_omp_reduction_non_addressable_expression"]={
		[c]="expected addressable reduction item for the task-based directives",
		[b]=d,
		[a]=e
	},
	["err_omp_reduction_not_inclusive_exclusive"]={
		[c]="the inscan reduction list item must appear as a list item in an \'inclusive\' or \'exclusive\' clause on an inner \'omp scan\' directive",
		[b]=d,
		[a]=e
	},
	["err_omp_reduction_ref_type_arg"]={
		[c]="argument of OpenMP clause \'A\' must reference the same object in all threads",
		[b]=d,
		[a]=e
	},
	["err_omp_reduction_task_not_parallel_or_worksharing"]={
		[c]="\'reduction\' clause with \'task\' modifier allowed only on non-simd parallel or worksharing constructs",
		[b]=d,
		[a]=e
	},
	["err_omp_reduction_vla_unsupported"]={
		[c]="cannot generate code for reduction on ...variable length array",
		[f]={"cannot generate code for reduction on ",{l,"array section, which requires a "},"variable length array"},
		[b]=d,
		[a]=e
	},
	["err_omp_reduction_with_nogroup"]={
		[c]="\'reduction\' clause cannot be used with \'nogroup\' clause",
		[b]=d,
		[a]=e
	},
	["err_omp_reduction_wrong_type"]={
		[c]="reduction type cannot be ... type",
		[f]={"reduction type cannot be ",{"qualified with \'const\', \'volatile\' or \'restrict\'","a function","a reference","an array"}," type"},
		[b]=d,
		[a]=e
	},
	["err_omp_ref_type_arg"]={
		[c]="arguments of \'#pragma omp A\' cannot be of reference type B",
		[b]=d,
		[a]=e
	},
	["err_omp_region_not_file_context"]={
		[c]="directive must be at file or namespace scope",
		[b]=d,
		[a]=e
	},
	["err_omp_required_access"]={
		[c]="A variable must be B",
		[b]=d,
		[a]=e
	},
	["err_omp_required_clause"]={
		[c]="directive \'#pragma omp A\' requires the \'B\' clause",
		[b]=d,
		[a]=e
	},
	["err_omp_requires_clause_redeclaration"]={
		[c]="Only one A clause can appear on a requires directive in a single translation unit",
		[b]=d,
		[a]=e
	},
	["err_omp_requires_out_inout_depend_type"]={
		[c]="reserved locator \'omp_all_memory\' requires \'out\' or \'inout\' dependency types",
		[b]=d,
		[a]=e
	},
	["err_omp_same_pointer_dereferenced"]={
		[c]="same pointer dereferenced in multiple different ways in map clause expressions",
		[b]=d,
		[a]=e
	},
	["err_omp_scan_single_clause_expected"]={
		[c]="exactly one of \'inclusive\' or \'exclusive\' clauses is expected",
		[b]=d,
		[a]=e
	},
	["err_omp_schedule_nonmonotonic_static"]={
		[c]="\'nonmonotonic\' modifier can only be specified with \'dynamic\' or \'guided\' schedule kind",
		[b]=d,
		[a]=e
	},
	["err_omp_section_function_type"]={
		[c]="section of pointer to function type A",
		[b]=d,
		[a]=e
	},
	["err_omp_section_incomplete_type"]={
		[c]="section of pointer to incomplete type A",
		[b]=d,
		[a]=e
	},
	["err_omp_section_length_negative"]={
		[c]="section length is evaluated to a negative value A",
		[b]=d,
		[a]=e
	},
	["err_omp_section_length_undefined"]={
		[c]="section length is unspecified and cannot be inferred because subscripted value is ...",
		[f]={"section length is unspecified and cannot be inferred because subscripted value is ",{"not an array","an array of unknown bound"}},
		[b]=d,
		[a]=e
	},
	["err_omp_section_not_subset_of_array"]={
		[c]="array section must be a subset of the original array",
		[b]=d,
		[a]=e
	},
	["err_omp_section_stride_non_positive"]={
		[c]="section stride is evaluated to a non-positive value A",
		[b]=d,
		[a]=e
	},
	["err_omp_sections_not_compound_stmt"]={
		[c]="the statement for \'#pragma omp sections\' must be a compound statement",
		[b]=d,
		[a]=e
	},
	["err_omp_sections_substmt_not_section"]={
		[c]="statement in \'omp sections\' directive must be enclosed into a section region",
		[b]=d,
		[a]=e
	},
	["err_omp_several_directives_in_region"]={
		[c]="exactly one \'A\' directive must appear in the loop body of an enclosing directive",
		[b]=d,
		[a]=e
	},
	["err_omp_several_mem_order_clauses"]={
		[c]="directive \'#pragma omp A\' cannot contain more than one ...\'acq_rel\', \'acquire\' or \'release\' clause",
		[f]={"directive \'#pragma omp A\' cannot contain more than one ",{"\'seq_cst\', \'relaxed\', ",l},"\'acq_rel\', \'acquire\' or \'release\' clause"},
		[b]=d,
		[a]=e
	},
	["err_omp_shaping_dimension_not_positive"]={
		[c]="array shaping dimension is evaluated to a non-positive value A",
		[b]=d,
		[a]=e
	},
	["err_omp_simd_region_cannot_use_stmt"]={
		[c]="\'A\' statement cannot be used in OpenMP simd region",
		[b]=d,
		[a]=e
	},
	["err_omp_simple_clause_incompatible_with_ordered"]={
		[c]="\'A\' clause with \'B\' modifier cannot be specified if an \'ordered\' clause is specified",
		[b]=d,
		[a]=e
	},
	["err_omp_single_copyprivate_with_nowait"]={
		[c]="the \'copyprivate\' clause must not be used with the \'nowait\' clause",
		[b]=d,
		[a]=e
	},
	["err_omp_single_decl_in_declare_simd_variant"]={
		[c]="single declaration is expected after \'declare ...\' directive",
		[f]={"single declaration is expected after \'declare ",{"simd","variant"},"\' directive"},
		[b]=d,
		[a]=e
	},
	["err_omp_sink_and_source_iteration_not_allowd"]={
		[c]=" \'A ...\' must be with \'...\'",
		[f]={" \'A ",{"sink:","source:"},"\' must be with \'",{"omp_cur_iteration - 1","omp_cur_iteration"},x},
		[b]=d,
		[a]=e
	},
	["err_omp_sink_and_source_not_allowed"]={
		[c]="\'A(...)\' clause... cannot be mixed with \'A(...)\' clause...",
		[f]={"\'A(",{"source","sink:vec"},")\' clause",{l,cb}," cannot be mixed with \'A(",{"sink:vec","source"},")\' clause",{cb,l}},
		[b]=d,
		[a]=e
	},
	["err_omp_stmt_depends_on_loop_counter"]={
		[c]="the loop ... expression depends on the current loop control variable",
		[f]={"the loop ",{"initializer","condition"}," expression depends on the current loop control variable"},
		[b]=d,
		[a]=e
	},
	["err_omp_target_contains_not_only_teams"]={
		[c]="target construct with nested teams region contains statements outside of the teams construct",
		[b]=d,
		[a]=e
	},
	["err_omp_taskwait_depend_mutexinoutset_not_allowed"]={
		[c]="\'mutexinoutset\' modifier not allowed in \'depend\' clause on \'taskwait\' directive",
		[b]=d,
		[a]=e
	},
	["err_omp_threadprivate_in_clause"]={
		[c]="threadprivate variables are not allowed in \'A\' clause",
		[b]=d,
		[a]=e
	},
	["err_omp_threadprivate_in_target"]={
		[c]="threadprivate variables cannot be used in target constructs",
		[b]=d,
		[a]=e
	},
	["err_omp_threadprivate_incomplete_type"]={
		[c]="threadprivate variable with incomplete type A",
		[b]=d,
		[a]=e
	},
	["err_omp_typecheck_section_not_integer"]={
		[c]="array section ... is not an integer",
		[f]={"array section ",{"lower bound","length"}," is not an integer"},
		[b]=d,
		[a]=e
	},
	["err_omp_typecheck_section_value"]={
		[c]="subscripted value is not an array or pointer",
		[b]=d,
		[a]=e
	},
	["err_omp_typecheck_shaping_not_integer"]={
		[c]="array shaping operation dimension is not an integer",
		[b]=d,
		[a]=e
	},
	["err_omp_unexpected_append_op"]={
		[c]="unexpected operation specified in \'append_args\' clause, expected \'interop\'",
		[b]=d,
		[a]=e
	},
	["err_omp_unexpected_call_to_omp_runtime_api"]={
		[c]="calls to OpenMP runtime API are not allowed within a region that corresponds to a construct with an order clause that specifies concurrent",
		[b]=d,
		[a]=e
	},
	["err_omp_unexpected_clause"]={
		[c]="unexpected OpenMP clause \'A\' in directive \'#pragma omp B\'",
		[b]=d,
		[a]=e
	},
	["err_omp_unexpected_clause_value"]={
		[c]="expected A in OpenMP clause \'B\'",
		[b]=d,
		[a]=e
	},
	["err_omp_unexpected_directive"]={
		[c]="unexpected OpenMP directive ...",
		[f]={"unexpected OpenMP directive ",{l,"\'#pragma omp B\'"}},
		[b]=d,
		[a]=e
	},
	["err_omp_unexpected_execution_modifier"]={
		[c]="unexpected \'execution\' modifier in non-executable context",
		[b]=d,
		[a]=e
	},
	["err_omp_unexpected_schedule_modifier"]={
		[c]="modifier \'A\' cannot be used along with modifier \'B\'",
		[b]=d,
		[a]=e
	},
	["err_omp_union_type_not_allowed"]={
		[c]="mapping of union members is not allowed",
		[b]=d,
		[a]=e
	},
	["err_omp_unknown_directive"]={
		[c]="expected an OpenMP directive",
		[b]=d,
		[a]=e
	},
	["err_omp_unknown_map_type"]={
		[c]="incorrect map type, expected one of \'to\', \'from\', \'tofrom\', \'alloc\', \'release\', or \'delete\'",
		[b]=d,
		[a]=e
	},
	["err_omp_unknown_map_type_modifier"]={
		[c]="incorrect map type modifier, expected one of: \'always\', \'close\', \'mapper\'......",
		[f]={"incorrect map type modifier, expected one of: \'always\', \'close\', \'mapper\'",{l,", \'present\'",", \'present\', \'iterator\'"},{l,", \'ompx_hold\'"}},
		[b]=d,
		[a]=e
	},
	["err_omp_unknown_reduction_identifier_prior_omp_6_0"]={
		[c]="incorrect reduction identifier, expected one of \'+\', \'-\', \'*\', \'&\', \'|\', \'^\', \'&&\', \'||\', \'min\' or \'max\' or declare reduction for type A",
		[b]=d,
		[a]=e
	},
	["err_omp_unknown_reduction_identifier_since_omp_6_0"]={
		[c]="incorrect reduction identifier, expected one of \'+\', \'*\', \'&\', \'|\', \'^\', \'&&\', \'||\', \'min\' or \'max\' or declare reduction for type A",
		[b]=d,
		[a]=e
	},
	["err_omp_unnamed_if_clause"]={
		[c]="expected... B directive name modifier...",
		[f]={"expected",{l," one of"}," B directive name modifier",{l,cb}},
		[b]=d,
		[a]=e
	},
	["err_omp_unroll_full_variable_trip_count"]={
		[c]="loop to be fully unrolled must have a constant trip count",
		[b]=d,
		[a]=e
	},
	["err_omp_used_in_clause_twice"]={
		[c]="... cannot appear in more than one B clause",
		[f]={{"a variable","a parameter","\'this\'"}," cannot appear in more than one B clause"},
		[b]=d,
		[a]=e
	},
	["err_omp_usedeviceptr_not_a_pointer"]={
		[c]="expected pointer or reference to pointer in \'use_device_ptr\' clause",
		[b]=d,
		[a]=e
	},
	["err_omp_var_expected"]={
		[c]="expected variable of the \'A\' type...",
		[f]={"expected variable of the \'A\' type",{l,", not C"}},
		[b]=d,
		[a]=e
	},
	["err_omp_var_scope"]={
		[c]="\'#pragma omp A\' must appear in the scope of the B variable declaration",
		[b]=d,
		[a]=e
	},
	["err_omp_var_thread_local"]={
		[c]="variable A cannot be threadprivate because it is ...",
		[f]={"variable A cannot be threadprivate because it is ",{"thread-local","a global named register variable"}},
		[b]=d,
		[a]=e
	},
	["err_omp_var_used"]={
		[c]="\'#pragma omp A\' must precede all references to variable B",
		[b]=d,
		[a]=e
	},
	["err_omp_variable_in_given_clause_and_dsa"]={
		[c]="A variable cannot be in a B clause in \'#pragma omp C\' directive",
		[b]=d,
		[a]=e
	},
	["err_omp_variably_modified_type_not_supported"]={
		[c]="arguments of OpenMP clause \'A\' in \'#pragma omp C\' directive cannot be of variably-modified type B",
		[b]=d,
		[a]=e
	},
	["err_omp_variant_ctx_second_match_extension"]={
		[c]="only a single match extension allowed per OpenMP context selector",
		[b]=d,
		[a]=e
	},
	["err_omp_wrong_cancel_region"]={
		[c]="one of \'for\', \'parallel\', \'sections\' or \'taskgroup\' is expected",
		[b]=d,
		[a]=e
	},
	["err_omp_wrong_dependency_iterator_type"]={
		[c]="expected an integer or a pointer type of the outer loop counter \'A\' for non-rectangular nests",
		[b]=d,
		[a]=e
	},
	["err_omp_wrong_device_function_call"]={
		[c]="function with \'device_type(A)\' is not available on ...",
		[f]={"function with \'device_type(A)\' is not available on ",{"device","host"}},
		[b]=d,
		[a]=e
	},
	["err_omp_wrong_dsa"]={
		[c]="A variable cannot be B",
		[b]=d,
		[a]=e
	},
	["err_omp_wrong_if_directive_name_modifier"]={
		[c]="directive name modifier \'A\' is not allowed for \'#pragma omp B\'",
		[b]=d,
		[a]=e
	},
	["err_omp_wrong_inscan_reduction"]={
		[c]="\'inscan\' modifier can be used only in \'omp for\', \'omp simd\', \'omp for simd\', \'omp parallel for\', or \'omp parallel for simd\' directive",
		[b]=d,
		[a]=e
	},
	["err_omp_wrong_linear_modifier"]={
		[c]="expected ...",
		[f]={Md,{"\'val\' modifier","one of \'ref\', val\' or \'uval\' modifiers"}},
		[b]=d,
		[a]=e
	},
	["err_omp_wrong_linear_modifier_non_reference"]={
		[c]="variable of non-reference type A can be used only with \'val\' modifier, but used with \'B\'",
		[b]=d,
		[a]=e
	},
	["err_omp_wrong_ordered_loop_count"]={
		[c]="the parameter of the \'ordered\' clause must be greater than or equal to the parameter of the \'collapse\' clause",
		[b]=d,
		[a]=e
	},
	["err_omp_wrong_simdlen_safelen_values"]={
		[c]="the value of \'simdlen\' parameter must be less than or equal to the value of the \'safelen\' parameter",
		[b]=d,
		[a]=e
	},
	["err_omp_wrong_var_in_declare_reduction"]={
		[c]="only ... variables are allowed in ... expression",
		[f]={"only ",{"\'omp_priv\' or \'omp_orig\'","\'omp_in\' or \'omp_out\'"}," variables are allowed in ",{"initializer","combiner"}," expression"},
		[b]=d,
		[a]=e
	},
	["err_only_annotate_after_access_spec"]={
		[c]="access specifier can only have annotation attributes",
		[b]=d,
		[a]=e
	},
	["err_only_constructors_take_base_inits"]={
		[c]="only constructors take base initializers",
		[b]=d,
		[a]=e
	},
	["err_only_enums_have_underlying_types"]={
		[c]="only enumeration types have underlying types",
		[b]=d,
		[a]=e
	},
	["err_opencl_addrspace_scope"]={
		[c]="variables in the A address space can only be declared in the outermost scope of a kernel function",
		[b]=d,
		[a]=e
	},
	["err_opencl_atomic_init"]={
		[c]="atomic variable can be ... to a variable only in global address space",
		[f]={"atomic variable can be ",{"assigned","initialized"}," to a variable only in global address space"},
		[b]=d,
		[a]=e
	},
	["err_opencl_bitfields"]={
		[c]="bit-fields are not supported in OpenCL",
		[b]=d,
		[a]=e
	},
	["err_opencl_block_ref_block"]={
		[c]="cannot refer to a block inside block",
		[b]=d,
		[a]=e
	},
	["err_opencl_block_storage_type"]={
		[c]="the __block storage type is not permitted",
		[b]=d,
		[a]=e
	},
	["err_opencl_builtin_expected_type"]={
		[c]="illegal call to A, expected B argument type",
		[b]=d,
		[a]=e
	},
	["err_opencl_builtin_pipe_arg_num"]={
		[c]="invalid number of arguments to function: A",
		[b]=d,
		[a]=e
	},
	["err_opencl_builtin_pipe_first_arg"]={
		[c]="first argument to A must be a pipe type",
		[b]=d,
		[a]=e
	},
	["err_opencl_builtin_pipe_invalid_access_modifier"]={
		[c]="invalid pipe access modifier (expecting A)",
		[b]=d,
		[a]=e
	},
	["err_opencl_builtin_pipe_invalid_arg"]={
		[c]="invalid argument type to function A (expecting B having C)",
		[b]=d,
		[a]=e
	},
	["err_opencl_builtin_to_addr_invalid_arg"]={
		[c]="invalid argument A to function: B, expecting a generic pointer argument",
		[b]=d,
		[a]=e
	},
	["err_opencl_cast_non_zero_to_event_t"]={
		[c]="cannot cast non-zero value \'A\' to \'event_t\'",
		[b]=d,
		[a]=e
	},
	["err_opencl_cast_to_half"]={
		[c]="casting to type A is not allowed",
		[b]=d,
		[a]=e
	},
	["err_opencl_constant_no_init"]={
		[c]="variable in constant address space must be initialized",
		[b]=d,
		[a]=e
	},
	["err_opencl_enqueue_kernel_blocks_no_args"]={
		[c]="blocks with parameters are not accepted in this prototype of enqueue_kernel call",
		[b]=d,
		[a]=e
	},
	["err_opencl_enqueue_kernel_blocks_non_local_void_args"]={
		[c]="blocks used in enqueue_kernel call are expected to have parameters of type \'local void*\'",
		[b]=d,
		[a]=e
	},
	["err_opencl_enqueue_kernel_incorrect_args"]={
		[c]="illegal call to enqueue_kernel, incorrect argument types",
		[b]=d,
		[a]=e
	},
	["err_opencl_enqueue_kernel_invalid_local_size_type"]={
		[c]="illegal call to enqueue_kernel, parameter needs to be specified as integer type",
		[b]=d,
		[a]=e
	},
	["err_opencl_enqueue_kernel_local_size_args"]={
		[c]="mismatch in number of block parameters and local size arguments passed",
		[b]=d,
		[a]=e
	},
	["err_opencl_ext_vector_component_invalid_length"]={
		[c]="vector component access has invalid length A.  Supported: 1,2,3,4,8,16.",
		[b]=d,
		[a]=e
	},
	["err_opencl_extension_and_feature_differs"]={
		[c]="options A and B are set to different values",
		[b]=d,
		[a]=e
	},
	["err_opencl_extern_block_declaration"]={
		[c]="invalid block variable declaration - using \'extern\' storage class is disallowed",
		[b]=d,
		[a]=e
	},
	["err_opencl_feature_requires"]={
		[c]="feature A requires support of B feature",
		[b]=d,
		[a]=e
	},
	["err_opencl_function_pointer"]={
		[c]="... to functions are not allowed",
		[f]={{"pointers","references"}," to functions are not allowed"},
		[b]=d,
		[a]=e
	},
	["err_opencl_function_variable"]={
		[c]="... variable cannot be declared in B address space",
		[f]={{"non-kernel function","function scope"}," variable cannot be declared in B address space"},
		[b]=d,
		[a]=e
	},
	["err_opencl_global_invalid_addr_space"]={
		[c]="... variable must reside in B address space",
		[f]={{"program scope","static local","extern"}," variable must reside in B address space"},
		[b]=d,
		[a]=e
	},
	["err_opencl_half_declaration"]={
		[c]="declaring variable of type A is not allowed",
		[b]=d,
		[a]=e
	},
	["err_opencl_half_load_store"]={
		[c]="... pointer to type B requires cl_khr_fp16. Use vector data ... builtin functions instead",
		[f]={{"loading directly from","assigning directly to"}," pointer to type B requires cl_khr_fp16. Use vector data ",{"load","store"}," builtin functions instead"},
		[b]=d,
		[a]=e
	},
	["err_opencl_implicit_vector_conversion"]={
		[c]="implicit conversions between vector types (A and B) are not permitted",
		[b]=d,
		[a]=e
	},
	["err_opencl_invalid_access_qualifier"]={
		[c]="access qualifier can only be used for pipe and image type",
		[b]=d,
		[a]=e
	},
	["err_opencl_invalid_block_declaration"]={
		[c]="invalid block variable declaration - must be ...",
		[f]={"invalid block variable declaration - must be ",{"const qualified","initialized"}},
		[b]=d,
		[a]=e
	},
	["err_opencl_invalid_param"]={
		[c]="declaring function parameter of type A is not allowed...",
		[f]={"declaring function parameter of type A is not allowed",{"; did you forget * ?",l}},
		[b]=d,
		[a]=e
	},
	["err_opencl_invalid_read_write"]={
		[c]="access qualifier A can not be used for B ...",
		[f]={"access qualifier A can not be used for B ",{l,"prior to OpenCL C version 2.0 or in version 3.0 and without __opencl_c_read_write_images feature"}},
		[b]=d,
		[a]=e
	},
	["err_opencl_invalid_return"]={
		[c]="declaring function return value of type A is not allowed ...",
		[f]={"declaring function return value of type A is not allowed ",{"; did you forget * ?",l}},
		[b]=d,
		[a]=e
	},
	["err_opencl_invalid_type_array"]={
		[c]="array of A type is invalid in OpenCL",
		[b]=d,
		[a]=e
	},
	["err_opencl_kernel_attr"]={
		[c]="attribute A can only be applied to an OpenCL kernel function",
		[b]=d,
		[a]=e
	},
	["err_opencl_logical_exclusive_or"]={
		[c]="^^ is a reserved operator in OpenCL",
		[b]=d,
		[a]=e
	},
	["err_opencl_multiple_access_qualifiers"]={
		[c]="multiple access qualifiers",
		[b]=d,
		[a]=e
	},
	["err_opencl_no_main"]={
		[c]="... cannot be called \'main\'",
		[f]={{m,"kernel"}," cannot be called \'main\'"},
		[b]=d,
		[a]=e
	},
	["err_opencl_nonconst_global_sampler"]={
		[c]="global sampler requires a const or constant address space qualifier",
		[b]=d,
		[a]=e
	},
	["err_opencl_pointer_to_type"]={
		[c]="pointer to type A is invalid in OpenCL",
		[b]=d,
		[a]=e
	},
	["err_opencl_ptrptr_kernel_param"]={
		[c]="kernel parameter cannot be declared as a pointer to a pointer",
		[b]=d,
		[a]=e
	},
	["err_opencl_requires_extension"]={
		[c]="use of ... B requires C support",
		[f]={"use of ",{a,qc}," B requires C support"},
		[b]=d,
		[a]=e
	},
	["err_opencl_scalar_type_rank_greater_than_vector_type"]={
		[c]="scalar operand type has greater rank than the type of the vector element. (A and B)",
		[b]=d,
		[a]=e
	},
	["err_opencl_sizeof_alignof_type"]={
		[c]="invalid application of \'A\' to a void type",
		[b]=d,
		[a]=e
	},
	["err_opencl_taking_address_capture"]={
		[c]="taking address of a capture is not allowed",
		[b]=d,
		[a]=e
	},
	["err_opencl_taking_function_address_parser"]={
		[c]="taking address of function is not allowed",
		[b]=d,
		[a]=e
	},
	["err_opencl_ternary_with_block"]={
		[c]="block type cannot be used as expression in ternary expression in OpenCL",
		[b]=d,
		[a]=e
	},
	["err_opencl_type_can_only_be_used_as_function_parameter"]={
		[c]="type A can only be used as a function parameter in OpenCL",
		[b]=d,
		[a]=e
	},
	["err_opencl_type_not_found"]={
		[c]="A type B not found; include the base header with -finclude-default-header",
		[b]=d,
		[a]=e
	},
	["err_opencl_type_struct_or_union_field"]={
		[c]="the A type cannot be used to declare a structure or union field",
		[b]=d,
		[a]=e
	},
	["err_opencl_unknown_type_specifier"]={
		[c]="A does not support the \'B\' ...",
		[f]={"A does not support the \'B\' ",{"type qualifier","storage class specifier"}},
		[b]=d,
		[a]=e
	},
	["err_opencl_variadic_function"]={
		[c]="invalid prototype, variadic arguments are not allowed in OpenCL",
		[b]=d,
		[a]=e
	},
	["err_opencl_vla"]={
		[c]="variable length arrays are not supported in OpenCL",
		[b]=d,
		[a]=e
	},
	["err_openclcxx_not_supported"]={
		[c]="\'A\' is not supported in C++ for OpenCL",
		[b]=d,
		[a]=e
	},
	["err_openclcxx_placement_new"]={
		[c]="use of placement new requires explicit declaration",
		[b]=d,
		[a]=e
	},
	["err_openclcxx_virtual_function"]={
		[c]="virtual functions are not supported in C++ for OpenCL",
		[b]=d,
		[a]=e
	},
	["err_openmp_default_simd_align_expr"]={
		[c]="invalid application of \'__builtin_omp_required_simd_align\' to an expression, only type is allowed",
		[b]=d,
		[a]=e
	},
	["err_openmp_vla_in_task_untied"]={
		[c]="variable length arrays are not supported in OpenMP tasking regions with \'untied\' clause",
		[b]=d,
		[a]=e
	},
	["err_operator_arrow_circular"]={
		[c]="circular pointer delegation detected",
		[b]=d,
		[a]=e
	},
	["err_operator_arrow_depth_exceeded"]={
		[c]="use of \'operator->\' on type A would invoke a sequence of more than B \'operator->\' calls",
		[b]=d,
		[a]=e
	},
	["err_operator_delete_dependent_param_type"]={
		[c]="A cannot take a dependent type as first parameter; use B instead",
		[b]=d,
		[a]=e
	},
	["err_operator_delete_param_type"]={
		[c]="first parameter of A must have type B",
		[b]=d,
		[a]=e
	},
	["err_operator_new_default_arg"]={
		[c]="parameter of A cannot have a default argument",
		[b]=d,
		[a]=e
	},
	["err_operator_new_delete_declared_in_namespace"]={
		[c]="A cannot be declared inside a namespace",
		[b]=d,
		[a]=e
	},
	["err_operator_new_delete_declared_static"]={
		[c]="A cannot be declared static in global scope",
		[b]=d,
		[a]=e
	},
	["err_operator_new_delete_dependent_result_type"]={
		[c]="A cannot have a dependent return type; use B instead",
		[b]=d,
		[a]=e
	},
	["err_operator_new_delete_invalid_result_type"]={
		[c]="A must return type B",
		[b]=d,
		[a]=e
	},
	["err_operator_new_delete_template_too_few_parameters"]={
		[c]="A template must have at least two parameters",
		[b]=d,
		[a]=e
	},
	["err_operator_new_delete_too_few_parameters"]={
		[c]="A must have at least one parameter",
		[b]=d,
		[a]=e
	},
	["err_operator_new_dependent_param_type"]={
		[c]="A cannot take a dependent type as first parameter; use size_t (B) instead",
		[b]=d,
		[a]=e
	},
	["err_operator_new_param_type"]={
		[c]="A takes type size_t (B) as first parameter",
		[b]=d,
		[a]=e
	},
	["err_operator_overload_default_arg"]={
		[c]="parameter of overloaded A cannot have a default argument",
		[b]=d,
		[a]=e
	},
	["err_operator_overload_must_be"]={
		[c]="overloaded A must be a ... operator (has B parameterB)",
		[f]={"overloaded A must be a ",{"unary","binary","unary or binary"}," operator (has B parameterB)"},
		[b]=d,
		[a]=e
	},
	["err_operator_overload_must_be_member"]={
		[c]="overloaded A must be a non-static member function",
		[b]=d,
		[a]=e
	},
	["err_operator_overload_needs_class_or_enum"]={
		[c]="overloaded A must have at least one parameter of class or enumeration type",
		[b]=d,
		[a]=e
	},
	["err_operator_overload_post_incdec_must_be_int"]={
		[c]="parameter of overloaded post-... operator must have type \'int\' (not A)",
		[f]={"parameter of overloaded post-",{wd,Id}," operator must have type \'int\' (not A)"},
		[b]=d,
		[a]=e
	},
	["err_operator_overload_static"]={
		[c]="overloaded A cannot be a static member function",
		[b]=d,
		[a]=e
	},
	["err_operator_overload_variadic"]={
		[c]="overloaded A cannot be variadic",
		[b]=d,
		[a]=e
	},
	["err_opt_not_valid_on_target"]={
		[c]="option \'A\' cannot be specified on this target",
		[b]=d,
		[a]=e
	},
	["err_opt_not_valid_with_opt"]={
		[c]="option \'A\' cannot be specified with \'B\'",
		[b]=d,
		[a]=e
	},
	["err_opt_not_valid_without_opt"]={
		[c]="option \'A\' cannot be specified without \'B\'",
		[b]=d,
		[a]=e
	},
	["err_os_log_argument_too_big"]={
		[c]="os_log() argument A is too big (B bytes, max C)",
		[b]=d,
		[a]=e
	},
	["err_os_log_format_not_string_constant"]={
		[c]="os_log() format argument is not a string constant",
		[b]=d,
		[a]=e
	},
	["err_out_of_line_constructor_template_id"]={
		[c]="out-of-line constructor for A cannot have template arguments",
		[b]=d,
		[a]=e
	},
	["err_out_of_line_default_deletes"]={
		[c]="defaulting this ... would delete it after its first declaration",
		[f]={"defaulting this ",{rb,sb,vb,xb,tb,p}," would delete it after its first declaration"},
		[b]=d,
		[a]=e
	},
	["err_out_of_line_qualified_id_type_names_constructor"]={
		[c]="qualified reference to A is a constructor name rather than a ... in this context",
		[f]={"qualified reference to A is a constructor name rather than a ",{"template name",a}," in this context"},
		[b]=d,
		[a]=e
	},
	["err_overflow_builtin_bit_int_max_size"]={
		[c]="__builtin_mul_overflow does not support \'signed _BitInt\' operands of more than A bits",
		[b]=d,
		[a]=e
	},
	["err_overflow_builtin_must_be_int"]={
		[c]="operand argument to overflow builtin must be an integer (A invalid)",
		[b]=d,
		[a]=e
	},
	["err_overflow_builtin_must_be_ptr_int"]={
		[c]="result argument to overflow builtin must be a pointer to a non-const integer (A invalid)",
		[b]=d,
		[a]=e
	},
	["err_override_control_interface"]={
		[c]="\'A\' keyword not permitted with interface types",
		[b]=d,
		[a]=e
	},
	["err_override_exception_spec"]={
		[c]="exception specification of overriding function is more lax than base version",
		[b]=d,
		[a]=e
	},
	["err_ovl_ambiguous_call"]={
		[c]="call to A is ambiguous",
		[b]=d,
		[a]=e
	},
	["err_ovl_ambiguous_conversion_in_cast"]={
		[c]="ambiguous conversion for ... from B to C",
		[f]={"ambiguous conversion for ",{l,Cc,yb,mc,Bb,vc,l}," from B to C"},
		[b]=d,
		[a]=e
	},
	["err_ovl_ambiguous_init"]={
		[c]="call to constructor of A is ambiguous",
		[b]=d,
		[a]=e
	},
	["err_ovl_ambiguous_member_call"]={
		[c]="call to member function A is ambiguous",
		[b]=d,
		[a]=e
	},
	["err_ovl_ambiguous_object_call"]={
		[c]="call to object of type A is ambiguous",
		[b]=d,
		[a]=e
	},
	["err_ovl_ambiguous_oper_binary"]={
		[c]="use of overloaded operator \'A\' is ambiguous (with operand types B and C)",
		[b]=d,
		[a]=e
	},
	["err_ovl_ambiguous_oper_unary"]={
		[c]="use of overloaded operator \'A\' is ambiguous (operand type B)",
		[b]=d,
		[a]=e
	},
	["err_ovl_ambiguous_subscript_call"]={
		[c]="call to subscript operator of type A is ambiguous",
		[b]=d,
		[a]=e
	},
	["err_ovl_deleted_call"]={
		[c]="call to deleted function A",
		[b]=d,
		[a]=e
	},
	["err_ovl_deleted_comparison"]={
		[c]="object of type A cannot be compared because its B is implicitly deleted",
		[b]=d,
		[a]=e
	},
	["err_ovl_deleted_conversion_in_cast"]={
		[c]="... from B to C uses deleted function",
		[f]={{l,Cc,yb,mc,Bb,vc,l}," from B to C uses deleted function"},
		[b]=d,
		[a]=e
	},
	["err_ovl_deleted_init"]={
		[c]="call to deleted constructor of A",
		[b]=d,
		[a]=e
	},
	["err_ovl_deleted_member_call"]={
		[c]="call to deleted member function A",
		[b]=d,
		[a]=e
	},
	["err_ovl_deleted_object_call"]={
		[c]="call to deleted function call operator in type A",
		[b]=d,
		[a]=e
	},
	["err_ovl_deleted_oper"]={
		[c]="overload resolution selected deleted operator \'A\'",
		[b]=d,
		[a]=e
	},
	["err_ovl_deleted_special_init"]={
		[c]="call to implicitly-deleted ... of B",
		[f]={"call to implicitly-deleted ",{rb,sb,vb,xb,tb,p,m}," of B"},
		[b]=d,
		[a]=e
	},
	["err_ovl_deleted_special_oper"]={
		[c]="object of type A cannot be ... because its ... is implicitly deleted",
		[f]={"object of type A cannot be ",{"constructed","copied","moved","assigned","assigned","destroyed"}," because its ",{rb,sb,vb,xb,tb,p}," is implicitly deleted"},
		[b]=d,
		[a]=e
	},
	["err_ovl_diff_return_type"]={
		[c]="functions that differ only in their return type cannot be overloaded",
		[b]=d,
		[a]=e
	},
	["err_ovl_no_conversion_in_cast"]={
		[c]="cannot convert B to C without a conversion operator",
		[b]=d,
		[a]=e
	},
	["err_ovl_no_oper"]={
		[c]="type A does not provide a ... operator",
		[f]={"type A does not provide a ",{"subscript","call"}," operator"},
		[b]=d,
		[a]=e
	},
	["err_ovl_no_viable_conversion_in_cast"]={
		[c]="no matching conversion for ... from B to C",
		[f]={"no matching conversion for ",{l,Cc,yb,mc,Bb,vc,l}," from B to C"},
		[b]=d,
		[a]=e
	},
	["err_ovl_no_viable_function_in_call"]={
		[c]="no matching function for call to A",
		[b]=d,
		[a]=e
	},
	["err_ovl_no_viable_function_in_init"]={
		[c]="no matching constructor for initialization of A",
		[b]=d,
		[a]=e
	},
	["err_ovl_no_viable_literal_operator"]={
		[c]="no matching literal operator for call to A.........",
		[f]={"no matching literal operator for call to A",{l," with argument of type C"," with arguments of types C and D"},{l," or \'const char *\'"},{l,", and no matching literal operator template"}},
		[b]=d,
		[a]=e
	},
	["err_ovl_no_viable_member_function_in_call"]={
		[c]="no matching member function for call to A",
		[b]=d,
		[a]=e
	},
	["err_ovl_no_viable_object_call"]={
		[c]="no matching function for call to object of type A",
		[b]=d,
		[a]=e
	},
	["err_ovl_no_viable_oper"]={
		[c]="no viable overloaded \'A\'",
		[b]=d,
		[a]=e
	},
	["err_ovl_no_viable_subscript"]={
		[c]="no viable overloaded operator[] for type A",
		[b]=d,
		[a]=e
	},
	["err_ovl_rewrite_equalequal_not_bool"]={
		[c]="return type A of selected \'operator==\' function for rewritten \'B\' comparison is not \'bool\'",
		[b]=d,
		[a]=e
	},
	["err_ovl_static_nonstatic_member"]={
		[c]="static and non-static member functions with the same parameter types cannot be overloaded",
		[b]=d,
		[a]=e
	},
	["err_ovl_unresolvable"]={
		[c]="reference to ... function could not be resolved; did you mean to call it...?",
		[f]={ed,{"overloaded","multiversioned"}," function could not be resolved; did you mean to call it",{l," with no arguments"},"?"},
		[b]=d,
		[a]=e
	},
	["err_ownership_returns_index_mismatch"]={
		[c]="\'ownership_returns\' attribute index does not match; here it is A",
		[b]=d,
		[a]=e
	},
	["err_ownership_type"]={
		[c]="A attribute only applies to ... arguments",
		[f]={"A attribute only applies to ",{W,Ac}," arguments"},
		[b]=d,
		[a]=e
	},
	["err_pack_expansion_length_conflict"]={
		[c]="pack expansion contains parameter packs A and B that have different lengths (C vs. D)",
		[b]=d,
		[a]=e
	},
	["err_pack_expansion_length_conflict_multilevel"]={
		[c]="pack expansion contains parameter pack A that has a different length (B vs. C) from outer parameter packs",
		[b]=d,
		[a]=e
	},
	["err_pack_expansion_length_conflict_partial"]={
		[c]="pack expansion contains parameter pack A that has a different length (at least B vs. C) from outer parameter packs",
		[b]=d,
		[a]=e
	},
	["err_pack_expansion_member_init"]={
		[c]="pack expansion for initialization of member A",
		[b]=d,
		[a]=e
	},
	["err_pack_expansion_without_parameter_packs"]={
		[c]="pack expansion does not contain any unexpanded parameter packs",
		[b]=d,
		[a]=e
	},
	["err_param_default_argument"]={
		[c]="C does not support default arguments",
		[b]=d,
		[a]=e
	},
	["err_param_default_argument_member_template_redecl"]={
		[c]="default arguments cannot be added to an out-of-line definition of a member of a ...",
		[f]={"default arguments cannot be added to an out-of-line definition of a member of a ",{zc,"class template partial specialization","nested class in a template"}},
		[b]=d,
		[a]=e
	},
	["err_param_default_argument_missing"]={
		[c]="missing default argument on parameter",
		[b]=d,
		[a]=e
	},
	["err_param_default_argument_missing_name"]={
		[c]="missing default argument on parameter A",
		[b]=d,
		[a]=e
	},
	["err_param_default_argument_nonfunc"]={
		[c]="default arguments can only be specified for parameters in a function declaration",
		[b]=d,
		[a]=e
	},
	["err_param_default_argument_on_parameter_pack"]={
		[c]="parameter pack cannot have a default argument",
		[b]=d,
		[a]=e
	},
	["err_param_default_argument_redefinition"]={
		[c]="redefinition of default argument",
		[b]=d,
		[a]=e
	},
	["err_param_default_argument_references_local"]={
		[c]="default argument references local variable A of enclosing function",
		[b]=d,
		[a]=e
	},
	["err_param_default_argument_references_param"]={
		[c]="default argument references parameter A",
		[b]=d,
		[a]=e
	},
	["err_param_default_argument_references_this"]={
		[c]="default argument references \'this\'",
		[b]=d,
		[a]=e
	},
	["err_param_default_argument_template_redecl"]={
		[c]="default arguments cannot be added to a function template that has already been declared",
		[b]=d,
		[a]=e
	},
	["err_param_redefinition"]={
		[c]="redefinition of parameter A",
		[b]=d,
		[a]=e
	},
	["err_param_with_void_type"]={
		[c]="argument may not have \'void\' type",
		[b]=d,
		[a]=e
	},
	["err_parameter_shadow_capture"]={
		[c]="a lambda parameter cannot shadow an explicitly captured entity",
		[b]=d,
		[a]=e
	},
	["err_parameters_retval_cannot_have_fp16_type"]={
		[c]="... cannot have __fp16 type; did you forget * ?",
		[f]={{"parameters","function return value"}," cannot have __fp16 type; did you forget * ?"},
		[b]=d,
		[a]=e
	},
	["err_paren_sizeof_parameter_pack"]={
		[c]="missing parentheses around the size of parameter pack A",
		[b]=d,
		[a]=e
	},
	["err_parens_pointer_member_function"]={
		[c]="cannot parenthesize the name of a method when forming a member pointer",
		[b]=d,
		[a]=e
	},
	["err_partial_spec_args_match_primary_template"]={
		[c]="... template partial specialization does not specialize any template argument; to ... the primary template, remove the template argument list",
		[f]={{o,z}," template partial specialization does not specialize any template argument; to ",{"declare","define"}," the primary template, remove the template argument list"},
		[b]=d,
		[a]=e
	},
	["err_partial_spec_fully_specialized"]={
		[c]="partial specialization of A does not use any of its template parameters",
		[b]=d,
		[a]=e
	},
	["err_partial_spec_ordering_ambiguous"]={
		[c]="ambiguous partial specializations of A",
		[b]=d,
		[a]=e
	},
	["err_partial_spec_redeclared"]={
		[c]="class template partial specialization A cannot be redeclared",
		[b]=d,
		[a]=e
	},
	["err_partial_specialization_friend"]={
		[c]="partial specialization cannot be declared as a friend",
		[b]=d,
		[a]=e
	},
	["err_partition_import_outside_module"]={
		[c]="module partition imports must be within a module purview",
		[b]=d,
		[a]=e
	},
	["err_pascal_string_too_long"]={
		[c]="Pascal string is too long",
		[b]=d,
		[a]=e
	},
	["err_paste_at_end"]={
		[c]="\'##\' cannot appear at end of macro expansion",
		[b]=d,
		[a]=e
	},
	["err_paste_at_start"]={
		[c]="\'##\' cannot appear at start of macro expansion",
		[b]=d,
		[a]=e
	},
	["err_pch_diagopt_mismatch"]={
		[c]="A is currently enabled, but was not in the PCH file",
		[b]=d,
		[a]=e
	},
	["err_pch_different_branch"]={
		[c]="PCH file built from a different branch (A) than the compiler (B)",
		[b]=d,
		[a]=e
	},
	["err_pch_langopt_mismatch"]={
		[c]="A was ... in PCH file but is currently ...",
		[f]={"A was ",{"disabled","enabled"}," in PCH file but is currently ",{"disabled","enabled"}},
		[b]=d,
		[a]=e
	},
	["err_pch_langopt_value_mismatch"]={
		[c]="A differs in PCH file vs. current file",
		[b]=d,
		[a]=e
	},
	["err_pch_macro_def_conflict"]={
		[c]="definition of macro \'A\' differs between the precompiled header (\'B\') and the command line (\'C\')",
		[b]=d,
		[a]=e
	},
	["err_pch_macro_def_undef"]={
		[c]="macro \'A\' was ... in the precompiled header but ... on the command line",
		[f]={"macro \'A\' was ",{"defined","undef\'d"}," in the precompiled header but ",{"undef\'d","defined"}," on the command line"},
		[b]=d,
		[a]=e
	},
	["err_pch_modulecache_mismatch"]={
		[c]="PCH was compiled with module cache path \'A\', but the path is currently \'B\'",
		[b]=d,
		[a]=e
	},
	["err_pch_pp_detailed_record"]={
		[c]="... \'-detailed-preprocessing-record\' but ...",
		[f]={{"command line contains","precompiled header was built with"}," \'-detailed-preprocessing-record\' but ",{"precompiled header was not built with it","it is not present on the command line"}},
		[b]=d,
		[a]=e
	},
	["err_pch_targetopt_feature_mismatch"]={
		[c]="... compiled with the target feature \'B\' but the ... not",
		[f]={{"AST file was","current translation unit is"}," compiled with the target feature \'B\' but the ",{"current translation unit is","AST file was"}," not"},
		[b]=d,
		[a]=e
	},
	["err_pch_targetopt_mismatch"]={
		[c]="PCH file was compiled for the A \'B\' but the current translation unit is being compiled for target \'C\'",
		[b]=d,
		[a]=e
	},
	["err_pch_undef"]={
		[c]="... \'-undef\' but ...",
		[f]={{"command line contains","precompiled header was built with"}," \'-undef\' but ",{"precompiled header was not built with it","it is not present on the command line"}},
		[b]=d,
		[a]=e
	},
	["err_pch_version_too_new"]={
		[c]="PCH file uses a newer PCH format that cannot be read",
		[b]=d,
		[a]=e
	},
	["err_pch_version_too_old"]={
		[c]="PCH file uses an older PCH format that is no longer supported",
		[b]=d,
		[a]=e
	},
	["err_pch_with_compiler_errors"]={
		[c]="PCH file contains compiler errors",
		[b]=d,
		[a]=e
	},
	["err_placeholder_constraints_not_satisfied"]={
		[c]="deduced type A does not satisfy B",
		[b]=d,
		[a]=e
	},
	["err_placeholder_expected_auto_or_decltype_auto"]={
		[c]="expected \'auto\' or \'decltype(auto)\' after concept name",
		[b]=d,
		[a]=e
	},
	["err_placeholder_in_source"]={
		[c]="editor placeholder in source file",
		[b]=d,
		[a]=e
	},
	["err_placement_new_non_placement_delete"]={
		[c]="\'new\' expression with placement arguments refers to non-placement \'operator delete\'",
		[b]=d,
		[a]=e
	},
	["err_pointer_to_member_call_drops_quals"]={
		[c]="call to pointer to member function of type A drops \'B\' qualifierC",
		[b]=d,
		[a]=e
	},
	["err_pointer_to_member_oper_value_classify"]={
		[c]="pointer-to-member function type A can only be called on an ...",
		[f]={"pointer-to-member function type A can only be called on an ",{ld,td}},
		[b]=d,
		[a]=e
	},
	["err_pointer_to_member_type"]={
		[c]="invalid use of pointer to member type after ...",
		[f]={"invalid use of pointer to member type after ",{".*","->*"}},
		[b]=d,
		[a]=e
	},
	["err_postfix_after_unary_requires_parens"]={
		[c]="expression cannot be followed by a postfix A operator; add parentheses",
		[b]=d,
		[a]=e
	},
	["err_pp_arc_cf_code_audited_syntax"]={
		[c]="expected \'begin\' or \'end\'",
		[b]=d,
		[a]=e
	},
	["err_pp_assume_nonnull_syntax"]={
		[c]="expected \'begin\' or \'end\'",
		[b]=d,
		[a]=e
	},
	["err_pp_bad_paste"]={
		[c]="pasting formed \'A\', an invalid preprocessing token",
		[b]=d,
		[a]=e
	},
	["err_pp_colon_without_question"]={
		[c]="\':\' without preceding \'?\'",
		[b]=d,
		[a]=e
	},
	["err_pp_directive_required"]={
		[c]="A must be used within a preprocessing directive",
		[b]=d,
		[a]=e
	},
	["err_pp_division_by_zero"]={
		[c]="division by zero in preprocessor expression",
		[b]=d,
		[a]=e
	},
	["err_pp_double_begin_of_arc_cf_code_audited"]={
		[c]="already inside \'#pragma clang arc_cf_code_audited\'",
		[b]=d,
		[a]=e
	},
	["err_pp_double_begin_of_assume_nonnull"]={
		[c]="already inside \'#pragma clang assume_nonnull\'",
		[b]=d,
		[a]=e
	},
	["err_pp_double_begin_pragma_unsafe_buffer_usage"]={
		[c]="already inside \'#pragma unsafe_buffer_usage\'",
		[b]=d,
		[a]=e
	},
	["err_pp_duplicate_name_in_arg_list"]={
		[c]="duplicate macro parameter name A",
		[b]=d,
		[a]=e
	},
	["err_pp_empty_filename"]={
		[c]="empty filename",
		[b]=d,
		[a]=e
	},
	["err_pp_endif_without_if"]={
		[c]="#endif without #if",
		[b]=d,
		[a]=e
	},
	["err_pp_eof_in_arc_cf_code_audited"]={
		[c]="\'#pragma clang arc_cf_code_audited\' was not ended within this file",
		[b]=d,
		[a]=e
	},
	["err_pp_eof_in_assume_nonnull"]={
		[c]="\'#pragma clang assume_nonnull\' was not ended within this file",
		[b]=d,
		[a]=e
	},
	["err_pp_error_opening_file"]={
		[c]="error opening file \'A\': B",
		[b]=s,
		[a]=t
	},
	["err_pp_expected_after"]={
		[c]="missing B after A",
		[b]=d,
		[a]=e
	},
	["err_pp_expected_comma_in_arg_list"]={
		[c]="expected comma in macro parameter list",
		[b]=d,
		[a]=e
	},
	["err_pp_expected_eol"]={
		[c]="expected end of line in preprocessor expression",
		[b]=d,
		[a]=e
	},
	["err_pp_expected_ident_in_arg_list"]={
		[c]="expected identifier in macro parameter list",
		[b]=d,
		[a]=e
	},
	["err_pp_expected_module_name"]={
		[c]="expected ...module name",
		[f]={Md,{"identifier after \'.\' in ",l},"module name"},
		[b]=d,
		[a]=e
	},
	["err_pp_expected_rparen"]={
		[c]="expected \')\' in preprocessor expression",
		[b]=d,
		[a]=e
	},
	["err_pp_expected_value_in_expr"]={
		[c]="expected value in expression",
		[b]=d,
		[a]=e
	},
	["err_pp_expects_filename"]={
		[c]="expected \"FILENAME\" or <FILENAME>",
		[b]=d,
		[a]=e
	},
	["err_pp_expr_bad_token_binop"]={
		[c]="token is not a valid binary operator in a preprocessor subexpression",
		[b]=d,
		[a]=e
	},
	["err_pp_expr_bad_token_lparen"]={
		[c]="function-like macro A is not defined",
		[b]=d,
		[a]=e
	},
	["err_pp_expr_bad_token_start_expr"]={
		[c]="invalid token at start of a preprocessor expression",
		[b]=d,
		[a]=e
	},
	["err_pp_file_not_found"]={
		[c]="\'A\' file not found",
		[b]=s,
		[a]=t
	},
	["err_pp_file_not_found_angled_include_not_fatal"]={
		[c]="\'A\' file not found with <angled> ...; use \"quotes\" instead",
		[f]={"\'A\' file not found with <angled> ",{"include","import"},"; use \"quotes\" instead"},
		[b]=d,
		[a]=e
	},
	["err_pp_file_not_found_typo_not_fatal"]={
		[c]="\'A\' file not found, did you mean \'B\'?",
		[b]=d,
		[a]=e
	},
	["err_pp_identifier_arg_not_identifier"]={
		[c]="cannot convert A token to an identifier",
		[b]=d,
		[a]=e
	},
	["err_pp_illegal_floating_literal"]={
		[c]="floating point literal in preprocessor expression",
		[b]=d,
		[a]=e
	},
	["err_pp_import_directive_ms"]={
		[c]="#import of type library is an unsupported Microsoft feature",
		[b]=d,
		[a]=e
	},
	["err_pp_include_in_arc_cf_code_audited"]={
		[c]="cannot ... inside \'#pragma clang arc_cf_code_audited\'",
		[f]={Wb,{"#include files","import headers"}," inside \'#pragma clang arc_cf_code_audited\'"},
		[b]=d,
		[a]=e
	},
	["err_pp_include_in_assume_nonnull"]={
		[c]="cannot ... inside \'#pragma clang assume_nonnull\'",
		[f]={Wb,{"#include files","import headers"}," inside \'#pragma clang assume_nonnull\'"},
		[b]=d,
		[a]=e
	},
	["err_pp_include_too_deep"]={
		[c]="#include nested too deeply",
		[b]=d,
		[a]=e
	},
	["err_pp_including_mainfile_in_preamble"]={
		[c]="main file cannot be included recursively when building a preamble",
		[b]=d,
		[a]=e
	},
	["err_pp_invalid_directive"]={
		[c]="invalid preprocessing directive...",
		[f]={"invalid preprocessing directive",{l,", did you mean \'#B\'?"}},
		[b]=d,
		[a]=e
	},
	["err_pp_invalid_poison"]={
		[c]="can only poison identifier tokens",
		[b]=d,
		[a]=e
	},
	["err_pp_invalid_tok_in_arg_list"]={
		[c]="invalid token in macro parameter list",
		[b]=d,
		[a]=e
	},
	["err_pp_invalid_udl"]={
		[c]="... literal with user-defined suffix cannot be used in preprocessor constant expression",
		[f]={{"character",Ac}," literal with user-defined suffix cannot be used in preprocessor constant expression"},
		[b]=d,
		[a]=e
	},
	["err_pp_line_digit_sequence"]={
		[c]="... directive requires a simple digit sequence",
		[f]={{"#line","GNU line marker"}," directive requires a simple digit sequence"},
		[b]=d,
		[a]=e
	},
	["err_pp_line_invalid_filename"]={
		[c]="invalid filename for #line directive",
		[b]=d,
		[a]=e
	},
	["err_pp_line_requires_integer"]={
		[c]="#line directive requires a positive integer argument",
		[b]=d,
		[a]=e
	},
	["err_pp_linemarker_invalid_filename"]={
		[c]="invalid filename for line marker directive",
		[b]=d,
		[a]=e
	},
	["err_pp_linemarker_invalid_flag"]={
		[c]="invalid flag line marker directive",
		[b]=d,
		[a]=e
	},
	["err_pp_linemarker_invalid_pop"]={
		[c]="invalid line marker flag \'2\': cannot pop empty include stack",
		[b]=d,
		[a]=e
	},
	["err_pp_linemarker_requires_integer"]={
		[c]="line marker directive requires a positive integer argument",
		[b]=d,
		[a]=e
	},
	["err_pp_macro_not_identifier"]={
		[c]="macro name must be an identifier",
		[b]=d,
		[a]=e
	},
	["err_pp_malformed_ident"]={
		[c]="invalid #ident directive",
		[b]=d,
		[a]=e
	},
	["err_pp_missing_lparen_in_vaopt_use"]={
		[c]="missing \'(\' following __VA_OPT__",
		[b]=d,
		[a]=e
	},
	["err_pp_missing_macro_name"]={
		[c]="macro name missing",
		[b]=d,
		[a]=e
	},
	["err_pp_missing_rparen_in_macro_def"]={
		[c]="missing \')\' in macro parameter list",
		[b]=d,
		[a]=e
	},
	["err_pp_module_begin_no_module_map"]={
		[c]="no module map available for module A",
		[b]=d,
		[a]=e
	},
	["err_pp_module_begin_no_submodule"]={
		[c]="submodule A.B not declared in module map",
		[b]=d,
		[a]=e
	},
	["err_pp_module_begin_without_module_end"]={
		[c]="no matching \'#pragma clang module end\' for this \'#pragma clang module begin\'",
		[b]=d,
		[a]=e
	},
	["err_pp_module_begin_wrong_module"]={
		[c]="must specify \'-fmodule-name=A\' to enter ...this module...",
		[f]={"must specify \'-fmodule-name=A\' to enter ",{l,"submodule of "},"this module",{" (current module is D)",l}},
		[b]=d,
		[a]=e
	},
	["err_pp_module_build_missing_end"]={
		[c]="no matching \'#pragma clang module endbuild\' for this \'#pragma clang module build\'",
		[b]=d,
		[a]=e
	},
	["err_pp_module_end_without_module_begin"]={
		[c]="no matching \'#pragma clang module begin\' for this \'#pragma clang module end\'",
		[b]=d,
		[a]=e
	},
	["err_pp_nested_paren"]={
		[c]="nested parentheses not permitted in A",
		[b]=d,
		[a]=e
	},
	["err_pp_operator_used_as_macro_name"]={
		[c]="C++ operator A (aka B) used as a macro name",
		[b]=d,
		[a]=e
	},
	["err_pp_pragma_hdrstop_not_seen"]={
		[c]="#pragma hdrstop not seen while attempting to use precompiled header",
		[b]=s,
		[a]=t
	},
	["err_pp_pragma_unsafe_buffer_usage_syntax"]={
		[c]="Expected \'begin\' or \'end\'",
		[b]=d,
		[a]=e
	},
	["err_pp_remainder_by_zero"]={
		[c]="remainder by zero in preprocessor expression",
		[b]=d,
		[a]=e
	},
	["err_pp_stringize_not_parameter"]={
		[c]="\'...\' is not followed by a macro parameter",
		[f]={x,{"#","#@"},"\' is not followed by a macro parameter"},
		[b]=d,
		[a]=e
	},
	["err_pp_through_header_not_found"]={
		[c]="\'A\' required for precompiled header not found",
		[b]=s,
		[a]=t
	},
	["err_pp_through_header_not_seen"]={
		[c]="#include of \'A\' not seen while attempting to ... precompiled header",
		[f]={"#include of \'A\' not seen while attempting to ",{"create","use"}," precompiled header"},
		[b]=s,
		[a]=t
	},
	["err_pp_unclosed_pragma_unsafe_buffer_usage"]={
		[c]="\'#pragma unsafe_buffer_usage\' was not ended",
		[b]=d,
		[a]=e
	},
	["err_pp_unmatched_end_begin_pragma_unsafe_buffer_usage"]={
		[c]="not currently inside \'#pragma unsafe_buffer_usage\'",
		[b]=d,
		[a]=e
	},
	["err_pp_unmatched_end_of_arc_cf_code_audited"]={
		[c]="not currently inside \'#pragma clang arc_cf_code_audited\'",
		[b]=d,
		[a]=e
	},
	["err_pp_unmatched_end_of_assume_nonnull"]={
		[c]="not currently inside \'#pragma clang assume_nonnull\'",
		[b]=d,
		[a]=e
	},
	["err_pp_unterminated_conditional"]={
		[c]="unterminated conditional directive",
		[b]=d,
		[a]=e
	},
	["err_pp_used_poisoned_id"]={
		[c]="attempt to use a poisoned identifier",
		[b]=d,
		[a]=e
	},
	["err_pp_vaopt_nested_use"]={
		[c]="__VA_OPT__ cannot be nested within its own replacement tokens",
		[b]=d,
		[a]=e
	},
	["err_pp_visibility_non_macro"]={
		[c]="no macro named A",
		[b]=d,
		[a]=e
	},
	["err_ppc_builtin_requires_abi"]={
		[c]="this builtin requires ABI -mabi=A",
		[b]=d,
		[a]=e
	},
	["err_ppc_invalid_test_data_class_type"]={
		[c]="expected a \'float\', \'double\' or \'__float128\' for the first argument",
		[b]=d,
		[a]=e
	},
	["err_ppc_invalid_use_mma_type"]={
		[c]="invalid use of PPC MMA type",
		[b]=d,
		[a]=e
	},
	["err_pragma_alloc_text_c_linkage"]={
		[c]="\'#pragma alloc_text\' is applicable only to functions with C linkage",
		[b]=d,
		[a]=e
	},
	["err_pragma_alloc_text_not_function"]={
		[c]="\'#pragma alloc_text\' is applicable only to functions",
		[b]=d,
		[a]=e
	},
	["err_pragma_attr_attr_no_push"]={
		[c]="\'#pragma clang attribute\' attribute with no matching \'#pragma clang attribute push\'",
		[b]=d,
		[a]=e
	},
	["err_pragma_attribute_duplicate_subject"]={
		[c]="duplicate attribute subject matcher \'A\'",
		[b]=d,
		[a]=e
	},
	["err_pragma_attribute_expected_attribute"]={
		[c]="expected an attribute after \'(\'",
		[b]=d,
		[a]=e
	},
	["err_pragma_attribute_expected_attribute_name"]={
		[c]="expected identifier that represents an attribute name",
		[b]=d,
		[a]=e
	},
	["err_pragma_attribute_expected_attribute_syntax"]={
		[c]="expected an attribute that is specified using the GNU, C++11 or \'__declspec\' syntax",
		[b]=d,
		[a]=e
	},
	["err_pragma_attribute_expected_period"]={
		[c]="expected \'.\' after pragma attribute namespace A",
		[b]=d,
		[a]=e
	},
	["err_pragma_attribute_expected_push_pop_paren"]={
		[c]="expected \'push\', \'pop\', or \'(\' after \'#pragma clang attribute\'",
		[b]=d,
		[a]=e
	},
	["err_pragma_attribute_expected_subject_identifier"]={
		[c]="expected an identifier that corresponds to an attribute subject rule",
		[b]=d,
		[a]=e
	},
	["err_pragma_attribute_expected_subject_sub_identifier"]={
		[c]="expected an identifier that corresponds to an attribute subject matcher sub-rule; \'A\' matcher ...",
		[f]={"expected an identifier that corresponds to an attribute subject matcher sub-rule; \'A\' matcher ",{"does not support sub-rules","supports the following sub-rules: C",l}},
		[b]=d,
		[a]=e
	},
	["err_pragma_attribute_extra_tokens_after_attribute"]={
		[c]="extra tokens after attribute in a \'#pragma clang attribute push\'",
		[b]=d,
		[a]=e
	},
	["err_pragma_attribute_invalid_argument"]={
		[c]="unexpected argument \'A\' to \'#pragma clang attribute\'; expected \'push\' or \'pop\'",
		[b]=d,
		[a]=e
	},
	["err_pragma_attribute_invalid_matchers"]={
		[c]="attribute A can\'t be applied to B",
		[b]=d,
		[a]=e
	},
	["err_pragma_attribute_invalid_subject_set_specifier"]={
		[c]="expected attribute subject set specifier \'apply_to\'",
		[b]=d,
		[a]=e
	},
	["err_pragma_attribute_matcher_negated_subrule_contradicts_subrule"]={
		[c]="negated attribute subject matcher sub-rule \'A\' contradicts sub-rule \'B\'",
		[b]=d,
		[a]=e
	},
	["err_pragma_attribute_matcher_subrule_contradicts_rule"]={
		[c]="redundant attribute subject matcher sub-rule \'A\'; \'B\' already matches those declarations",
		[b]=d,
		[a]=e
	},
	["err_pragma_attribute_namespace_on_attribute"]={
		[c]="namespace can only apply to \'push\' or \'pop\' directives",
		[b]=d,
		[a]=e
	},
	["err_pragma_attribute_no_pop_eof"]={
		[c]="unterminated \'#pragma clang attribute push\' at end of file",
		[b]=d,
		[a]=e
	},
	["err_pragma_attribute_stack_mismatch"]={
		[c]="\'#pragma clang attribute ...pop\' with no matching \'#pragma clang attribute ...push\'",
		[f]={"\'#pragma clang attribute ",{"B.",l},"pop\' with no matching \'#pragma clang attribute ",{"B.",l},"push\'"},
		[b]=d,
		[a]=e
	},
	["err_pragma_attribute_unknown_subject_rule"]={
		[c]="unknown attribute subject rule \'A\'",
		[b]=d,
		[a]=e
	},
	["err_pragma_attribute_unknown_subject_sub_rule"]={
		[c]="... attribute subject matcher sub-rule \'A\'; \'B\' matcher ...",
		[f]={{"invalid use of","unknown"}," attribute subject matcher sub-rule \'A\'; \'B\' matcher ",{"does not support sub-rules","supports the following sub-rules: D"}},
		[b]=d,
		[a]=e
	},
	["err_pragma_attribute_unsupported_attribute"]={
		[c]="attribute A is not supported by \'#pragma clang attribute\'",
		[b]=d,
		[a]=e
	},
	["err_pragma_cannot_end_force_cuda_host_device"]={
		[c]="force_cuda_host_device end pragma without matching force_cuda_host_device begin",
		[b]=d,
		[a]=e
	},
	["err_pragma_clang_section_expected_equal"]={
		[c]="expected \'=\' following \'#pragma clang section ...\'",
		[f]={"expected \'=\' following \'#pragma clang section ",{"invalid","bss","data","rodata","text","relro"},x},
		[b]=d,
		[a]=e
	},
	["err_pragma_comment_malformed"]={
		[c]="pragma comment requires parenthesized identifier and optional string",
		[b]=d,
		[a]=e
	},
	["err_pragma_comment_unknown_kind"]={
		[c]="unknown kind of pragma comment",
		[b]=d,
		[a]=e
	},
	["err_pragma_detect_mismatch_malformed"]={
		[c]="pragma detect_mismatch is malformed; it requires two comma-separated string literals",
		[b]=d,
		[a]=e
	},
	["err_pragma_expected_clang_section_name"]={
		[c]="expected one of [bss|data|rodata|text|relro] section kind in \'#pragma A\'",
		[b]=d,
		[a]=e
	},
	["err_pragma_expected_file_scope"]={
		[c]="\'#pragma A\' can only appear at file scope",
		[b]=d,
		[a]=e
	},
	["err_pragma_expected_integer"]={
		[c]="expected an integer argument in \'#pragma A\'",
		[b]=d,
		[a]=e
	},
	["err_pragma_fc_except_requires_precise"]={
		[c]="\'#pragma float_control(except, on)\' is illegal when precise is disabled",
		[b]=d,
		[a]=e
	},
	["err_pragma_fc_noprecise_requires_noexcept"]={
		[c]="\'#pragma float_control(precise, off)\' is illegal when except is enabled",
		[b]=d,
		[a]=e
	},
	["err_pragma_fc_noprecise_requires_nofenv"]={
		[c]="\'#pragma float_control(precise, off)\' is illegal when fenv_access is enabled",
		[b]=d,
		[a]=e
	},
	["err_pragma_fc_pp_scope"]={
		[c]="\'#pragma float_control push/pop\' can only appear at file or namespace scope or within a language linkage specification",
		[b]=d,
		[a]=e
	},
	["err_pragma_fenv_requires_precise"]={
		[c]="\'#pragma STDC FENV_ACCESS ON\' is illegal when precise is disabled",
		[b]=d,
		[a]=e
	},
	["err_pragma_file_or_compound_scope"]={
		[c]="\'#pragma A\' can only appear at file scope or at the start of a compound statement",
		[b]=d,
		[a]=e
	},
	["err_pragma_float_control_malformed"]={
		[c]="pragma float_control is malformed; use \'float_control({push|pop})\' or \'float_control({precise|except}, {on|off} [,push])\'",
		[b]=d,
		[a]=e
	},
	["err_pragma_fp_invalid_argument"]={
		[c]="unexpected argument \'A\' to \'#pragma clang fp B\'; expected ...",
		[f]={"unexpected argument \'A\' to \'#pragma clang fp B\'; expected ",{"\'fast\' or \'on\' or \'off\'","\'on\' or \'off\'","\'ignore\', \'maytrap\' or \'strict\'","\'source\', \'double\' or \'extended\'"}},
		[b]=d,
		[a]=e
	},
	["err_pragma_fp_invalid_option"]={
		[c]="... option...; expected \'contract\', \'reassociate\' or \'exceptions\'",
		[f]={{"invalid","missing"}," option",{X,l},"; expected \'contract\', \'reassociate\' or \'exceptions\'"},
		[b]=d,
		[a]=e
	},
	["err_pragma_invalid_keyword"]={
		[c]="invalid argument; expected \'enable\'...... or \'disable\'",
		[f]={"invalid argument; expected \'enable\'",{l,", \'full\'"},{l,", \'assume_safety\'"}," or \'disable\'"},
		[b]=d,
		[a]=e
	},
	["err_pragma_loop_compatibility"]={
		[c]="... directives \'B\' and \'C\'",
		[f]={{"incompatible","duplicate"}," directives \'B\' and \'C\'"},
		[b]=d,
		[a]=e
	},
	["err_pragma_loop_invalid_argument_type"]={
		[c]="invalid argument of type A; expected an integer type",
		[b]=d,
		[a]=e
	},
	["err_pragma_loop_invalid_argument_value"]={
		[c]=Rb,
		[f]={{"invalid value \'A\'; must be positive","value \'A\' is too large"}},
		[b]=d,
		[a]=e
	},
	["err_pragma_loop_invalid_option"]={
		[c]="... option...; expected vectorize, vectorize_width, interleave, interleave_count, unroll, unroll_count, pipeline, pipeline_initiation_interval, vectorize_predicate, or distribute",
		[f]={{"invalid","missing"}," option",{X,l},"; expected vectorize, vectorize_width, interleave, interleave_count, unroll, unroll_count, pipeline, pipeline_initiation_interval, vectorize_predicate, or distribute"},
		[b]=d,
		[a]=e
	},
	["err_pragma_loop_invalid_vectorize_option"]={
		[c]="vectorize_width loop hint malformed; use vectorize_width(X, fixed) or vectorize_width(X, scalable) where X is an integer, or vectorize_width(\'fixed\' or \'scalable\')",
		[b]=d,
		[a]=e
	},
	["err_pragma_loop_missing_argument"]={
		[c]="missing argument; expected ...",
		[f]={"missing argument; expected ",{"an integer value",{"\'enable\'",{l,", \'full\'"},{l,", \'assume_safety\'"}," or \'disable\'"}}},
		[b]=d,
		[a]=e
	},
	["err_pragma_loop_precedes_nonloop"]={
		[c]="expected a for, while, or do-while loop to follow \'A\'",
		[b]=d,
		[a]=e
	},
	["err_pragma_message_malformed"]={
		[c]="pragma ... requires parenthesized string",
		[f]={"pragma ",{"message","warning","error"}," requires parenthesized string"},
		[b]=d,
		[a]=e
	},
	["err_pragma_misplaced_in_decl"]={
		[c]="this pragma cannot appear in A declaration",
		[b]=d,
		[a]=e
	},
	["err_pragma_missing_argument"]={
		[c]="missing argument to \'#pragma A\'...",
		[f]={"missing argument to \'#pragma A\'",{l,"; expected C"}},
		[b]=d,
		[a]=e
	},
	["err_pragma_optimize_extra_argument"]={
		[c]="unexpected extra argument \'A\' to \'#pragma clang optimize\'",
		[b]=d,
		[a]=e
	},
	["err_pragma_optimize_invalid_argument"]={
		[c]="unexpected argument \'A\' to \'#pragma clang optimize\'; expected \'on\' or \'off\'",
		[b]=d,
		[a]=e
	},
	["err_pragma_options_align_mac68k_target_unsupported"]={
		[c]="mac68k alignment pragma is not supported on this target",
		[b]=d,
		[a]=e
	},
	["err_pragma_pack_identifer_not_supported"]={
		[c]="specifying an identifier within `#pragma pack` is not supported on this target",
		[b]=d,
		[a]=e
	},
	["err_pragma_pack_invalid_alignment"]={
		[c]="expected #pragma pack parameter to be \'1\', \'2\', \'4\', \'8\', or \'16\'",
		[b]=d,
		[a]=e
	},
	["err_pragma_pipeline_invalid_keyword"]={
		[c]="invalid argument; expected \'disable\'",
		[b]=d,
		[a]=e
	},
	["err_pragma_pointers_to_members_unknown_kind"]={
		[c]="unexpected A, expected to see one of ...\'single_inheritance\', \'multiple_inheritance\', or \'virtual_inheritance\'",
		[f]={"unexpected A, expected to see one of ",{l,"\'best_case\', \'full_generality\', "},"\'single_inheritance\', \'multiple_inheritance\', or \'virtual_inheritance\'"},
		[b]=d,
		[a]=e
	},
	["err_pragma_pop_visibility_mismatch"]={
		[c]="#pragma visibility pop with no matching #pragma visibility push",
		[b]=d,
		[a]=e
	},
	["err_pragma_push_pop_macro_malformed"]={
		[c]="pragma A requires a parenthesized string",
		[b]=d,
		[a]=e
	},
	["err_pragma_push_visibility_mismatch"]={
		[c]="#pragma visibility push with no matching #pragma visibility pop",
		[b]=d,
		[a]=e
	},
	["err_pragma_section_invalid_for_target"]={
		[c]="argument to #pragma section is not valid for this target: A",
		[b]=d,
		[a]=e
	},
	["err_preserve_enum_value_invalid"]={
		[c]="__builtin_preserve_enum_value argument A invalid",
		[b]=d,
		[a]=e
	},
	["err_preserve_enum_value_not_const"]={
		[c]="__builtin_preserve_enum_value argument A not a constant",
		[b]=d,
		[a]=e
	},
	["err_preserve_field_info_not_const"]={
		[c]="__builtin_preserve_field_info argument A not a constant",
		[b]=d,
		[a]=e
	},
	["err_preserve_field_info_not_field"]={
		[c]="__builtin_preserve_field_info argument A not a field access",
		[b]=d,
		[a]=e
	},
	["err_preserve_type_info_invalid"]={
		[c]="__builtin_preserve_type_info argument A invalid",
		[b]=d,
		[a]=e
	},
	["err_preserve_type_info_not_const"]={
		[c]="__builtin_preserve_type_info argument A not a constant",
		[b]=d,
		[a]=e
	},
	["err_private_ivar_access"]={
		[c]="instance variable A is private",
		[b]=d,
		[a]=e
	},
	["err_private_module_fragment_expected_semi"]={
		[c]="expected \';\' after private module fragment declaration",
		[b]=d,
		[a]=e
	},
	["err_private_module_fragment_not_module"]={
		[c]="private module fragment declaration with no preceding module declaration",
		[b]=d,
		[a]=e
	},
	["err_private_module_fragment_not_module_interface"]={
		[c]="private module fragment in module implementation unit",
		[b]=d,
		[a]=e
	},
	["err_private_module_fragment_redefined"]={
		[c]="private module fragment redefined",
		[b]=d,
		[a]=e
	},
	["err_probability_not_constant_float"]={
		[c]="probability argument to __builtin_expect_with_probability must be constant floating-point expression",
		[b]=d,
		[a]=e
	},
	["err_probability_out_of_range"]={
		[c]="probability argument to __builtin_expect_with_probability is outside the range [0.0, 1.0]",
		[b]=d,
		[a]=e
	},
	["err_property_accessor_type"]={
		[c]="type of property A (B) does not match type of accessor C (D)",
		[b]=d,
		[a]=e
	},
	["err_property_found_suggest"]={
		[c]="property A found on object of type B; did you mean to access it with the \".\" operator?",
		[b]=d,
		[a]=e
	},
	["err_property_function_in_objc_container"]={
		[c]="use of Objective-C property in function nested in Objective-C container not supported, move function outside its container",
		[b]=d,
		[a]=e
	},
	["err_property_implemented"]={
		[c]="property A is already implemented",
		[b]=d,
		[a]=e
	},
	["err_property_is_variably_modified"]={
		[c]="property A has a variably modified type",
		[b]=d,
		[a]=e
	},
	["err_property_ivar_type"]={
		[c]="type of property A (B) does not match type of instance variable C (D)",
		[b]=d,
		[a]=e
	},
	["err_property_method_unavailable"]={
		[c]="property access is using A method which is unavailable",
		[b]=d,
		[a]=e
	},
	["err_property_not_as_forward_class"]={
		[c]="property A refers to an incomplete Objective-C class B (with no @interface available)",
		[b]=d,
		[a]=e
	},
	["err_property_not_found"]={
		[c]="property A not found on object of type B",
		[b]=d,
		[a]=e
	},
	["err_property_not_found_forward_class"]={
		[c]="property A cannot be found in forward class object B",
		[b]=d,
		[a]=e
	},
	["err_property_not_found_suggest"]={
		[c]="property A not found on object of type B; did you mean C?",
		[b]=d,
		[a]=e
	},
	["err_property_setter_ambiguous_use"]={
		[c]="synthesized properties A and B both claim setter C - use of this setter will cause unexpected behavior",
		[b]=d,
		[a]=e
	},
	["err_property_type"]={
		[c]="property cannot have array or function type A",
		[b]=d,
		[a]=e
	},
	["err_protected_ivar_access"]={
		[c]="instance variable A is protected",
		[b]=d,
		[a]=e
	},
	["err_protocol_has_circular_dependency"]={
		[c]="protocol has circular dependency",
		[b]=d,
		[a]=e
	},
	["err_protocol_property_mismatch"]={
		[c]="property ... was selected for synthesis",
		[f]={"property ",{"of type B","with attribute \'B\'","without attribute \'B\'","with getter B","with setter B"}," was selected for synthesis"},
		[b]=d,
		[a]=e
	},
	["err_pseudo_dtor_base_not_scalar"]={
		[c]="object expression of non-scalar type A cannot be used in a pseudo-destructor expression",
		[b]=d,
		[a]=e
	},
	["err_pseudo_dtor_call_with_args"]={
		[c]="call to pseudo-destructor cannot have any arguments",
		[b]=d,
		[a]=e
	},
	["err_pseudo_dtor_destructor_non_type"]={
		[c]="A does not refer to a type name in pseudo-destructor expression; expected the name of type B",
		[b]=d,
		[a]=e
	},
	["err_pseudo_dtor_type_mismatch"]={
		[c]="the type of object expression (A) does not match the type being destroyed (B) in pseudo-destructor expression",
		[f]={"the type of object expression ",{"(A) does not match the type being destroyed (B)","does not match the type being destroyed"}," in pseudo-destructor expression"},
		[b]=d,
		[a]=e
	},
	["err_pure_friend"]={
		[c]="friend declaration cannot have a pure-specifier",
		[b]=d,
		[a]=e
	},
	["err_qualified_catch_declarator"]={
		[c]="exception declarator cannot be qualified",
		[b]=d,
		[a]=e
	},
	["err_qualified_friend_def"]={
		[c]="friend function definition cannot be qualified with \'A\'",
		[b]=d,
		[a]=e
	},
	["err_qualified_friend_no_match"]={
		[c]="friend declaration of A does not match any declaration in B",
		[b]=d,
		[a]=e
	},
	["err_qualified_function_typeid"]={
		[c]="type operand A of \'typeid\' cannot have \'B\' qualifier",
		[b]=d,
		[a]=e
	},
	["err_qualified_member_nonclass"]={
		[c]="qualified member access refers to a member in A",
		[b]=d,
		[a]=e
	},
	["err_qualified_member_of_unrelated"]={
		[c]="A is not a member of class B",
		[b]=d,
		[a]=e
	},
	["err_qualified_objc_access"]={
		[c]="... access cannot be qualified with \'B\'",
		[f]={{db,Wc}," access cannot be qualified with \'B\'"},
		[b]=d,
		[a]=e
	},
	["err_qualified_objc_catch_parm"]={
		[c]="@catch parameter declarator cannot be qualified",
		[b]=d,
		[a]=e
	},
	["err_qualified_param_declarator"]={
		[c]="parameter declarator cannot be qualified",
		[b]=d,
		[a]=e
	},
	["err_qualified_typedef_declarator"]={
		[c]="typedef declarator cannot be qualified",
		[b]=d,
		[a]=e
	},
	["err_range_on_array_parameter"]={
		[c]="cannot build range expression with array function parameter A since parameter with array type B is treated as pointer type C",
		[b]=d,
		[a]=e
	},
	["err_raw_delim_too_long"]={
		[c]="raw string delimiter longer than 16 characters; use PREFIX( )PREFIX to delimit raw string",
		[b]=d,
		[a]=e
	},
	["err_readonly_message_assignment"]={
		[c]="assigning to \'readonly\' return result of an Objective-C message not allowed",
		[b]=d,
		[a]=e
	},
	["err_realimag_invalid_type"]={
		[c]="invalid type A to B operator",
		[b]=d,
		[a]=e
	},
	["err_record_with_pointers_kernel_param"]={
		[c]="... kernel parameters may not contain pointers",
		[f]={{r,v}," kernel parameters may not contain pointers"},
		[b]=d,
		[a]=e
	},
	["err_recursive_default_argument"]={
		[c]="recursive evaluation of default argument",
		[b]=d,
		[a]=e
	},
	["err_recursive_superclass"]={
		[c]="trying to recursively use A as superclass of B",
		[b]=d,
		[a]=e
	},
	["err_redeclaration_different_type"]={
		[c]="redeclaration of A with a different type: B vs C",
		[f]={"redeclaration of A with a different type",{Ld,l}},
		[b]=d,
		[a]=e
	},
	["err_redeclaration_non_exported"]={
		[c]="cannot export redeclaration A here since the previous declaration ...",
		[f]={"cannot export redeclaration A here since the previous declaration ",{"is not exported","has internal linkage","has module linkage"}},
		[b]=d,
		[a]=e
	},
	["err_redefinition"]={
		[c]="redefinition of A",
		[b]=d,
		[a]=e
	},
	["err_redefinition_different_concept"]={
		[c]="redefinition of concept A with different template parameters or requirements",
		[b]=d,
		[a]=e
	},
	["err_redefinition_different_kind"]={
		[c]="redefinition of A as different kind of symbol",
		[b]=d,
		[a]=e
	},
	["err_redefinition_different_namespace_alias"]={
		[c]="redefinition of A as an alias for a different namespace",
		[b]=d,
		[a]=e
	},
	["err_redefinition_different_type"]={
		[c]="redefinition of A with a different type: B vs C",
		[f]={"redefinition of A with a different type",{Ld,l}},
		[b]=d,
		[a]=e
	},
	["err_redefinition_different_typedef"]={
		[c]="... redefinition with different types (B vs C)",
		[f]={{eb,Db,"type alias template"}," redefinition with different types",{" (B vs C)",l}},
		[b]=d,
		[a]=e
	},
	["err_redefinition_extern_inline"]={
		[c]="redefinition of a \'extern inline\' function A is not supported in ...",
		[f]={"redefinition of a \'extern inline\' function A is not supported in ",{"C99 mode","C++"}},
		[b]=d,
		[a]=e
	},
	["err_redefinition_of_enumerator"]={
		[c]="redefinition of enumerator A",
		[b]=d,
		[a]=e
	},
	["err_redefinition_of_label"]={
		[c]="redefinition of label A",
		[b]=d,
		[a]=e
	},
	["err_redefinition_variably_modified_typedef"]={
		[c]="redefinition of ... for variably-modified type B",
		[f]={"redefinition of ",{eb,Db}," for variably-modified type B"},
		[b]=d,
		[a]=e
	},
	["err_ref_array_type"]={
		[c]="cannot refer to declaration with an array type inside block",
		[b]=d,
		[a]=e
	},
	["err_ref_bad_target"]={
		[c]="reference to ... ... C in ... function",
		[f]={ed,{jc,kc,nc,oc},w,{m,z}," C in ",{jc,kc,nc,oc},zd},
		[b]=d,
		[a]=e
	},
	["err_ref_bad_target_global_initializer"]={
		[c]="reference to ... function B in global initializer",
		[f]={ed,{jc,kc,nc,oc}," function B in global initializer"},
		[b]=d,
		[a]=e
	},
	["err_ref_flexarray_type"]={
		[c]="cannot refer to declaration of structure variable with flexible array member inside block",
		[b]=d,
		[a]=e
	},
	["err_ref_init_ambiguous"]={
		[c]="reference initialization of type A with initializer of type B is ambiguous",
		[b]=d,
		[a]=e
	},
	["err_ref_non_value"]={
		[c]="A does not refer to a value",
		[b]=d,
		[a]=e
	},
	["err_ref_qualifier_comparison_operator"]={
		[c]="ref-qualifier \'&&\' is not allowed on a defaulted comparison operator",
		[b]=d,
		[a]=e
	},
	["err_ref_qualifier_constructor"]={
		[c]="ref-qualifier \'...\' is not allowed on a constructor",
		[f]={"ref-qualifier \'",{"&&","&"},"\' is not allowed on a constructor"},
		[b]=d,
		[a]=e
	},
	["err_ref_qualifier_destructor"]={
		[c]="ref-qualifier \'...\' is not allowed on a destructor",
		[f]={"ref-qualifier \'",{"&&","&"},"\' is not allowed on a destructor"},
		[b]=d,
		[a]=e
	},
	["err_ref_qualifier_overload"]={
		[c]="cannot overload a member function ... with a member function ...",
		[f]={"cannot overload a member function ",{"without a ref-qualifier","with ref-qualifier \'&\'","with ref-qualifier \'&&\'"}," with a member function ",{"without a ref-qualifier","with ref-qualifier \'&\'","with ref-qualifier \'&&\'"}},
		[b]=d,
		[a]=e
	},
	["err_ref_vm_type"]={
		[c]="cannot refer to declaration with a variably modified type inside block",
		[b]=d,
		[a]=e
	},
	["err_refactor_code_outside_of_function"]={
		[c]="the selected code is not a part of a function\'s / method\'s body",
		[b]=d,
		[a]=e
	},
	["err_refactor_extract_prohibited_expression"]={
		[c]="the selected expression can\'t be extracted",
		[b]=d,
		[a]=e
	},
	["err_refactor_extract_simple_expression"]={
		[c]="the selected expression is too simple to extract",
		[b]=d,
		[a]=e
	},
	["err_refactor_no_selection"]={
		[c]="refactoring action can\'t be initiated without a selection",
		[b]=d,
		[a]=e
	},
	["err_refactor_selection_invalid_ast"]={
		[c]="the provided selection does not overlap with the AST nodes of interest",
		[b]=d,
		[a]=e
	},
	["err_refactor_selection_no_symbol"]={
		[c]="there is no symbol at the given location",
		[b]=d,
		[a]=e
	},
	["err_reference_bind_drops_quals"]={
		[c]="binding reference of type A to value of type B ...",
		[f]={"binding reference ",{"of type A to value of type B","to value"},w,{{"drops D qualifier",{l,l,l,cb}},"changes address space","not permitted due to incompatible qualifiers"}},
		[b]=d,
		[a]=e
	},
	["err_reference_bind_failed"]={
		[c]="reference to ... A could not bind to an ... of type D",
		[f]={"reference ",{{"to ",{a,"incomplete type"}," A could not bind to an ",{ld,td}," of type D"},{"could not bind to ",{ld,td}," of incompatible type"}}},
		[b]=d,
		[a]=e
	},
	["err_reference_bind_init_list"]={
		[c]="reference to type A cannot bind to an initializer list",
		[b]=d,
		[a]=e
	},
	["err_reference_bind_temporary_addrspace"]={
		[c]="reference of type A cannot bind to a temporary object because of address space mismatch",
		[b]=d,
		[a]=e
	},
	["err_reference_bind_to_bitfield"]={
		[c]="... reference cannot bind to bit-field...",
		[f]={{"non-const",Ub}," reference cannot bind to bit-field",{l,X}},
		[b]=d,
		[a]=e
	},
	["err_reference_bind_to_matrix_element"]={
		[c]="... reference cannot bind to matrix element",
		[f]={{"non-const",Ub}," reference cannot bind to matrix element"},
		[b]=d,
		[a]=e
	},
	["err_reference_bind_to_vector_element"]={
		[c]="... reference cannot bind to vector element",
		[f]={{"non-const",Ub}," reference cannot bind to vector element"},
		[b]=d,
		[a]=e
	},
	["err_reference_capture_with_reference_default"]={
		[c]="\'&\' cannot precede a capture when the capture default is \'&\'",
		[b]=d,
		[a]=e
	},
	["err_reference_has_multiple_inits"]={
		[c]="reference cannot be initialized with multiple values",
		[b]=d,
		[a]=e
	},
	["err_reference_pipe_type"]={
		[c]="pipes packet types cannot be of reference type",
		[b]=d,
		[a]=e
	},
	["err_reference_to_function_with_unsatisfied_constraints"]={
		[c]="invalid reference to function A: constraints not satisfied",
		[b]=d,
		[a]=e
	},
	["err_reference_to_local_in_enclosing_context"]={
		[c]="reference to local ... A declared in enclosing ...",
		[f]={"reference to local ",{z,"binding"}," A declared in enclosing ",{hc,"block literal","lambda expression","context"}},
		[b]=d,
		[a]=e
	},
	["err_reference_to_void"]={
		[c]="cannot form a reference to \'void\'",
		[b]=d,
		[a]=e
	},
	["err_reference_var_requires_init"]={
		[c]="declaration of reference variable A requires an initializer",
		[b]=d,
		[a]=e
	},
	["err_reference_without_init"]={
		[c]="reference to type A requires an initializer",
		[b]=d,
		[a]=e
	},
	["err_regparm_mismatch"]={
		[c]="function declared with regparm(A) attribute was previously declared without the regparm attribute",
		[f]={"function declared with regparm(A) attribute was previously declared ",{"without the regparm","with the regparm(B)"},ad},
		[b]=d,
		[a]=e
	},
	["err_relocatable_without_isysroot"]={
		[c]="must specify system root with -isysroot when building a relocatable PCH file",
		[b]=d,
		[a]=e
	},
	["err_repeat_attribute"]={
		[c]="A attribute cannot be repeated",
		[b]=d,
		[a]=e
	},
	["err_require_constant_init_failed"]={
		[c]="variable does not have a constant initializer",
		[b]=d,
		[a]=e
	},
	["err_requires_clause_inside_parens"]={
		[c]="trailing requires clause should be placed outside parentheses",
		[b]=d,
		[a]=e
	},
	["err_requires_clause_must_appear_after_trailing_return"]={
		[c]="trailing return type must appear before trailing requires clause",
		[b]=d,
		[a]=e
	},
	["err_requires_clause_on_declarator_not_declaring_a_function"]={
		[c]="trailing requires clause can only be used when declaring a function",
		[b]=d,
		[a]=e
	},
	["err_requires_expr_expected_type_constraint"]={
		[c]="expected concept name with optional arguments",
		[b]=d,
		[a]=e
	},
	["err_requires_expr_in_simple_requirement"]={
		[c]="requires expression in requirement body; did you intend to place it in a nested requirement? (add another \'requires\' before the expression)",
		[b]=d,
		[a]=e
	},
	["err_requires_expr_local_parameter_default_argument"]={
		[c]="default arguments not allowed for parameters of a requires expression",
		[b]=d,
		[a]=e
	},
	["err_requires_expr_missing_arrow"]={
		[c]="expected \'->\' before expression type requirement",
		[b]=d,
		[a]=e
	},
	["err_requires_expr_parameter_list_ellipsis"]={
		[c]="varargs not allowed in requires expression",
		[b]=d,
		[a]=e
	},
	["err_requires_expr_parameter_referenced_in_evaluated_context"]={
		[c]="constraint variable A cannot be used in an evaluated context",
		[b]=d,
		[a]=e
	},
	["err_requires_expr_simple_requirement_noexcept"]={
		[c]="\'noexcept\' can only be used in a compound requirement (with \'{\' \'}\' around the expression)",
		[b]=d,
		[a]=e
	},
	["err_restricted_superclass_mismatch"]={
		[c]="cannot subclass a class that was declared with the \'objc_subclassing_restricted\' attribute",
		[b]=d,
		[a]=e
	},
	["err_ret_local_block"]={
		[c]="returning block that lives on the local stack",
		[b]=d,
		[a]=e
	},
	["err_rethrow_used_outside_catch"]={
		[c]="@throw (rethrow) used outside of a @catch block",
		[b]=d,
		[a]=e
	},
	["err_return_block_has_expr"]={
		[c]="void block should not return a value",
		[b]=d,
		[a]=e
	},
	["err_return_in_captured_stmt"]={
		[c]="cannot return from A",
		[b]=d,
		[a]=e
	},
	["err_return_in_constructor_handler"]={
		[c]="return in the catch of a function try block of a constructor is illegal",
		[b]=d,
		[a]=e
	},
	["err_return_in_coroutine"]={
		[c]="return statement not allowed in coroutine; did you mean \'co_return\'?",
		[b]=d,
		[a]=e
	},
	["err_return_init_list"]={
		[c]="... A must not return a value",
		[f]={{"void function","void method",n,p}," A must not return a value"},
		[b]=d,
		[a]=e
	},
	["err_return_value_with_address_space"]={
		[c]="return type cannot be qualified with address space",
		[b]=d,
		[a]=e
	},
	["err_right_angle_bracket_equal_needs_space"]={
		[c]="a space is required between a right angle bracket and an equals sign (use \'> =\')",
		[b]=d,
		[a]=e
	},
	["err_riscv_builtin_invalid_lmul"]={
		[c]="LMUL argument must be in the range [0,3] or [5,7]",
		[b]=d,
		[a]=e
	},
	["err_riscv_builtin_requires_extension"]={
		[c]="builtin requires...: B",
		[f]={"builtin requires",{l," at least one of the following extensions to be enabled"},": B"},
		[b]=d,
		[a]=e
	},
	["err_riscv_type_requires_extension"]={
		[c]="RISC-V type A requires the \'B\' extension",
		[b]=d,
		[a]=e
	},
	["err_root_class_cannot_use_super"]={
		[c]="A cannot use \'super\' because it is a root class",
		[b]=d,
		[a]=e
	},
	["err_roptr_cannot_build_shared"]={
		[c]="-mxcoff-roptr is not supported with -shared",
		[b]=d,
		[a]=e
	},
	["err_roptr_requires_data_sections"]={
		[c]="-mxcoff-roptr is supported only with -fdata-sections",
		[b]=d,
		[a]=e
	},
	["err_rotation_argument_to_cadd"]={
		[c]="argument should be the value 90 or 270",
		[b]=d,
		[a]=e
	},
	["err_rotation_argument_to_cmla"]={
		[c]="argument should be the value 0, 90, 180 or 270",
		[b]=d,
		[a]=e
	},
	["err_rref_in_exception_spec"]={
		[c]="rvalue reference type A is not allowed in exception specification",
		[b]=d,
		[a]=e
	},
	["err_sampler_argument_required"]={
		[c]="sampler_t variable required - got A",
		[b]=d,
		[a]=e
	},
	["err_sampler_initializer_not_integer"]={
		[c]="sampler_t initialization requires 32-bit integer, not A",
		[b]=d,
		[a]=e
	},
	["err_scoped_enum_missing_identifier"]={
		[c]="scoped enumeration requires a name",
		[b]=d,
		[a]=e
	},
	["err_second_argument_to_cwsc_not_pointer"]={
		[c]="second argument to __builtin_call_with_static_chain must be of pointer type",
		[b]=d,
		[a]=e
	},
	["err_second_parameter_to_va_arg_abstract"]={
		[c]="second argument to \'va_arg\' is of abstract type A",
		[b]=d,
		[a]=e
	},
	["err_second_parameter_to_va_arg_incomplete"]={
		[c]="second argument to \'va_arg\' is of incomplete type A",
		[b]=d,
		[a]=e
	},
	["err_section_conflict"]={
		[c]="A causes a section type conflict with B",
		[b]=d,
		[a]=e
	},
	["err_seh___except_block"]={
		[c]="A only allowed in __except block or filter expression",
		[b]=d,
		[a]=e
	},
	["err_seh___except_filter"]={
		[c]="A only allowed in __except filter expression",
		[b]=d,
		[a]=e
	},
	["err_seh___finally_block"]={
		[c]="A only allowed in __finally block",
		[b]=d,
		[a]=e
	},
	["err_seh_expected_handler"]={
		[c]="expected \'__except\' or \'__finally\' block",
		[b]=d,
		[a]=e
	},
	["err_seh_in_a_coroutine_with_cxx_exceptions"]={
		[c]="cannot use SEH \'__try\' in a coroutine when C++ exceptions are enabled",
		[b]=d,
		[a]=e
	},
	["err_seh_try_outside_functions"]={
		[c]="cannot use SEH \'__try\' in blocks, captured regions, or Obj-C method decls",
		[b]=d,
		[a]=e
	},
	["err_seh_try_unsupported"]={
		[c]="SEH \'__try\' is not supported on this target",
		[b]=d,
		[a]=e
	},
	["err_selected_explicit_constructor"]={
		[c]="chosen constructor is explicit in copy-initialization",
		[b]=d,
		[a]=e
	},
	["err_selector_element_const_type"]={
		[c]="selector element of type A cannot be a constant lvalue expression",
		[b]=d,
		[a]=e
	},
	["err_selector_element_not_lvalue"]={
		[c]="selector element is not a valid lvalue",
		[b]=d,
		[a]=e
	},
	["err_selector_element_type"]={
		[c]="selector element type A is not a valid object",
		[b]=d,
		[a]=e
	},
	["err_setter_type_void"]={
		[c]="type of setter must be void",
		[b]=d,
		[a]=e
	},
	["err_setting_eval_method_used_in_unsafe_context"]={
		[c]="... cannot be used with ...",
		[f]={{"\'#pragma clang fp eval_method\'","option \'ffp-eval-method\'"}," cannot be used with ",{"option \'fapprox-func\'","option \'mreassociate\'","option \'freciprocal\'","option \'ffp-eval-method\'","\'#pragma clang fp reassociate\'"}},
		[b]=d,
		[a]=e
	},
	["err_shared_var_init"]={
		[c]="initialization is not supported for __shared__ variables.",
		[b]=d,
		[a]=e
	},
	["err_shift_rhs_only_vector"]={
		[c]="requested shift is a vector of type A but the first operand is not a vector (B)",
		[b]=d,
		[a]=e
	},
	["err_shufflevector_argument_too_large"]={
		[c]="index for __builtin_shufflevector must be less than the total number of vector elements",
		[b]=d,
		[a]=e
	},
	["err_shufflevector_nonconstant_argument"]={
		[c]="index for __builtin_shufflevector must be a constant integer",
		[b]=d,
		[a]=e
	},
	["err_single_decl_assign_in_for_range"]={
		[c]="range-based \'for\' statement uses \':\', not \'=\'",
		[b]=d,
		[a]=e
	},
	["err_size_t_literal_too_large"]={
		[c]="...\'size_t\' literal is out of range of possible ...\'size_t\' values",
		[f]={{"signed ",l},"\'size_t\' literal is out of range of possible ",{"signed ",l},"\'size_t\' values"},
		[b]=d,
		[a]=e
	},
	["err_sizeless_in_exception_spec"]={
		[c]="...sizeless type B is not allowed in exception specification",
		[f]={{l,ed},"sizeless type B is not allowed in exception specification"},
		[b]=d,
		[a]=e
	},
	["err_sizeless_nonlocal"]={
		[c]="non-local variable with sizeless type A",
		[b]=d,
		[a]=e
	},
	["err_sizeof_alignof_function_type"]={
		[c]="invalid application of \'A\' to a function type",
		[b]=d,
		[a]=e
	},
	["err_sizeof_alignof_incomplete_or_sizeless_type"]={
		[c]="invalid application of \'A\' to ... type C",
		[f]={"invalid application of \'A\' to ",{"an incomplete",yd}," type C"},
		[b]=d,
		[a]=e
	},
	["err_sizeof_alignof_typeof_bitfield"]={
		[c]="invalid application of \'...\' to bit-field",
		[f]={"invalid application of \'",{"sizeof","alignof","typeof","typeof_unqual"},"\' to bit-field"},
		[b]=d,
		[a]=e
	},
	["err_sizeof_nonfragile_interface"]={
		[c]="application of \'...\' to interface A is not supported on this architecture and platform",
		[f]={"application of \'",{"alignof","sizeof"},"\' to interface A is not supported on this architecture and platform"},
		[b]=d,
		[a]=e
	},
	["err_sizeof_pack_no_pack_name"]={
		[c]="A does not refer to the name of a parameter pack",
		[b]=d,
		[a]=e
	},
	["err_sizeof_pack_no_pack_name_suggest"]={
		[c]="A does not refer to the name of a parameter pack; did you mean B?",
		[b]=d,
		[a]=e
	},
	["err_sizeof_parameter_pack"]={
		[c]="expected parenthesized parameter pack name in \'sizeof...\' expression",
		[b]=d,
		[a]=e
	},
	["err_sls_hardening_arm_not_supported"]={
		[c]="-mharden-sls is only supported on armv7-a or later",
		[b]=d,
		[a]=e
	},
	["err_spaceship_argument_narrowing"]={
		[c]="argument to \'operator<=>\' ...",
		[f]={"argument to \'operator<=>\' ",{"cannot be narrowed from type B to C","evaluates to B, which cannot be narrowed to type C"}},
		[b]=d,
		[a]=e
	},
	["err_spec_member_not_instantiated"]={
		[c]="specialization of member A does not specialize an instantiated member",
		[b]=d,
		[a]=e
	},
	["err_specialization_after_instantiation"]={
		[c]="explicit specialization of A after instantiation",
		[b]=d,
		[a]=e
	},
	["err_specialization_not_primary_template"]={
		[c]="cannot reference member of primary template because deduced class template specialization A is ... specialization",
		[f]={"cannot reference member of primary template because deduced class template specialization A is ",{"instantiated from a partial","an explicit"}," specialization"},
		[b]=d,
		[a]=e
	},
	["err_specialize_member_of_template"]={
		[c]="cannot specialize ...a member of an unspecialized template",
		[f]={"cannot specialize ",{l,"(with \'template<>\') "},"a member of an unspecialized template"},
		[b]=d,
		[a]=e
	},
	["err_stack_tagging_requires_hardware_feature"]={
		[c]="\'-fsanitize=memtag-stack\' requires hardware support (+memtag). For Armv8 or Armv9, try compiling with -march=armv8a+memtag or -march=armv9a+memtag",
		[b]=d,
		[a]=e
	},
	["err_standalone_class_nested_name_specifier"]={
		[c]="forward declaration of ... cannot have a nested name specifier",
		[f]={"forward declaration of ",{o,r,B,v,pb,"enum class","enum struct"}," cannot have a nested name specifier"},
		[b]=d,
		[a]=e
	},
	["err_static_assert_expression_is_not_constant"]={
		[c]="static assertion expression is not an integral constant expression",
		[b]=d,
		[a]=e
	},
	["err_static_assert_failed"]={
		[c]="static assertion failed...",
		[f]={"static assertion failed",{": B",l}},
		[b]=d,
		[a]=e
	},
	["err_static_assert_invalid_mem_fn_ret_ty"]={
		[c]="the message in a static assertion must have a \'...()\' member function returning an object convertible to \'...\'",
		[f]={"the message in a static assertion must have a \'",{Jd,"data"},"()\' member function returning an object convertible to \'",{"std::size_t","const char *"},x},
		[b]=d,
		[a]=e
	},
	["err_static_assert_invalid_message"]={
		[c]="the message in a static assertion must be a string literal or an object with \'data()\' and \'size()\' member functions",
		[b]=d,
		[a]=e
	},
	["err_static_assert_message_constexpr"]={
		[c]="the message in a static assertion must be produced by a constant expression",
		[b]=d,
		[a]=e
	},
	["err_static_assert_missing_member_function"]={
		[c]="the message object in this static assertion is missing ...",
		[f]={"the message object in this static assertion is missing ",{"a \'size()\' member function","a \'data()\' member function","\'data()\' and \'size()\' member functions"}},
		[b]=d,
		[a]=e
	},
	["err_static_assert_requirement_failed"]={
		[c]="static assertion failed due to requirement \'A\'...",
		[f]={"static assertion failed due to requirement \'A\'",{": C",l}},
		[b]=d,
		[a]=e
	},
	["err_static_block_func"]={
		[c]="function declared in block scope cannot have \'static\' storage class",
		[b]=d,
		[a]=e
	},
	["err_static_data_member_not_allowed_in_anon_struct"]={
		[c]="static data member A not allowed in anonymous ...",
		[f]={"static data member A not allowed in anonymous ",{r,B,v,o,pb}},
		[b]=d,
		[a]=e
	},
	["err_static_data_member_not_allowed_in_local_class"]={
		[c]="static data member A not allowed in local ... B",
		[f]={"static data member A not allowed in local ",{r,B,v,o,pb},X},
		[b]=d,
		[a]=e
	},
	["err_static_data_member_reinitialization"]={
		[c]="static data member A already has an initializer",
		[b]=d,
		[a]=e
	},
	["err_static_downcast_via_virtual"]={
		[c]="cannot cast A to B via virtual base C",
		[b]=d,
		[a]=e
	},
	["err_static_function_scope"]={
		[c]="variables in function scope cannot be declared static",
		[b]=d,
		[a]=e
	},
	["err_static_illegal_in_new"]={
		[c]="the \'static\' modifier for the array size is not legal in new expressions",
		[b]=d,
		[a]=e
	},
	["err_static_kernel"]={
		[c]="kernel functions cannot be declared static",
		[b]=d,
		[a]=e
	},
	["err_static_lambda"]={
		[c]="static lambdas are a C++23 extension [-Wc++23-extensions]",
		[f]="static lambdas are a C++23 extension",
		[b]=g,
		[a]=h
	},
	["err_static_lambda_captures"]={
		[c]="a static lambda cannot have any captures",
		[b]=d,
		[a]=e
	},
	["err_static_main"]={
		[c]="\'main\' is not allowed to be declared static",
		[b]=d,
		[a]=e
	},
	["err_static_mutable_lambda"]={
		[c]="lambda cannot be both mutable and static",
		[b]=d,
		[a]=e
	},
	["err_static_non_static"]={
		[c]="static declaration of A follows non-static declaration",
		[b]=d,
		[a]=e
	},
	["err_static_not_bitfield"]={
		[c]="static member A cannot be a bit-field",
		[b]=d,
		[a]=e
	},
	["err_static_out_of_line"]={
		[c]="\'static\' can only be specified inside the class definition",
		[b]=d,
		[a]=e
	},
	["err_static_overrides_virtual"]={
		[c]="\'static\' member function A overrides a virtual function in a base class",
		[b]=d,
		[a]=e
	},
	["err_statically_allocated_object"]={
		[c]="interface type cannot be statically allocated",
		[b]=d,
		[a]=e
	},
	["err_std_compare_type_not_supported"]={
		[c]="standard library implementation of A is not supported; ...",
		[f]={"standard library implementation of A is not supported; ",{"member \'C\' does not have expected form","member \'C\' is missing","the type is not trivially copyable","the type does not have the expected form"}},
		[b]=d,
		[a]=e
	},
	["err_std_source_location_impl_malformed"]={
		[c]="\'std::source_location::__impl\' must be standard-layout and have only two \'const char *\' fields \'_M_file_name\' and \'_M_function_name\', and two integral fields \'_M_line\' and \'_M_column\'",
		[b]=d,
		[a]=e
	},
	["err_std_source_location_impl_not_found"]={
		[c]="\'std::source_location::__impl\' was not found; it must be defined before \'__builtin_source_location\' is called",
		[b]=d,
		[a]=e
	},
	["err_std_type_trait_not_class_template"]={
		[c]="unsupported standard library implementation: \'std::A\' is not a class template",
		[b]=d,
		[a]=e
	},
	["err_stmt_expr_in_default_arg"]={
		[c]="default ... may not use a GNU statement expression",
		[f]={"default ",{pd,"non-type template argument"}," may not use a GNU statement expression"},
		[b]=d,
		[a]=e
	},
	["err_stmtexpr_file_scope"]={
		[c]="statement expression not allowed at file scope",
		[b]=d,
		[a]=e
	},
	["err_storage_class_for_static_member"]={
		[c]="static data member definition cannot specify a storage class",
		[b]=d,
		[a]=e
	},
	["err_storage_spec_on_catch_parm"]={
		[c]="@catch parameter cannot have storage specifier \'A\'",
		[b]=d,
		[a]=e
	},
	["err_storageclass_invalid_for_member"]={
		[c]="storage class specified for a member declaration",
		[b]=d,
		[a]=e
	},
	["err_store_value_to_reg"]={
		[c]="impossible constraint in asm: can\'t store value into a register",
		[b]=d,
		[a]=e
	},
	["err_string_concat_mixed_suffix"]={
		[c]="differing user-defined suffixes (\'A\' and \'B\') in string literal concatenation",
		[b]=d,
		[a]=e
	},
	["err_strong_property"]={
		[c]="existing instance variable B for strong property A may not be __weak",
		[b]=d,
		[a]=e
	},
	["err_subscript_function_type"]={
		[c]="subscript of pointer to function type A",
		[b]=d,
		[a]=e
	},
	["err_subscript_incomplete_or_sizeless_type"]={
		[c]="subscript of pointer to ... type B",
		[f]={"subscript of pointer to ",{"incomplete",yd},Rc},
		[b]=d,
		[a]=e
	},
	["err_subscript_nonfragile_interface"]={
		[c]="subscript requires size of interface A, which is not constant for this architecture and platform",
		[b]=d,
		[a]=e
	},
	["err_subscript_svbool_t"]={
		[c]="subscript of svbool_t is not allowed",
		[b]=d,
		[a]=e
	},
	["err_super_in_lambda_unsupported"]={
		[c]="use of \'__super\' inside a lambda is unsupported",
		[b]=d,
		[a]=e
	},
	["err_super_in_using_declaration"]={
		[c]="\'__super\' cannot be used with a using declaration",
		[b]=d,
		[a]=e
	},
	["err_sve_vector_in_non_sve_target"]={
		[c]="SVE vector type A cannot be used in a target without sve",
		[b]=d,
		[a]=e
	},
	["err_swift_abi_parameter_wrong_type"]={
		[c]="\'A\' parameter must have pointer... type; type here is C",
		[f]={"\'A\' parameter must have pointer",{l," to unqualified pointer"}," type; type here is C"},
		[b]=d,
		[a]=e
	},
	["err_swift_async_bad_block_type"]={
		[c]="\'swift_async\' completion handler parameter must have block type returning \'void\', type here is A",
		[b]=d,
		[a]=e
	},
	["err_swift_async_error_no_error_parameter"]={
		[c]="A attribute with \'nonnull_error\' convention can only be applied to a ... with a completion handler with an error parameter",
		[f]={"A attribute with \'nonnull_error\' convention can only be applied to a ",{m,u}," with a completion handler with an error parameter"},
		[b]=d,
		[a]=e
	},
	["err_swift_async_error_non_integral"]={
		[c]="A attribute with \'B\' convention must have an integral-typed parameter in completion handler at index C, type here is D",
		[b]=d,
		[a]=e
	},
	["err_swift_async_error_without_swift_async"]={
		[c]="A attribute must be applied to a ... annotated with non-\'none\' attribute \'swift_async\'",
		[f]={"A attribute must be applied to a ",{m,u}," annotated with non-\'none\' attribute \'swift_async\'"},
		[b]=d,
		[a]=e
	},
	["err_swift_async_no_access"]={
		[c]="first argument to \'swift_async\' must be either \'none\', \'swift_private\', or \'not_swift_private\'",
		[b]=d,
		[a]=e
	},
	["err_swift_error_result_not_after_swift_context"]={
		[c]="\'swift_error_result\' parameter must follow \'swift_context\' parameter",
		[b]=d,
		[a]=e
	},
	["err_swift_indirect_result_not_first"]={
		[c]="\'swift_indirect_result\' parameters must be first parameters of function",
		[b]=d,
		[a]=e
	},
	["err_swift_param_attr_not_swiftcall"]={
		[c]="\'A\' parameter can only be used with swiftcall... calling convention...",
		[f]={"\'A\' parameter can only be used with swiftcall",{" or swiftasynccall",l}," calling convention",{l,cb}},
		[b]=d,
		[a]=e
	},
	["err_switch_explicit_conversion"]={
		[c]="switch condition type A requires explicit conversion to B",
		[b]=d,
		[a]=e
	},
	["err_switch_incomplete_class_type"]={
		[c]="switch condition has incomplete class type A",
		[b]=d,
		[a]=e
	},
	["err_switch_into_protected_scope"]={
		[c]="cannot jump from switch statement to this case label",
		[b]=d,
		[a]=e
	},
	["err_switch_multiple_conversions"]={
		[c]="multiple conversions from switch condition type A to an integral or enumeration type",
		[b]=d,
		[a]=e
	},
	["err_sycl_special_type_num_init_method"]={
		[c]="types with \'sycl_special_class\' attribute must have one and only one \'__init\' method defined",
		[b]=d,
		[a]=e
	},
	["err_synthesize_category_decl"]={
		[c]="@synthesize not allowed in a category\'s implementation",
		[b]=d,
		[a]=e
	},
	["err_synthesize_on_class_property"]={
		[c]="@synthesize not allowed on a class property A",
		[b]=d,
		[a]=e
	},
	["err_synthesize_variable_sized_ivar"]={
		[c]="synthesized property with variable size type A requires an existing instance variable",
		[b]=d,
		[a]=e
	},
	["err_synthesized_property_name"]={
		[c]="expected a property name in @synthesize",
		[b]=d,
		[a]=e
	},
	["err_synthesizing_arc_weak_property_disabled"]={
		[c]="cannot synthesize weak property in file using manual reference counting",
		[b]=d,
		[a]=e
	},
	["err_synthesizing_arc_weak_property_no_runtime"]={
		[c]="cannot synthesize weak property because the current deployment target does not support weak references",
		[b]=d,
		[a]=e
	},
	["err_systemz_invalid_tabort_code"]={
		[c]="invalid transaction abort code",
		[b]=d,
		[a]=e
	},
	["err_tag_definition_of_typedef"]={
		[c]="definition of type A conflicts with ... of the same name",
		[f]={"definition of type A conflicts with ",{eb,Db}," of the same name"},
		[b]=d,
		[a]=e
	},
	["err_tag_index_out_of_range"]={
		[c]="... index B is greater than the number of arguments specified",
		[f]={{"type tag",pd}," index B is greater than the number of arguments specified"},
		[b]=d,
		[a]=e
	},
	["err_tag_reference_conflict"]={
		[c]="implicit declaration introduced by elaborated type conflicts with a ... of the same name",
		[f]={"implicit declaration introduced by elaborated type conflicts with a ",{"non-struct type","non-class type","non-union type","non-enum type",eb,Db,Hb,"type alias template","template template argument"}," of the same name"},
		[b]=d,
		[a]=e
	},
	["err_tag_reference_non_tag"]={
		[c]="... A cannot be referenced with a ... specifier",
		[f]={{"non-struct type","non-class type","non-union type","non-enum type",eb,Db,Hb,"type alias template","template template argument"}," A cannot be referenced with a ",{r,B,v,o,pb}," specifier"},
		[b]=d,
		[a]=e
	},
	["err_tagless_friend_type_template"]={
		[c]="friend type templates must use an elaborated type",
		[b]=d,
		[a]=e
	},
	["err_target_clone_doesnt_match"]={
		[c]="\'target_clones\' attribute does not match previous declaration",
		[b]=d,
		[a]=e
	},
	["err_target_clone_must_have_default"]={
		[c]="\'target_clones\' multiversioning requires a default target",
		[b]=d,
		[a]=e
	},
	["err_target_unknown_abi"]={
		[c]="unknown target ABI \'A\'",
		[b]=d,
		[a]=e
	},
	["err_target_unknown_cpu"]={
		[c]="unknown target CPU \'A\'",
		[b]=d,
		[a]=e
	},
	["err_target_unknown_fpmath"]={
		[c]="unknown FP unit \'A\'",
		[b]=d,
		[a]=e
	},
	["err_target_unknown_triple"]={
		[c]="unknown target triple \'A\'",
		[b]=d,
		[a]=e
	},
	["err_target_unsupported_abi"]={
		[c]="ABI \'A\' is not supported on CPU \'B\'",
		[b]=d,
		[a]=e
	},
	["err_target_unsupported_abi_for_triple"]={
		[c]="ABI \'A\' is not supported for \'B\'",
		[b]=d,
		[a]=e
	},
	["err_target_unsupported_arch"]={
		[c]="the target architecture \'A\' is not supported by the target \'B\'",
		[b]=d,
		[a]=e
	},
	["err_target_unsupported_cpu_for_micromips"]={
		[c]="micromips is not supported for target CPU \'A\'",
		[b]=d,
		[a]=e
	},
	["err_target_unsupported_execute_only"]={
		[c]="execute only is not supported for the A sub-architecture",
		[b]=d,
		[a]=e
	},
	["err_target_unsupported_fpmath"]={
		[c]="the \'A\' unit is not supported with this instruction set",
		[b]=d,
		[a]=e
	},
	["err_target_unsupported_mcmse"]={
		[c]="-mcmse is not supported for A",
		[b]=d,
		[a]=e
	},
	["err_target_unsupported_tp_hard"]={
		[c]="hardware TLS register is not supported for the A sub-architecture",
		[b]=d,
		[a]=e
	},
	["err_target_unsupported_type"]={
		[c]="A requires ... D ...type support, but target \'F\' does not support it",
		[f]={"A requires ",{l,"C bit size"}," D ",{l,"return "},"type support, but target \'F\' does not support it"},
		[b]=d,
		[a]=e
	},
	["err_target_unsupported_unaligned"]={
		[c]="the A sub-architecture does not support unaligned accesses",
		[b]=d,
		[a]=e
	},
	["err_tcb_conflicting_attributes"]={
		[c]="attributes \'A(\"C\")\' and \'B(\"C\")\' are mutually exclusive",
		[b]=d,
		[a]=e
	},
	["err_temp_copy_ambiguous"]={
		[c]="ambiguous constructor call when ... of type B",
		[f]={"ambiguous constructor call when ",{"copying variable","copying parameter","initializing template parameter","returning object","initializing statement expression result","throwing object","copying member subobject","copying array element","allocating object","copying temporary","initializing base subobject","initializing vector element","capturing value"}," of type B"},
		[b]=d,
		[a]=e
	},
	["err_temp_copy_deleted"]={
		[c]="... of type B invokes deleted constructor",
		[f]={{"copying variable","copying parameter","initializing template parameter","returning object","initializing statement expression result","throwing object","copying member subobject","copying array element","allocating object","copying temporary","initializing base subobject","initializing vector element","capturing value"}," of type B invokes deleted constructor"},
		[b]=d,
		[a]=e
	},
	["err_temp_copy_incomplete"]={
		[c]="copying a temporary object of incomplete type A",
		[b]=d,
		[a]=e
	},
	["err_temp_copy_no_viable"]={
		[c]="no viable constructor ... of type B",
		[f]={"no viable constructor ",{"copying variable","copying parameter","initializing template parameter","returning object","initializing statement expression result","throwing object","copying member subobject","copying array element","allocating object","copying temporary","initializing base subobject","initializing vector element","capturing value"}," of type B"},
		[b]=d,
		[a]=e
	},
	["err_template_arg_address_of_non_pointer"]={
		[c]="address taken in non-type template argument for template parameter of reference type A",
		[b]=d,
		[a]=e
	},
	["err_template_arg_deduced_incomplete_pack"]={
		[c]="deduced incomplete pack A for template parameter B",
		[b]=d,
		[a]=e
	},
	["err_template_arg_field"]={
		[c]="non-type template argument refers to non-static data member A",
		[b]=d,
		[a]=e
	},
	["err_template_arg_invalid"]={
		[c]="non-type template argument \'A\' is invalid",
		[b]=d,
		[a]=e
	},
	["err_template_arg_list_constraints_not_satisfied"]={
		[c]="constraints not satisfied for ... BC",
		[f]={"constraints not satisfied for ",{zc,Kb,Xb,Yc,Gc,Hb}," BC"},
		[b]=d,
		[a]=e
	},
	["err_template_arg_list_different_arity"]={
		[c]="... template arguments for ... C",
		[f]={{"too few","too many"}," template arguments for ",{zc,Kb,Xb,Yc,Gc,"concept",Hb},Z},
		[b]=d,
		[a]=e
	},
	["err_template_arg_member_ptr_base_derived_not_supported"]={
		[c]="sorry, non-type template argument of pointer-to-member type B that refers to member A of a different class is not supported yet",
		[b]=d,
		[a]=e
	},
	["err_template_arg_method"]={
		[c]="non-type template argument refers to non-static member function A",
		[b]=d,
		[a]=e
	},
	["err_template_arg_must_be_expr"]={
		[c]="template argument for non-type template parameter must be an expression",
		[b]=d,
		[a]=e
	},
	["err_template_arg_must_be_template"]={
		[c]="template argument for template template parameter must be a class template...",
		[f]={"template argument for template template parameter must be a class template",{l," or type alias template"}},
		[b]=d,
		[a]=e
	},
	["err_template_arg_must_be_type"]={
		[c]="template argument for template type parameter must be a type",
		[b]=d,
		[a]=e
	},
	["err_template_arg_must_be_type_suggest"]={
		[c]="template argument for template type parameter must be a type; did you forget \'typename\'?",
		[b]=d,
		[a]=e
	},
	["err_template_arg_no_ref_bind"]={
		[c]="non-type template parameter of reference type A cannot bind to template argument of type B",
		[f]={"non-type template parameter of reference type ",{"A cannot bind to template argument of type B","cannot bind to template of incompatible argument type"}},
		[b]=d,
		[a]=e
	},
	["err_template_arg_nontype_ambig"]={
		[c]="template argument for non-type template parameter is treated as function type A",
		[b]=d,
		[a]=e
	},
	["err_template_arg_not_address_constant"]={
		[c]="non-type template argument of type A is not a constant expression",
		[b]=d,
		[a]=e
	},
	["err_template_arg_not_address_of"]={
		[c]="non-type template argument for template parameter of pointer type A must have its address taken",
		[b]=d,
		[a]=e
	},
	["err_template_arg_not_convertible"]={
		[c]="non-type template argument of type A cannot be converted to a value of type B",
		[b]=d,
		[a]=e
	},
	["err_template_arg_not_decl_ref"]={
		[c]="non-type template argument does not refer to any declaration",
		[b]=d,
		[a]=e
	},
	["err_template_arg_not_ice"]={
		[c]="non-type template argument of type A is not an integral constant expression",
		[b]=d,
		[a]=e
	},
	["err_template_arg_not_integral_or_enumeral"]={
		[c]="non-type template argument of type A must have an integral or enumeration type",
		[b]=d,
		[a]=e
	},
	["err_template_arg_not_object_or_func"]={
		[c]="non-type template argument does not refer to an object or function",
		[b]=d,
		[a]=e
	},
	["err_template_arg_not_pointer_to_member_form"]={
		[c]="non-type template argument is not a pointer to member constant",
		[b]=d,
		[a]=e
	},
	["err_template_arg_not_valid_template"]={
		[c]="template argument does not refer to a class or alias template, or template template parameter",
		[b]=d,
		[a]=e
	},
	["err_template_arg_object_no_linkage"]={
		[c]="non-type template argument refers to ... B that does not have linkage",
		[f]={"non-type template argument refers to ",{m,"object"}," B that does not have linkage"},
		[b]=d,
		[a]=e
	},
	["err_template_arg_overload_type"]={
		[c]="template argument is the type of an unresolved overloaded function",
		[b]=d,
		[a]=e
	},
	["err_template_arg_ref_bind_ignores_quals"]={
		[c]="reference binding of non-type template parameter of type A to template argument of type B ignores qualifiers",
		[f]={"reference binding of non-type template parameter ",{"of type A to template argument of type B","to template argument"}," ignores qualifiers"},
		[b]=d,
		[a]=e
	},
	["err_template_arg_reference_var"]={
		[c]="non-type template argument of reference type A is not an object",
		[b]=d,
		[a]=e
	},
	["err_template_arg_template_params_mismatch"]={
		[c]="template template argument has different template parameters than its corresponding template template parameter",
		[b]=d,
		[a]=e
	},
	["err_template_arg_thread_local"]={
		[c]="non-type template argument refers to thread-local object",
		[b]=d,
		[a]=e
	},
	["err_template_arg_untyped_null_constant"]={
		[c]="null non-type template argument must be cast to template parameter type A",
		[b]=d,
		[a]=e
	},
	["err_template_arg_wrongtype_null_constant"]={
		[c]="null non-type template argument of type A does not match template parameter of type B",
		[b]=d,
		[a]=e
	},
	["err_template_defn_explicit_instantiation"]={
		[c]="... cannot be defined in an explicit instantiation; if this declaration is meant to be a ... definition, remove the \'template\' keyword",
		[f]={{m,o,z}," cannot be defined in an explicit instantiation; if this declaration is meant to be a ",{m,o,z}," definition, remove the \'template\' keyword"},
		[b]=d,
		[a]=e
	},
	["err_template_different_requires_clause"]={
		[c]="requires clause differs in template redeclaration",
		[b]=d,
		[a]=e
	},
	["err_template_different_type_constraint"]={
		[c]="type constraint differs in template redeclaration",
		[b]=d,
		[a]=e
	},
	["err_template_expansion_into_fixed_list"]={
		[c]="pack expansion used as argument for non-pack parameter of ...",
		[f]={"pack expansion used as argument for non-pack parameter of ",{Yc,"concept"}},
		[b]=d,
		[a]=e
	},
	["err_template_id_not_a_type"]={
		[c]="template name refers to non-type template A",
		[b]=d,
		[a]=e
	},
	["err_template_inside_local_class"]={
		[c]="templates cannot be declared inside of a local class",
		[b]=d,
		[a]=e
	},
	["err_template_instantiate_undefined"]={
		[c]="... instantiation of undefined template B",
		[f]={{Dd,"explicit"}," instantiation of undefined template B"},
		[b]=d,
		[a]=e
	},
	["err_template_instantiate_within_definition"]={
		[c]="... instantiation of template B within its own definition",
		[f]={{Dd,"explicit"}," instantiation of template B within its own definition"},
		[b]=d,
		[a]=e
	},
	["err_template_kernel"]={
		[c]="kernel functions cannot be used in a template declaration, instantiation or specialization",
		[b]=d,
		[a]=e
	},
	["err_template_kw_missing"]={
		[c]="missing \'template\' keyword prior to dependent template name \'AB\'",
		[b]=d,
		[a]=e
	},
	["err_template_kw_refers_to_dependent_non_template"]={
		[c]="A... cannot refer to a dependent template",
		[f]={J,{l," following the \'template\' keyword"}," cannot refer to a dependent template"},
		[b]=d,
		[a]=e
	},
	["err_template_kw_refers_to_non_template"]={
		[c]="A... does not refer to a template",
		[f]={J,{l," following the \'template\' keyword"}," does not refer to a template"},
		[b]=d,
		[a]=e
	},
	["err_template_kw_refers_to_type_template"]={
		[c]="\'AB\' is expected to be a non-type template, but instantiated to a ... template",
		[f]={"\'AB\' is expected to be a non-type template, but instantiated to a ",{o,Db},U},
		[b]=d,
		[a]=e
	},
	["err_template_linkage"]={
		[c]="templates must have C++ linkage",
		[b]=d,
		[a]=e
	},
	["err_template_member"]={
		[c]="member A declared as a template",
		[b]=d,
		[a]=e
	},
	["err_template_member_noparams"]={
		[c]="extraneous \'template<>\' in declaration of member A",
		[b]=d,
		[a]=e
	},
	["err_template_missing_args"]={
		[c]="use of ... B requires template arguments",
		[f]={"use of ",{zc,Kb,Xb,Yc,Gc,"concept",Hb}," B requires template arguments"},
		[b]=d,
		[a]=e
	},
	["err_template_nontype_parm_bad_structural_type"]={
		[c]="a non-type template parameter cannot have type A before C++20",
		[b]=d,
		[a]=e
	},
	["err_template_nontype_parm_bad_type"]={
		[c]="a non-type template parameter cannot have type A",
		[b]=d,
		[a]=e
	},
	["err_template_nontype_parm_different_type"]={
		[c]="template non-type parameter has a different type A in template ...redeclaration",
		[f]={"template non-type parameter has a different type A in template ",{l,"template parameter "},"redeclaration"},
		[b]=d,
		[a]=e
	},
	["err_template_nontype_parm_incomplete"]={
		[c]="non-type template parameter has incomplete type A",
		[b]=d,
		[a]=e
	},
	["err_template_nontype_parm_not_literal"]={
		[c]="non-type template parameter has non-literal type A",
		[b]=d,
		[a]=e
	},
	["err_template_nontype_parm_not_structural"]={
		[c]="type A of non-type template parameter is not a structural type",
		[b]=d,
		[a]=e
	},
	["err_template_nontype_parm_rvalue_ref"]={
		[c]="non-type template parameter has rvalue reference type A",
		[b]=d,
		[a]=e
	},
	["err_template_outside_namespace_or_class_scope"]={
		[c]="templates can only be declared in namespace or class scope",
		[b]=d,
		[a]=e
	},
	["err_template_param_default_arg_inconsistent_redefinition"]={
		[c]="template parameter default argument is inconsistent with previous definition",
		[b]=d,
		[a]=e
	},
	["err_template_param_default_arg_missing"]={
		[c]="template parameter missing a default argument",
		[b]=d,
		[a]=e
	},
	["err_template_param_default_arg_redefinition"]={
		[c]="template parameter redefines default argument",
		[b]=d,
		[a]=e
	},
	["err_template_param_different_kind"]={
		[c]="template parameter has a different kind in template ...redeclaration",
		[f]={"template parameter has a different kind in template ",{l,"template parameter "},"redeclaration"},
		[b]=d,
		[a]=e
	},
	["err_template_param_list_different_arity"]={
		[c]="... template parameters in template ...redeclaration",
		[f]={{"too few","too many"}," template parameters in template ",{l,"template parameter "},"redeclaration"},
		[b]=d,
		[a]=e
	},
	["err_template_param_list_matches_nontemplate"]={
		[c]="template parameter list matching the non-templated nested type A should be empty (\'template<>\')",
		[b]=d,
		[a]=e
	},
	["err_template_param_pack_default_arg"]={
		[c]="template parameter pack cannot have a default argument",
		[b]=d,
		[a]=e
	},
	["err_template_param_pack_must_be_last_template_parameter"]={
		[c]="template parameter pack must be the last template parameter",
		[b]=d,
		[a]=e
	},
	["err_template_param_shadow"]={
		[c]="declaration of A shadows template parameter",
		[b]=d,
		[a]=e
	},
	["err_template_parameter_default_friend_template"]={
		[c]="default template argument not permitted on a friend template",
		[b]=d,
		[a]=e
	},
	["err_template_parameter_default_template_member"]={
		[c]="cannot add a default template argument to the definition of a member of a class template",
		[b]=d,
		[a]=e
	},
	["err_template_parameter_pack_non_pack"]={
		[c]="... parameter... conflicts with previous ... parameter...",
		[f]={{"template type","non-type template","template template"}," parameter",{l," pack"}," conflicts with previous ",{"template type","non-type template","template template"}," parameter",{" pack",l}},
		[b]=d,
		[a]=e
	},
	["err_template_qualified_declarator_no_match"]={
		[c]="nested name specifier \'A\' for declaration does not refer into a class, class template or class template partial specialization",
		[b]=d,
		[a]=e
	},
	["err_template_recursion_depth_exceeded"]={
		[c]="recursive template instantiation exceeded maximum depth of A",
		[b]=s,
		[a]=t
	},
	["err_template_spec_decl_friend"]={
		[c]="cannot declare an explicit specialization in a friend",
		[b]=d,
		[a]=e
	},
	["err_template_spec_decl_function_scope"]={
		[c]="explicit specialization of A in function scope",
		[b]=d,
		[a]=e
	},
	["err_template_spec_default_arg"]={
		[c]="default argument not permitted on an explicit ... of function B",
		[f]={"default argument not permitted on an explicit ",{"instantiation","specialization"}," of function B"},
		[b]=d,
		[a]=e
	},
	["err_template_spec_extra_headers"]={
		[c]="extraneous template parameter list in template specialization or out-of-line template definition",
		[b]=d,
		[a]=e
	},
	["err_template_spec_friend"]={
		[c]="template specialization declaration cannot be a friend",
		[b]=d,
		[a]=e
	},
	["err_template_spec_needs_header"]={
		[c]="template specialization requires \'template<>\'",
		[b]=d,
		[a]=e
	},
	["err_template_spec_needs_template_parameters"]={
		[c]="template specialization or definition requires a template parameter list corresponding to the nested type A",
		[b]=d,
		[a]=e
	},
	["err_template_spec_redecl_global_scope"]={
		[c]="... specialization of B must occur at global scope",
		[f]={{zc,"class template partial",Xb,"variable template partial",Kb,"member function","static data member","member class","member enumeration"}," specialization of B must occur at global scope"},
		[b]=d,
		[a]=e
	},
	["err_template_spec_redecl_out_of_scope"]={
		[c]="... specialization of B not in ...",
		[f]={{zc,"class template partial",Xb,"variable template partial",Kb,"member function","static data member","member class","member enumeration"}," specialization of B not in ",{"a namespace enclosing C","class C or an enclosing namespace"}},
		[b]=d,
		[a]=e
	},
	["err_template_spec_syntax_non_template"]={
		[c]="identifier followed by \'<\' indicates a class template specialization but A ...",
		[f]={"identifier followed by \'<\' indicates a class template specialization but A ",{"does not refer to a template","refers to a function template","<unused>","refers to a variable template","<unused>","<unused>","refers to a concept"}},
		[b]=d,
		[a]=e
	},
	["err_template_spec_unknown_kind"]={
		[c]="can only provide an explicit specialization for a class template, function template, variable template, or a member function, static data member, ... of a class template",
		[f]={"can only provide an explicit specialization for a class template, function template, variable template, or a member function, static data member, ",{"or member class","member class, or member enumeration"}," of a class template"},
		[b]=d,
		[a]=e
	},
	["err_template_tag_noparams"]={
		[c]="extraneous \'template<>\' in declaration of A B",
		[b]=d,
		[a]=e
	},
	["err_template_template_parameter_not_at_least_as_constrained"]={
		[c]="template template argument A is more constrained than template template parameter B",
		[b]=d,
		[a]=e
	},
	["err_template_template_parm_no_parms"]={
		[c]="template template parameter must have its own template parameters",
		[b]=d,
		[a]=e
	},
	["err_template_typedef"]={
		[c]="a typedef cannot be a template",
		[b]=d,
		[a]=e
	},
	["err_template_unnamed_class"]={
		[c]="cannot declare a class template with no name",
		[b]=d,
		[a]=e
	},
	["err_template_variable_noparams"]={
		[c]="extraneous \'template<>\' in declaration of variable A",
		[b]=d,
		[a]=e
	},
	["err_templated_invalid_declaration"]={
		[c]="a static_assert declaration cannot be a template",
		[b]=d,
		[a]=e
	},
	["err_templated_using_directive_declaration"]={
		[c]="cannot template a using ...",
		[f]={"cannot template a using ",{"directive",qc}},
		[b]=d,
		[a]=e
	},
	["err_tentative_def_incomplete_type"]={
		[c]="tentative definition has type A that is never completed",
		[b]=d,
		[a]=e
	},
	["err_test_module_file_extension_format"]={
		[c]="-ftest-module-file-extension argument \'A\' is not of the required form \'blockname:major:minor:hashed:user info\'",
		[b]=d,
		[a]=e
	},
	["err_test_module_file_extension_version"]={
		[c]="test module file extension \'A\' has different version (B.C) than expected (D.E)",
		[b]=d,
		[a]=e
	},
	["err_this_capture"]={
		[c]="\'this\' cannot be ...captured in this context",
		[f]={"\'this\' cannot be ",{"implicitly ",l},"captured in this context"},
		[b]=d,
		[a]=e
	},
	["err_this_captured_by_reference"]={
		[c]="\'this\' cannot be captured by reference",
		[b]=d,
		[a]=e
	},
	["err_this_static_member_func"]={
		[c]="\'this\' cannot be... used in a static member function declaration",
		[f]={"\'this\' cannot be",{l," implicitly"}," used in a static member function declaration"},
		[b]=d,
		[a]=e
	},
	["err_thread_dynamic_init"]={
		[c]="initializer for thread-local variable must be a constant expression",
		[b]=d,
		[a]=e
	},
	["err_thread_non_global"]={
		[c]="\'A\' variables must have global storage",
		[b]=d,
		[a]=e
	},
	["err_thread_non_thread"]={
		[c]="thread-local declaration of A follows non-thread-local declaration",
		[b]=d,
		[a]=e
	},
	["err_thread_nontrivial_dtor"]={
		[c]="type of thread-local variable has non-trivial destruction",
		[b]=d,
		[a]=e
	},
	["err_thread_thread_different_kind"]={
		[c]="thread-local declaration of A with ... initialization follows declaration with ... initialization",
		[f]={"thread-local declaration of A with ",{Vc,"dynamic"}," initialization follows declaration with ",{"dynamic",Vc}," initialization"},
		[b]=d,
		[a]=e
	},
	["err_thread_unsupported"]={
		[c]="thread-local storage is not supported for the current target",
		[b]=d,
		[a]=e
	},
	["err_three_way_vector_comparison"]={
		[c]="three-way comparison between vectors is not supported",
		[b]=d,
		[a]=e
	},
	["err_throw_abstract_type"]={
		[c]="cannot throw an object of abstract type A",
		[b]=d,
		[a]=e
	},
	["err_throw_incomplete"]={
		[c]="cannot throw object of incomplete type A",
		[b]=d,
		[a]=e
	},
	["err_throw_incomplete_ptr"]={
		[c]="cannot throw pointer to object of incomplete type A",
		[b]=d,
		[a]=e
	},
	["err_throw_sizeless"]={
		[c]="cannot throw object of sizeless type A",
		[b]=d,
		[a]=e
	},
	["err_tls_var_aligned_over_maximum"]={
		[c]="alignment (A) of thread-local variable B is greater than the maximum supported alignment (C) for a thread-local variable on this target",
		[b]=d,
		[a]=e
	},
	["err_too_few_args_in_macro_invoc"]={
		[c]="too few arguments provided to function-like macro invocation",
		[b]=d,
		[a]=e
	},
	["err_too_large_for_fixed_point"]={
		[c]="this value is too large for this fixed point type",
		[b]=d,
		[a]=e
	},
	["err_too_many_args_in_macro_invoc"]={
		[c]="too many arguments provided to function-like macro invocation",
		[b]=d,
		[a]=e
	},
	["err_toomany_element_decls"]={
		[c]="only one element declaration is allowed",
		[b]=d,
		[a]=e
	},
	["err_trailing_requires_clause_on_deduction_guide"]={
		[c]="deduction guide cannot have a requires clause",
		[b]=d,
		[a]=e
	},
	["err_trailing_return_in_parens"]={
		[c]="trailing return type may not be nested within parentheses",
		[b]=d,
		[a]=e
	},
	["err_trailing_return_without_auto"]={
		[c]="function with trailing return type must specify return type \'auto\', not A",
		[b]=d,
		[a]=e
	},
	["err_two_right_angle_brackets_need_space"]={
		[c]="a space is required between consecutive right angle brackets (use \'> >\')",
		[b]=d,
		[a]=e
	},
	["err_type_attribute_wrong_type"]={
		[c]="\'A\' only applies to ... types; type here is C",
		[f]={"\'A\' only applies to ",{m,W,"Objective-C object or block pointer"}," types; type here is C"},
		[b]=d,
		[a]=e
	},
	["err_type_available_only_in_default_eval_method"]={
		[c]="cannot use type \'A\' within \'#pragma clang fp eval_method\'; type is set according to the default eval method for the translation unit",
		[b]=d,
		[a]=e
	},
	["err_type_constraint_missing_arguments"]={
		[c]="A requires more than 1 template argument; provide the remaining arguments explicitly to use it here",
		[b]=d,
		[a]=e
	},
	["err_type_constraint_non_type_concept"]={
		[c]="concept named in type constraint is not a type concept",
		[b]=d,
		[a]=e
	},
	["err_type_defined_in_alias_template"]={
		[c]="A cannot be defined in a type alias template",
		[b]=d,
		[a]=e
	},
	["err_type_defined_in_condition"]={
		[c]="A cannot be defined in a condition",
		[b]=d,
		[a]=e
	},
	["err_type_defined_in_enum"]={
		[c]="A cannot be defined in an enumeration",
		[b]=d,
		[a]=e
	},
	["err_type_defined_in_for_range"]={
		[c]="types may not be defined in a for range declaration",
		[b]=d,
		[a]=e
	},
	["err_type_defined_in_param_type"]={
		[c]="A cannot be defined in a parameter type",
		[b]=d,
		[a]=e
	},
	["err_type_defined_in_result_type"]={
		[c]="A cannot be defined in the result type of a function",
		[b]=d,
		[a]=e
	},
	["err_type_defined_in_type_specifier"]={
		[c]="A cannot be defined in a type specifier",
		[b]=d,
		[a]=e
	},
	["err_type_mismatch_continuation_class"]={
		[c]="type of property A in class extension does not match property type in primary class",
		[b]=d,
		[a]=e
	},
	["err_type_pack_element_out_of_bounds"]={
		[c]="a parameter pack may not be accessed at an out of bounds index",
		[b]=d,
		[a]=e
	},
	["err_type_safety_unknown_flag"]={
		[c]="invalid comparison flag A; use \'layout_compatible\' or \'must_be_null\'",
		[b]=d,
		[a]=e
	},
	["err_type_tag_for_datatype_not_ice"]={
		[c]="\'type_tag_for_datatype\' attribute requires the initializer to be an ... constant expression",
		[f]={"\'type_tag_for_datatype\' attribute requires the initializer to be an ",{Ac,wc}," constant expression"},
		[b]=d,
		[a]=e
	},
	["err_type_tag_for_datatype_too_large"]={
		[c]="\'type_tag_for_datatype\' attribute requires the initializer to be an ... constant expression that can be represented by a 64 bit integer",
		[f]={"\'type_tag_for_datatype\' attribute requires the initializer to be an ",{Ac,wc}," constant expression that can be represented by a 64 bit integer"},
		[b]=d,
		[a]=e
	},
	["err_type_trait_arity"]={
		[c]="type trait requires A... argument...; have D argumentD",
		[f]={"type trait requires A",{l," or more"}," argument",{l,cb},"; have D argumentD"},
		[b]=d,
		[a]=e
	},
	["err_type_unsupported"]={
		[c]="A is not supported on this target",
		[b]=d,
		[a]=e
	},
	["err_typecheck_address_of"]={
		[c]="address of ... requested",
		[f]={"address of ",{"bit-field","vector element","property expression","register variable","matrix element"}," requested"},
		[b]=d,
		[a]=e
	},
	["err_typecheck_addrof_dtor"]={
		[c]="taking the address of a destructor",
		[b]=d,
		[a]=e
	},
	["err_typecheck_addrof_temporary"]={
		[c]="taking the address of a temporary object of type A",
		[b]=d,
		[a]=e
	},
	["err_typecheck_ambiguous_condition"]={
		[c]="conversion from A to B is ambiguous",
		[f]={"conversion ",{"from A to B","between types"}," is ambiguous"},
		[b]=d,
		[a]=e
	},
	["err_typecheck_arc_assign_externally_retained"]={
		[c]="variable declared with \'objc_externally_retained\' cannot be modified in ARC",
		[b]=d,
		[a]=e
	},
	["err_typecheck_arc_assign_self"]={
		[c]="cannot assign to \'self\' outside of a method in the init family",
		[b]=d,
		[a]=e
	},
	["err_typecheck_arc_assign_self_class_method"]={
		[c]="cannot assign to \'self\' in a class method",
		[b]=d,
		[a]=e
	},
	["err_typecheck_arithmetic_incomplete_or_sizeless_type"]={
		[c]="arithmetic on a pointer to ... type B",
		[f]={"arithmetic on a pointer to ",{"an incomplete",yd},Rc},
		[b]=d,
		[a]=e
	},
	["err_typecheck_arr_assign_enumeration"]={
		[c]="fast enumeration variables cannot be modified in ARC by default; declare the variable __strong to allow this",
		[b]=d,
		[a]=e
	},
	["err_typecheck_array_not_modifiable_lvalue"]={
		[c]="array type A is not assignable",
		[b]=d,
		[a]=e
	},
	["err_typecheck_assign_const"]={
		[c]=Rb,
		[f]={{"cannot assign to return value because function B returns a const value","cannot assign to variable B with const-qualified type C",{"cannot assign to ",{gd,l},"static data member C with const-qualified type D"},"cannot assign to non-static data member within const member function B",{"cannot assign to ",{"variable C","non-static data member C",td},Gd,{l,"nested "},"const-qualified data member E"},"read-only variable is not assignable"}},
		[b]=d,
		[a]=e
	},
	["err_typecheck_bool_condition"]={
		[c]="value of type A is not contextually convertible to \'bool\'",
		[b]=d,
		[a]=e
	},
	["err_typecheck_call_different_arg_types"]={
		[c]="arguments are of different types (A vs B)",
		[f]={"arguments are of different types",{" (A vs B)",l}},
		[b]=d,
		[a]=e
	},
	["err_typecheck_call_invalid_ordered_compare"]={
		[c]="ordered compare requires two args of floating point type (A and B)",
		[f]={"ordered compare requires two args of floating point type",{yc,l}},
		[b]=d,
		[a]=e
	},
	["err_typecheck_call_invalid_unary_fp"]={
		[c]="floating point classification requires argument of floating point type (passed in A)",
		[b]=d,
		[a]=e
	},
	["err_typecheck_call_not_function"]={
		[c]="called object type A is not a function or function pointer",
		[b]=d,
		[a]=e
	},
	["err_typecheck_call_requires_real_fp"]={
		[c]="argument type A is not a real floating point type",
		[b]=d,
		[a]=e
	},
	["err_typecheck_call_too_few_args"]={
		[c]="too few ...arguments to ... call, expected B, have C",
		[f]={"too few ",{l,l,l,gc},dc,{m,y,u,Zb}," call, expected B, have C"},
		[b]=d,
		[a]=e
	},
	["err_typecheck_call_too_few_args_at_least"]={
		[c]="too few ...arguments to ... call, expected at least B, have C",
		[f]={"too few ",{l,l,l,gc},dc,{m,y,u,Zb}," call, expected at least B, have C"},
		[b]=d,
		[a]=e
	},
	["err_typecheck_call_too_few_args_at_least_one"]={
		[c]="too few ...arguments to ... call, at least argument B must be specified",
		[f]={"too few ",{l,l,l,gc},dc,{m,y,u,Zb}," call, at least argument B must be specified"},
		[b]=d,
		[a]=e
	},
	["err_typecheck_call_too_few_args_at_least_suggest"]={
		[c]="too few ...arguments to ... call, expected at least B, have C; did you mean D?",
		[f]={"too few ",{l,l,l,gc},dc,{m,y,u,Zb}," call, expected at least B, have C; did you mean D?"},
		[b]=d,
		[a]=e
	},
	["err_typecheck_call_too_few_args_one"]={
		[c]="too few ...arguments to ... call, single argument B was not specified",
		[f]={"too few ",{l,l,l,gc},dc,{m,y,u,Zb}," call, single argument B was not specified"},
		[b]=d,
		[a]=e
	},
	["err_typecheck_call_too_few_args_suggest"]={
		[c]="too few ...arguments to ... call, expected B, have C; did you mean D?",
		[f]={"too few ",{l,l,l,gc},dc,{m,y,u,Zb}," call, expected B, have C; did you mean D?"},
		[b]=d,
		[a]=e
	},
	["err_typecheck_call_too_many_args"]={
		[c]="too many ...arguments to ... call, expected B, have C",
		[f]={"too many ",{l,l,l,gc},dc,{m,y,u,Zb}," call, expected B, have C"},
		[b]=d,
		[a]=e
	},
	["err_typecheck_call_too_many_args_at_most"]={
		[c]="too many ...arguments to ... call, expected at most B, have C",
		[f]={"too many ",{l,l,l,gc},dc,{m,y,u,Zb}," call, expected at most B, have C"},
		[b]=d,
		[a]=e
	},
	["err_typecheck_call_too_many_args_at_most_one"]={
		[c]="too many ...arguments to ... call, expected at most single argument B, have C arguments",
		[f]={"too many ",{l,l,l,gc},dc,{m,y,u,Zb}," call, expected at most single argument B, have C arguments"},
		[b]=d,
		[a]=e
	},
	["err_typecheck_call_too_many_args_at_most_suggest"]={
		[c]="too many ...arguments to ... call, expected at most B, have C; did you mean D?",
		[f]={"too many ",{l,l,l,gc},dc,{m,y,u,Zb}," call, expected at most B, have C; did you mean D?"},
		[b]=d,
		[a]=e
	},
	["err_typecheck_call_too_many_args_one"]={
		[c]="too many ...arguments to ... call, expected single argument B, have C arguments",
		[f]={"too many ",{l,l,l,gc},dc,{m,y,u,Zb}," call, expected single argument B, have C arguments"},
		[b]=d,
		[a]=e
	},
	["err_typecheck_call_too_many_args_suggest"]={
		[c]="too many ...arguments to ... call, expected B, have C; did you mean D?",
		[f]={"too many ",{l,l,l,gc},dc,{m,y,u,Zb}," call, expected B, have C; did you mean D?"},
		[b]=d,
		[a]=e
	},
	["err_typecheck_cast_to_incomplete"]={
		[c]="cast to incomplete type A",
		[b]=d,
		[a]=e
	},
	["err_typecheck_cast_to_union_no_type"]={
		[c]="cast to union type from type A not present in union",
		[b]=d,
		[a]=e
	},
	["err_typecheck_choose_expr_requires_constant"]={
		[c]="\'__builtin_choose_expr\' requires a constant expression",
		[b]=d,
		[a]=e
	},
	["err_typecheck_comparison_of_distinct_blocks"]={
		[c]="comparison of distinct block types (A and B)",
		[f]={"comparison of distinct block types",{yc,l}},
		[b]=d,
		[a]=e
	},
	["err_typecheck_comparison_of_distinct_pointers"]={
		[c]="comparison of distinct pointer types (A and B)",
		[f]={"comparison of distinct pointer types",{yc,l}},
		[b]=d,
		[a]=e
	},
	["err_typecheck_comparison_of_fptr_to_void"]={
		[c]="equality comparison between function pointer and void pointer (A and B)",
		[b]=d,
		[a]=e
	},
	["err_typecheck_comparison_of_pointer_integer"]={
		[c]="comparison between pointer and integer (A and B)",
		[b]=d,
		[a]=e
	},
	["err_typecheck_cond_expect_int_float"]={
		[c]="used type A where integer or floating point type is required",
		[b]=d,
		[a]=e
	},
	["err_typecheck_cond_expect_nonfloat"]={
		[c]="used type A where floating point type is not allowed",
		[b]=d,
		[a]=e
	},
	["err_typecheck_cond_expect_scalar"]={
		[c]="used type A where arithmetic or pointer type is required",
		[b]=d,
		[a]=e
	},
	["err_typecheck_cond_incompatible_operands"]={
		[c]="incompatible operand types (A and B)",
		[f]={"incompatible operand types",{yc,l}},
		[b]=d,
		[a]=e
	},
	["err_typecheck_cond_incompatible_operands_null"]={
		[c]="non-pointer operand type A incompatible with ...",
		[f]={"non-pointer operand type A incompatible with ",{"NULL","nullptr"}},
		[b]=d,
		[a]=e
	},
	["err_typecheck_convert_discards_qualifiers"]={
		[c]="... discards qualifiers",
		[f]={{{{ab,G}},{{N,S}},{{T,F}},{{P,R}},{{Q,O}},{{M,L}},{{K,I}}}," discards qualifiers"},
		[b]=d,
		[a]=e
	},
	["err_typecheck_convert_incompatible"]={
		[c]=".........",
		[f]={{{{"assigning to A from incompatible type B","assigning to type from incompatible type"}},{{"passing A to parameter of incompatible type B","passing type to parameter of incompatible type"}},{{"returning A from a function with incompatible result type B","returning type from a function with incompatible result type"}},{{"converting A to incompatible type B","converting type to incompatible type"}},{{"initializing A with an expression of incompatible type B","initializing type with an expression of incompatible type"}},{{"sending A to parameter of incompatible type B","sending type to parameter of incompatible type"}},{{"casting A to incompatible type B","casting type to incompatible type"}}},{l,Tc,Pc,ec,fc},{l,{": different classes",{" (F vs G)",l}},": different number of parameters (F vs G)",{": type mismatch at F parameter",{" (G vs H)",l}},{": different return type",{" (F vs G)",l}},": different qualifiers (F vs G)",": different exception specifications"}},
		[b]=d,
		[a]=e
	},
	["err_typecheck_convert_incompatible_block_pointer"]={
		[c]="incompatible block pointer types ...",
		[f]={"incompatible block pointer types ",{{{ab,G}},{{N,S}},{{T,F}},{{P,R}},{{Q,O}},{{M,L}},{{K,I}}}},
		[b]=d,
		[a]=e
	},
	["err_typecheck_convert_incompatible_function_pointer"]={
		[c]="incompatible function pointer types ......",
		[f]={"incompatible function pointer types ",{{{ab,G}},{{N,S}},{{T,F}},{{P,R}},{{Q,O}},{{M,L}},{{K,I}}},{l,Tc,Pc,ec,fc}},
		[b]=d,
		[a]=e
	},
	["err_typecheck_convert_incompatible_pointer"]={
		[c]="incompatible pointer types ......",
		[f]={"incompatible pointer types ",{{{ab,G}},{{N,S}},{{T,F}},{{P,R}},{{Q,O}},{{M,L}},{{K,I}}},{l,Tc,Pc,ec,fc}},
		[b]=d,
		[a]=e
	},
	["err_typecheck_convert_incompatible_pointer_sign"]={
		[c]="... converts between pointers to integer types ...",
		[f]={{{{ab,G}},{{N,S}},{{T,F}},{{P,R}},{{Q,O}},{{M,L}},{{K,I}}}," converts between pointers to integer types ",{"with different sign","where one is of the unique plain \'char\' type and the other is not"}},
		[b]=d,
		[a]=e
	},
	["err_typecheck_convert_int_pointer"]={
		[c]="incompatible integer to pointer conversion ......",
		[f]={"incompatible integer to pointer conversion ",{{{ab,G}},{{N,S}},{{T,F}},{{P,R}},{{Q,O}},{{M,L}},{{K,I}}},{l,Tc,Pc,ec,fc}},
		[b]=d,
		[a]=e
	},
	["err_typecheck_convert_pointer_int"]={
		[c]="incompatible pointer to integer conversion ......",
		[f]={"incompatible pointer to integer conversion ",{{{ab,G}},{{N,S}},{{T,F}},{{P,R}},{{Q,O}},{{M,L}},{{K,I}}},{l,Tc,Pc,ec,fc}},
		[b]=d,
		[a]=e
	},
	["err_typecheck_convert_pointer_void_func"]={
		[c]="... converts between void pointer and function pointer",
		[f]={{{{ab,G}},{{N,S}},{{T,F}},{{P,R}},{{Q,O}},{{M,L}},{{K,I}}}," converts between void pointer and function pointer"},
		[b]=d,
		[a]=e
	},
	["err_typecheck_converted_constant_expression"]={
		[c]="value of type A is not implicitly convertible to B",
		[b]=d,
		[a]=e
	},
	["err_typecheck_converted_constant_expression_disallowed"]={
		[c]="conversion from A to B is not allowed in a converted constant expression",
		[b]=d,
		[a]=e
	},
	["err_typecheck_converted_constant_expression_indirect"]={
		[c]="conversion from A to B in converted constant expression would bind reference to a temporary",
		[b]=d,
		[a]=e
	},
	["err_typecheck_decl_incomplete_type"]={
		[c]="variable has incomplete type A",
		[b]=d,
		[a]=e
	},
	["err_typecheck_deleted_function"]={
		[c]="conversion function from A to B invokes a deleted function",
		[f]={"conversion function ",{"from A to B","between types"}," invokes a deleted function"},
		[b]=d,
		[a]=e
	},
	["err_typecheck_duplicate_vector_components_not_mlvalue"]={
		[c]="vector is not assignable (contains duplicate components)",
		[b]=d,
		[a]=e
	},
	["err_typecheck_expect_flt_or_vector"]={
		[c]="invalid operand of type A where floating, complex or a vector of such types is required",
		[b]=d,
		[a]=e
	},
	["err_typecheck_expect_int"]={
		[c]="used type A where integer is required",
		[b]=d,
		[a]=e
	},
	["err_typecheck_expect_scalar_operand"]={
		[c]="operand of type A where arithmetic or pointer type is required",
		[b]=d,
		[a]=e
	},
	["err_typecheck_expression_not_modifiable_lvalue"]={
		[c]="expression is not assignable",
		[b]=d,
		[a]=e
	},
	["err_typecheck_field_variable_size"]={
		[c]="fields must have a constant size: \'variable length array in structure\' extension will never be supported",
		[b]=d,
		[a]=e
	},
	["err_typecheck_illegal_increment_decrement"]={
		[c]="cannot ... value of type A",
		[f]={Wb,{Id,wd}," value of type A"},
		[b]=d,
		[a]=e
	},
	["err_typecheck_incompatible_address_space"]={
		[c]="... changes address space of pointer",
		[f]={{{{"assigning B to A",G}},{{N,S}},{{T,F}},{{P,R}},{{Q,O}},{{M,L}},{{K,I}}}," changes address space of pointer"},
		[b]=d,
		[a]=e
	},
	["err_typecheck_incompatible_nested_address_space"]={
		[c]="... changes address space of nested pointer",
		[f]={{{{"assigning B to A",G}},{{N,S}},{{T,F}},{{P,R}},{{Q,O}},{{M,L}},{{K,I}}}," changes address space of nested pointer"},
		[b]=d,
		[a]=e
	},
	["err_typecheck_incompatible_ownership"]={
		[c]="... changes retain/release properties of pointer",
		[f]={{{{"assigning B to A",G}},{{N,S}},{{T,F}},{{P,R}},{{Q,O}},{{M,L}},{{K,I}}}," changes retain/release properties of pointer"},
		[b]=d,
		[a]=e
	},
	["err_typecheck_incomplete_array_needs_initializer"]={
		[c]="definition of variable with array type needs an explicit size or an initializer",
		[b]=d,
		[a]=e
	},
	["err_typecheck_incomplete_tag"]={
		[c]="incomplete definition of type A",
		[b]=d,
		[a]=e
	},
	["err_typecheck_incomplete_type_not_modifiable_lvalue"]={
		[c]="incomplete type A is not assignable",
		[b]=d,
		[a]=e
	},
	["err_typecheck_indirection_requires_pointer"]={
		[c]="indirection requires pointer operand (A invalid)",
		[b]=d,
		[a]=e
	},
	["err_typecheck_indirection_through_void_pointer_cpp"]={
		[c]="indirection not permitted on operand of type A",
		[b]=d,
		[a]=e
	},
	["err_typecheck_invalid_lvalue_addrof"]={
		[c]="cannot take the address of an rvalue of type A",
		[b]=d,
		[a]=e
	},
	["err_typecheck_invalid_lvalue_addrof_addrof_function"]={
		[c]="extra \'&\' taking address of overloaded function",
		[b]=d,
		[a]=e
	},
	["err_typecheck_invalid_operands"]={
		[c]="invalid operands to binary expression (A and B)",
		[b]=d,
		[a]=e
	},
	["err_typecheck_invalid_restrict_invalid_pointee"]={
		[c]="pointer to function type A may not be \'restrict\' qualified",
		[b]=d,
		[a]=e
	},
	["err_typecheck_invalid_restrict_not_pointer"]={
		[c]="restrict requires a pointer or reference (A is invalid)",
		[b]=d,
		[a]=e
	},
	["err_typecheck_invalid_restrict_not_pointer_noarg"]={
		[c]="restrict requires a pointer or reference",
		[b]=d,
		[a]=e
	},
	["err_typecheck_ivar_variable_size"]={
		[c]="instance variables must have a constant size",
		[b]=d,
		[a]=e
	},
	["err_typecheck_logical_vector_expr_gnu_cpp_restrict"]={
		[c]="logical expression with vector ... is only supported in C++",
		[f]={"logical expression with vector ",{"type B and non-vector type C","types B and C"}," is only supported in C++"},
		[b]=d,
		[a]=e
	},
	["err_typecheck_lvalue_casts_not_supported"]={
		[c]="assignment to cast is illegal, lvalue casts are not supported",
		[b]=d,
		[a]=e
	},
	["err_typecheck_member_reference_arrow"]={
		[c]="member reference type A is not a pointer",
		[b]=d,
		[a]=e
	},
	["err_typecheck_member_reference_ivar"]={
		[c]="A does not have a member named B",
		[b]=d,
		[a]=e
	},
	["err_typecheck_member_reference_ivar_suggest"]={
		[c]="A does not have a member named B; did you mean C?",
		[b]=d,
		[a]=e
	},
	["err_typecheck_member_reference_struct_union"]={
		[c]="member reference base type A is not a structure or union",
		[b]=d,
		[a]=e
	},
	["err_typecheck_member_reference_suggestion"]={
		[c]="member reference type A is ... pointer; did you mean to use \'...\'?",
		[f]={"member reference type A is ",{"a","not a"}," pointer; did you mean to use \'",{"->","."},"\'?"},
		[b]=d,
		[a]=e
	},
	["err_typecheck_member_reference_type"]={
		[c]="cannot refer to type member A in B with \'...\'",
		[f]={"cannot refer to type member A in B with \'",{".","->"},x},
		[b]=d,
		[a]=e
	},
	["err_typecheck_member_reference_unknown"]={
		[c]="cannot refer to member A in B with \'...\'",
		[f]={"cannot refer to member A in B with \'",{".","->"},x},
		[b]=d,
		[a]=e
	},
	["err_typecheck_missing_return_type_incompatible"]={
		[c]="return type A must match previous return type B when ... has unspecified explicit return type",
		[f]={{"return type A must match previous return type B","return type must match previous return type"}," when ",{"block literal","lambda expression"}," has unspecified explicit return type"},
		[b]=d,
		[a]=e
	},
	["err_typecheck_negative_array_size"]={
		[c]="array size is negative",
		[b]=d,
		[a]=e
	},
	["err_typecheck_non_object_not_modifiable_lvalue"]={
		[c]="non-object type A is not assignable",
		[b]=d,
		[a]=e
	},
	["err_typecheck_nonviable_condition"]={
		[c]="no viable conversion...",
		[f]={"no viable conversion",{{{" from B to C",l}},{{" from returned value of type B to function return type C",l}}}},
		[b]=d,
		[a]=e
	},
	["err_typecheck_nonviable_condition_incomplete"]={
		[c]="no viable conversion from A to incomplete type B",
		[f]={"no viable conversion",{" from A to incomplete type B",l}},
		[b]=d,
		[a]=e
	},
	["err_typecheck_op_on_nonoverlapping_address_space_pointers"]={
		[c]="... which are pointers to non-overlapping address spaces",
		[f]={{{"comparison between ",{yc,l}},{"arithmetic operation with operands of type ",{yc,l}},{"conditional operator with the second and third operands of type ",{yc,l}}}," which are pointers to non-overlapping address spaces"},
		[b]=d,
		[a]=e
	},
	["err_typecheck_ordered_comparison_of_function_pointers"]={
		[c]="ordered comparison of function pointers (A and B)",
		[b]=d,
		[a]=e
	},
	["err_typecheck_ordered_comparison_of_pointer_and_zero"]={
		[c]="ordered comparison between pointer and zero (A and B)",
		[b]=d,
		[a]=e
	},
	["err_typecheck_pointer_arith_function_type"]={
		[c]="arithmetic on... pointer... to... function type... B...",
		[f]={"arithmetic on",{" a",l}," pointer",{l,cb}," to",{" the",l}," function type",{l,cb},X,{l," and D"}},
		[b]=d,
		[a]=e
	},
	["err_typecheck_pointer_arith_void_type"]={
		[c]="arithmetic on... pointer... to void",
		[f]={"arithmetic on",{" a",l}," pointer",{l,cb}," to void"},
		[b]=d,
		[a]=e
	},
	["err_typecheck_sclass_fscope"]={
		[c]="illegal storage class on file-scoped variable",
		[b]=d,
		[a]=e
	},
	["err_typecheck_sclass_func"]={
		[c]="illegal storage class on function",
		[b]=d,
		[a]=e
	},
	["err_typecheck_statement_requires_integer"]={
		[c]="statement requires expression of integer type (A invalid)",
		[b]=d,
		[a]=e
	},
	["err_typecheck_statement_requires_scalar"]={
		[c]="statement requires expression of scalar type (A invalid)",
		[b]=d,
		[a]=e
	},
	["err_typecheck_sub_ptr_compatible"]={
		[c]="A and B are not pointers to compatible types",
		[f]={{"A and B are not pointers to compatible types","pointers to incompatible types"}},
		[b]=d,
		[a]=e
	},
	["err_typecheck_subscript_not_integer"]={
		[c]="array subscript is not an integer",
		[b]=d,
		[a]=e
	},
	["err_typecheck_subscript_value"]={
		[c]="subscripted value is not an array, pointer, or vector",
		[b]=d,
		[a]=e
	},
	["err_typecheck_sve_rvv_ambiguous"]={
		[c]="cannot combine fixed-length and sizeless ... vectors in expression, result is ambiguous (B and C)",
		[f]={"cannot combine fixed-length and sizeless ",{"SVE","RVV"}," vectors in expression, result is ambiguous (B and C)"},
		[b]=d,
		[a]=e
	},
	["err_typecheck_sve_rvv_gnu_ambiguous"]={
		[c]="cannot combine GNU and ... vectors in expression, result is ambiguous (B and C)",
		[f]={"cannot combine GNU and ",{"SVE","RVV"}," vectors in expression, result is ambiguous (B and C)"},
		[b]=d,
		[a]=e
	},
	["err_typecheck_three_way_comparison_of_pointer_and_zero"]={
		[c]="three-way comparison between pointer and zero",
		[b]=d,
		[a]=e
	},
	["err_typecheck_unary_expr"]={
		[c]="invalid argument type A to unary expression",
		[b]=d,
		[a]=e
	},
	["err_typecheck_vector_lengths_not_equal"]={
		[c]="vector operands do not have the same number of elements (A and B)",
		[b]=d,
		[a]=e
	},
	["err_typecheck_vector_not_convertable"]={
		[c]="cannot convert between vector values of different size (A and B)",
		[b]=d,
		[a]=e
	},
	["err_typecheck_vector_not_convertable_implict_truncation"]={
		[c]="cannot convert between ... type B and vector type C as implicit conversion would cause truncation",
		[f]={"cannot convert between ",{"scalar","vector"}," type B and vector type C as implicit conversion would cause truncation"},
		[b]=d,
		[a]=e
	},
	["err_typecheck_vector_not_convertable_non_scalar"]={
		[c]="cannot convert between vector and non-scalar values (A and B)",
		[b]=d,
		[a]=e
	},
	["err_typecheck_wasm_table_must_have_zero_length"]={
		[c]="only zero-length WebAssembly tables are currently supported",
		[b]=d,
		[a]=e
	},
	["err_typecheck_zero_array_size"]={
		[c]="zero-length arrays are not permitted in ...",
		[f]={"zero-length arrays are not permitted in ",{"C++","SYCL device code"}},
		[b]=d,
		[a]=e
	},
	["err_typedef_changes_linkage"]={
		[c]="unsupported: anonymous type given name for linkage purposes by ... declaration after its linkage was computed; add a tag name here to establish linkage prior to definition",
		[f]={"unsupported: anonymous type given name for linkage purposes by ",{eb,Dc}," declaration after its linkage was computed; add a tag name here to establish linkage prior to definition"},
		[b]=d,
		[a]=e
	},
	["err_typedef_not_bitfield"]={
		[c]="typedef member A cannot be a bit-field",
		[b]=d,
		[a]=e
	},
	["err_typedef_not_identifier"]={
		[c]="typedef name must be an identifier",
		[b]=d,
		[a]=e
	},
	["err_typename_identifiers_only"]={
		[c]="typename is allowed for identifiers only",
		[b]=d,
		[a]=e
	},
	["err_typename_invalid_constexpr"]={
		[c]="type name does not allow ... specifier to be specified",
		[f]={"type name does not allow ",{nb,Y,"constinit"}," specifier to be specified"},
		[b]=d,
		[a]=e
	},
	["err_typename_invalid_functionspec"]={
		[c]="type name does not allow function specifier to be specified",
		[b]=d,
		[a]=e
	},
	["err_typename_invalid_storageclass"]={
		[c]="type name does not allow storage class to be specified",
		[b]=d,
		[a]=e
	},
	["err_typename_missing"]={
		[c]="missing \'typename\' prior to dependent type name \'AB\'",
		[b]=d,
		[a]=e
	},
	["err_typename_missing_template"]={
		[c]="missing \'typename\' prior to dependent type template name \'AB\'",
		[b]=d,
		[a]=e
	},
	["err_typename_nested_not_found"]={
		[c]="no type named A in B",
		[b]=d,
		[a]=e
	},
	["err_typename_nested_not_found_enable_if"]={
		[c]="no type named \'type\' in A; \'enable_if\' cannot be used to disable this declaration",
		[b]=d,
		[a]=e
	},
	["err_typename_nested_not_found_requirement"]={
		[c]="failed requirement \'A\'; \'enable_if\' cannot be used to disable this declaration",
		[b]=d,
		[a]=e
	},
	["err_typename_nested_not_type"]={
		[c]="typename specifier refers to non-type member A in B",
		[b]=d,
		[a]=e
	},
	["err_typename_not_type"]={
		[c]="typename specifier refers to non-type A",
		[b]=d,
		[a]=e
	},
	["err_typename_refers_to_non_type_template"]={
		[c]="typename specifier refers to a non-type template",
		[b]=d,
		[a]=e
	},
	["err_typename_refers_to_using_value_decl"]={
		[c]="typename specifier refers to a dependent using declaration for a value A in B",
		[b]=d,
		[a]=e
	},
	["err_typename_requires_specqual"]={
		[c]="type name requires a specifier or qualifier",
		[b]=d,
		[a]=e
	},
	["err_ucn_control_character"]={
		[c]="universal character name refers to a control character",
		[b]=d,
		[a]=e
	},
	["err_ucn_escape_basic_scs"]={
		[c]="character \'A\' cannot be specified by a universal character name",
		[b]=d,
		[a]=e
	},
	["err_ucn_escape_incomplete"]={
		[c]="incomplete universal character name",
		[b]=d,
		[a]=e
	},
	["err_ucn_escape_invalid"]={
		[c]="invalid universal character",
		[b]=d,
		[a]=e
	},
	["err_unable_to_make_temp"]={
		[c]="unable to make temporary file: A",
		[b]=d,
		[a]=e
	},
	["err_unable_to_rename_temp"]={
		[c]="unable to rename temporary \'A\' to output file \'B\': \'C\'",
		[b]=d,
		[a]=e
	},
	["err_unavailable"]={
		[c]="A is unavailable",
		[b]=d,
		[a]=e
	},
	["err_unavailable_in_arc"]={
		[c]="A is unavailable in ARC",
		[b]=d,
		[a]=e
	},
	["err_unavailable_message"]={
		[c]="A is unavailable: B",
		[b]=d,
		[a]=e
	},
	["err_uncasted_call_of_unknown_any"]={
		[c]="A has unknown return type; cast the call to its declared return type",
		[b]=d,
		[a]=e
	},
	["err_uncasted_send_to_unknown_any_method"]={
		[c]="no known method ...; cast the message send to the method\'s return type",
		[f]={"no known method ",{fd,fd},"; cast the message send to the method\'s return type"},
		[b]=d,
		[a]=e
	},
	["err_uncasted_use_of_unknown_any"]={
		[c]="A has unknown type; cast it to its declared type to use it",
		[b]=d,
		[a]=e
	},
	["err_undeclared_boxing_method"]={
		[c]="declaration of A is missing in B class",
		[b]=d,
		[a]=e
	},
	["err_undeclared_destructor_name"]={
		[c]="undeclared identifier A in destructor name",
		[b]=d,
		[a]=e
	},
	["err_undeclared_label_use"]={
		[c]="use of undeclared label A",
		[b]=d,
		[a]=e
	},
	["err_undeclared_objc_literal_class"]={
		[c]="definition of class A must be available to use Objective-C ...",
		[f]={"definition of class A must be available to use Objective-C ",{"array literals","dictionary literals","numeric literals","boxed expressions","string literals"}},
		[b]=d,
		[a]=e
	},
	["err_undeclared_protocol"]={
		[c]="cannot find protocol declaration for A",
		[b]=d,
		[a]=e
	},
	["err_undeclared_protocol_suggest"]={
		[c]="cannot find protocol declaration for A; did you mean B?",
		[b]=d,
		[a]=e
	},
	["err_undeclared_use"]={
		[c]="use of undeclared A",
		[b]=d,
		[a]=e
	},
	["err_undeclared_use_of_module"]={
		[c]="module A does not depend on a module exporting \'B\'",
		[b]=d,
		[a]=e
	},
	["err_undeclared_use_of_module_indirect"]={
		[c]="module A does not directly depend on a module exporting \'B\', which is part of indirectly-used module C",
		[b]=d,
		[a]=e
	},
	["err_undeclared_use_suggest"]={
		[c]="use of undeclared A; did you mean B?",
		[b]=d,
		[a]=e
	},
	["err_undeclared_var_use"]={
		[c]="use of undeclared identifier A",
		[b]=d,
		[a]=e
	},
	["err_undeclared_var_use_suggest"]={
		[c]="use of undeclared identifier A; did you mean B?",
		[b]=d,
		[a]=e
	},
	["err_undef_interface"]={
		[c]="cannot find interface declaration for A",
		[b]=d,
		[a]=e
	},
	["err_undef_interface_suggest"]={
		[c]="cannot find interface declaration for A; did you mean B?",
		[b]=d,
		[a]=e
	},
	["err_undef_superclass"]={
		[c]="cannot find interface declaration for A, superclass of B",
		[b]=d,
		[a]=e
	},
	["err_undef_superclass_suggest"]={
		[c]="cannot find interface declaration for A, superclass of B; did you mean C?",
		[b]=d,
		[a]=e
	},
	["err_undefined_inline_var"]={
		[c]="inline variable A is not defined",
		[b]=d,
		[a]=e
	},
	["err_undefined_internal_type"]={
		[c]="... B is used but not defined in this translation unit, and cannot be defined in any other translation unit because its type does not have linkage",
		[f]={{m,z}," B is used but not defined in this translation unit, and cannot be defined in any other translation unit because its type does not have linkage"},
		[b]=d,
		[a]=e
	},
	["err_underlying_type_of_incomplete_enum"]={
		[c]="cannot determine underlying type of incomplete enumeration type A",
		[b]=d,
		[a]=e
	},
	["err_unevaluated_string_invalid_escape_sequence"]={
		[c]="invalid escape sequence \'A\' in an unevaluated string literal",
		[b]=d,
		[a]=e
	},
	["err_unevaluated_string_prefix"]={
		[c]="an unevaluated string literal cannot have an encoding prefix",
		[b]=d,
		[a]=e
	},
	["err_unevaluated_string_udl"]={
		[c]="an unevaluated string literal cannot be a user-defined literal",
		[b]=d,
		[a]=e
	},
	["err_unexpanded_parameter_pack"]={
		[c]="... contains an unexpanded parameter pack",
		[f]={{"expression","base type","declaration type","data member type","bit-field size","static assertion","fixed underlying type","enumerator value","using declaration","friend declaration","qualifier","initializer",Bd,"non-type template parameter type","exception type","partial specialization","__if_exists name","__if_not_exists name","lambda",y,"type constraint","requirement","requires clause"}," contains",{" an",l}," unexpanded parameter pack",{l,Z,"s C and D","s C, D, ..."}},
		[b]=d,
		[a]=e
	},
	["err_unexpected_at"]={
		[c]="unexpected \'@\' in program",
		[b]=d,
		[a]=e
	},
	["err_unexpected_colon_in_nested_name_spec"]={
		[c]="unexpected \':\' in nested name specifier; did you mean \'::\'?",
		[b]=d,
		[a]=e
	},
	["err_unexpected_friend"]={
		[c]="friends can only be classes or functions",
		[b]=d,
		[a]=e
	},
	["err_unexpected_interface"]={
		[c]="unexpected interface name A: expected expression",
		[b]=d,
		[a]=e
	},
	["err_unexpected_module_decl"]={
		[c]="module declaration can only appear at the top level",
		[b]=d,
		[a]=e
	},
	["err_unexpected_namespace"]={
		[c]="unexpected namespace name A: expected expression",
		[b]=d,
		[a]=e
	},
	["err_unexpected_namespace_attributes_alias"]={
		[c]="attributes cannot be specified on namespace alias",
		[b]=d,
		[a]=e
	},
	["err_unexpected_nested_namespace_attribute"]={
		[c]="attributes cannot be specified on a nested namespace definition",
		[b]=d,
		[a]=e
	},
	["err_unexpected_protocol_qualifier"]={
		[c]="@implementation declaration cannot be protocol qualified",
		[b]=d,
		[a]=e
	},
	["err_unexpected_scope_on_base_decltype"]={
		[c]="unexpected namespace scope prior to decltype",
		[b]=d,
		[a]=e
	},
	["err_unexpected_semi"]={
		[c]="unexpected \';\' before A",
		[b]=d,
		[a]=e
	},
	["err_unexpected_template_after_using"]={
		[c]="\'template\' keyword not permitted after \'using\' keyword",
		[b]=d,
		[a]=e
	},
	["err_unexpected_template_in_destructor_name"]={
		[c]="\'template\' keyword not permitted in destructor name",
		[b]=d,
		[a]=e
	},
	["err_unexpected_template_in_unqualified_id"]={
		[c]="\'template\' keyword not permitted here",
		[b]=d,
		[a]=e
	},
	["err_unexpected_token_in_nested_name_spec"]={
		[c]="\'A\' cannot be a part of nested name specifier; did you mean \':\'?",
		[b]=d,
		[a]=e
	},
	["err_unexpected_typedef"]={
		[c]="unexpected type name A: expected expression",
		[b]=d,
		[a]=e
	},
	["err_unexpected_typedef_ident"]={
		[c]="unexpected type name A: expected identifier",
		[b]=d,
		[a]=e
	},
	["err_unexpected_unqualified_id"]={
		[c]="type-id cannot have a name",
		[b]=d,
		[a]=e
	},
	["err_unimplemented_conversion_with_fixed_point_type"]={
		[c]="conversion between fixed point and A is not yet supported",
		[b]=d,
		[a]=e
	},
	["err_uninitialized_member_for_assign"]={
		[c]="cannot define the implicit copy assignment operator for A, because non-static ... member C cannot use copy assignment operator",
		[f]={"cannot define the implicit copy assignment operator for A, because non-static ",{E,Lc}," member C cannot use copy assignment operator"},
		[b]=d,
		[a]=e
	},
	["err_uninitialized_member_in_ctor"]={
		[c]="... must explicitly initialize the ... member D",
		[f]={{"constructor for B","implicit default constructor for B","cannot use constructor inherited from B:"}," must explicitly initialize the ",{E,Lc}," member D"},
		[b]=d,
		[a]=e
	},
	["err_union_as_base_class"]={
		[c]="unions cannot be base classes",
		[b]=d,
		[a]=e
	},
	["err_union_member_of_reference_type"]={
		[c]="union member A has reference type B",
		[b]=d,
		[a]=e
	},
	["err_unknown_analyzer_checker_or_package"]={
		[c]="no analyzer checkers or packages are associated with \'A\'",
		[b]=d,
		[a]=e
	},
	["err_unknown_any_addrof"]={
		[c]="the address of a declaration with unknown type can only be cast to a pointer type",
		[b]=d,
		[a]=e
	},
	["err_unknown_any_addrof_call"]={
		[c]="address-of operator cannot be applied to a call to a function with unknown return type",
		[b]=d,
		[a]=e
	},
	["err_unknown_any_function"]={
		[c]="function A with unknown type must be given a function type",
		[b]=d,
		[a]=e
	},
	["err_unknown_any_var_function_type"]={
		[c]="variable A with unknown type cannot be given a function type",
		[b]=d,
		[a]=e
	},
	["err_unknown_hlsl_semantic"]={
		[c]="unknown HLSL semantic A",
		[b]=d,
		[a]=e
	},
	["err_unknown_nested_typename_suggest"]={
		[c]="no type named A in B; did you mean ...D?",
		[f]={"no type named A in B; did you mean ",{l,"simply "},"D?"},
		[b]=d,
		[a]=e
	},
	["err_unknown_receiver_suggest"]={
		[c]="unknown receiver A; did you mean B?",
		[b]=d,
		[a]=e
	},
	["err_unknown_template_name"]={
		[c]="unknown template name A",
		[b]=d,
		[a]=e
	},
	["err_unknown_type_or_class_name_suggest"]={
		[c]="unknown ... name A; did you mean C?",
		[f]={"unknown ",{a,o}," name A; did you mean C?"},
		[b]=d,
		[a]=e
	},
	["err_unknown_typename"]={
		[c]="unknown type name A",
		[b]=d,
		[a]=e
	},
	["err_unknown_typename_suggest"]={
		[c]="unknown type name A; did you mean B?",
		[b]=d,
		[a]=e
	},
	["err_unofficial_altivec_support_not_enabled"]={
		[c]="\"AltiVec support not enabled\"",
		[b]=d,
		[a]=e
	},
	["err_unofficial_asm_invalid_register_name"]={
		[c]="invalid register name",
		[b]=d,
		[a]=e
	},
	["err_unofficial_cannot_compile_this_yet"]={
		[c]="cannot compile this A yet",
		[b]=d,
		[a]=e
	},
	["err_unofficial_coroutine_requires_fcoroutines"]={
		[c]="\"the <coroutine> header requires -fcoroutines\"",
		[b]=d,
		[a]=e
	},
	["err_unofficial_cuda_unsupported_unified_addressing"]={
		[c]="Target architecture A does not support unified addressing",
		[b]=d,
		[a]=e
	},
	["err_unofficial_gcov_failed_to_open_coverage_notes_file_for_writing"]={
		[c]="failed to open coverage notes file for writing: A",
		[b]=d,
		[a]=e
	},
	["err_unofficial_header_arm_mve_support_not_enabled"]={
		[c]="\"MVE support not enabled\"",
		[b]=d,
		[a]=e
	},
	["err_unofficial_header_arm_neon_intrinsics_not_available"]={
		[c]="\"NEON intrinsics not available with the soft-float ABI. Please use -mfloat-abi=softfp or -mfloat-abi=hard\"",
		[b]=d,
		[a]=e
	},
	["err_unofficial_header_arm_neon_support_not_enabled"]={
		[c]="\"NEON support not enabled\"",
		[b]=d,
		[a]=e
	},
	["err_unofficial_header_arm_sve_big_endian_not_supported"]={
		[c]="\"Big endian is currently not supported for A\"",
		[b]=d,
		[a]=e
	},
	["err_unofficial_header_cxx11_required"]={
		[c]="This file requires compiler and library support for the ISO C++ 2011 standard. This support must be enabled with the -std=c++11 or -std=gnu++11 compiler options.",
		[b]=d,
		[a]=e
	},
	["err_unofficial_reading_profile"]={
		[c]="Error in reading profile A: B",
		[b]=d,
		[a]=e
	},
	["err_unofficial_requires_hosted"]={
		[c]="\"This header is not available in freestanding mode.\"",
		[b]=d,
		[a]=e
	},
	["err_unparenthesized_non_primary_expr_in_requires_clause"]={
		[c]="parentheses are required around this expression in a requires clause",
		[b]=d,
		[a]=e
	},
	["err_unqualified_pointer_member_function"]={
		[c]="must explicitly qualify name of member function when taking its address",
		[b]=d,
		[a]=e
	},
	["err_unspecified_size_with_static"]={
		[c]="\'static\' may not be used without an array size",
		[b]=d,
		[a]=e
	},
	["err_unspecified_vla_size_with_static"]={
		[c]="\'static\' may not be used with an unspecified variable length array size",
		[b]=d,
		[a]=e
	},
	["err_unsupported_abi_for_opt"]={
		[c]="\'A\' can only be used with the \'B\' ABI",
		[b]=d,
		[a]=e
	},
	["err_unsupported_ast_node"]={
		[c]="cannot import unsupported AST node A",
		[b]=d,
		[a]=e
	},
	["err_unsupported_bom"]={
		[c]="A byte order mark detected in \'B\', but encoding is not supported",
		[b]=s,
		[a]=t
	},
	["err_unsupported_cxx_abi"]={
		[c]="C++ ABI \'A\' is not supported on target triple \'B\'",
		[b]=d,
		[a]=e
	},
	["err_unsupported_module_partition"]={
		[c]="module partitions are only supported for C++20 onwards",
		[b]=d,
		[a]=e
	},
	["err_unsupported_placeholder_constraint"]={
		[c]="constrained placeholder types other than simple \'auto\' on non-type template parameters not supported yet",
		[b]=d,
		[a]=e
	},
	["err_unsupported_string_concat"]={
		[c]="unsupported non-standard concatenation of string literals",
		[b]=d,
		[a]=e
	},
	["err_unsupported_unknown_any_call"]={
		[c]="call to unsupported expression with unknown type",
		[b]=d,
		[a]=e
	},
	["err_unsupported_unknown_any_decl"]={
		[c]="A has unknown type, which is not supported for this kind of declaration",
		[b]=d,
		[a]=e
	},
	["err_unsupported_unknown_any_expr"]={
		[c]="unsupported expression with unknown type",
		[b]=d,
		[a]=e
	},
	["err_unterm_macro_invoc"]={
		[c]="unterminated function-like macro invocation",
		[b]=d,
		[a]=e
	},
	["err_unterminated___pragma"]={
		[c]="missing terminating \')\' character",
		[b]=d,
		[a]=e
	},
	["err_unterminated_block_comment"]={
		[c]="unterminated /* comment",
		[b]=d,
		[a]=e
	},
	["err_unterminated_raw_string"]={
		[c]="raw string missing terminating delimiter )A\"",
		[b]=d,
		[a]=e
	},
	["err_upcast_to_inaccessible_base"]={
		[c]="cannot cast A to its ... base class B",
		[f]={"cannot cast A to its ",{C,D}," base class B"},
		[b]=d,
		[a]=e
	},
	["err_use_continuation_class"]={
		[c]="illegal redeclaration of property in class extension A (attribute must be \'readwrite\', while its primary must be \'readonly\')",
		[b]=d,
		[a]=e
	},
	["err_use_continuation_class_redeclaration_readwrite"]={
		[c]="illegal redeclaration of \'readwrite\' property in class extension A (perhaps you intended this to be a \'readwrite\' redeclaration of a \'readonly\' public property?)",
		[b]=d,
		[a]=e
	},
	["err_use_of_default_argument_to_function_declared_later"]={
		[c]="use of default argument to function A that is declared later in class B",
		[b]=d,
		[a]=e
	},
	["err_use_of_empty_using_if_exists"]={
		[c]="reference to unresolved using declaration",
		[b]=d,
		[a]=e
	},
	["err_use_of_tag_name_without_tag"]={
		[c]="must use \'B\' tag to refer to type A...",
		[f]={"must use \'B\' tag to refer to type A",{l," in this scope"}},
		[b]=d,
		[a]=e
	},
	["err_use_of_unaddressable_function"]={
		[c]="taking address of non-addressable standard library function",
		[b]=d,
		[a]=e
	},
	["err_use_with_wrong_tag"]={
		[c]="use of A with tag type that does not match previous declaration",
		[b]=d,
		[a]=e
	},
	["err_using_attribute_ns_conflict"]={
		[c]="attribute with scope specifier cannot follow default scope specifier",
		[b]=d,
		[a]=e
	},
	["err_using_decl_can_not_refer_to_class_member"]={
		[c]="using declaration cannot refer to class member",
		[b]=d,
		[a]=e
	},
	["err_using_decl_can_not_refer_to_namespace"]={
		[c]="using declaration cannot refer to a namespace",
		[b]=d,
		[a]=e
	},
	["err_using_decl_conflict"]={
		[c]="target of using declaration conflicts with declaration already in scope",
		[b]=d,
		[a]=e
	},
	["err_using_decl_conflict_reverse"]={
		[c]="declaration conflicts with target of using declaration already in scope",
		[b]=d,
		[a]=e
	},
	["err_using_decl_constructor"]={
		[c]="using declaration cannot refer to a constructor",
		[b]=d,
		[a]=e
	},
	["err_using_decl_constructor_not_in_direct_base"]={
		[c]="A is not a direct base of B, cannot inherit constructors",
		[b]=d,
		[a]=e
	},
	["err_using_decl_destructor"]={
		[c]="using declaration cannot refer to a destructor",
		[b]=d,
		[a]=e
	},
	["err_using_decl_friend"]={
		[c]="cannot befriend target of using declaration",
		[b]=d,
		[a]=e
	},
	["err_using_decl_nested_name_specifier_is_current_class"]={
		[c]="using declaration refers to its own class",
		[b]=d,
		[a]=e
	},
	["err_using_decl_nested_name_specifier_is_not_base_class"]={
		[c]="using declaration refers into \'A\', which is not a base class of B",
		[b]=d,
		[a]=e
	},
	["err_using_decl_nested_name_specifier_is_not_class"]={
		[c]="using declaration in class refers into \'A\', which is not a class",
		[b]=d,
		[a]=e
	},
	["err_using_decl_redeclaration"]={
		[c]="redeclaration of using declaration",
		[b]=d,
		[a]=e
	},
	["err_using_decl_redeclaration_expansion"]={
		[c]="using declaration pack expansion at block scope produces multiple values",
		[b]=d,
		[a]=e
	},
	["err_using_decl_template_id"]={
		[c]="using declaration cannot refer to a template specialization",
		[b]=d,
		[a]=e
	},
	["err_using_dependent_value_is_type"]={
		[c]="dependent using declaration resolved to type without \'typename\'",
		[b]=d,
		[a]=e
	},
	["err_using_directive_member_suggest"]={
		[c]="no namespace named A in B; did you mean ...D?",
		[f]={"no namespace named A in B; did you mean ",{l,"simply "},"D?"},
		[b]=d,
		[a]=e
	},
	["err_using_directive_suggest"]={
		[c]="no namespace named A; did you mean B?",
		[b]=d,
		[a]=e
	},
	["err_using_enum_decl_redeclaration"]={
		[c]="redeclaration of using-enum declaration",
		[b]=d,
		[a]=e
	},
	["err_using_enum_expect_identifier"]={
		[c]="using enum ...",
		[f]={"using enum ",{"requires an enum or typedef name","does not permit an elaborated enum specifier"}},
		[b]=d,
		[a]=e
	},
	["err_using_enum_is_dependent"]={
		[c]="using-enum cannot name a dependent type",
		[b]=d,
		[a]=e
	},
	["err_using_enum_not_enum"]={
		[c]="A is not an enumerated type",
		[b]=d,
		[a]=e
	},
	["err_using_if_exists_on_ctor"]={
		[c]="\'using_if_exists\' attribute cannot be applied to an inheriting constructor",
		[b]=d,
		[a]=e
	},
	["err_using_namespace_in_class"]={
		[c]="\'using namespace\' is not allowed in classes",
		[b]=d,
		[a]=e
	},
	["err_using_pack_expansion_empty"]={
		[c]="... using declaration B instantiates to an empty pack",
		[f]={{l,tc}," using declaration B instantiates to an empty pack"},
		[b]=d,
		[a]=e
	},
	["err_using_requires_qualname"]={
		[c]="using declaration requires a qualified name",
		[b]=d,
		[a]=e
	},
	["err_using_typename_non_type"]={
		[c]="\'typename\' keyword used on a non-type",
		[b]=d,
		[a]=e
	},
	["err_uuidof_with_multiple_guids"]={
		[c]="cannot call operator __uuidof on a type with multiple GUIDs",
		[b]=d,
		[a]=e
	},
	["err_uuidof_without_guid"]={
		[c]="cannot call operator __uuidof on a type with no GUID",
		[b]=d,
		[a]=e
	},
	["err_va_arg_in_device"]={
		[c]="CUDA device code does not support va_arg",
		[b]=d,
		[a]=e
	},
	["err_va_start_captured_stmt"]={
		[c]="\'va_start\' cannot be used in a captured statement",
		[b]=d,
		[a]=e
	},
	["err_va_start_fixed_function"]={
		[c]="\'va_start\' used in function with fixed args",
		[b]=d,
		[a]=e
	},
	["err_va_start_outside_function"]={
		[c]="\'va_start\' cannot be used outside a function",
		[b]=d,
		[a]=e
	},
	["err_va_start_used_in_wrong_abi_function"]={
		[c]="\'va_start\' used in ... ABI function",
		[f]={"\'va_start\' used in ",{"System V","Win64"}," ABI function"},
		[b]=d,
		[a]=e
	},
	["err_value_init_for_array_type"]={
		[c]="array types cannot be value-initialized",
		[b]=d,
		[a]=e
	},
	["err_vaopt_paste_at_end"]={
		[c]="\'##\' cannot appear at end of __VA_OPT__ argument",
		[b]=d,
		[a]=e
	},
	["err_vaopt_paste_at_start"]={
		[c]="\'##\' cannot appear at start of __VA_OPT__ argument",
		[b]=d,
		[a]=e
	},
	["err_var_partial_spec_redeclared"]={
		[c]="variable template partial specialization A cannot be redefined",
		[b]=d,
		[a]=e
	},
	["err_var_spec_no_template"]={
		[c]="no variable template matches... specialization",
		[f]={"no variable template matches",{l," partial"}," specialization"},
		[b]=d,
		[a]=e
	},
	["err_var_spec_no_template_but_method"]={
		[c]="no variable template matches specialization; did you mean to use A as function template instead?",
		[b]=d,
		[a]=e
	},
	["err_variable_instantiates_to_function"]={
		[c]="... instantiated with function type B",
		[f]={{z,"static data member"}," instantiated with function type B"},
		[b]=d,
		[a]=e
	},
	["err_variable_object_no_init"]={
		[c]="variable-sized object may not be initialized",
		[b]=d,
		[a]=e
	},
	["err_variably_modified_new_type"]={
		[c]="\'new\' cannot allocate object of variably modified type A",
		[b]=d,
		[a]=e
	},
	["err_variably_modified_nontype_template_param"]={
		[c]="non-type template parameter of variably modified type A",
		[b]=d,
		[a]=e
	},
	["err_variably_modified_template_arg"]={
		[c]="variably modified type A cannot be used as a template argument",
		[b]=d,
		[a]=e
	},
	["err_variably_modified_typeid"]={
		[c]="\'typeid\' of variably modified type A",
		[b]=d,
		[a]=e
	},
	["err_variadic_device_fn"]={
		[c]="CUDA device code does not support variadic functions",
		[b]=d,
		[a]=e
	},
	["err_vec_builtin_incompatible_vector"]={
		[c]="first two arguments to A must have the same type",
		[b]=d,
		[a]=e
	},
	["err_vec_builtin_non_vector"]={
		[c]="first two arguments to A must be vectors",
		[b]=d,
		[a]=e
	},
	["err_vecstep_non_scalar_vector_type"]={
		[c]="\'vec_step\' requires built-in scalar or vector type, A invalid",
		[b]=d,
		[a]=e
	},
	["err_vector_incorrect_num_initializers"]={
		[c]="... elements in vector initialization (expected B elements, have C)",
		[f]={{"too many","too few"}," elements in vector initialization (expected B elements, have C)"},
		[b]=d,
		[a]=e
	},
	["err_verify_ambiguous_marker"]={
		[c]="reference to marker \'A\' is ambiguous",
		[b]=d,
		[a]=e
	},
	["err_verify_inconsistent_diags"]={
		[c]="\'A\' diagnostics ... but not ...: C",
		[f]={"\'A\' diagnostics ",{"expected","seen"}," but not ",{"seen","expected"},": C"},
		[b]=d,
		[a]=e
	},
	["err_verify_invalid_content"]={
		[c]="invalid expected A: B",
		[b]=d,
		[a]=e
	},
	["err_verify_invalid_no_diags"]={
		[c]="... directive cannot follow ...",
		[f]={{"expected","\'expected-no-diagnostics\'"}," directive cannot follow ",{"\'expected-no-diagnostics\' directive","other expected directives"}},
		[b]=d,
		[a]=e
	},
	["err_verify_invalid_range"]={
		[c]="invalid range following \'-\' in expected A",
		[b]=d,
		[a]=e
	},
	["err_verify_missing_end"]={
		[c]="cannot find end (\'}}\') of expected A",
		[b]=d,
		[a]=e
	},
	["err_verify_missing_file"]={
		[c]="file \'A\' could not be located in expected B",
		[b]=d,
		[a]=e
	},
	["err_verify_missing_line"]={
		[c]="missing or invalid line number following \'@\' in expected A",
		[b]=d,
		[a]=e
	},
	["err_verify_missing_regex"]={
		[c]="cannot find start of regex (\'{{\') in A",
		[b]=d,
		[a]=e
	},
	["err_verify_missing_start"]={
		[c]="cannot find start (\'{{\') of expected A",
		[b]=d,
		[a]=e
	},
	["err_verify_no_directives"]={
		[c]="no expected directives found: consider use of \'expected-no-diagnostics\'",
		[b]=d,
		[a]=e
	},
	["err_verify_no_such_marker"]={
		[c]="use of undefined marker \'A\'",
		[b]=d,
		[a]=e
	},
	["err_verify_nonconst_addrspace"]={
		[c]="qualifier \'const\' is needed for variables in address space \'A\'",
		[b]=d,
		[a]=e
	},
	["err_vftable_ambiguous_component"]={
		[c]="ambiguous vftable component for A introduced via covariant thunks; this is an inherent limitation of the ABI",
		[b]=d,
		[a]=e
	},
	["err_virt_specifier_outside_class"]={
		[c]="\'A\' specifier is not allowed outside a class definition",
		[b]=d,
		[a]=e
	},
	["err_virtual_in_union"]={
		[c]="unions cannot have virtual functions",
		[b]=d,
		[a]=e
	},
	["err_virtual_member_function_template"]={
		[c]="\'virtual\' cannot be specified on member function templates",
		[b]=d,
		[a]=e
	},
	["err_virtual_non_function"]={
		[c]="\'virtual\' can only appear on non-static member functions",
		[b]=d,
		[a]=e
	},
	["err_virtual_out_of_class"]={
		[c]="\'virtual\' can only be specified inside the class definition",
		[b]=d,
		[a]=e
	},
	["err_vla_decl_has_extern_linkage"]={
		[c]="variable length array declaration cannot have \'extern\' linkage",
		[b]=d,
		[a]=e
	},
	["err_vla_decl_has_static_storage"]={
		[c]="variable length array declaration cannot have \'static\' storage duration",
		[b]=d,
		[a]=e
	},
	["err_vla_decl_in_file_scope"]={
		[c]="variable length array declaration not allowed at file scope",
		[b]=d,
		[a]=e
	},
	["err_vla_in_sfinae"]={
		[c]="variable length array cannot be formed during template argument deduction",
		[b]=d,
		[a]=e
	},
	["err_vla_unsupported"]={
		[c]="variable length arrays are not supported for ...",
		[f]={"variable length arrays are not supported for ",{"the current target",Sb}},
		[b]=d,
		[a]=e
	},
	["err_vm_decl_has_extern_linkage"]={
		[c]="variably modified type declaration cannot have \'extern\' linkage",
		[b]=d,
		[a]=e
	},
	["err_vm_decl_in_file_scope"]={
		[c]="variably modified type declaration not allowed at file scope",
		[b]=d,
		[a]=e
	},
	["err_vm_func_decl"]={
		[c]="function declaration cannot have variably modified type",
		[b]=d,
		[a]=e
	},
	["err_void_only_param"]={
		[c]="\'void\' must be the first and only parameter if specified",
		[b]=d,
		[a]=e
	},
	["err_void_param_qualified"]={
		[c]="\'void\' as parameter must not have type qualifiers",
		[b]=d,
		[a]=e
	},
	["err_volatile_comparison_operator"]={
		[c]="defaulted comparison function must not be volatile",
		[b]=d,
		[a]=e
	},
	["err_vsx_builtin_nonconstant_argument"]={
		[c]="argument A to B must be a 2-bit unsigned literal (i.e. 0, 1, 2 or 3)",
		[b]=d,
		[a]=e
	},
	["err_wasm_builtin_arg_must_be_integer_type"]={
		[c]="A argument must be an integer",
		[b]=d,
		[a]=e
	},
	["err_wasm_builtin_arg_must_be_table_type"]={
		[c]="A argument must be a WebAssembly table",
		[b]=d,
		[a]=e
	},
	["err_wasm_builtin_arg_must_match_table_element_type"]={
		[c]="A argument must match the element type of the WebAssembly table in the B argument",
		[b]=d,
		[a]=e
	},
	["err_wasm_ca_reference"]={
		[c]="cannot ... WebAssembly reference",
		[f]={Wb,{"capture","take address of"}," WebAssembly reference"},
		[b]=d,
		[a]=e
	},
	["err_wasm_cast_table"]={
		[c]="cannot cast ... a WebAssembly table",
		[f]={"cannot cast ",{"to",Ed}," a WebAssembly table"},
		[b]=d,
		[a]=e
	},
	["err_wasm_funcref_not_wasm"]={
		[c]="invalid use of \'__funcref\' keyword outside the WebAssembly triple",
		[b]=d,
		[a]=e
	},
	["err_wasm_reference_pr"]={
		[c]="... to WebAssembly reference type is not allowed",
		[f]={{W,E}," to WebAssembly reference type is not allowed"},
		[b]=d,
		[a]=e
	},
	["err_wasm_reftype_exception_spec"]={
		[c]="WebAssembly reference type not allowed in exception specification",
		[b]=d,
		[a]=e
	},
	["err_wasm_reftype_multidimensional_array"]={
		[c]="multi-dimensional arrays of WebAssembly references are not allowed",
		[b]=d,
		[a]=e
	},
	["err_wasm_reftype_tc"]={
		[c]="cannot ... a WebAssembly reference type",
		[f]={Wb,{"throw","catch"}," a WebAssembly reference type"},
		[b]=d,
		[a]=e
	},
	["err_wasm_table_art"]={
		[c]="cannot ... a WebAssembly table",
		[f]={Wb,{"assign",Ad,"throw","subscript"}," a WebAssembly table"},
		[b]=d,
		[a]=e
	},
	["err_wasm_table_as_function_parameter"]={
		[c]="cannot use WebAssembly table as a function parameter",
		[b]=d,
		[a]=e
	},
	["err_wasm_table_conditional_expression"]={
		[c]="cannot use a WebAssembly table within a branch of a conditional expression",
		[b]=d,
		[a]=e
	},
	["err_wasm_table_in_function"]={
		[c]="WebAssembly table cannot be declared within a function",
		[b]=d,
		[a]=e
	},
	["err_wasm_table_invalid_uett_operand"]={
		[c]="invalid application of \'A\' to WebAssembly table",
		[b]=d,
		[a]=e
	},
	["err_wasm_table_must_be_static"]={
		[c]="WebAssembly table must be static",
		[b]=d,
		[a]=e
	},
	["err_wasm_table_pr"]={
		[c]="cannot form a ... to a WebAssembly table",
		[f]={"cannot form a ",{W,E}," to a WebAssembly table"},
		[b]=d,
		[a]=e
	},
	["err_weak_property"]={
		[c]="existing instance variable B for __weak property A must be __weak",
		[b]=d,
		[a]=e
	},
	["err_while_loop_outside_of_a_function"]={
		[c]="while loop outside of a function",
		[b]=d,
		[a]=e
	},
	["err_wrong_sampler_addressspace"]={
		[c]="sampler type cannot be used with the __local and __global address space qualifiers",
		[b]=d,
		[a]=e
	},
	["err_x86_builtin_invalid_rounding"]={
		[c]="invalid rounding argument",
		[b]=d,
		[a]=e
	},
	["err_x86_builtin_invalid_scale"]={
		[c]="scale argument must be 1, 2, 4, or 8",
		[b]=d,
		[a]=e
	},
	["err_x86_builtin_tile_arg_duplicate"]={
		[c]="tile arguments must refer to different tiles",
		[b]=d,
		[a]=e
	},
	["err_zero_version"]={
		[c]="version number must have non-zero major, minor, or sub-minor version",
		[b]=d,
		[a]=e
	},
	["error_cconv_unsupported"]={
		[c]="A calling convention is not supported ...",
		[f]={"A calling convention is not supported ",{"for this target","on variadic function","on constructor/destructor","on builtin function"}},
		[b]=d,
		[a]=e
	},
	["error_duplicate_asm_operand_name"]={
		[c]="duplicate use of asm operand name \"A\"",
		[b]=d,
		[a]=e
	},
	["error_inoutput_conflict_with_clobber"]={
		[c]="asm-specifier for input or output variable conflicts with asm clobber list",
		[b]=d,
		[a]=e
	},
	["error_subscript_overload"]={
		[c]="overloaded A cannot have ... parameter before C++23",
		[f]={"overloaded A cannot have ",{fb,"a defaulted","more than one"}," parameter before C++23"},
		[b]=d,
		[a]=e
	},
	["escaped_newline_block_comment_end"]={
		[c]="escaped newline between */ characters at block comment end [-Wcomment]",
		[f]="escaped newline between */ characters at block comment end",
		[b]=g,
		[a]=h
	},
	["ext_abstract_pack_declarator_parens"]={
		[c]="ISO C++11 requires a parenthesized pack declaration to have a name [-Wanonymous-pack-parens]",
		[f]="ISO C++11 requires a parenthesized pack declaration to have a name",
		[b]=g,
		[a]=h
	},
	["ext_adl_only_template_id"]={
		[c]="use of function template name with no prior declaration in function call with explicit template arguments is a C++20 extension [-Wc++20-extensions]",
		[f]="use of function template name with no prior declaration in function call with explicit template arguments is a C++20 extension",
		[b]=g,
		[a]=h
	},
	["ext_aggregate_init_not_constant"]={
		[c]="initializer for aggregate is not a compile-time constant [-Wc99-extensions]",
		[f]="initializer for aggregate is not a compile-time constant",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_alias_declaration"]={
		[c]="alias declarations are a C++11 extension [-Wc++11-extensions]",
		[f]="alias declarations are a C++11 extension",
		[b]=g,
		[a]=h
	},
	["ext_alias_in_init_statement"]={
		[c]="alias declaration in this context is a C++23 extension [-Wc++23-extensions]",
		[f]="alias declaration in this context is a C++23 extension",
		[b]=g,
		[a]=h
	},
	["ext_alignof_expr"]={
		[c]="A applied to an expression is a GNU extension [-Wgnu-alignof-expression]",
		[f]="A applied to an expression is a GNU extension",
		[b]=g,
		[a]=h
	},
	["ext_anonymous_record_with_anonymous_type"]={
		[c]="anonymous types declared in an anonymous ... are an extension [-Wnested-anon-types]",
		[f]={"anonymous types declared in an anonymous ",{r,v}," are an extension"},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_anonymous_record_with_type"]={
		[c]="types declared in an anonymous ... are a Microsoft extension [-Wmicrosoft-anon-tag]",
		[f]={"types declared in an anonymous ",{r,v}," are a Microsoft extension"},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_anonymous_struct_union_qualified"]={
		[c]="anonymous ... cannot be \'B\' [-Wpedantic]",
		[f]={"anonymous ",{r,v}," cannot be \'B\'"},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_anonymous_union"]={
		[c]="anonymous unions are a C11 extension [-Wc11-extensions]",
		[f]="anonymous unions are a C11 extension",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_array_init_copy"]={
		[c]="initialization of an array of type A from a compound literal of type B is a GNU extension [-Wgnu-compound-literal-initializer]",
		[f]={"initialization of an array ",{"of type A from a compound literal of type B","from a compound literal"}," is a GNU extension"},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_array_init_parens"]={
		[c]="parenthesized initialization of a member array is a GNU extension [-Wgnu-array-member-paren-init]",
		[f]="parenthesized initialization of a member array is a GNU extension",
		[b]=d,
		[a]=q
	},
	["ext_array_size_conversion"]={
		[c]="implicit conversion from array size expression of type A to ... type C is a C++11 extension [-Wc++11-extensions]",
		[f]={"implicit conversion from array size expression of type A to ",{wc,Fc}," type C is a C++11 extension"},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_auto_new_list_init"]={
		[c]="ISO C++ standards before C++17 do not allow new expression for type A to use list-initialization [-Wc++17-extensions]",
		[f]="ISO C++ standards before C++17 do not allow new expression for type A to use list-initialization",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_auto_storage_class"]={
		[c]="\'auto\' storage class specifier is not permitted in C++11, and will not be supported in future releases [-Wauto-storage-class]",
		[f]="\'auto\' storage class specifier is not permitted in C++11, and will not be supported in future releases",
		[b]=g,
		[a]=h
	},
	["ext_auto_type"]={
		[c]="\'__auto_type\' is a GNU extension [-Wgnu-auto-type]",
		[f]="\'__auto_type\' is a GNU extension",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_auto_type_specifier"]={
		[c]="\'auto\' type specifier is a C++11 extension [-Wc++11-extensions]",
		[f]="\'auto\' type specifier is a C++11 extension",
		[b]=g,
		[a]=h
	},
	["ext_bad_cxx_cast_qualifiers_away_incoherent"]={
		[c]="ISO C++ does not allow ... from B to C because it casts away qualifiers, even though the source and destination types are unrelated [-Wcast-qual-unrelated]",
		[f]={"ISO C++ does not allow ",{Xc,Cc,yb,mc,Bb,vc,l}," from B to C because it casts away qualifiers, even though the source and destination types are unrelated"},
		[b]=g,
		[a]=h
	},
	["ext_binary_literal"]={
		[c]="binary integer literals are a GNU extension [-Wgnu-binary-literal]",
		[f]="binary integer literals are a GNU extension",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_binary_literal_cxx14"]={
		[c]="binary integer literals are a C++14 extension [-Wc++14-binary-literal]",
		[f]="binary integer literals are a C++14 extension",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_bit_int"]={
		[c]="\'_BitInt\' in ... is a Clang extension [-Wbit-int-extension]",
		[f]={"\'_BitInt\' in ",{"C17 and earlier","C++"}," is a Clang extension"},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_bitfield_member_init"]={
		[c]="default member initializer for bit-field is a C++20 extension [-Wc++20-extensions]",
		[f]="default member initializer for bit-field is a C++20 extension",
		[b]=g,
		[a]=h
	},
	["ext_c11_anonymous_struct"]={
		[c]="anonymous structs are a C11 extension [-Wc11-extensions]",
		[f]="anonymous structs are a C11 extension",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_c11_feature"]={
		[c]="\'A\' is a C11 extension [-Wc11-extensions]",
		[f]="\'A\' is a C11 extension",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_c2x_bitint_suffix"]={
		[c]="\'_BitInt\' suffix for literals is a C2x extension [-Wc2x-extensions]",
		[f]="\'_BitInt\' suffix for literals is a C2x extension",
		[b]=g,
		[a]=h
	},
	["ext_c2x_pp_directive"]={
		[c]="use of a \'#...\' directive is a C2x extension [-Wc2x-extensions]",
		[f]={"use of a \'#",{"elifdef","elifndef"},"\' directive is a C2x extension"},
		[b]=g,
		[a]=h
	},
	["ext_c99_array_usage"]={
		[c]="...array size ...is a C99 feature [-Wc99-extensions]",
		[f]={{"qualifier in ","static ",l},"array size ",{l,l,"\'[*] \'"},"is a C99 feature"},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_c99_compound_literal"]={
		[c]="compound literals are a C99-specific feature [-Wc99-extensions]",
		[f]="compound literals are a C99-specific feature",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_c99_feature"]={
		[c]="\'A\' is a C99 extension [-Wc99-extensions]",
		[f]="\'A\' is a C99 extension",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_c99_flexible_array_member"]={
		[c]="flexible array members are a C99 feature [-Wc99-extensions]",
		[f]="flexible array members are a C99 feature",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_c99_longlong"]={
		[c]="\'long long\' is an extension when C99 mode is not enabled [-Wlong-long]",
		[f]="\'long long\' is an extension when C99 mode is not enabled",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_c99_variable_decl_in_for_loop"]={
		[c]="variable declaration in for loop is a C99-specific feature [-Wc99-extensions]",
		[f]="variable declaration in for loop is a C99-specific feature",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_c99_whitespace_required_after_macro_name"]={
		[c]="ISO C99 requires whitespace after the macro name [-Wc99-extensions]",
		[f]="ISO C99 requires whitespace after the macro name",
		[b]=g,
		[a]=h
	},
	["ext_c_empty_initializer"]={
		[c]="use of an empty initializer is a C2x extension [-Wc2x-extensions]",
		[f]="use of an empty initializer is a C2x extension",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_c_label_end_of_compound_statement"]={
		[c]="label at end of compound statement is a C2x extension [-Wc2x-extensions]",
		[f]="label at end of compound statement is a C2x extension",
		[b]=g,
		[a]=h
	},
	["ext_c_nullptr"]={
		[c]="\'nullptr\' is a C2x extension [-Wc2x-extensions]",
		[f]="\'nullptr\' is a C2x extension",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_c_static_assert_no_message"]={
		[c]="\'_Static_assert\' with no message is a C2x extension [-Wc2x-extensions]",
		[f]="\'_Static_assert\' with no message is a C2x extension",
		[b]=g,
		[a]=h
	},
	["ext_cannot_use_trivial_abi"]={
		[c]="\'trivial_abi\' cannot be applied to A [-Wignored-attributes]",
		[f]="\'trivial_abi\' cannot be applied to A",
		[b]=g,
		[a]=h
	},
	["ext_capture_binding"]={
		[c]="captured structured bindings are a C++20 extension [-Wc++20-extensions]",
		[f]="captured structured bindings are a C++20 extension",
		[b]=g,
		[a]=h
	},
	["ext_cast_fn_obj"]={
		[c]="cast between pointer-to-function and pointer-to-object is an extension [-Wpedantic]",
		[f]="cast between pointer-to-function and pointer-to-object is an extension",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_cce_narrowing"]={
		[c]="... ... [-Wc++11-narrowing]",
		[f]={{"case value","enumerator value","non-type template argument","array size","explicit specifier argument","noexcept specifier argument"},w,{"cannot be narrowed from type C to D","evaluates to C, which cannot be narrowed to type D"}},
		[b]=d,
		[a]=q
	},
	["ext_charize_microsoft"]={
		[c]="charizing operator #@ is a Microsoft extension [-Wmicrosoft-charize]",
		[f]="charizing operator #@ is a Microsoft extension",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_clang_c_enum_fixed_underlying_type"]={
		[c]="enumeration types with a fixed underlying type are a Clang extension [-Wfixed-enum-extension]",
		[f]="enumeration types with a fixed underlying type are a Clang extension",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_clang_diagnose_if"]={
		[c]="\'diagnose_if\' is a clang extension [-Wgcc-compat]",
		[f]="\'diagnose_if\' is a clang extension",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_clang_enable_if"]={
		[c]="\'enable_if\' is a clang extension [-Wgcc-compat]",
		[f]="\'enable_if\' is a clang extension",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_comment_paste_microsoft"]={
		[c]="pasting two \'/\' tokens into a \'//\' comment is a Microsoft extension [-Wmicrosoft-comment-paste]",
		[f]="pasting two \'/\' tokens into a \'//\' comment is a Microsoft extension",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_complex_component_init"]={
		[c]="complex initialization specifying real and imaginary components is an extension [-Wcomplex-component-init]",
		[f]="complex initialization specifying real and imaginary components is an extension",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_consteval_if"]={
		[c]="consteval if is a C++23 extension [-Wc++23-extensions]",
		[f]="consteval if is a C++23 extension",
		[b]=g,
		[a]=h
	},
	["ext_constexpr_body_invalid_stmt"]={
		[c]="use of this statement in a constexpr ... is a C++14 extension [-Wc++14-extensions]",
		[f]={"use of this statement in a constexpr ",{m,n}," is a C++14 extension"},
		[b]=g,
		[a]=h
	},
	["ext_constexpr_body_invalid_stmt_cxx20"]={
		[c]="use of this statement in a constexpr ... is a C++20 extension [-Wc++20-extensions]",
		[f]={"use of this statement in a constexpr ",{m,n}," is a C++20 extension"},
		[b]=g,
		[a]=h
	},
	["ext_constexpr_body_invalid_stmt_cxx23"]={
		[c]="use of this statement in a constexpr ... is a C++23 extension [-Wc++23-extensions]",
		[f]={"use of this statement in a constexpr ",{m,n}," is a C++23 extension"},
		[b]=g,
		[a]=h
	},
	["ext_constexpr_body_multiple_return"]={
		[c]="multiple return statements in constexpr function is a C++14 extension [-Wc++14-extensions]",
		[f]="multiple return statements in constexpr function is a C++14 extension",
		[b]=g,
		[a]=h
	},
	["ext_constexpr_ctor_missing_init"]={
		[c]="constexpr constructor that does not initialize all members is a C++20 extension [-Wc++20-extensions]",
		[f]="constexpr constructor that does not initialize all members is a C++20 extension",
		[b]=g,
		[a]=h
	},
	["ext_constexpr_function_never_constant_expr"]={
		[c]="... ... never produces a constant expression [-Winvalid-constexpr]",
		[f]={{nb,Y},w,{m,n}," never produces a constant expression"},
		[b]=d,
		[a]=q
	},
	["ext_constexpr_function_try_block_cxx20"]={
		[c]="function try block in constexpr ... is a C++20 extension [-Wc++20-extensions]",
		[f]={"function try block in constexpr ",{m,n}," is a C++20 extension"},
		[b]=g,
		[a]=h
	},
	["ext_constexpr_if"]={
		[c]="constexpr if is a C++17 extension [-Wc++17-extensions]",
		[f]="constexpr if is a C++17 extension",
		[b]=g,
		[a]=h
	},
	["ext_constexpr_local_var"]={
		[c]="variable declaration in a constexpr ... is a C++14 extension [-Wc++14-extensions]",
		[f]={"variable declaration in a constexpr ",{m,n}," is a C++14 extension"},
		[b]=g,
		[a]=h
	},
	["ext_constexpr_local_var_no_init"]={
		[c]="uninitialized variable in a constexpr ... is a C++20 extension [-Wc++20-extensions]",
		[f]={"uninitialized variable in a constexpr ",{m,n}," is a C++20 extension"},
		[b]=g,
		[a]=h
	},
	["ext_constexpr_on_lambda_cxx17"]={
		[c]="\'constexpr\' on lambda expressions is a C++17 extension [-Wc++17-extensions]",
		[f]="\'constexpr\' on lambda expressions is a C++17 extension",
		[b]=g,
		[a]=h
	},
	["ext_constexpr_static_var"]={
		[c]="definition of a ... variable in a constexpr ... is a C++23 extension [-Wc++23-extensions]",
		[f]={"definition of a ",{Vc,"thread_local"}," variable in a constexpr ",{m,n}," is a C++23 extension"},
		[b]=g,
		[a]=h
	},
	["ext_constexpr_type_definition"]={
		[c]="type definition in a constexpr ... is a C++14 extension [-Wc++14-extensions]",
		[f]={"type definition in a constexpr ",{m,n}," is a C++14 extension"},
		[b]=g,
		[a]=h
	},
	["ext_constexpr_union_ctor_no_init"]={
		[c]="constexpr union constructor that does not initialize any member is a C++20 extension [-Wc++20-extensions]",
		[f]="constexpr union constructor that does not initialize any member is a C++20 extension",
		[b]=g,
		[a]=h
	},
	["ext_constinit_missing"]={
		[c]="\'constinit\' specifier missing on initializing declaration of A [-Wmissing-constinit]",
		[f]="\'constinit\' specifier missing on initializing declaration of A",
		[b]=g,
		[a]=h
	},
	["ext_ctrl_z_eof_microsoft"]={
		[c]="treating Ctrl-Z as end-of-file is a Microsoft extension [-Wmicrosoft-end-of-file]",
		[f]="treating Ctrl-Z as end-of-file is a Microsoft extension",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_cxx11_attr_placement"]={
		[c]="ISO C++ does not allow ... to appear here [-Wcxx-attribute-extension]",
		[f]={"ISO C++ does not allow ",{"an attribute list",J}," to appear here"},
		[b]=g,
		[a]=h
	},
	["ext_cxx11_enum_fixed_underlying_type"]={
		[c]="enumeration types with a fixed underlying type are a C++11 extension [-Wc++11-extensions]",
		[f]="enumeration types with a fixed underlying type are a C++11 extension",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_cxx11_longlong"]={
		[c]="\'long long\' is a C++11 extension [-Wc++11-long-long]",
		[f]="\'long long\' is a C++11 extension",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_cxx14_attr"]={
		[c]="use of the A attribute is a C++14 extension [-Wc++14-attribute-extensions]",
		[f]="use of the A attribute is a C++14 extension",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_cxx17_attr"]={
		[c]="use of the A attribute is a C++17 extension [-Wc++17-attribute-extensions]",
		[f]="use of the A attribute is a C++17 extension",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_cxx20_attr"]={
		[c]="use of the A attribute is a C++20 extension [-Wc++20-attribute-extensions]",
		[f]="use of the A attribute is a C++20 extension",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_cxx23_pp_directive"]={
		[c]="use of a \'#...\' directive is a C++23 extension [-Wc++23-extensions]",
		[f]={"use of a \'#",{"elifdef","elifndef"},"\' directive is a C++23 extension"},
		[b]=g,
		[a]=h
	},
	["ext_cxx23_size_t_suffix"]={
		[c]="\'size_t\' suffix for literals is a C++23 extension [-Wc++23-extensions]",
		[f]="\'size_t\' suffix for literals is a C++23 extension",
		[b]=g,
		[a]=h
	},
	["ext_cxx_designated_init"]={
		[c]="designated initializers are a C++20 extension [-Wc++20-designator]",
		[f]="designated initializers are a C++20 extension",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_cxx_label_end_of_compound_statement"]={
		[c]="label at end of compound statement is a C++23 extension [-Wc++23-extensions]",
		[f]="label at end of compound statement is a C++23 extension",
		[b]=g,
		[a]=h
	},
	["ext_cxx_static_assert_no_message"]={
		[c]="\'static_assert\' with no message is a C++17 extension [-Wc++17-extensions]",
		[f]="\'static_assert\' with no message is a C++17 extension",
		[b]=g,
		[a]=h
	},
	["ext_decl_attrs_on_lambda"]={
		[c]="... in this position is a C++23 extension [-Wc++23-extensions]",
		[f]={{"an attribute specifier sequence",J}," in this position is a C++23 extension"},
		[b]=g,
		[a]=h
	},
	["ext_decltype_auto_type_specifier"]={
		[c]="\'decltype(auto)\' type specifier is a C++14 extension [-Wc++14-extensions]",
		[f]="\'decltype(auto)\' type specifier is a C++14 extension",
		[b]=g,
		[a]=h
	},
	["ext_decomp_decl"]={
		[c]="decomposition declarations are a C++17 extension [-Wc++17-extensions]",
		[f]="decomposition declarations are a C++17 extension",
		[b]=g,
		[a]=h
	},
	["ext_decomp_decl_cond"]={
		[c]="ISO C++17 does not permit structured binding declaration in a condition [-Wbinding-in-condition]",
		[f]="ISO C++17 does not permit structured binding declaration in a condition",
		[b]=g,
		[a]=h
	},
	["ext_decomp_decl_empty"]={
		[c]="ISO C++17 does not allow a decomposition group to be empty [-Wempty-decomposition]",
		[f]="ISO C++17 does not allow a decomposition group to be empty",
		[b]=g,
		[a]=h
	},
	["ext_decomp_decl_spec"]={
		[c]="decomposition declaration declared \'B\' is a C++20 extension [-Wc++20-extensions]",
		[f]={"decomposition declaration declared ",{Sb,"with \'B\' specifiers"}," is a C++20 extension"},
		[b]=g,
		[a]=h
	},
	["ext_default_init_const"]={
		[c]="default initialization of an object of const type A... is a Microsoft extension [-Wmicrosoft-const-init]",
		[f]={"default initialization of an object of const type A",{l," without a user-provided default constructor"}," is a Microsoft extension"},
		[b]=g,
		[a]=h
	},
	["ext_defaulted_comparison"]={
		[c]="defaulted comparison operators are a C++20 extension [-Wc++20-extensions]",
		[f]="defaulted comparison operators are a C++20 extension",
		[b]=g,
		[a]=h
	},
	["ext_defaulted_comparison_constexpr_mismatch"]={
		[c]="defaulted definition of ... that is declared ... but... invokes a non-constexpr comparison function is a C++23 extension [-Wc++23-default-comp-relaxed-constexpr]",
		[f]={"defaulted definition of ",{{{A,Fb,A,Jb}," comparison operator"},"three-way comparison operator"}," that is declared ",{nb,Y}," but",{l,"for which the corresponding implicit \'operator==\' "}," invokes a non-constexpr comparison function is a C++23 extension"},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_defaulted_deleted_function"]={
		[c]="... function definitions are a C++11 extension [-Wc++11-extensions]",
		[f]={{"defaulted","deleted"}," function definitions are a C++11 extension"},
		[b]=g,
		[a]=h
	},
	["ext_delete_void_ptr_operand"]={
		[c]="cannot delete expression with pointer-to-\'void\' type A [-Wdelete-incomplete]",
		[f]="cannot delete expression with pointer-to-\'void\' type A",
		[b]=g,
		[a]=h
	},
	["ext_delimited_escape_sequence"]={
		[c]="... escape sequences are a ... extension [-Wdelimited-escape-sequence-extension]",
		[f]={{"delimited","named"}," escape sequences are a ",{"Clang","C++23"}," extension"},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_deprecated_string_literal_conversion"]={
		[c]="ISO C++11 does not allow conversion from string literal to A [-Wwritable-strings]",
		[f]="ISO C++11 does not allow conversion from string literal to A",
		[b]=g,
		[a]=h
	},
	["ext_designated_init"]={
		[c]="designated initializers are a C99 feature [-Wc99-designator]",
		[f]="designated initializers are a C99 feature",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_designated_init_array"]={
		[c]="array designators are a C99 extension [-Wc99-designator]",
		[f]="array designators are a C99 extension",
		[b]=g,
		[a]=h
	},
	["ext_designated_init_brace_elision"]={
		[c]="brace elision for designated initializer is a C99 extension [-Wc99-designator]",
		[f]="brace elision for designated initializer is a C99 extension",
		[b]=g,
		[a]=h
	},
	["ext_designated_init_mixed"]={
		[c]="mixture of designated and non-designated initializers in the same initializer list is a C99 extension [-Wc99-designator]",
		[f]="mixture of designated and non-designated initializers in the same initializer list is a C99 extension",
		[b]=g,
		[a]=h
	},
	["ext_designated_init_nested"]={
		[c]="nested designators are a C99 extension [-Wc99-designator]",
		[f]="nested designators are a C99 extension",
		[b]=g,
		[a]=h
	},
	["ext_designated_init_reordered"]={
		[c]="ISO C++ requires field designators to be specified in declaration order; field B will be initialized after field A [-Wreorder-init-list]",
		[f]="ISO C++ requires field designators to be specified in declaration order; field B will be initialized after field A",
		[b]=g,
		[a]=h
	},
	["ext_destructor_typedef_name"]={
		[c]="destructor cannot be declared using a ... A of the class name [-Wdtor-typedef]",
		[f]={"destructor cannot be declared using a ",{eb,Db}," A of the class name"},
		[b]=d,
		[a]=q
	},
	["ext_dollar_in_identifier"]={
		[c]="\'$\' in identifier [-Wdollar-in-identifier-extension]",
		[f]="\'$\' in identifier",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_dtor_name_ambiguous"]={
		[c]="ISO C++ considers this destructor name lookup to be ambiguous [-Wdtor-name]",
		[f]="ISO C++ considers this destructor name lookup to be ambiguous",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_dtor_named_in_wrong_scope"]={
		[c]="ISO C++ requires the name after \'::~\' to be found in the same scope as the name before \'::~\' [-Wdtor-name]",
		[f]="ISO C++ requires the name after \'::~\' to be found in the same scope as the name before \'::~\'",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_duplicate_declspec"]={
		[c]="duplicate \'A\' declaration specifier [-Wduplicate-decl-specifier]",
		[f]="duplicate \'A\' declaration specifier",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_dynamic_exception_spec"]={
		[c]="ISO C++17 does not allow dynamic exception specifications [-Wdynamic-exception-spec]",
		[f]="ISO C++17 does not allow dynamic exception specifications",
		[b]=d,
		[a]=q
	},
	["ext_elaborated_enum_class"]={
		[c]="reference to enumeration must use \'enum\' not \'enum ...\' [-Welaborated-enum-class]",
		[f]={"reference to enumeration must use \'enum\' not \'enum ",{r,o},x},
		[b]=d,
		[a]=q
	},
	["ext_ellipsis_exception_spec"]={
		[c]="exception specification of \'...\' is a Microsoft extension [-Wmicrosoft-exception-spec]",
		[f]="exception specification of \'...\' is a Microsoft extension",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_embedded_directive"]={
		[c]="embedding a directive within macro arguments has undefined behavior [-Wembedded-directive]",
		[f]="embedding a directive within macro arguments has undefined behavior",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_empty_character"]={
		[c]="empty character constant [-Winvalid-pp-token]",
		[f]="empty character constant",
		[b]=g,
		[a]=h
	},
	["ext_empty_fnmacro_arg"]={
		[c]="empty macro arguments are a C99 feature [-Wc99-extensions]",
		[f]="empty macro arguments are a C99 feature",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_empty_struct_union"]={
		[c]="empty ... is a GNU extension [-Wgnu-empty-struct]",
		[f]={"empty ",{r,v}," is a GNU extension"},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_empty_translation_unit"]={
		[c]="ISO C requires a translation unit to contain at least one declaration [-Wempty-translation-unit]",
		[f]="ISO C requires a translation unit to contain at least one declaration",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_enum_base_in_type_specifier"]={
		[c]="non-defining declaration of enumeration with a fixed underlying type is only permitted as a standalone declaration... [-Welaborated-enum-base]",
		[f]={"non-defining declaration of enumeration with a fixed underlying type is only permitted as a standalone declaration",{l,"; missing list of enumerators?"}},
		[b]=d,
		[a]=q
	},
	["ext_enum_friend"]={
		[c]="befriending enumeration type A is a C++11 extension [-Wc++11-extensions]",
		[f]="befriending enumeration type A is a C++11 extension",
		[b]=g,
		[a]=h
	},
	["ext_enum_too_large"]={
		[c]="enumeration values exceed range of largest integer [-Wenum-too-large]",
		[f]="enumeration values exceed range of largest integer",
		[b]=g,
		[a]=h
	},
	["ext_enum_value_not_int"]={
		[c]="ISO C restricts enumerator values to range of \'int\' (A is too ...) [-Wpedantic]",
		[f]={"ISO C restricts enumerator values to range of \'int\' (A is too ",{"small","large"},")"},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_enumerator_increment_too_large"]={
		[c]="incremented enumerator value A is not representable in the largest integer type [-Wenum-too-large]",
		[f]="incremented enumerator value A is not representable in the largest integer type",
		[b]=g,
		[a]=h
	},
	["ext_enumerator_list_comma_c"]={
		[c]="commas at the end of enumerator lists are a C99-specific feature [-Wc99-extensions]",
		[f]="commas at the end of enumerator lists are a C99-specific feature",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_enumerator_list_comma_cxx"]={
		[c]="commas at the end of enumerator lists are a C++11 extension [-Wc++11-extensions]",
		[f]="commas at the end of enumerator lists are a C++11 extension",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_enumerator_too_large"]={
		[c]="enumerator value is not representable in the underlying type A [-Wmicrosoft-enum-value]",
		[f]="enumerator value is not representable in the underlying type A",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_equals_this_lambda_capture_cxx20"]={
		[c]="explicit capture of \'this\' with a capture default of \'=\' is a C++20 extension [-Wc++20-extensions]",
		[f]="explicit capture of \'this\' with a capture default of \'=\' is a C++20 extension",
		[b]=g,
		[a]=h
	},
	["ext_equivalent_internal_linkage_decl_in_modules"]={
		[c]="ambiguous use of internal linkage declaration A defined in multiple modules [-Wmodules-ambiguous-internal-linkage]",
		[f]="ambiguous use of internal linkage declaration A defined in multiple modules",
		[b]=g,
		[a]=h
	},
	["ext_excess_initializers"]={
		[c]="excess elements in ... initializer [-Wexcess-initializers]",
		[f]={"excess elements in ",{rc,"vector","scalar",v,r}," initializer"},
		[b]=g,
		[a]=h
	},
	["ext_excess_initializers_for_sizeless_type"]={
		[c]="excess elements in initializer for indivisible sizeless type A [-Wexcess-initializers]",
		[f]="excess elements in initializer for indivisible sizeless type A",
		[b]=g,
		[a]=h
	},
	["ext_excess_initializers_in_char_array_initializer"]={
		[c]="excess elements in char array initializer [-Wexcess-initializers]",
		[f]="excess elements in char array initializer",
		[b]=g,
		[a]=h
	},
	["ext_expected_semi_decl_list"]={
		[c]="expected \';\' at end of declaration list",
		[b]=g,
		[a]=h
	},
	["ext_explicit_bool"]={
		[c]="explicit(bool) is a C++20 extension [-Wc++20-extensions]",
		[f]="explicit(bool) is a C++20 extension",
		[b]=g,
		[a]=h
	},
	["ext_explicit_conversion_functions"]={
		[c]="explicit conversion functions are a C++11 extension [-Wc++11-extensions]",
		[f]="explicit conversion functions are a C++11 extension",
		[b]=g,
		[a]=h
	},
	["ext_explicit_instantiation_duplicate"]={
		[c]="duplicate explicit instantiation of A ignored as a Microsoft extension [-Wmicrosoft-template]",
		[f]="duplicate explicit instantiation of A ignored as a Microsoft extension",
		[b]=g,
		[a]=h
	},
	["ext_explicit_instantiation_without_qualified_id"]={
		[c]="qualifier in explicit instantiation of A requires a template-id (a typedef is not permitted) [-Wpedantic]",
		[f]="qualifier in explicit instantiation of A requires a template-id (a typedef is not permitted)",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_explicit_specialization_storage_class"]={
		[c]="explicit specialization cannot have a storage class",
		[b]=g,
		[a]=h
	},
	["ext_expr_not_ice"]={
		[c]="expression is not an ... constant expression; folding it to a constant is a GNU extension [-Wgnu-folding-constant]",
		[f]={"expression is not an ",{Ac,wc}," constant expression; folding it to a constant is a GNU extension"},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_extern_template"]={
		[c]="extern templates are a C++11 extension [-Wc++11-extensions]",
		[f]="extern templates are a C++11 extension",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_extra_semi"]={
		[c]="extra \';\' ... [-Wextra-semi]",
		[f]={"extra \';\' ",{"outside of a function","inside a B","inside instance variable list","after member function definition"}},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_extra_semi_cxx11"]={
		[c]="extra \';\' outside of a function is a C++11 extension [-Wc++11-extra-semi]",
		[f]="extra \';\' outside of a function is a C++11 extension",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_flexible_array_empty_aggregate_gnu"]={
		[c]="flexible array member A in otherwise empty ... is a GNU extension [-Wgnu-empty-struct]",
		[f]={"flexible array member A in otherwise empty ",{r,B,v,o,pb}," is a GNU extension"},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_flexible_array_empty_aggregate_ms"]={
		[c]="flexible array member A in otherwise empty ... is a Microsoft extension [-Wmicrosoft-flexible-array]",
		[f]={"flexible array member A in otherwise empty ",{r,B,v,o,pb}," is a Microsoft extension"},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_flexible_array_in_array"]={
		[c]="A may not be used as an array element due to flexible array member [-Wflexible-array-extensions]",
		[f]="A may not be used as an array element due to flexible array member",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_flexible_array_in_struct"]={
		[c]="A may not be nested in a struct due to flexible array member [-Wflexible-array-extensions]",
		[f]="A may not be nested in a struct due to flexible array member",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_flexible_array_init"]={
		[c]="flexible array initialization is a GNU extension [-Wgnu-flexible-array-initializer]",
		[f]="flexible array initialization is a GNU extension",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_flexible_array_union_gnu"]={
		[c]="flexible array member A in a union is a GNU extension [-Wgnu-flexible-array-union-member]",
		[f]="flexible array member A in a union is a GNU extension",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_flexible_array_union_ms"]={
		[c]="flexible array member A in a union is a Microsoft extension [-Wmicrosoft-flexible-array]",
		[f]="flexible array member A in a union is a Microsoft extension",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_fold_expression"]={
		[c]="pack fold expression is a C++17 extension [-Wc++17-extensions]",
		[f]="pack fold expression is a C++17 extension",
		[b]=g,
		[a]=h
	},
	["ext_for_range"]={
		[c]="range-based for loop is a C++11 extension [-Wc++11-extensions]",
		[f]="range-based for loop is a C++11 extension",
		[b]=g,
		[a]=h
	},
	["ext_for_range_begin_end_types_differ"]={
		[c]="\'begin\' and \'end\' returning different types (A and B) is a C++17 extension [-Wc++17-extensions]",
		[f]="\'begin\' and \'end\' returning different types (A and B) is a C++17 extension",
		[b]=g,
		[a]=h
	},
	["ext_for_range_init_stmt"]={
		[c]="range-based for loop initialization statements are a C++20 extension [-Wc++20-extensions]",
		[f]="range-based for loop initialization statements are a C++20 extension",
		[b]=g,
		[a]=h
	},
	["ext_forward_ref_enum"]={
		[c]="ISO C forbids forward references to \'enum\' types [-Wpedantic]",
		[f]="ISO C forbids forward references to \'enum\' types",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_forward_ref_enum_def"]={
		[c]="redeclaration of already-defined enum A is a GNU extension [-Wgnu-redeclared-enum]",
		[f]="redeclaration of already-defined enum A is a GNU extension",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_found_in_dependent_base"]={
		[c]="use of member A found via unqualified lookup into dependent bases of class templates is a Microsoft extension [-Wmicrosoft-template]",
		[f]="use of member A found via unqualified lookup into dependent bases of class templates is a Microsoft extension",
		[b]=g,
		[a]=h
	},
	["ext_found_later_in_class"]={
		[c]="use of member A before its declaration is a Microsoft extension [-Wmicrosoft-template]",
		[f]="use of member A before its declaration is a Microsoft extension",
		[b]=g,
		[a]=h
	},
	["ext_freestanding_complex"]={
		[c]="complex numbers are an extension in a freestanding C99 implementation [-Wpedantic]",
		[f]="complex numbers are an extension in a freestanding C99 implementation",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_friend_tag_redecl_outside_namespace"]={
		[c]="unqualified friend declaration referring to type outside of the nearest enclosing namespace is a Microsoft extension; add a nested name specifier [-Wmicrosoft-unqualified-friend]",
		[f]="unqualified friend declaration referring to type outside of the nearest enclosing namespace is a Microsoft extension; add a nested name specifier",
		[b]=g,
		[a]=h
	},
	["ext_generalized_initializer_lists"]={
		[c]="generalized initializer lists are a C++11 extension [-Wc++11-extensions]",
		[f]="generalized initializer lists are a C++11 extension",
		[b]=g,
		[a]=h
	},
	["ext_generic_with_type_arg"]={
		[c]="passing a type argument as the first operand to \'_Generic\' is a Clang extension [-Wgeneric-type-extension]",
		[f]="passing a type argument as the first operand to \'_Generic\' is a Clang extension",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_gnu_address_of_label"]={
		[c]="use of GNU address-of-label extension [-Wgnu-label-as-value]",
		[f]="use of GNU address-of-label extension",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_gnu_anonymous_struct"]={
		[c]="anonymous structs are a GNU extension [-Wgnu-anonymous-struct]",
		[f]="anonymous structs are a GNU extension",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_gnu_array_range"]={
		[c]="use of GNU array range extension [-Wgnu-designator]",
		[f]="use of GNU array range extension",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_gnu_case_range"]={
		[c]="use of GNU case range extension [-Wgnu-case-range]",
		[f]="use of GNU case range extension",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_gnu_conditional_expr"]={
		[c]="use of GNU ?: conditional expression extension, omitting middle operand [-Wgnu-conditional-omitted-operand]",
		[f]="use of GNU ?: conditional expression extension, omitting middle operand",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_gnu_indirect_goto"]={
		[c]="use of GNU indirect-goto extension [-Wgnu-label-as-value]",
		[f]="use of GNU indirect-goto extension",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_gnu_missing_equal_designator"]={
		[c]="use of GNU \'missing =\' extension in designator [-Wgnu-designator]",
		[f]="use of GNU \'missing =\' extension in designator",
		[b]=g,
		[a]=h
	},
	["ext_gnu_old_style_field_designator"]={
		[c]="use of GNU old-style field designator extension [-Wgnu-designator]",
		[f]="use of GNU old-style field designator extension",
		[b]=g,
		[a]=h
	},
	["ext_gnu_ptr_func_arith"]={
		[c]="arithmetic on... pointer... to... function type... B... is a GNU extension [-Wgnu-pointer-arith]",
		[f]={"arithmetic on",{" a",l}," pointer",{l,cb}," to",{" the",l}," function type",{l,cb},X,{l," and D"}," is a GNU extension"},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_gnu_statement_expr"]={
		[c]="use of GNU statement expression extension [-Wgnu-statement-expression]",
		[f]="use of GNU statement expression extension",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_gnu_statement_expr_macro"]={
		[c]="use of GNU statement expression extension from macro expansion [-Wgnu-statement-expression-from-macro-expansion]",
		[f]="use of GNU statement expression extension from macro expansion",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_gnu_subscript_void_type"]={
		[c]="subscript of a pointer to void is a GNU extension [-Wgnu-pointer-arith]",
		[f]="subscript of a pointer to void is a GNU extension",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_gnu_void_ptr"]={
		[c]="arithmetic on... pointer... to void is a GNU extension [-Wgnu-pointer-arith]",
		[f]={"arithmetic on",{" a",l}," pointer",{l,cb}," to void is a GNU extension"},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_goto_into_protected_scope"]={
		[c]="jump from this goto statement to its label is a Microsoft extension [-Wmicrosoft-goto]",
		[f]="jump from this goto statement to its label is a Microsoft extension",
		[b]=g,
		[a]=h
	},
	["ext_hex_constant_invalid"]={
		[c]="hexadecimal floating constants are a C99 feature [-Wc99-extensions]",
		[f]="hexadecimal floating constants are a C99 feature",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_hex_literal_invalid"]={
		[c]="hexadecimal floating literals are a C++17 feature [-Wc++17-extensions]",
		[f]="hexadecimal floating literals are a C++17 feature",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_hlsl_access_specifiers"]={
		[c]="access specifiers are a clang HLSL extension [-Whlsl-extensions]",
		[f]="access specifiers are a clang HLSL extension",
		[b]=g,
		[a]=h
	},
	["ext_ident_list_in_param"]={
		[c]="type-less parameter names in function declaration [-Wpedantic]",
		[f]="type-less parameter names in function declaration",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_imaginary_constant"]={
		[c]="imaginary constants are a GNU extension [-Wgnu-imaginary-constant]",
		[f]="imaginary constants are a GNU extension",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_implicit_exception_spec_mismatch"]={
		[c]="function previously declared with an ... exception specification redeclared with an ... exception specification [-Wimplicit-exception-spec-mismatch]",
		[f]={"function previously declared with an ",{"explicit",Dd}," exception specification redeclared with an ",{Dd,"explicit"}," exception specification"},
		[b]=g,
		[a]=h
	},
	["ext_implicit_function_decl_c99"]={
		[c]="call to undeclared function A; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]",
		[f]="call to undeclared function A; ISO C99 and later do not support implicit function declarations",
		[b]=d,
		[a]=q
	},
	["ext_implicit_lib_function_decl"]={
		[c]="implicitly declaring library function \'A\' with type B [-Wimplicit-function-declaration]",
		[f]="implicitly declaring library function \'A\' with type B",
		[b]=g,
		[a]=h
	},
	["ext_implicit_lib_function_decl_c99"]={
		[c]="call to undeclared library function \'A\' with type B; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]",
		[f]="call to undeclared library function \'A\' with type B; ISO C99 and later do not support implicit function declarations",
		[b]=d,
		[a]=q
	},
	["ext_implicit_typename"]={
		[c]="missing \'typename\' prior to dependent type name AB; implicit \'typename\' is a C++20 extension [-Wc++20-extensions]",
		[f]="missing \'typename\' prior to dependent type name AB; implicit \'typename\' is a C++20 extension",
		[b]=g,
		[a]=h
	},
	["ext_in_class_initializer_float_type"]={
		[c]="in-class initializer for static data member of type A is a GNU extension [-Wgnu-static-float-init]",
		[f]="in-class initializer for static data member of type A is a GNU extension",
		[b]=g,
		[a]=h
	},
	["ext_in_class_initializer_float_type_cxx11"]={
		[c]="in-class initializer for static data member of type A requires \'constexpr\' specifier [-Wstatic-float-init]",
		[f]="in-class initializer for static data member of type A requires \'constexpr\' specifier",
		[b]=d,
		[a]=q
	},
	["ext_in_class_initializer_non_constant"]={
		[c]="in-class initializer for static data member is not a constant expression; folding it to a constant is a GNU extension [-Wgnu-folding-constant]",
		[f]="in-class initializer for static data member is not a constant expression; folding it to a constant is a GNU extension",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_incomplete_in_exception_spec"]={
		[c]="...incomplete type B is not allowed in exception specification [-Wmicrosoft-exception-spec]",
		[f]={{l,"pointer to ",ed},"incomplete type B is not allowed in exception specification"},
		[b]=g,
		[a]=h
	},
	["ext_increment_bool"]={
		[c]="ISO C++17 does not allow incrementing expression of type bool [-Wincrement-bool]",
		[f]="ISO C++17 does not allow incrementing expression of type bool",
		[b]=d,
		[a]=q
	},
	["ext_init_capture"]={
		[c]="initialized lambda captures are a C++14 extension [-Wc++14-extensions]",
		[f]="initialized lambda captures are a C++14 extension",
		[b]=g,
		[a]=h
	},
	["ext_init_capture_pack"]={
		[c]="initialized lambda pack captures are a C++20 extension [-Wc++20-extensions]",
		[f]="initialized lambda pack captures are a C++20 extension",
		[b]=g,
		[a]=h
	},
	["ext_init_from_predefined"]={
		[c]="initializing an array from a \'A\' predefined identifier is a Microsoft extension [-Wmicrosoft-init-from-predefined]",
		[f]="initializing an array from a \'A\' predefined identifier is a Microsoft extension",
		[b]=g,
		[a]=h
	},
	["ext_init_list_constant_narrowing"]={
		[c]="constant expression evaluates to A which cannot be narrowed to type B [-Wc++11-narrowing]",
		[f]="constant expression evaluates to A which cannot be narrowed to type B",
		[b]=d,
		[a]=q
	},
	["ext_init_list_type_narrowing"]={
		[c]="type A cannot be narrowed to B in initializer list [-Wc++11-narrowing]",
		[f]="type A cannot be narrowed to B in initializer list",
		[b]=d,
		[a]=q
	},
	["ext_init_list_variable_narrowing"]={
		[c]="non-constant-expression cannot be narrowed from type A to B in initializer list [-Wc++11-narrowing]",
		[f]="non-constant-expression cannot be narrowed from type A to B in initializer list",
		[b]=d,
		[a]=q
	},
	["ext_init_statement"]={
		[c]="\'...\' initialization statements are a C++17 extension [-Wc++17-extensions]",
		[f]={x,{"if","switch"},"\' initialization statements are a C++17 extension"},
		[b]=g,
		[a]=h
	},
	["ext_initializer_overrides"]={
		[c]="initializer ...overrides prior initialization of this subobject [-Winitializer-overrides]",
		[f]={"initializer ",{"partially ",l},"overrides prior initialization of this subobject"},
		[b]=g,
		[a]=h
	},
	["ext_initializer_string_for_char_array_too_long"]={
		[c]="initializer-string for char array is too long [-Wexcess-initializers]",
		[f]="initializer-string for char array is too long",
		[b]=g,
		[a]=h
	},
	["ext_initializer_union_overrides"]={
		[c]="initializer ...overrides prior initialization of this subobject [-Winitializer-overrides]",
		[f]={"initializer ",{"partially ",l},"overrides prior initialization of this subobject"},
		[b]=d,
		[a]=q
	},
	["ext_inline_namespace"]={
		[c]="inline namespaces are a C++11 feature [-Wc++11-inline-namespace]",
		[f]="inline namespaces are a C++11 feature",
		[b]=g,
		[a]=h
	},
	["ext_inline_nested_namespace_definition"]={
		[c]="inline nested namespace definition is a C++20 extension [-Wc++20-extensions]",
		[f]="inline nested namespace definition is a C++20 extension",
		[b]=g,
		[a]=h
	},
	["ext_inline_variable"]={
		[c]="inline variables are a C++17 extension [-Wc++17-extensions]",
		[f]="inline variables are a C++17 extension",
		[b]=g,
		[a]=h
	},
	["ext_integer_complement_complex"]={
		[c]="ISO C does not support \'~\' for complex conjugation of A [-Wpedantic]",
		[f]="ISO C does not support \'~\' for complex conjugation of A",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_integer_complex"]={
		[c]="complex integer types are a GNU extension [-Wgnu-complex-integer]",
		[f]="complex integer types are a GNU extension",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_integer_increment_complex"]={
		[c]="ISO C does not support \'++\'/\'--\' on complex integer type A [-Wpedantic]",
		[f]="ISO C does not support \'++\'/\'--\' on complex integer type A",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_integer_literal_too_large_for_signed"]={
		[c]="integer literal is too large to be represented in a signed integer type, interpreting as unsigned [-Wimplicitly-unsigned-literal]",
		[f]="integer literal is too large to be represented in a signed integer type, interpreting as unsigned",
		[b]=g,
		[a]=h
	},
	["ext_internal_in_extern_inline"]={
		[c]="static ... B is used in an inline function with external linkage [-Wstatic-in-inline]",
		[f]={"static ",{m,z}," B is used in an inline function with external linkage"},
		[b]=g,
		[a]=h
	},
	["ext_internal_in_extern_inline_quiet"]={
		[c]="static ... B is used in an inline function with external linkage [-Wstatic-in-inline]",
		[f]={"static ",{m,z}," B is used in an inline function with external linkage"},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_keyword_as_ident"]={
		[c]="keyword \'A\' will be made available as an identifier ... [-Wkeyword-compat]",
		[f]={"keyword \'A\' will be made available as an identifier ",{"here","for the remainder of the translation unit"}},
		[b]=g,
		[a]=h
	},
	["ext_lambda_missing_parens"]={
		[c]="lambda without a parameter clause is a C++23 extension [-Wc++23-extensions]",
		[f]="lambda without a parameter clause is a C++23 extension",
		[b]=g,
		[a]=h
	},
	["ext_lambda_template_parameter_list"]={
		[c]="explicit template parameter list for lambdas is a C++20 extension [-Wc++20-extensions]",
		[f]="explicit template parameter list for lambdas is a C++20 extension",
		[b]=g,
		[a]=h
	},
	["ext_line_comment"]={
		[c]="// comments are not allowed in this language [-Wcomment]",
		[f]="// comments are not allowed in this language",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_main_returns_nonint"]={
		[c]="return type of \'main\' is not \'int\' [-Wmain-return-type]",
		[f]="return type of \'main\' is not \'int\'",
		[b]=g,
		[a]=h
	},
	["ext_main_used"]={
		[c]="ISO C++ does not allow \'main\' to be used by a program [-Wmain]",
		[f]="ISO C++ does not allow \'main\' to be used by a program",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_many_braces_around_init"]={
		[c]="too many braces around ...initializer [-Wmany-braces-around-scalar-init]",
		[f]={"too many braces around ",{"scalar ",l},"initializer"},
		[b]=g,
		[a]=h
	},
	["ext_mathematical_notation"]={
		[c]="mathematical notation character <U+A> in an identifier is a Clang extension [-Wmathematical-notation-identifier-extension]",
		[f]="mathematical notation character <U+A> in an identifier is a Clang extension",
		[b]=g,
		[a]=h
	},
	["ext_member_redeclared"]={
		[c]="class member cannot be redeclared [-Wredeclared-class-member]",
		[f]="class member cannot be redeclared",
		[b]=g,
		[a]=h
	},
	["ext_mismatched_exception_spec"]={
		[c]="exception specification in declaration does not match previous declaration [-Wmicrosoft-exception-spec]",
		[f]="exception specification in declaration does not match previous declaration",
		[b]=g,
		[a]=h
	},
	["ext_mismatched_exception_spec_explicit_instantiation"]={
		[c]="exception specification in explicit instantiation does not match instantiated one [-Wmicrosoft-exception-spec]",
		[f]="exception specification in explicit instantiation does not match instantiated one",
		[b]=g,
		[a]=h
	},
	["ext_missing_exception_specification"]={
		[c]="A is missing exception specification \'B\' [-Wmissing-exception-spec]",
		[f]="A is missing exception specification \'B\'",
		[b]=g,
		[a]=h
	},
	["ext_missing_type_specifier"]={
		[c]="type specifier missing, defaults to \'int\'; ISO C99 and later do not support implicit int [-Wimplicit-int]",
		[f]="type specifier missing, defaults to \'int\'; ISO C99 and later do not support implicit int",
		[b]=d,
		[a]=q
	},
	["ext_missing_varargs_arg"]={
		[c]="must specify at least one argument for \'...\' parameter of variadic macro [-Wgnu-zero-variadic-macro-arguments]",
		[f]="must specify at least one argument for \'...\' parameter of variadic macro",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_missing_whitespace_after_macro_name"]={
		[c]="whitespace required after macro name",
		[b]=g,
		[a]=h
	},
	["ext_mixed_decls_code"]={
		[c]="mixing declarations and code is a C99 extension [-Wdeclaration-after-statement]",
		[f]="mixing declarations and code is a C99 extension",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_module_import_in_extern_c"]={
		[c]="import of C++ module \'A\' appears within extern \"C\" language linkage specification [-Wmodule-import-in-extern-c]",
		[f]="import of C++ module \'A\' appears within extern \"C\" language linkage specification",
		[b]=d,
		[a]=q
	},
	["ext_module_import_not_at_top_level_noop"]={
		[c]="redundant #include of module \'A\' appears within B [-Wmodules-import-nested-redundant]",
		[f]="redundant #include of module \'A\' appears within B",
		[b]=d,
		[a]=q
	},
	["ext_ms_abstract_keyword"]={
		[c]="\'abstract\' keyword is a Microsoft extension [-Wmicrosoft-abstract]",
		[f]="\'abstract\' keyword is a Microsoft extension",
		[b]=g,
		[a]=h
	},
	["ext_ms_ambiguous_direct_base"]={
		[c]="accessing inaccessible direct base A of B is a Microsoft extension [-Wmicrosoft-inaccessible-base]",
		[f]="accessing inaccessible direct base A of B is a Microsoft extension",
		[b]=g,
		[a]=h
	},
	["ext_ms_anonymous_record"]={
		[c]="anonymous ... are a Microsoft extension [-Wmicrosoft-anon-tag]",
		[f]={"anonymous ",{"structs","unions"}," are a Microsoft extension"},
		[b]=g,
		[a]=h
	},
	["ext_ms_c_enum_fixed_underlying_type"]={
		[c]="enumeration types with a fixed underlying type are a Microsoft extension [-Wmicrosoft-fixed-enum]",
		[f]="enumeration types with a fixed underlying type are a Microsoft extension",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_ms_cast_fn_obj"]={
		[c]="static_cast between pointer-to-function and pointer-to-object is a Microsoft extension [-Wmicrosoft-cast]",
		[f]="static_cast between pointer-to-function and pointer-to-object is a Microsoft extension",
		[b]=g,
		[a]=h
	},
	["ext_ms_delayed_template_argument"]={
		[c]="using the undeclared type A as a default template argument is a Microsoft extension [-Wmicrosoft-template]",
		[f]="using the undeclared type A as a default template argument is a Microsoft extension",
		[b]=g,
		[a]=h
	},
	["ext_ms_deref_template_argument"]={
		[c]="non-type template argument containing a dereference operation is a Microsoft extension [-Wmicrosoft-template]",
		[f]="non-type template argument containing a dereference operation is a Microsoft extension",
		[b]=g,
		[a]=h
	},
	["ext_ms_explicit_constructor_call"]={
		[c]="explicit constructor calls are a Microsoft extension [-Wmicrosoft-explicit-constructor-call]",
		[f]="explicit constructor calls are a Microsoft extension",
		[b]=g,
		[a]=h
	},
	["ext_ms_forward_ref_enum"]={
		[c]="forward references to \'enum\' types are a Microsoft extension [-Wmicrosoft-enum-forward-reference]",
		[f]="forward references to \'enum\' types are a Microsoft extension",
		[b]=g,
		[a]=h
	},
	["ext_ms_impcast_fn_obj"]={
		[c]="implicit conversion between pointer-to-function and pointer-to-object is a Microsoft extension [-Wmicrosoft-cast]",
		[f]="implicit conversion between pointer-to-function and pointer-to-object is a Microsoft extension",
		[b]=g,
		[a]=h
	},
	["ext_ms_reserved_user_defined_literal"]={
		[c]="invalid suffix on literal; C++11 requires a space between literal and identifier [-Wreserved-user-defined-literal]",
		[f]="invalid suffix on literal; C++11 requires a space between literal and identifier",
		[b]=g,
		[a]=h
	},
	["ext_ms_sealed_keyword"]={
		[c]="\'sealed\' keyword is a Microsoft extension [-Wmicrosoft-sealed]",
		[f]="\'sealed\' keyword is a Microsoft extension",
		[b]=g,
		[a]=h
	},
	["ext_ms_static_assert"]={
		[c]="use of \'static_assert\' without inclusion of <assert.h> is a Microsoft extension [-Wmicrosoft-static-assert]",
		[f]="use of \'static_assert\' without inclusion of <assert.h> is a Microsoft extension",
		[b]=g,
		[a]=h
	},
	["ext_ms_template_spec_redecl_out_of_scope"]={
		[c]="... specialization of B not in ... is a Microsoft extension [-Wmicrosoft-template]",
		[f]={{zc,"class template partial",Xb,"variable template partial",Kb,"member function","static data member","member class","member enumeration"}," specialization of B not in ",{"a namespace enclosing C","class C or an enclosing namespace"}," is a Microsoft extension"},
		[b]=g,
		[a]=h
	},
	["ext_ms_template_type_arg_missing_typename"]={
		[c]="template argument for template type parameter must be a type; omitted \'typename\' is a Microsoft extension [-Wmicrosoft-template]",
		[f]="template argument for template type parameter must be a type; omitted \'typename\' is a Microsoft extension",
		[b]=g,
		[a]=h
	},
	["ext_ms_using_declaration_inaccessible"]={
		[c]="using declaration referring to inaccessible member \'A\' (which refers to accessible member \'B\') is a Microsoft compatibility extension [-Wmicrosoft-using-decl]",
		[f]="using declaration referring to inaccessible member \'A\' (which refers to accessible member \'B\') is a Microsoft compatibility extension",
		[b]=g,
		[a]=h
	},
	["ext_multi_line_line_comment"]={
		[c]="multi-line // comment [-Wcomment]",
		[f]="multi-line // comment",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_multi_using_declaration"]={
		[c]="use of multiple declarators in a single using declaration is a C++17 extension [-Wc++17-extensions]",
		[f]="use of multiple declarators in a single using declaration is a C++17 extension",
		[b]=g,
		[a]=h
	},
	["ext_mutable_reference"]={
		[c]="\'mutable\' on a reference type is a Microsoft extension [-Wmicrosoft-mutable-reference]",
		[f]="\'mutable\' on a reference type is a Microsoft extension",
		[b]=g,
		[a]=h
	},
	["ext_named_variadic_macro"]={
		[c]="named variadic macros are a GNU extension [-Wvariadic-macros]",
		[f]="named variadic macros are a GNU extension",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_nested_name_member_ref_lookup_ambiguous"]={
		[c]="lookup of A in member access expression is ambiguous; using member of B [-Wambiguous-member-template]",
		[f]="lookup of A in member access expression is ambiguous; using member of B",
		[b]=g,
		[a]=h
	},
	["ext_nested_name_spec_is_enum"]={
		[c]="use of enumeration in a nested name specifier is a C++11 extension [-Wc++11-extensions]",
		[f]="use of enumeration in a nested name specifier is a C++11 extension",
		[b]=g,
		[a]=h
	},
	["ext_nested_namespace_definition"]={
		[c]="nested namespace definition is a C++17 extension; define each namespace separately [-Wc++17-extensions]",
		[f]="nested namespace definition is a C++17 extension; define each namespace separately",
		[b]=g,
		[a]=h
	},
	["ext_nested_pointer_qualifier_mismatch"]={
		[c]="... discards qualifiers in nested pointer types [-Wincompatible-pointer-types-discards-qualifiers]",
		[f]={{{{ab,G}},{{N,S}},{{T,F}},{{P,R}},{{Q,O}},{{M,L}},{{K,I}}}," discards qualifiers in nested pointer types"},
		[b]=g,
		[a]=h
	},
	["ext_new_paren_array_nonconst"]={
		[c]="when type is in parentheses, array cannot have dynamic size",
		[b]=g,
		[a]=h
	},
	["ext_no_declarators"]={
		[c]="declaration does not declare anything [-Wmissing-declarations]",
		[f]="declaration does not declare anything",
		[b]=g,
		[a]=h
	},
	["ext_no_named_members_in_struct_union"]={
		[c]="... without named members is a GNU extension [-Wgnu-empty-struct]",
		[f]={{r,v}," without named members is a GNU extension"},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_no_newline_eof"]={
		[c]="no newline at end of file [-Wnewline-eof]",
		[f]="no newline at end of file",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_non_c_like_anon_struct_in_typedef"]={
		[c]="anonymous non-C-compatible type given name for linkage purposes by ... declaration; add a tag name here [-Wnon-c-typedef-for-linkage]",
		[f]={"anonymous non-C-compatible type given name for linkage purposes by ",{eb,Dc}," declaration; add a tag name here"},
		[b]=g,
		[a]=h
	},
	["ext_nonclass_type_friend"]={
		[c]="non-class friend type A is a C++11 extension [-Wc++11-extensions]",
		[f]="non-class friend type A is a C++11 extension",
		[b]=g,
		[a]=h
	},
	["ext_nonstandard_escape"]={
		[c]="use of non-standard escape character \'\\A\' [-Wpedantic]",
		[f]="use of non-standard escape character \'\\A\'",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_nonstatic_member_init"]={
		[c]="default member initializer for non-static data member is a C++11 extension [-Wc++11-extensions]",
		[f]="default member initializer for non-static data member is a C++11 extension",
		[b]=g,
		[a]=h
	},
	["ext_noreturn_main"]={
		[c]="\'main\' is not allowed to be declared _Noreturn [-Wmain]",
		[f]="\'main\' is not allowed to be declared _Noreturn",
		[b]=g,
		[a]=h
	},
	["ext_ns_enum_attribute"]={
		[c]="attributes on ... declaration are a C++17 extension [-Wc++17-extensions]",
		[f]={"attributes on ",{"a namespace","an enumerator"}," declaration are a C++17 extension"},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_nullability"]={
		[c]="type nullability specifier A is a Clang extension [-Wnullability-extension]",
		[f]="type nullability specifier A is a Clang extension",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_offsetof_non_pod_type"]={
		[c]="offset of on non-POD type A [-Winvalid-offsetof]",
		[f]="offset of on non-POD type A",
		[b]=g,
		[a]=h
	},
	["ext_offsetof_non_standardlayout_type"]={
		[c]="offset of on non-standard-layout type A [-Winvalid-offsetof]",
		[f]="offset of on non-standard-layout type A",
		[b]=g,
		[a]=h
	},
	["ext_old_implicitly_unsigned_long_cxx"]={
		[c]="integer literal is too large to be represented in type \'long\' and is subject to undefined behavior under C++98, interpreting as \'unsigned long\'; this literal will ... in C++11 onwards [-Wc++11-compat]",
		[f]={"integer literal is too large to be represented in type \'long\' and is subject to undefined behavior under C++98, interpreting as \'unsigned long\'; this literal will ",{"have type \'long long\'","be ill-formed"}," in C++11 onwards"},
		[b]=g,
		[a]=h
	},
	["ext_omp_attributes"]={
		[c]="specifying OpenMP directives with [[]] is an OpenMP 5.1 extension [-Wopenmp-51-extensions]",
		[f]="specifying OpenMP directives with [[]] is an OpenMP 5.1 extension",
		[b]=g,
		[a]=h
	},
	["ext_omp_loop_not_canonical_init"]={
		[c]="initialization clause of OpenMP for loop is not in canonical form (\'var = init\' or \'T var = init\') [-Wopenmp-loop-form]",
		[f]="initialization clause of OpenMP for loop is not in canonical form (\'var = init\' or \'T var = init\')",
		[b]=g,
		[a]=h
	},
	["ext_on_off_switch_syntax"]={
		[c]="expected \'ON\' or \'OFF\' or \'DEFAULT\' in pragma [-Wunknown-pragmas]",
		[f]="expected \'ON\' or \'OFF\' or \'DEFAULT\' in pragma",
		[b]=g,
		[a]=h
	},
	["ext_opencl_double_without_pragma"]={
		[c]="Clang permits use of type \'double\' regardless pragma if \'cl_khr_fp64\' is supported [-Wpedantic]",
		[f]="Clang permits use of type \'double\' regardless pragma if \'cl_khr_fp64\' is supported",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_opencl_ext_vector_type_rgba_selector"]={
		[c]="vector component name \'A\' is a feature from OpenCL version 3.0 onwards [-Wopencl-unsupported-rgba]",
		[f]="vector component name \'A\' is a feature from OpenCL version 3.0 onwards",
		[b]=g,
		[a]=h
	},
	["ext_operator_new_delete_declared_inline"]={
		[c]="replacement function A cannot be declared \'inline\' [-Winline-new-delete]",
		[f]="replacement function A cannot be declared \'inline\'",
		[b]=g,
		[a]=h
	},
	["ext_operator_overload_static"]={
		[c]="declaring overloaded A as \'static\' is a C++23 extension [-Wc++23-extensions]",
		[f]="declaring overloaded A as \'static\' is a C++23 extension",
		[b]=g,
		[a]=h
	},
	["ext_out_of_line_declaration"]={
		[c]="out-of-line declaration of a member must be a definition [-Wout-of-line-declaration]",
		[f]="out-of-line declaration of a member must be a definition",
		[b]=d,
		[a]=q
	},
	["ext_out_of_line_qualified_id_type_names_constructor"]={
		[c]="ISO C++ specifies that qualified reference to A is a constructor name rather than a ... in this context, despite preceding ... keyword [-Winjected-class-name]",
		[f]={"ISO C++ specifies that qualified reference to A is a constructor name rather than a ",{"template name",a}," in this context, despite preceding ",{"\'typename\'","\'template\'"}," keyword"},
		[b]=g,
		[a]=h
	},
	["ext_override_control_keyword"]={
		[c]="\'A\' keyword is a C++11 extension [-Wc++11-extensions]",
		[f]="\'A\' keyword is a C++11 extension",
		[b]=g,
		[a]=h
	},
	["ext_override_exception_spec"]={
		[c]="exception specification of overriding function is more lax than base version [-Wmicrosoft-exception-spec]",
		[f]="exception specification of overriding function is more lax than base version",
		[b]=g,
		[a]=h
	},
	["ext_ovl_ambiguous_oper_binary_reversed"]={
		[c]="ISO C++20 considers use of overloaded operator \'A\' (with operand types B and C) to be ambiguous despite there being a unique best viable function... [-Wambiguous-reversed-operator]",
		[f]={"ISO C++20 considers use of overloaded operator \'A\' (with operand types B and C) to be ambiguous despite there being a unique best viable function",{" with non-reversed arguments",l}},
		[b]=g,
		[a]=h
	},
	["ext_ovl_rewrite_equalequal_not_bool"]={
		[c]="ISO C++20 requires return type of selected \'operator==\' function for rewritten \'B\' comparison to be \'bool\', not A [-Wrewrite-not-bool]",
		[f]="ISO C++20 requires return type of selected \'operator==\' function for rewritten \'B\' comparison to be \'bool\', not A",
		[b]=g,
		[a]=h
	},
	["ext_param_default_argument_redefinition"]={
		[c]="redefinition of default argument [-Wmicrosoft-default-arg-redefinition]",
		[f]="redefinition of default argument",
		[b]=g,
		[a]=h
	},
	["ext_param_not_declared"]={
		[c]="parameter A was not declared, defaults to \'int\'; ISO C99 and later do not support implicit int [-Wimplicit-int]",
		[f]="parameter A was not declared, defaults to \'int\'; ISO C99 and later do not support implicit int",
		[b]=d,
		[a]=q
	},
	["ext_param_promoted_not_compatible_with_prototype"]={
		[c]="promoted type A of K&R function parameter is not compatible with the parameter type B declared in a previous prototype [-Wknr-promoted-parameter]",
		[f]={{"promoted type A of K&R function parameter is not compatible with the parameter type B","promoted type of K&R function parameter is not compatible with parameter type"}," declared in a previous prototype"},
		[b]=g,
		[a]=h
	},
	["ext_parameter_name_omitted_c2x"]={
		[c]="omitting the parameter name in a function definition is a C2x extension [-Wc2x-extensions]",
		[f]="omitting the parameter name in a function definition is a C2x extension",
		[b]=g,
		[a]=h
	},
	["ext_partial_spec_not_more_specialized_than_primary"]={
		[c]="... template partial specialization is not more specialized than the primary template [-Winvalid-partial-specialization]",
		[f]={{o,z}," template partial specialization is not more specialized than the primary template"},
		[b]=d,
		[a]=q
	},
	["ext_partial_specs_not_deducible"]={
		[c]="... template partial specialization contains ... that cannot be deduced; this partial specialization will never be used [-Wunusable-partial-specialization]",
		[f]={{o,z}," template partial specialization contains ",{"a template parameter","template parameters"}," that cannot be deduced; this partial specialization will never be used"},
		[b]=d,
		[a]=q
	},
	["ext_paste_comma"]={
		[c]="token pasting of \',\' and __VA_ARGS__ is a GNU extension [-Wgnu-zero-variadic-macro-arguments]",
		[f]="token pasting of \',\' and __VA_ARGS__ is a GNU extension",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_plain_complex"]={
		[c]="plain \'_Complex\' requires a type specifier; assuming \'_Complex double\'",
		[b]=g,
		[a]=h
	},
	["ext_pointer_to_const_ref_member_on_rvalue"]={
		[c]="invoking a pointer to a \'const &\' member function on an rvalue is a C++20 extension [-Wc++20-extensions]",
		[f]="invoking a pointer to a \'const &\' member function on an rvalue is a C++20 extension",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_pp_bad_paste_ms"]={
		[c]="pasting formed \'A\', an invalid preprocessing token [-Winvalid-token-paste]",
		[f]="pasting formed \'A\', an invalid preprocessing token",
		[b]=d,
		[a]=q
	},
	["ext_pp_bad_vaargs_use"]={
		[c]="__VA_ARGS__ can only appear in the expansion of a C99 variadic macro [-Wpedantic]",
		[f]="__VA_ARGS__ can only appear in the expansion of a C99 variadic macro",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_pp_bad_vaopt_use"]={
		[c]="__VA_OPT__ can only appear in the expansion of a variadic macro [-Wvariadic-macros]",
		[f]="__VA_OPT__ can only appear in the expansion of a variadic macro",
		[b]=g,
		[a]=h
	},
	["ext_pp_comma_expr"]={
		[c]="comma operator in operand of #if [-Wpedantic]",
		[f]="comma operator in operand of #if",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_pp_extra_tokens_at_eol"]={
		[c]="extra tokens at end of #A directive [-Wextra-tokens]",
		[f]="extra tokens at end of #A directive",
		[b]=g,
		[a]=h
	},
	["ext_pp_gnu_line_directive"]={
		[c]="this style of line directive is a GNU extension [-Wgnu-line-marker]",
		[f]="this style of line directive is a GNU extension",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_pp_ident_directive"]={
		[c]="#ident is a language extension [-Wpedantic]",
		[f]="#ident is a language extension",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_pp_import_directive"]={
		[c]="#import is a language extension [-Wimport-preprocessor-directive-pedantic]",
		[f]="#import is a language extension",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_pp_include_next_directive"]={
		[c]="#include_next is a language extension [-Wgnu-include-next]",
		[f]="#include_next is a language extension",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_pp_include_search_ms"]={
		[c]="#include resolved using non-portable Microsoft search rules as: A [-Wmicrosoft-include]",
		[f]="#include resolved using non-portable Microsoft search rules as: A",
		[b]=g,
		[a]=h
	},
	["ext_pp_line_too_big"]={
		[c]="C requires #line number to be less than A, allowed as extension [-Wpedantic]",
		[f]="C requires #line number to be less than A, allowed as extension",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_pp_line_zero"]={
		[c]="#line directive with zero argument is a GNU extension [-Wgnu-zero-line-directive]",
		[f]="#line directive with zero argument is a GNU extension",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_pp_macro_redef"]={
		[c]="A macro redefined [-Wmacro-redefined]",
		[f]="A macro redefined",
		[b]=g,
		[a]=h
	},
	["ext_pp_opencl_variadic_macros"]={
		[c]="variadic macros are a Clang extension in OpenCL [-Wpedantic]",
		[f]="variadic macros are a Clang extension in OpenCL",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_pp_operator_used_as_macro_name"]={
		[c]="C++ operator A (aka B) used as a macro name [-Wmicrosoft-cpp-macro]",
		[f]="C++ operator A (aka B) used as a macro name",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_pp_redef_builtin_macro"]={
		[c]="redefining builtin macro [-Wbuiltin-macro-redefined]",
		[f]="redefining builtin macro",
		[b]=g,
		[a]=h
	},
	["ext_pp_undef_builtin_macro"]={
		[c]="undefining builtin macro [-Wbuiltin-macro-redefined]",
		[f]="undefining builtin macro",
		[b]=g,
		[a]=h
	},
	["ext_pp_warning_directive"]={
		[c]="#warning is a ... extension [-Wpedantic]",
		[f]={"#warning is a ",{"C2x","C++23"}," extension"},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_pragma_syntax_eod"]={
		[c]="expected end of directive in pragma [-Wunknown-pragmas]",
		[f]="expected end of directive in pragma",
		[b]=g,
		[a]=h
	},
	["ext_predef_outside_function"]={
		[c]="predefined identifier is only valid inside function [-Wpredefined-identifier-outside-function]",
		[f]="predefined identifier is only valid inside function",
		[b]=g,
		[a]=h
	},
	["ext_pseudo_dtor_on_void"]={
		[c]="pseudo-destructors on type void are a Microsoft extension [-Wmicrosoft-void-pseudo-dtor]",
		[f]="pseudo-destructors on type void are a Microsoft extension",
		[b]=g,
		[a]=h
	},
	["ext_pure_function_definition"]={
		[c]="function definition with pure-specifier is a Microsoft extension [-Wmicrosoft-pure-definition]",
		[f]="function definition with pure-specifier is a Microsoft extension",
		[b]=g,
		[a]=h
	},
	["ext_qualified_dtor_named_in_lexical_scope"]={
		[c]="qualified destructor name only found in lexical scope; omit the qualifier to find this type name by unqualified lookup [-Wdtor-name]",
		[f]="qualified destructor name only found in lexical scope; omit the qualifier to find this type name by unqualified lookup",
		[b]=g,
		[a]=h
	},
	["ext_redefinition_of_typedef"]={
		[c]="redefinition of typedef A is a C11 feature [-Wtypedef-redefinition]",
		[f]="redefinition of typedef A is a C11 feature",
		[b]=g,
		[a]=h
	},
	["ext_ref_qualifier"]={
		[c]="reference qualifiers on functions are a C++11 extension [-Wc++11-extensions]",
		[f]="reference qualifiers on functions are a C++11 extension",
		[b]=g,
		[a]=h
	},
	["ext_register_storage_class"]={
		[c]="ISO C++17 does not allow \'register\' storage class specifier [-Wregister]",
		[f]="ISO C++17 does not allow \'register\' storage class specifier",
		[b]=d,
		[a]=q
	},
	["ext_reserved_user_defined_literal"]={
		[c]="invalid suffix on literal; C++11 requires a space between literal and identifier [-Wreserved-user-defined-literal]",
		[f]="invalid suffix on literal; C++11 requires a space between literal and identifier",
		[b]=d,
		[a]=q
	},
	["ext_retained_language_linkage"]={
		[c]="friend function A retaining previous language linkage is an extension [-Wretained-language-linkage]",
		[f]="friend function A retaining previous language linkage is an extension",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_return_has_expr"]={
		[c]="... A should not return a value [-Wreturn-type]",
		[f]={{"void function","void method",n,p}," A should not return a value"},
		[b]=d,
		[a]=q
	},
	["ext_return_has_void_expr"]={
		[c]="void ... A should not return void expression [-Wpedantic]",
		[f]={"void ",{m,u,y}," A should not return void expression"},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_return_missing_expr"]={
		[c]="non-void ... A should return a value [-Wreturn-type]",
		[f]={"non-void ",{m,u}," A should return a value"},
		[b]=d,
		[a]=q
	},
	["ext_rvalue_reference"]={
		[c]="rvalue references are a C++11 extension [-Wc++11-extensions]",
		[f]="rvalue references are a C++11 extension",
		[b]=g,
		[a]=h
	},
	["ext_rvalue_to_reference_access_ctor"]={
		[c]="C++98 requires an accessible copy constructor for class C when binding a reference to a temporary; was ... [-Wbind-to-temporary-copy]",
		[f]={"C++98 requires an accessible copy constructor for class C when binding a reference to a temporary; was ",{C,D}},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_rvalue_to_reference_temp_copy_no_viable"]={
		[c]="no viable constructor ... of type B; C++98 requires a copy constructor when binding a reference to a temporary [-Wbind-to-temporary-copy]",
		[f]={"no viable constructor ",{"copying variable","copying parameter","initializing template parameter","returning object","initializing statement expression result","throwing object","copying member subobject","copying array element","allocating object","copying temporary","initializing base subobject","initializing vector element","capturing value"}," of type B; C++98 requires a copy constructor when binding a reference to a temporary"},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_scoped_enum"]={
		[c]="scoped enumerations are a C++11 extension [-Wc++11-extensions]",
		[f]="scoped enumerations are a C++11 extension",
		[b]=g,
		[a]=h
	},
	["ext_sizeof_alignof_function_type"]={
		[c]="invalid application of \'A\' to a function type [-Wpointer-arith]",
		[f]="invalid application of \'A\' to a function type",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_sizeof_alignof_void_type"]={
		[c]="invalid application of \'A\' to a void type [-Wpointer-arith]",
		[f]="invalid application of \'A\' to a void type",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_standalone_specifier"]={
		[c]="\'A\' is not permitted on a declaration of a type [-Wmissing-declarations]",
		[f]="\'A\' is not permitted on a declaration of a type",
		[b]=g,
		[a]=h
	},
	["ext_star_this_lambda_capture_cxx17"]={
		[c]="capture of \'*this\' by copy is a C++17 extension [-Wc++17-extensions]",
		[f]="capture of \'*this\' by copy is a C++17 extension",
		[b]=g,
		[a]=h
	},
	["ext_static_data_member_in_union"]={
		[c]="static data member A in union is a C++11 extension [-Wc++11-extensions]",
		[f]="static data member A in union is a C++11 extension",
		[b]=g,
		[a]=h
	},
	["ext_static_non_static"]={
		[c]="redeclaring non-static A as static is a Microsoft extension [-Wmicrosoft-redeclare-static]",
		[f]="redeclaring non-static A as static is a Microsoft extension",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_static_out_of_line"]={
		[c]="\'static\' can only be specified inside the class definition [-Wmicrosoft-template]",
		[f]="\'static\' can only be specified inside the class definition",
		[b]=g,
		[a]=h
	},
	["ext_stdc_pragma_ignored"]={
		[c]="unknown pragma in STDC namespace [-Wunknown-pragmas]",
		[f]="unknown pragma in STDC namespace",
		[b]=g,
		[a]=h
	},
	["ext_string_literal_operator_template"]={
		[c]="string literal operator templates are a GNU extension [-Wgnu-string-literal-operator-template]",
		[f]="string literal operator templates are a GNU extension",
		[b]=g,
		[a]=h
	},
	["ext_string_too_long"]={
		[c]="string literal of length A exceeds maximum length B that ... compilers are required to support [-Woverlength-strings]",
		[f]={"string literal of length A exceeds maximum length B that ",{"C90","ISO C99","C++"}," compilers are required to support"},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_subscript_non_lvalue"]={
		[c]="ISO C90 does not allow subscripting non-lvalue array [-Wpedantic]",
		[f]="ISO C90 does not allow subscripting non-lvalue array",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_subscript_overload"]={
		[c]="overloaded A with ... parameter is a C++23 extension [-Wpre-c++23-compat]",
		[f]={"overloaded A with ",{fb,"a defaulted","more than one"}," parameter is a C++23 extension"},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_template_arg_extra_parens"]={
		[c]="address non-type template argument cannot be surrounded by parentheses",
		[b]=g,
		[a]=h
	},
	["ext_template_arg_local_type"]={
		[c]="template argument uses local type A [-Wlocal-type-template-args]",
		[f]="template argument uses local type A",
		[b]=g,
		[a]=h
	},
	["ext_template_arg_object_internal"]={
		[c]="non-type template argument referring to ... B with internal linkage is a C++11 extension [-Wc++11-extensions]",
		[f]={"non-type template argument referring to ",{m,"object"}," B with internal linkage is a C++11 extension"},
		[b]=g,
		[a]=h
	},
	["ext_template_arg_unnamed_type"]={
		[c]="template argument uses unnamed type [-Wunnamed-type-template-args]",
		[f]="template argument uses unnamed type",
		[b]=g,
		[a]=h
	},
	["ext_template_outside_of_template"]={
		[c]="\'template\' keyword outside of a template [-Wc++11-extensions]",
		[f]="\'template\' keyword outside of a template",
		[b]=g,
		[a]=h
	},
	["ext_template_param_shadow"]={
		[c]="declaration of A shadows template parameter [-Wmicrosoft-template-shadow]",
		[f]="declaration of A shadows template parameter",
		[b]=g,
		[a]=h
	},
	["ext_template_parameter_default_in_function_template"]={
		[c]="default template arguments for a function template are a C++11 extension [-Wc++11-extensions]",
		[f]="default template arguments for a function template are a C++11 extension",
		[b]=g,
		[a]=h
	},
	["ext_template_template_param_typename"]={
		[c]="template template parameter using \'typename\' is a C++17 extension [-Wc++17-extensions]",
		[f]="template template parameter using \'typename\' is a C++17 extension",
		[b]=g,
		[a]=h
	},
	["ext_thread_before"]={
		[c]="\'__thread\' before \'A\' [-Wpedantic]",
		[f]="\'__thread\' before \'A\'",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_token_used"]={
		[c]="extension used [-Wlanguage-extension-token]",
		[f]="extension used",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_type_defined_in_offsetof"]={
		[c]="defining a type within \'...\' is a Clang extension [-Wgnu-offsetof-extensions]",
		[f]={"defining a type within \'",{"__builtin_offsetof","offsetof"},"\' is a Clang extension"},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_typecheck_addrof_temporary"]={
		[c]="taking the address of a temporary object of type A [-Waddress-of-temporary]",
		[f]="taking the address of a temporary object of type A",
		[b]=d,
		[a]=q
	},
	["ext_typecheck_addrof_void"]={
		[c]="ISO C forbids taking the address of an expression of type \'void\' [-Wpedantic]",
		[f]="ISO C forbids taking the address of an expression of type \'void\'",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_typecheck_base_super"]={
		[c]="method parameter type A does not match super class method parameter type B [-Wsuper-class-method-mismatch]",
		[f]={"method parameter type ",{"A does not match super class method parameter type B","does not match super class method parameter type"}},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_typecheck_cast_nonscalar"]={
		[c]="C99 forbids casting nonscalar type A to the same type [-Wpedantic]",
		[f]="C99 forbids casting nonscalar type A to the same type",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_typecheck_cast_to_union"]={
		[c]="cast to union type is a GNU extension [-Wgnu-union-cast]",
		[f]="cast to union type is a GNU extension",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_typecheck_compare_complete_incomplete_pointers"]={
		[c]="pointer comparisons before C11 need to be between two complete or two incomplete types; A is ...complete and B is ...complete [-Wc11-extensions]",
		[f]={"pointer comparisons before C11 need to be between two complete or two incomplete types; A is ",{l,"in"},"complete and B is ",{l,"in"},"complete"},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_typecheck_comparison_of_distinct_pointers"]={
		[c]="comparison of distinct pointer types (A and B) [-Wcompare-distinct-pointer-types]",
		[f]={"comparison of distinct pointer types",{yc,l}},
		[b]=g,
		[a]=h
	},
	["ext_typecheck_comparison_of_fptr_to_void"]={
		[c]="equality comparison between function pointer and void pointer (A and B) [-Wpedantic]",
		[f]="equality comparison between function pointer and void pointer (A and B)",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_typecheck_comparison_of_pointer_integer"]={
		[c]="comparison between pointer and integer (A and B) [-Wpointer-integer-compare]",
		[f]="comparison between pointer and integer (A and B)",
		[b]=g,
		[a]=h
	},
	["ext_typecheck_cond_incompatible_operands"]={
		[c]="incompatible operand types (A and B)",
		[b]=g,
		[a]=h
	},
	["ext_typecheck_cond_incompatible_pointers"]={
		[c]="pointer type mismatch (A and B) [-Wpointer-type-mismatch]",
		[f]={"pointer type mismatch",{yc,l}},
		[b]=g,
		[a]=h
	},
	["ext_typecheck_cond_one_void"]={
		[c]="C99 forbids conditional expressions with only one void side [-Wpedantic]",
		[f]="C99 forbids conditional expressions with only one void side",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_typecheck_cond_pointer_integer_mismatch"]={
		[c]="pointer/integer type mismatch in conditional expression (A and B) [-Wconditional-type-mismatch]",
		[f]={"pointer/integer type mismatch in conditional expression",{yc,l}},
		[b]=g,
		[a]=h
	},
	["ext_typecheck_convert_discards_qualifiers"]={
		[c]="... discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers]",
		[f]={{{{ab,G}},{{N,S}},{{T,F}},{{P,R}},{{Q,O}},{{M,L}},{{K,I}}}," discards qualifiers"},
		[b]=g,
		[a]=h
	},
	["ext_typecheck_convert_incompatible_function_pointer"]={
		[c]="incompatible function pointer types ...... [-Wincompatible-function-pointer-types]",
		[f]={"incompatible function pointer types ",{{{ab,G}},{{N,S}},{{T,F}},{{P,R}},{{Q,O}},{{M,L}},{{K,I}}},{l,Tc,Pc,ec,fc}},
		[b]=d,
		[a]=q
	},
	["ext_typecheck_convert_incompatible_pointer"]={
		[c]="incompatible pointer types ...... [-Wincompatible-pointer-types]",
		[f]={"incompatible pointer types ",{{{ab,G}},{{N,S}},{{T,F}},{{P,R}},{{Q,O}},{{M,L}},{{K,I}}},{l,Tc,Pc,ec,fc}},
		[b]=g,
		[a]=h
	},
	["ext_typecheck_convert_incompatible_pointer_sign"]={
		[c]="... converts between pointers to integer types ... [-Wpointer-sign]",
		[f]={{{{ab,G}},{{N,S}},{{T,F}},{{P,R}},{{Q,O}},{{M,L}},{{K,I}}}," converts between pointers to integer types ",{"with different sign","where one is of the unique plain \'char\' type and the other is not"}},
		[b]=g,
		[a]=h
	},
	["ext_typecheck_convert_int_pointer"]={
		[c]="incompatible integer to pointer conversion ...... [-Wint-conversion]",
		[f]={"incompatible integer to pointer conversion ",{{{ab,G}},{{N,S}},{{T,F}},{{P,R}},{{Q,O}},{{M,L}},{{K,I}}},{l,Tc,Pc,ec,fc}},
		[b]=d,
		[a]=q
	},
	["ext_typecheck_convert_pointer_int"]={
		[c]="incompatible pointer to integer conversion ...... [-Wint-conversion]",
		[f]={"incompatible pointer to integer conversion ",{{{ab,G}},{{N,S}},{{T,F}},{{P,R}},{{Q,O}},{{M,L}},{{K,I}}},{l,Tc,Pc,ec,fc}},
		[b]=d,
		[a]=q
	},
	["ext_typecheck_convert_pointer_void_func"]={
		[c]="... converts between void pointer and function pointer [-Wpedantic]",
		[f]={{{{ab,G}},{{N,S}},{{T,F}},{{P,R}},{{Q,O}},{{M,L}},{{K,I}}}," converts between void pointer and function pointer"},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_typecheck_decl_incomplete_type"]={
		[c]="tentative definition of variable with internal linkage has incomplete non-array type A [-Wtentative-definition-incomplete-type]",
		[f]="tentative definition of variable with internal linkage has incomplete non-array type A",
		[b]=g,
		[a]=h
	},
	["ext_typecheck_indirection_through_void_pointer"]={
		[c]="ISO C does not allow indirection on operand of type A [-Wvoid-ptr-dereference]",
		[f]="ISO C does not allow indirection on operand of type A",
		[b]=g,
		[a]=h
	},
	["ext_typecheck_ordered_comparison_of_function_pointers"]={
		[c]="ordered comparison of function pointers (A and B) [-Wordered-compare-function-pointers]",
		[f]="ordered comparison of function pointers (A and B)",
		[b]=g,
		[a]=h
	},
	["ext_typecheck_ordered_comparison_of_pointer_and_zero"]={
		[c]="ordered comparison between pointer and zero (A and B) is an extension [-Wpedantic]",
		[f]="ordered comparison between pointer and zero (A and B) is an extension",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_typecheck_ordered_comparison_of_pointer_integer"]={
		[c]="ordered comparison between pointer and integer (A and B)",
		[b]=g,
		[a]=h
	},
	["ext_typecheck_zero_array_size"]={
		[c]="zero size arrays are an extension [-Wzero-length-array]",
		[f]="zero size arrays are an extension",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_typedef_without_a_name"]={
		[c]="typedef requires a name [-Wmissing-declarations]",
		[f]="typedef requires a name",
		[b]=g,
		[a]=h
	},
	["ext_typename_missing"]={
		[c]="missing \'typename\' prior to dependent type name \'AB\' [-Wtypename-missing]",
		[f]="missing \'typename\' prior to dependent type name \'AB\'",
		[b]=g,
		[a]=h
	},
	["ext_typename_outside_of_template"]={
		[c]="\'typename\' occurs outside of a template [-Wc++11-extensions]",
		[f]="\'typename\' occurs outside of a template",
		[b]=g,
		[a]=h
	},
	["ext_undeclared_unqual_id_with_dependent_base"]={
		[c]="use of undeclared identifier A; unqualified lookup into dependent bases of class template B is a Microsoft extension [-Wmicrosoft-template]",
		[f]="use of undeclared identifier A; unqualified lookup into dependent bases of class template B is a Microsoft extension",
		[b]=g,
		[a]=h
	},
	["ext_undefined_internal_type"]={
		[c]="ISO C++ requires a definition in this translation unit for ... B because its type does not have linkage [-Wundefined-internal-type]",
		[f]={"ISO C++ requires a definition in this translation unit for ",{m,z}," B because its type does not have linkage"},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_unelaborated_friend_type"]={
		[c]="unelaborated friend declaration is a C++11 extension; specify \'...\' to befriend B [-Wc++11-extensions]",
		[f]={"unelaborated friend declaration is a C++11 extension; specify \'",{r,B,v,o,pb},"\' to befriend B"},
		[b]=g,
		[a]=h
	},
	["ext_unicode_whitespace"]={
		[c]="treating Unicode character as whitespace [-Wunicode-whitespace]",
		[f]="treating Unicode character as whitespace",
		[b]=g,
		[a]=h
	},
	["ext_union_member_of_reference_type"]={
		[c]="union member A has reference type B, which is a Microsoft extension [-Wmicrosoft-union-member-reference]",
		[f]="union member A has reference type B, which is a Microsoft extension",
		[b]=g,
		[a]=h
	},
	["ext_unknown_escape"]={
		[c]="unknown escape sequence \'\\A\' [-Wunknown-escape-sequence]",
		[f]="unknown escape sequence \'\\A\'",
		[b]=g,
		[a]=h
	},
	["ext_unqualified_base_class"]={
		[c]="unqualified base initializer of class templates is a Microsoft extension [-Wmicrosoft-template]",
		[f]="unqualified base initializer of class templates is a Microsoft extension",
		[b]=g,
		[a]=h
	},
	["ext_unterminated_char_or_string"]={
		[c]="missing terminating ... character [-Winvalid-pp-token]",
		[f]={"missing terminating ",{x,"\'\"\'"}," character"},
		[b]=g,
		[a]=h
	},
	["ext_use_out_of_scope_declaration"]={
		[c]="use of out-of-scope declaration of A... [-Wout-of-scope-function]",
		[f]={"use of out-of-scope declaration of A",{l," whose type is not compatible with that of an implicit declaration"}},
		[b]=g,
		[a]=h
	},
	["ext_using_attribute_ns"]={
		[c]="default scope specifier for attributes is a C++17 extension [-Wc++17-extensions]",
		[f]="default scope specifier for attributes is a C++17 extension",
		[b]=g,
		[a]=h
	},
	["ext_using_decl_scoped_enumerator"]={
		[c]="using declaration naming a scoped enumerator is a C++20 extension [-Wc++20-extensions]",
		[f]="using declaration naming a scoped enumerator is a C++20 extension",
		[b]=g,
		[a]=h
	},
	["ext_using_declaration_pack"]={
		[c]="pack expansion of using declaration is a C++17 extension [-Wc++17-extensions]",
		[f]="pack expansion of using declaration is a C++17 extension",
		[b]=g,
		[a]=h
	},
	["ext_using_enum_declaration"]={
		[c]="using enum declaration is a C++20 extension [-Wc++20-extensions]",
		[f]="using enum declaration is a C++20 extension",
		[b]=g,
		[a]=h
	},
	["ext_using_undefined_std"]={
		[c]="using directive refers to implicitly-defined namespace \'std\'",
		[b]=g,
		[a]=h
	},
	["ext_variable_sized_type_in_struct"]={
		[c]="field A with variable sized type B not at the end of a struct or class is a GNU extension [-Wgnu-variable-sized-type-not-at-end]",
		[f]="field A with variable sized type B not at the end of a struct or class is a GNU extension",
		[b]=g,
		[a]=h
	},
	["ext_variable_template"]={
		[c]="variable templates are a C++14 extension [-Wc++14-extensions]",
		[f]="variable templates are a C++14 extension",
		[b]=g,
		[a]=h
	},
	["ext_variadic_macro"]={
		[c]="variadic macros are a C99 feature [-Wvariadic-macros]",
		[f]="variadic macros are a C99 feature",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_variadic_main"]={
		[c]="\'main\' is not allowed to be declared variadic [-Wmain]",
		[f]="\'main\' is not allowed to be declared variadic",
		[b]=g,
		[a]=h
	},
	["ext_variadic_templates"]={
		[c]="variadic templates are a C++11 extension [-Wc++11-extensions]",
		[f]="variadic templates are a C++11 extension",
		[b]=g,
		[a]=h
	},
	["ext_vla"]={
		[c]="variable length arrays are a C99 feature [-Wvla-extension]",
		[f]="variable length arrays are a C99 feature",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["ext_vla_folded_to_constant"]={
		[c]="variable length array folded to constant array as an extension [-Wgnu-folding-constant]",
		[f]="variable length array folded to constant array as an extension",
		[b]=g,
		[a]=h
	},
	["ext_warn_duplicate_declspec"]={
		[c]="duplicate \'A\' declaration specifier [-Wduplicate-decl-specifier]",
		[f]="duplicate \'A\' declaration specifier",
		[b]=g,
		[a]=h
	},
	["ext_warn_gnu_final"]={
		[c]="__final is a GNU extension, consider using C++11 final [-Wgcc-compat]",
		[f]="__final is a GNU extension, consider using C++11 final",
		[b]=g,
		[a]=h
	},
	["ext_wchar_t_sign_spec"]={
		[c]="\'A\' cannot be signed or unsigned [-Wsigned-unsigned-wchar]",
		[f]="\'A\' cannot be signed or unsigned",
		[b]=d,
		[a]=q
	},
	["fatal_too_many_errors"]={
		[c]="too many errors emitted, stopping now [-ferror-limit=]",
		[b]=s,
		[a]=t
	},
	["note_access_constrained_by_path"]={
		[c]="constrained by ...... inheritance here",
		[f]={"constrained by ",{l,"implicitly "},{C,D}," inheritance here"},
		[b]=i,
		[a]=j
	},
	["note_access_natural"]={
		[c]="...declared ... here",
		[f]={{l,"implicitly "},"declared ",{C,D},Lb},
		[b]=i,
		[a]=j
	},
	["note_access_protected_restricted_ctordtor"]={
		[c]="protected ... can only be used to ... a base class subobject",
		[f]={"protected ",{n,p}," can only be used to ",{"construct","destroy"}," a base class subobject"},
		[b]=i,
		[a]=j
	},
	["note_access_protected_restricted_noobject"]={
		[c]="must name member using the type of the current context A",
		[b]=i,
		[a]=j
	},
	["note_access_protected_restricted_object"]={
		[c]="can only access this member on an object of type A",
		[b]=i,
		[a]=j
	},
	["note_add_deprecation_attr"]={
		[c]="add a deprecation attribute to the declaration to silence this warning",
		[b]=i,
		[a]=j
	},
	["note_add_synthesize_directive"]={
		[c]="add a \'@synthesize\' directive",
		[b]=i,
		[a]=j
	},
	["note_additional_parens_for_variable_declaration"]={
		[c]="add a pair of parentheses to declare a variable",
		[b]=i,
		[a]=j
	},
	["note_addrof_ovl_candidate_disabled_by_enable_if_attr"]={
		[c]="candidate function made ineligible by enable_if",
		[b]=i,
		[a]=j
	},
	["note_alias_mangled_name_alternative"]={
		[c]="function by that name is mangled as \"A\"",
		[b]=i,
		[a]=j
	},
	["note_alias_requires_mangled_name"]={
		[c]="the ... specified in an ... must refer to its mangled name",
		[f]={"the ",{"function or variable",m}," specified in an ",{Dc,"ifunc"}," must refer to its mangled name"},
		[b]=i,
		[a]=j
	},
	["note_alignas_on_declaration"]={
		[c]="declared with A attribute here",
		[b]=i,
		[a]=j
	},
	["note_allocated_here"]={
		[c]="allocated with \'new...\' here",
		[f]={"allocated with \'new",{"[]",l},"\' here"},
		[b]=i,
		[a]=j
	},
	["note_also_found"]={
		[c]="also found",
		[b]=i,
		[a]=j
	},
	["note_ambig_member_ref_object_type"]={
		[c]="lookup in the object type A refers here",
		[b]=i,
		[a]=j
	},
	["note_ambig_member_ref_scope"]={
		[c]="lookup from the current scope refers here",
		[b]=i,
		[a]=j
	},
	["note_ambiguous_atomic_constraints"]={
		[c]="similar constraint expressions not considered equivalent; constraint expressions cannot be considered equivalent unless they originate from the same concept",
		[b]=i,
		[a]=j
	},
	["note_ambiguous_atomic_constraints_similar_expression"]={
		[c]="similar constraint expression here",
		[b]=i,
		[a]=j
	},
	["note_ambiguous_candidate"]={
		[c]="candidate found by name lookup is A",
		[b]=i,
		[a]=j
	},
	["note_ambiguous_inherited_constructor_using"]={
		[c]="inherited from base class A here",
		[b]=i,
		[a]=j
	},
	["note_ambiguous_member_found"]={
		[c]="member found by ambiguous name lookup",
		[b]=i,
		[a]=j
	},
	["note_ambiguous_member_type_found"]={
		[c]="member type A found by ambiguous name lookup",
		[b]=i,
		[a]=j
	},
	["note_ambiguous_type_conversion"]={
		[c]="because of ambiguity in conversion of A to B",
		[f]={"because of ambiguity in conversion ",{"of A to B","between types"}},
		[b]=i,
		[a]=j
	},
	["note_anonymous_namespace"]={
		[c]="anonymous namespace begins here",
		[b]=i,
		[a]=j
	},
	["note_arc_bridge"]={
		[c]="use __bridge to convert directly (no change in ownership)",
		[b]=i,
		[a]=j
	},
	["note_arc_bridge_retained"]={
		[c]="use ... to make an ARC object available as a +1 A",
		[f]={"use ",{"__bridge_retained","CFBridgingRetain call"}," to make an ARC object available as a +1 A"},
		[b]=i,
		[a]=j
	},
	["note_arc_bridge_transfer"]={
		[c]="use ... to transfer ownership of a +1 A into ARC",
		[f]={"use ",{"__bridge_transfer","CFBridgingRelease call"}," to transfer ownership of a +1 A into ARC"},
		[b]=i,
		[a]=j
	},
	["note_arc_cstyle_bridge"]={
		[c]="use __bridge with C-style cast to convert directly (no change in ownership)",
		[b]=i,
		[a]=j
	},
	["note_arc_cstyle_bridge_retained"]={
		[c]="use __bridge_retained with C-style cast to make an ARC object available as a +1 A",
		[b]=i,
		[a]=j
	},
	["note_arc_cstyle_bridge_transfer"]={
		[c]="use __bridge_transfer with C-style cast to transfer ownership of a +1 A into ARC",
		[b]=i,
		[a]=j
	},
	["note_arc_field_with_ownership"]={
		[c]="field has non-trivial ownership qualification",
		[b]=i,
		[a]=j
	},
	["note_arc_forbidden_type"]={
		[c]="declaration uses type that is ill-formed in ARC",
		[b]=i,
		[a]=j
	},
	["note_arc_gained_method_convention"]={
		[c]="declaration in interface is not in the \'...\' family because ...",
		[f]={"declaration in interface is not in the \'",{"alloc",Cb,"init","new"},"\' family because ",{"its result type is not an object pointer","its result type is unrelated to its receiver type"}},
		[b]=i,
		[a]=j
	},
	["note_arc_init_returns_unrelated"]={
		[c]="init method must return a type related to its receiver type",
		[b]=i,
		[a]=j
	},
	["note_arc_lost_method_convention"]={
		[c]="declaration in interface",
		[b]=i,
		[a]=j
	},
	["note_arc_retain_cycle_owner"]={
		[c]="block will be retained by ...",
		[f]={"block will be retained by ",{"the captured object","an object strongly retained by the captured object"}},
		[b]=i,
		[a]=j
	},
	["note_arc_weak_also_accessed_here"]={
		[c]="also accessed here",
		[b]=i,
		[a]=j
	},
	["note_arc_weak_disabled"]={
		[c]="declaration uses __weak, but ARC is disabled",
		[b]=i,
		[a]=j
	},
	["note_arc_weak_no_runtime"]={
		[c]="declaration uses __weak, which the current deployment target does not support",
		[b]=i,
		[a]=j
	},
	["note_array_declared_here"]={
		[c]="array A declared here",
		[b]=i,
		[a]=j
	},
	["note_array_init_plain_string_into_char8_t"]={
		[c]="add \'u8\' prefix to form a \'char8_t\' string literal",
		[b]=i,
		[a]=j
	},
	["note_array_size_conversion"]={
		[c]="conversion to ... type B declared here",
		[f]={"conversion to ",{wc,Fc}," type B declared here"},
		[b]=i,
		[a]=j
	},
	["note_asm_input_duplicate_first"]={
		[c]="constraint \'A\' is already present here",
		[b]=i,
		[a]=j
	},
	["note_asm_missing_constraint_modifier"]={
		[c]="use constraint modifier \"A\"",
		[b]=i,
		[a]=j
	},
	["note_assign_lhs_incomplete"]={
		[c]="type A is incomplete",
		[b]=i,
		[a]=j
	},
	["note_atomic_constraint_evaluated_to_false"]={
		[c]="... \'B\' evaluated to false",
		[f]={{zb,Ib}," \'B\' evaluated to false"},
		[b]=i,
		[a]=j
	},
	["note_atomic_constraint_evaluated_to_false_elaborated"]={
		[c]="... \'B\' (C D E) evaluated to false",
		[f]={{zb,Ib}," \'B\' (C D E) evaluated to false"},
		[b]=i,
		[a]=j
	},
	["note_atomic_property_fixup_suggest"]={
		[c]="setter and getter must both be synthesized, or both be user defined, or the property must be nonatomic",
		[b]=i,
		[a]=j
	},
	["note_attribute"]={
		[c]="attribute is here",
		[b]=i,
		[a]=j
	},
	["note_attribute_has_no_effect_on_compile_time_if_here"]={
		[c]="annotating the \'if ...\' statement here",
		[f]={"annotating the \'if ",{nb,Y},"\' statement here"},
		[b]=i,
		[a]=j
	},
	["note_attribute_has_no_effect_on_infinite_loop_here"]={
		[c]="annotating the infinite loop here",
		[b]=i,
		[a]=j
	},
	["note_attribute_overloadable_prev_overload"]={
		[c]="previous ...overload of function is here",
		[f]={"previous ",{"unmarked ",l},"overload of function is here"},
		[b]=i,
		[a]=j
	},
	["note_auto_readonly_iboutlet_fixup_suggest"]={
		[c]="property should be changed to be readwrite",
		[b]=i,
		[a]=j
	},
	["note_availability_specified_here"]={
		[c]="A has been explicitly marked ... here",
		[f]={"A has been explicitly marked ",{"unavailable","deleted","deprecated"},Lb},
		[b]=i,
		[a]=j
	},
	["note_await_ready_no_bool_conversion"]={
		[c]="return type of \'await_ready\' is required to be contextually convertible to \'bool\'",
		[b]=i,
		[a]=j
	},
	["note_bad_memaccess_silence"]={
		[c]="explicitly cast the pointer to silence this warning",
		[b]=i,
		[a]=j
	},
	["note_base_class_specified_here"]={
		[c]="base class A specified here",
		[b]=i,
		[a]=j
	},
	["note_bitfield_decl"]={
		[c]="bit-field is declared here",
		[b]=i,
		[a]=j
	},
	["note_block_var_fixit_add_initialization"]={
		[c]="did you mean to use __block A?",
		[b]=i,
		[a]=j
	},
	["note_bracket_depth"]={
		[c]="use -fbracket-depth=N to increase maximum nesting level",
		[b]=i,
		[a]=j
	},
	["note_building_builtin_dump_struct_call"]={
		[c]="in call to printing function with arguments \'(A)\' while dumping struct",
		[b]=i,
		[a]=j
	},
	["note_called_by"]={
		[c]="called by A",
		[b]=i,
		[a]=j
	},
	["note_called_once_gets_called_twice"]={
		[c]="previous call is here...",
		[f]={"previous call is here",{"; set to nil to indicate it cannot be called afterwards",l}},
		[b]=i,
		[a]=j
	},
	["note_callee_decl"]={
		[c]="A declared here",
		[b]=i,
		[a]=j
	},
	["note_callee_static_array"]={
		[c]="callee declares array parameter as static here",
		[b]=i,
		[a]=j
	},
	["note_cannot_use_trivial_abi_reason"]={
		[c]="\'trivial_abi\' is disallowed on A because ...",
		[f]={"\'trivial_abi\' is disallowed on A because ",{"its copy constructors and move constructors are all deleted","it is polymorphic","it has a base of a non-trivial class type","it has a virtual base","it has a __weak field","it has a field of a non-trivial class type"}},
		[b]=i,
		[a]=j
	},
	["note_carries_dependency_missing_first_decl"]={
		[c]="declaration missing \'[[carries_dependency]]\' attribute is here",
		[b]=i,
		[a]=j
	},
	["note_cast_operand_to_int"]={
		[c]="cast one or both operands to int to silence this warning",
		[b]=i,
		[a]=j
	},
	["note_cast_to_void"]={
		[c]="cast expression to void to silence warning",
		[b]=i,
		[a]=j
	},
	["note_cat_conform_to_noescape_prot"]={
		[c]="... conforms to protocol B which defines method C",
		[f]={{"category","class extension"}," conforms to protocol B which defines method C"},
		[b]=i,
		[a]=j
	},
	["note_cc1_round_trip_generated"]={
		[c]="generated arguments #A in round-trip: B",
		[b]=i,
		[a]=j
	},
	["note_cc1_round_trip_original"]={
		[c]="original arguments in round-trip: A",
		[b]=i,
		[a]=j
	},
	["note_change_bitfield_sign"]={
		[c]="consider making the bitfield type ...",
		[f]={"consider making the bitfield type ",{"unsigned","signed"}},
		[b]=i,
		[a]=j
	},
	["note_change_calling_conv_fixit"]={
		[c]="consider defining A with the \'B\' calling convention",
		[b]=i,
		[a]=j
	},
	["note_checking_constraints_for_class_spec_id_here"]={
		[c]="while checking constraint satisfaction for class template partial specialization \'A\' required here",
		[b]=i,
		[a]=j
	},
	["note_checking_constraints_for_function_here"]={
		[c]="while checking constraint satisfaction for function \'A\' required here",
		[b]=i,
		[a]=j
	},
	["note_checking_constraints_for_template_id_here"]={
		[c]="while checking constraint satisfaction for template \'A\' required here",
		[b]=i,
		[a]=j
	},
	["note_checking_constraints_for_var_spec_id_here"]={
		[c]="while checking constraint satisfaction for variable template partial specialization \'A\' required here",
		[b]=i,
		[a]=j
	},
	["note_class_declared"]={
		[c]="class is declared here",
		[b]=i,
		[a]=j
	},
	["note_cocoa_naming_declare_family"]={
		[c]="explicitly declare getter A with \'B\' to return an \'unowned\' object",
		[b]=i,
		[a]=j
	},
	["note_collapse_loop_count"]={
		[c]="parameter of the \'collapse\' clause",
		[b]=i,
		[a]=j
	},
	["note_comparison_synthesized_at"]={
		[c]="in defaulted ... comparison operator for B first required here",
		[f]={"in defaulted ",{A,Fb,A,Jb}," comparison operator for B first required here"},
		[b]=i,
		[a]=j
	},
	["note_compat_assoc"]={
		[c]="compatible type A specified here",
		[b]=i,
		[a]=j
	},
	["note_compound_token_split_second_token_here"]={
		[c]="...B token is here",
		[f]={{l,"second "},"B token is here"},
		[b]=i,
		[a]=j
	},
	["note_concatenated_string_literal_silence"]={
		[c]="place parentheses around the string literal to silence warning",
		[b]=i,
		[a]=j
	},
	["note_concept_specialization_constraint_evaluated_to_false"]={
		[c]="... \'B\' evaluated to false",
		[f]={{zb,Ib}," \'B\' evaluated to false"},
		[b]=i,
		[a]=j
	},
	["note_concept_specialization_here"]={
		[c]="while checking the satisfaction of concept \'A\' requested here",
		[b]=i,
		[a]=j
	},
	["note_condition_assign_silence"]={
		[c]="place parentheses around the assignment to silence this warning",
		[b]=i,
		[a]=j
	},
	["note_condition_assign_to_comparison"]={
		[c]="use \'==\' to turn this assignment into an equality comparison",
		[b]=i,
		[a]=j
	},
	["note_condition_or_assign_to_comparison"]={
		[c]="use \'!=\' to turn this compound assignment into an inequality comparison",
		[b]=i,
		[a]=j
	},
	["note_conflicting_attribute"]={
		[c]="conflicting attribute is here",
		[b]=i,
		[a]=j
	},
	["note_conflicting_prototype"]={
		[c]="conflicting prototype is here",
		[b]=i,
		[a]=j
	},
	["note_conflicting_try_here"]={
		[c]="conflicting A here",
		[b]=i,
		[a]=j
	},
	["note_consteval_address_accessible"]={
		[c]="... to a consteval declaration is not a constant expression",
		[f]={{W,E}," to a consteval declaration is not a constant expression"},
		[b]=i,
		[a]=j
	},
	["note_constexpr_access_deleted_object"]={
		[c]="... heap allocated object that has been deleted",
		[f]={{H,H,ic,lc,Yb,Jc,Hc,sc,dd,xc}," heap allocated object that has been deleted"},
		[b]=i,
		[a]=j
	},
	["note_constexpr_access_inactive_union_member"]={
		[c]="... member B of union with ... is not allowed in a constant expression",
		[f]={{H,H,ic,lc,Yb,Jc,Hc,sc,"construction of subobject of",xc}," member B of union with ",{"active member D","no active member"}," is not allowed in a constant expression"},
		[b]=i,
		[a]=j
	},
	["note_constexpr_access_mutable"]={
		[c]="... mutable member B is not allowed in a constant expression",
		[f]={{H,H,ic,lc,Yb,Jc,Hc,sc,dd,xc}," mutable member B is not allowed in a constant expression"},
		[b]=i,
		[a]=j
	},
	["note_constexpr_access_null"]={
		[c]="... dereferenced null pointer is not allowed in a constant expression",
		[f]={{H,H,ic,lc,Yb,Jc,Hc,sc,dd,xc}," dereferenced null pointer is not allowed in a constant expression"},
		[b]=i,
		[a]=j
	},
	["note_constexpr_access_past_end"]={
		[c]="... dereferenced one-past-the-end pointer is not allowed in a constant expression",
		[f]={{H,H,ic,lc,Yb,Jc,Hc,sc,dd,xc}," dereferenced one-past-the-end pointer is not allowed in a constant expression"},
		[b]=i,
		[a]=j
	},
	["note_constexpr_access_static_temporary"]={
		[c]="... temporary is not allowed in a constant expression outside the expression that created the temporary",
		[f]={{H,H,ic,lc,Yb,Jc,Hc,sc,"reconstruction of",xc}," temporary is not allowed in a constant expression outside the expression that created the temporary"},
		[b]=i,
		[a]=j
	},
	["note_constexpr_access_uninit"]={
		[c]="... ... is not allowed in a constant expression",
		[f]={{H,H,ic,lc,Yb,Jc,Hc,sc,"construction of subobject of",xc},w,{"object outside its lifetime","uninitialized object"}," is not allowed in a constant expression"},
		[b]=i,
		[a]=j
	},
	["note_constexpr_access_unreadable_object"]={
		[c]="... object \'B\' whose value is not known",
		[f]={{H,H,ic,lc,Yb,Jc,Hc,sc,dd,xc}," object \'B\' whose value is not known"},
		[b]=i,
		[a]=j
	},
	["note_constexpr_access_unsized_array"]={
		[c]="... element of array without known bound is not allowed in a constant expression",
		[f]={{H,H,ic,lc,Yb,Jc,Hc,sc,dd,xc}," element of array without known bound is not allowed in a constant expression"},
		[b]=i,
		[a]=j
	},
	["note_constexpr_access_volatile_obj"]={
		[c]="... volatile ... is not allowed in a constant expression",
		[f]={{H,H,ic,lc,Yb}," volatile ",{"temporary","object C","member C"}," is not allowed in a constant expression"},
		[b]=i,
		[a]=j
	},
	["note_constexpr_access_volatile_type"]={
		[c]="... volatile-qualified type B is not allowed in a constant expression",
		[f]={{H,H,ic,lc,Yb}," volatile-qualified type B is not allowed in a constant expression"},
		[b]=i,
		[a]=j
	},
	["note_constexpr_alignment_adjust"]={
		[c]="cannot constant evaluate the result of adjusting alignment to A",
		[b]=i,
		[a]=j
	},
	["note_constexpr_alignment_compute"]={
		[c]="cannot constant evaluate whether run-time alignment is at least A",
		[b]=i,
		[a]=j
	},
	["note_constexpr_alignment_too_big"]={
		[c]="requested alignment must be A or less for type B; C is invalid",
		[b]=i,
		[a]=j
	},
	["note_constexpr_array_index"]={
		[c]="cannot refer to element A of ... in a constant expression",
		[f]={"cannot refer to element A of ",{{"array of C element",{l,cb}},"non-array object"}," in a constant expression"},
		[b]=i,
		[a]=j
	},
	["note_constexpr_baa_insufficient_alignment"]={
		[c]="... the base pointee object (B byte) is ... the asserted C byte",
		[f]={{"alignment of","offset of the aligned pointer from"}," the base pointee object (B ",{"byte","bytes"},") is ",{"less than","not a multiple of"}," the asserted C ",{"byte","bytes"}},
		[b]=i,
		[a]=j
	},
	["note_constexpr_baa_value_insufficient_alignment"]={
		[c]="value of the aligned pointer (A) is not a multiple of the asserted B byte",
		[f]={"value of the aligned pointer (A) is not a multiple of the asserted B ",{"byte","bytes"}},
		[b]=i,
		[a]=j
	},
	["note_constexpr_bit_cast_indet_dest"]={
		[c]="indeterminate value can only initialize an object of type \'unsigned char\'... or \'std::byte\'; A is invalid",
		[f]={"indeterminate value can only initialize an object of type \'unsigned char\'",{", \'char\',",l}," or \'std::byte\'; A is invalid"},
		[b]=i,
		[a]=j
	},
	["note_constexpr_bit_cast_invalid_subtype"]={
		[c]="invalid type A is a ... of C",
		[f]={"invalid type A is a ",{tc,"base"}," of C"},
		[b]=i,
		[a]=j
	},
	["note_constexpr_bit_cast_invalid_type"]={
		[c]="bit_cast ... a ...... ... is not allowed in a constant expression",
		[f]={"bit_cast ",{Ed,"to"}," a ",{l,"type with a "},{v,W,"member pointer",Ub,E},w,{a,tc}," is not allowed in a constant expression"},
		[b]=i,
		[a]=j
	},
	["note_constexpr_bit_cast_unrepresentable_value"]={
		[c]="value B cannot be represented in type A",
		[b]=i,
		[a]=j
	},
	["note_constexpr_bit_cast_unsupported_bitfield"]={
		[c]="constexpr bit_cast involving bit-field is not yet supported",
		[b]=i,
		[a]=j
	},
	["note_constexpr_bit_cast_unsupported_type"]={
		[c]="constexpr bit_cast involving type A is not yet supported",
		[b]=i,
		[a]=j
	},
	["note_constexpr_body_previous_return"]={
		[c]="previous return statement is here",
		[b]=i,
		[a]=j
	},
	["note_constexpr_call_here"]={
		[c]="in call to \'A\'",
		[b]=i,
		[a]=j
	},
	["note_constexpr_call_limit_exceeded"]={
		[c]="constexpr evaluation hit maximum call limit",
		[b]=i,
		[a]=j
	},
	["note_constexpr_calls_suppressed"]={
		[c]="(skipping A callA in backtrace; use -fconstexpr-backtrace-limit=0 to see all)",
		[b]=i,
		[a]=j
	},
	["note_constexpr_compare_virtual_mem_ptr"]={
		[c]="comparison of pointer to virtual member function A has unspecified value",
		[b]=i,
		[a]=j
	},
	["note_constexpr_conditional_never_const"]={
		[c]="both arms of conditional operator are unable to produce a constant expression",
		[b]=i,
		[a]=j
	},
	["note_constexpr_construct_complex_elem"]={
		[c]="construction of individual component of complex number is not yet supported in constant expressions",
		[b]=i,
		[a]=j
	},
	["note_constexpr_ctor_missing_init"]={
		[c]="member not initialized by constructor",
		[b]=i,
		[a]=j
	},
	["note_constexpr_deallocate_null"]={
		[c]="\'std::allocator<...>::deallocate\' used to delete a null pointer",
		[b]=i,
		[a]=j
	},
	["note_constexpr_delete_base_nonvirt_dtor"]={
		[c]="delete of object with dynamic type B through pointer to base class type A with non-virtual destructor",
		[b]=i,
		[a]=j
	},
	["note_constexpr_delete_not_heap_alloc"]={
		[c]="delete of pointer \'A\' that does not point to a heap-allocated object",
		[b]=i,
		[a]=j
	},
	["note_constexpr_delete_subobject"]={
		[c]="delete of pointer... \'A\' ...",
		[f]={"delete of pointer",{" to subobject",l}," \'A\' ",{l,"that does not point to complete object"}},
		[b]=i,
		[a]=j
	},
	["note_constexpr_depth_limit_exceeded"]={
		[c]="constexpr evaluation exceeded maximum depth of A calls",
		[b]=i,
		[a]=j
	},
	["note_constexpr_destroy_complex_elem"]={
		[c]="destruction of individual component of complex number is not yet supported in constant expressions",
		[b]=i,
		[a]=j
	},
	["note_constexpr_destroy_out_of_lifetime"]={
		[c]="destroying object \'A\' whose lifetime has already ended",
		[b]=i,
		[a]=j
	},
	["note_constexpr_double_delete"]={
		[c]="delete of pointer that has already been deleted",
		[b]=i,
		[a]=j
	},
	["note_constexpr_double_destroy"]={
		[c]="destruction of object that is already being destroyed",
		[b]=i,
		[a]=j
	},
	["note_constexpr_dtor_subobject"]={
		[c]="... declared here",
		[f]={{"data member B","base class C"}," declared here"},
		[b]=i,
		[a]=j
	},
	["note_constexpr_dynamic_alloc"]={
		[c]="... to ...heap-allocated object is not a constant expression",
		[f]={{W,E}," to ",{l,Cd},"heap-allocated object is not a constant expression"},
		[b]=i,
		[a]=j
	},
	["note_constexpr_dynamic_alloc_here"]={
		[c]="heap allocation performed here",
		[b]=i,
		[a]=j
	},
	["note_constexpr_dynamic_cast_to_reference_failed"]={
		[c]="reference dynamic_cast failed: ...",
		[f]={"reference dynamic_cast failed: ",{"static type B of operand is a non-public base class of dynamic type C","dynamic type C of operand does not have a base class of type D","D is an ambiguous base class of dynamic type C of operand","D is a non-public base class of dynamic type C of operand"}},
		[b]=i,
		[a]=j
	},
	["note_constexpr_dynamic_rounding"]={
		[c]="cannot evaluate this expression if rounding mode is dynamic",
		[b]=i,
		[a]=j
	},
	["note_constexpr_float_arithmetic"]={
		[c]="floating point arithmetic produces ...",
		[f]={"floating point arithmetic produces ",{"an infinity","a NaN"}},
		[b]=i,
		[a]=j
	},
	["note_constexpr_float_arithmetic_strict"]={
		[c]="compile time floating point arithmetic suppressed in strict evaluation modes",
		[b]=i,
		[a]=j
	},
	["note_constexpr_function_param_value_unknown"]={
		[c]="function parameter A with unknown value cannot be used in a constant expression",
		[b]=i,
		[a]=j
	},
	["note_constexpr_heap_alloc_limit_exceeded"]={
		[c]="constexpr evaluation hit maximum heap allocation limit",
		[b]=i,
		[a]=j
	},
	["note_constexpr_inherited_ctor_call_here"]={
		[c]="in implicit initialization for inherited constructor of A",
		[b]=i,
		[a]=j
	},
	["note_constexpr_invalid_alignment"]={
		[c]="requested alignment A is not a positive power of two",
		[b]=i,
		[a]=j
	},
	["note_constexpr_invalid_cast"]={
		[c]="... is not allowed in a constant expression...",
		[f]={{yb,mc,{{"this conversion","cast that performs the conversions of a reinterpret_cast"}},"cast from B"}," is not allowed in a constant expression",{l," in C++ standards before C++20",l,l}},
		[b]=i,
		[a]=j
	},
	["note_constexpr_invalid_downcast"]={
		[c]="cannot cast object of dynamic type A to type B",
		[b]=i,
		[a]=j
	},
	["note_constexpr_invalid_function"]={
		[c]="... ... C cannot be used in a constant expression",
		[f]={{"non-constexpr","undefined"},w,{m,n}," C cannot be used in a constant expression"},
		[b]=i,
		[a]=j
	},
	["note_constexpr_invalid_inhctor"]={
		[c]="constructor inherited from base class A cannot be used in a constant expression; derived class cannot be implicitly initialized",
		[b]=i,
		[a]=j
	},
	["note_constexpr_invalid_template_arg"]={
		[c]="... to ...... is not allowed in a template argument",
		[f]={{W,E}," to ",{l,Cd},{"type_info object","string literal","temporary object","predefined \'D\' variable"}," is not allowed in a template argument"},
		[b]=i,
		[a]=j
	},
	["note_constexpr_invalid_void_star_cast"]={
		[c]="cast from A is not allowed in a constant expression ...",
		[f]={"cast from A is not allowed in a constant expression ",{"in C++ standards before C++2c","because the pointed object type C is not similar to the target type D"}},
		[b]=i,
		[a]=j
	},
	["note_constexpr_large_shift"]={
		[c]="shift count A >= width of type B (C bitC)",
		[b]=i,
		[a]=j
	},
	["note_constexpr_lifetime_ended"]={
		[c]="... ... whose storage duration has ended",
		[f]={{H,H,ic,lc,Yb,Jc,Hc,sc,dd,xc},w,{"temporary",z}," whose ",{"storage duration","lifetime"}," has ended"},
		[b]=i,
		[a]=j
	},
	["note_constexpr_literal_comparison"]={
		[c]="comparison of addresses of literals has unspecified value",
		[b]=i,
		[a]=j
	},
	["note_constexpr_lshift_discards"]={
		[c]="signed left shift discards bits",
		[b]=i,
		[a]=j
	},
	["note_constexpr_lshift_of_negative"]={
		[c]="left shift of negative value A",
		[b]=i,
		[a]=j
	},
	["note_constexpr_ltor_incomplete_type"]={
		[c]="read of incomplete type A is not allowed in a constant expression",
		[b]=i,
		[a]=j
	},
	["note_constexpr_ltor_non_const_int"]={
		[c]="read of non-const variable A is not allowed in a constant expression",
		[b]=i,
		[a]=j
	},
	["note_constexpr_ltor_non_constexpr"]={
		[c]="read of non-constexpr variable A is not allowed in a constant expression",
		[b]=i,
		[a]=j
	},
	["note_constexpr_ltor_non_integral"]={
		[c]="read of variable A of non-integral, non-enumeration type B is not allowed in a constant expression",
		[b]=i,
		[a]=j
	},
	["note_constexpr_mem_pointer_weak_comparison"]={
		[c]="comparison against pointer to weak member A can only be performed at runtime",
		[b]=i,
		[a]=j
	},
	["note_constexpr_memchr_unsupported"]={
		[c]="constant evaluation of A on array of type B is not supported; only arrays of narrow character types can be searched",
		[b]=i,
		[a]=j
	},
	["note_constexpr_memcmp_unsupported"]={
		[c]="constant evaluation of A between arrays of types B and C is not supported; only arrays of narrow character types can be compared",
		[b]=i,
		[a]=j
	},
	["note_constexpr_memcpy_incomplete_type"]={
		[c]="cannot constant evaluate \'...\' between objects of incomplete type B",
		[f]={"cannot constant evaluate \'",{"memcpy","memmove"},"\' between objects of incomplete type B"},
		[b]=i,
		[a]=j
	},
	["note_constexpr_memcpy_nontrivial"]={
		[c]="cannot constant evaluate \'...\' between objects of non-trivially-copyable type B",
		[f]={"cannot constant evaluate \'",{"memcpy","memmove"},"\' between objects of non-trivially-copyable type B"},
		[b]=i,
		[a]=j
	},
	["note_constexpr_memcpy_null"]={
		[c]="... of \'...\' is D",
		[f]={{"source","destination"}," of \'",{{{"memcpy","wmemcpy"}},{{"memmove","wmemmove"}}},"\' is D"},
		[b]=i,
		[a]=j
	},
	["note_constexpr_memcpy_overlap"]={
		[c]="\'...\' between overlapping memory regions",
		[f]={x,{"memcpy","wmemcpy"},"\' between overlapping memory regions"},
		[b]=i,
		[a]=j
	},
	["note_constexpr_memcpy_type_pun"]={
		[c]="cannot constant evaluate \'...\' from object of type B to object of type C",
		[f]={"cannot constant evaluate \'",{"memcpy","memmove"},"\' from object of type B to object of type C"},
		[b]=i,
		[a]=j
	},
	["note_constexpr_memcpy_unsupported"]={
		[c]="\'...\' not supported: ...",
		[f]={x,{{{"memcpy","wmemcpy"}},{{"memmove","wmemmove"}}},"\' not supported: ",{"size to copy (E) is not a multiple of size of element type D (F)","source is not a contiguous array of at least E elements of type D","destination is not a contiguous array of at least E elements of type D"}},
		[b]=i,
		[a]=j
	},
	["note_constexpr_memory_leak"]={
		[c]="allocation performed here was not deallocated",
		[f]={"allocation performed here was not deallocated",{l," (along with A other memory leakA)"}},
		[b]=i,
		[a]=j
	},
	["note_constexpr_modify_const_type"]={
		[c]="modification of object of const-qualified type A is not allowed in a constant expression",
		[b]=i,
		[a]=j
	},
	["note_constexpr_modify_global"]={
		[c]="a constant expression cannot modify an object that is visible outside that expression",
		[b]=i,
		[a]=j
	},
	["note_constexpr_negative_shift"]={
		[c]="negative shift count A",
		[b]=i,
		[a]=j
	},
	["note_constexpr_new"]={
		[c]="dynamic memory allocation is not permitted in constant expressions until C++20",
		[b]=i,
		[a]=j
	},
	["note_constexpr_new_delete_mismatch"]={
		[c]="\'delete\' used to delete pointer to object allocated with \'std::allocator<...>::allocate\'",
		[f]={{"\'delete\' used to delete pointer to object allocated with \'std::allocator<...>::allocate\'",{{"non-array delete","array delete","\'std::allocator<...>::deallocate\'"}," used to delete pointer to ",{"array object of type C","non-array object of type C","object allocated with \'new\'"}}}},
		[b]=i,
		[a]=j
	},
	["note_constexpr_new_negative"]={
		[c]="cannot allocate array; evaluated array bound A is negative",
		[b]=i,
		[a]=j
	},
	["note_constexpr_new_non_replaceable"]={
		[c]="call to ... B",
		[f]={"call to ",{"placement","class-specific"},X},
		[b]=i,
		[a]=j
	},
	["note_constexpr_new_not_complete_object_type"]={
		[c]="cannot allocate memory of ... type B",
		[f]={"cannot allocate memory of ",{"incomplete",m},Rc},
		[b]=i,
		[a]=j
	},
	["note_constexpr_new_placement"]={
		[c]="this placement new expression is not yet supported in constant expressions",
		[b]=i,
		[a]=j
	},
	["note_constexpr_new_too_large"]={
		[c]="cannot allocate array; evaluated array bound A is too large",
		[b]=i,
		[a]=j
	},
	["note_constexpr_new_too_small"]={
		[c]="cannot allocate array; evaluated array bound A is too small to hold B explicitly initialized elements",
		[b]=i,
		[a]=j
	},
	["note_constexpr_new_untyped"]={
		[c]="cannot allocate untyped memory in a constant expression; use \'std::allocator<T>::allocate\' to allocate memory of type \'T\'",
		[b]=i,
		[a]=j
	},
	["note_constexpr_no_return"]={
		[c]="control reached end of constexpr function",
		[b]=i,
		[a]=j
	},
	["note_constexpr_non_global"]={
		[c]="... to ...... is not a constant expression",
		[f]={{W,E}," to ",{l,Cd},{"temporary",hc}," is not a constant expression"},
		[b]=i,
		[a]=j
	},
	["note_constexpr_nonliteral"]={
		[c]="non-literal type A cannot be used in a constant expression",
		[b]=i,
		[a]=j
	},
	["note_constexpr_not_static"]={
		[c]="address of non-static constexpr variable A may differ on each invocation of the enclosing function; add \'static\' to give it a constant address",
		[b]=i,
		[a]=j
	},
	["note_constexpr_null_callee"]={
		[c]="\'A\' evaluates to a null function pointer",
		[b]=i,
		[a]=j
	},
	["note_constexpr_null_subobject"]={
		[c]="cannot ... null pointer",
		[f]={Wb,{"access base class of","access derived class of","access field of","access array element of","perform pointer arithmetic on","access real component of","access imaginary component of"}," null pointer"},
		[b]=i,
		[a]=j
	},
	["note_constexpr_operator_new_bad_size"]={
		[c]="allocated size A is not a multiple of size B of element type C",
		[b]=i,
		[a]=j
	},
	["note_constexpr_overflow"]={
		[c]="value A is outside the range of representable values of type B",
		[b]=i,
		[a]=j
	},
	["note_constexpr_past_end"]={
		[c]="dereferenced pointer past the end of ...... is not a constant expression",
		[f]={"dereferenced pointer past the end of ",{l,Cd},{"temporary",Bc}," is not a constant expression"},
		[b]=i,
		[a]=j
	},
	["note_constexpr_past_end_subobject"]={
		[c]="cannot ... pointer past the end of object",
		[f]={Wb,{"access base class of","access derived class of","access field of","access array element of","ERROR","access real component of","access imaginary component of"}," pointer past the end of object"},
		[b]=i,
		[a]=j
	},
	["note_constexpr_placement_new_wrong_type"]={
		[c]="placement new would change type of storage from A to B",
		[b]=i,
		[a]=j
	},
	["note_constexpr_pointer_comparison_base_classes"]={
		[c]="comparison of addresses of subobjects of different base classes has unspecified value",
		[b]=i,
		[a]=j
	},
	["note_constexpr_pointer_comparison_base_field"]={
		[c]="comparison of address of base class subobject A of class B to field C has unspecified value",
		[b]=i,
		[a]=j
	},
	["note_constexpr_pointer_comparison_differing_access"]={
		[c]="comparison of address of fields A and C of E with differing access specifiers (B vs D) has unspecified value",
		[b]=i,
		[a]=j
	},
	["note_constexpr_pointer_comparison_past_end"]={
		[c]="comparison against pointer \'A\' that points past the end of a complete object has unspecified value",
		[b]=i,
		[a]=j
	},
	["note_constexpr_pointer_comparison_unspecified"]={
		[c]="comparison between \'A\' and \'B\' has unspecified value",
		[b]=i,
		[a]=j
	},
	["note_constexpr_pointer_comparison_zero_sized"]={
		[c]="comparison of pointers \'A\' and \'B\' to unrelated zero-sized objects",
		[b]=i,
		[a]=j
	},
	["note_constexpr_pointer_constant_comparison"]={
		[c]="comparison of numeric address \'A\' with pointer \'B\' can only be performed at runtime",
		[b]=i,
		[a]=j
	},
	["note_constexpr_pointer_subtraction_not_same_array"]={
		[c]="subtracted pointers are not elements of the same array",
		[b]=i,
		[a]=j
	},
	["note_constexpr_pointer_subtraction_zero_size"]={
		[c]="subtraction of pointers to type A of zero size",
		[b]=i,
		[a]=j
	},
	["note_constexpr_pointer_weak_comparison"]={
		[c]="comparison against address of weak declaration \'A\' can only be performed at runtime",
		[b]=i,
		[a]=j
	},
	["note_constexpr_polymorphic_unknown_dynamic_type"]={
		[c]="... object \'B\' whose dynamic type is not constant",
		[f]={{l,l,l,l,l,"virtual function called on","dynamic_cast applied to",sc,dd,xc}," object \'B\' whose dynamic type is not constant"},
		[b]=i,
		[a]=j
	},
	["note_constexpr_pseudo_destructor"]={
		[c]="pseudo-destructor call is not permitted in constant expressions until C++20",
		[b]=i,
		[a]=j
	},
	["note_constexpr_pure_virtual_call"]={
		[c]="pure virtual function A called",
		[b]=i,
		[a]=j
	},
	["note_constexpr_static_local"]={
		[c]="control flows through the definition of a ... variable",
		[f]={"control flows through the definition of a ",{Vc,"thread_local"}," variable"},
		[b]=i,
		[a]=j
	},
	["note_constexpr_step_limit_exceeded"]={
		[c]="constexpr evaluation hit maximum step limit; possible infinite loop?",
		[b]=i,
		[a]=j
	},
	["note_constexpr_stmt_expr_unsupported"]={
		[c]="this use of statement expressions is not supported in a constant expression",
		[b]=i,
		[a]=j
	},
	["note_constexpr_subobject_declared_here"]={
		[c]="subobject declared here",
		[b]=i,
		[a]=j
	},
	["note_constexpr_temporary_here"]={
		[c]="temporary created here",
		[b]=i,
		[a]=j
	},
	["note_constexpr_this"]={
		[c]="...use of \'this\' pointer is only allowed within the evaluation of a call to a \'constexpr\' member function",
		[f]={{l,"implicit "},"use of \'this\' pointer is only allowed within the evaluation of a call to a \'constexpr\' member function"},
		[b]=i,
		[a]=j
	},
	["note_constexpr_typeid_polymorphic"]={
		[c]="typeid applied to expression of polymorphic type A is not allowed in a constant expression in C++ standards before C++20",
		[b]=i,
		[a]=j
	},
	["note_constexpr_uninitialized"]={
		[c]="subobject ...B is not initialized",
		[f]={"subobject ",{"of type ",l},"B is not initialized"},
		[b]=i,
		[a]=j
	},
	["note_constexpr_uninitialized_base"]={
		[c]="constructor of base class A is not called",
		[b]=i,
		[a]=j
	},
	["note_constexpr_union_member_change_during_init"]={
		[c]="assignment would change active union member during the initialization of a different member of the same union",
		[b]=i,
		[a]=j
	},
	["note_constexpr_unsized_array_indexed"]={
		[c]="indexing of array without known bound is not allowed in a constant expression",
		[b]=i,
		[a]=j
	},
	["note_constexpr_unsupported_destruction"]={
		[c]="non-trivial destruction of type A in a constant expression is not supported",
		[b]=i,
		[a]=j
	},
	["note_constexpr_unsupported_flexible_array"]={
		[c]="flexible array initialization is not yet supported",
		[b]=i,
		[a]=j
	},
	["note_constexpr_unsupported_layout"]={
		[c]="type A has unexpected layout",
		[b]=i,
		[a]=j
	},
	["note_constexpr_unsupported_temporary_nontrivial_dtor"]={
		[c]="non-trivial destruction of lifetime-extended temporary with type A used in the result of a constant expression is not yet supported",
		[b]=i,
		[a]=j
	},
	["note_constexpr_unsupported_unsized_array"]={
		[c]="array-to-pointer decay of array member without known bound is not supported",
		[b]=i,
		[a]=j
	},
	["note_constexpr_use_uninit_reference"]={
		[c]="use of reference outside its lifetime is not allowed in a constant expression",
		[b]=i,
		[a]=j
	},
	["note_constexpr_var_init_non_constant"]={
		[c]="initializer of A is not a constant expression",
		[b]=i,
		[a]=j
	},
	["note_constexpr_var_init_unknown"]={
		[c]="initializer of A is unknown",
		[b]=i,
		[a]=j
	},
	["note_constexpr_var_init_weak"]={
		[c]="initializer of weak variable A is not considered constant because it may be different at runtime",
		[b]=i,
		[a]=j
	},
	["note_constexpr_virtual_base"]={
		[c]="cannot construct object of type A with virtual base class in a constant expression",
		[b]=i,
		[a]=j
	},
	["note_constexpr_virtual_base_here"]={
		[c]="virtual base class declared here",
		[b]=i,
		[a]=j
	},
	["note_constexpr_virtual_call"]={
		[c]="cannot evaluate call to virtual function in a constant expression in C++ standards before C++20",
		[b]=i,
		[a]=j
	},
	["note_constexpr_void_comparison"]={
		[c]="comparison between unequal pointers to void has unspecified result",
		[b]=i,
		[a]=j
	},
	["note_constexpr_volatile_here"]={
		[c]="volatile ... here",
		[f]={"volatile ",{"temporary created","object declared","member declared"},Lb},
		[b]=i,
		[a]=j
	},
	["note_constinit_missing_here"]={
		[c]="add the ... to the initializing declaration here",
		[f]={"add the ",{"\'require_constant_initialization\' attribute","\'constinit\' specifier"}," to the initializing declaration here"},
		[b]=i,
		[a]=j
	},
	["note_constinit_specified_here"]={
		[c]="variable declared constinit here",
		[b]=i,
		[a]=j
	},
	["note_constraint_normalization_here"]={
		[c]="while calculating associated constraint of template \'A\' here",
		[b]=i,
		[a]=j
	},
	["note_constraint_references_error"]={
		[c]="constraint depends on a previously diagnosed expression",
		[b]=i,
		[a]=j
	},
	["note_constraint_substitution_here"]={
		[c]="while substituting template arguments into constraint expression here",
		[b]=i,
		[a]=j
	},
	["note_conv_function_declared_at"]={
		[c]="type conversion function declared here",
		[b]=i,
		[a]=j
	},
	["note_convert_inline_to_static"]={
		[c]="use \'static\' to give inline function A internal linkage",
		[b]=i,
		[a]=j
	},
	["note_coroutine_function_declare_noexcept"]={
		[c]="must be declared with \'noexcept\'",
		[b]=i,
		[a]=j
	},
	["note_coroutine_promise_call_implicitly_required"]={
		[c]="call to A implicitly required by coroutine function here",
		[b]=i,
		[a]=j
	},
	["note_coroutine_promise_implicit_await_transform_required_here"]={
		[c]="call to \'await_transform\' implicitly required by \'co_await\' here",
		[b]=i,
		[a]=j
	},
	["note_coroutine_promise_suspend_implicitly_required"]={
		[c]="call to \'...\' implicitly required by the ...",
		[f]={"call to \'",{"initial_suspend","final_suspend"},"\' implicitly required by the ",{"initial suspend point","final suspend point"}},
		[b]=i,
		[a]=j
	},
	["note_covariant_thunk"]={
		[c]="covariant thunk required by A",
		[b]=i,
		[a]=j
	},
	["note_cuda_conflicting_device_function_declared_here"]={
		[c]="conflicting __device__ function declared here",
		[b]=i,
		[a]=j
	},
	["note_cuda_const_var_unpromoted"]={
		[c]="const variable cannot be emitted on device side due to dynamic initialization",
		[b]=i,
		[a]=j
	},
	["note_cuda_device_builtin_surftex_cls_should_have_match_arg"]={
		[c]="the ... template parameter of A needs to be ...",
		[f]={"the ",{"1st","2nd","3rd"}," template parameter of A needs to be ",{"a type","an integer or enum value"}},
		[b]=i,
		[a]=j
	},
	["note_cuda_device_builtin_surftex_cls_should_have_n_args"]={
		[c]="A needs to have exactly B template parameters",
		[b]=i,
		[a]=j
	},
	["note_cuda_device_builtin_surftex_should_be_template_class"]={
		[c]="A needs to be instantiated from a class template with proper template arguments",
		[b]=i,
		[a]=j
	},
	["note_cuda_host_var"]={
		[c]="host variable declared here",
		[b]=i,
		[a]=j
	},
	["note_cuda_ovl_candidate_target_mismatch"]={
		[c]="candidate template ignored: target attributes do not match",
		[b]=i,
		[a]=j
	},
	["note_cxx20_compat_utf8_string_remove_u8"]={
		[c]="remove \'u8\' prefix to avoid a change of behavior; Clang encodes unprefixed narrow string literals as UTF-8",
		[b]=i,
		[a]=j
	},
	["note_decl_hiding_tag_type"]={
		[c]="B A is hidden by a non-type declaration of A here",
		[b]=i,
		[a]=j
	},
	["note_decl_unguarded_availability_silence"]={
		[c]="annotate ... with an availability attribute to silence this warning",
		[f]={"annotate ",{fd,"anonymous B"}," with an availability attribute to silence this warning"},
		[b]=i,
		[a]=j
	},
	["note_declaration_not_a_prototype"]={
		[c]="this declaration is not a prototype; add ... to make it ...",
		[f]={"this declaration is not a prototype; add ",{"\'void\'","parameter declarations"}," to make it ",{"a prototype for a zero-parameter function","one"}},
		[b]=i,
		[a]=j
	},
	["note_declare_parameter_strong"]={
		[c]="declare the parameter __strong or capture a __block __strong variable to keep values alive across autorelease pools",
		[b]=i,
		[a]=j
	},
	["note_declared_at"]={
		[c]="declared here",
		[b]=i,
		[a]=j
	},
	["note_declared_coroutine_here"]={
		[c]="function is a coroutine due to use of \'A\' here",
		[b]=i,
		[a]=j
	},
	["note_declared_nonnull"]={
		[c]="declared ... here",
		[f]={"declared ",{"\'returns_nonnull\'","\'nonnull\'"},Lb},
		[b]=i,
		[a]=j
	},
	["note_declared_required_constant_init_here"]={
		[c]="required by ... here",
		[f]={"required by ",{"\'require_constant_initialization\' attribute","\'constinit\' specifier"},Lb},
		[b]=i,
		[a]=j
	},
	["note_deduced_non_type_template_arg_type_mismatch"]={
		[c]="deduced non-type template argument does not have the same type as the corresponding template parameter (A vs B)",
		[f]={"deduced non-type template argument does not have the same type as the corresponding template parameter",{" (A vs B)",l}},
		[b]=i,
		[a]=j
	},
	["note_deduced_template_arg_substitution_here"]={
		[c]="during template argument deduction for ... template ...C D",
		[f]={"during template argument deduction for ",{o,z}," template ",{"partial specialization ",l},"C D"},
		[b]=i,
		[a]=j
	},
	["note_deduction_guide_access"]={
		[c]="deduction guide declared A by intervening access specifier",
		[b]=i,
		[a]=j
	},
	["note_deduction_guide_template_access"]={
		[c]="member template declared A here",
		[b]=i,
		[a]=j
	},
	["note_default_arg_instantiation_here"]={
		[c]="in instantiation of default argument for \'A\' required here",
		[b]=i,
		[a]=j
	},
	["note_default_argument_declared_here"]={
		[c]="default argument declared here",
		[b]=i,
		[a]=j
	},
	["note_default_function_arg_instantiation_here"]={
		[c]="in instantiation of default function argument expression for \'A\' required here",
		[b]=i,
		[a]=j
	},
	["note_default_member_initializer_not_yet_parsed"]={
		[c]="default member initializer declared here",
		[b]=i,
		[a]=j
	},
	["note_defaulted_comparison_ambiguous"]={
		[c]="defaulted A is implicitly deleted because implied ...comparison ...is ambiguous",
		[f]={"defaulted A is implicitly deleted because implied ",{l,"\'==\' ","\'<\' "},"comparison ",{l,"for member D ","for base class D "},"is ambiguous"},
		[b]=i,
		[a]=j
	},
	["note_defaulted_comparison_calls_deleted"]={
		[c]="defaulted A is implicitly deleted because it would invoke a deleted comparison function...",
		[f]={"defaulted A is implicitly deleted because it would invoke a deleted comparison function",{l," for member C"," for base class C"}},
		[b]=i,
		[a]=j
	},
	["note_defaulted_comparison_cannot_deduce"]={
		[c]="return type of defaulted \'operator<=>\' cannot be deduced because return type C of three-way comparison for ... B is not a standard comparison category type",
		[f]={"return type of defaulted \'operator<=>\' cannot be deduced because return type C of three-way comparison for ",{l,tc,Eb}," B is not a standard comparison category type"},
		[b]=i,
		[a]=j
	},
	["note_defaulted_comparison_cannot_deduce_callee"]={
		[c]="selected \'operator<=>\' for ... B declared here",
		[f]={"selected \'operator<=>\' for ",{l,tc,Eb}," B declared here"},
		[b]=i,
		[a]=j
	},
	["note_defaulted_comparison_cannot_deduce_undeduced_auto"]={
		[c]="... B declared here",
		[f]={{l,tc,Eb}," B declared here"},
		[b]=i,
		[a]=j
	},
	["note_defaulted_comparison_inaccessible"]={
		[c]="defaulted A is implicitly deleted because it would invoke a ... E...",
		[f]={"defaulted A is implicitly deleted because it would invoke a ",{C,D}," E",{" member of G"," member of G to compare member C"," to compare base class C"}},
		[b]=i,
		[a]=j
	},
	["note_defaulted_comparison_no_viable_function"]={
		[c]="defaulted A is implicitly deleted because there is no viable ... for ...D",
		[f]={"defaulted A is implicitly deleted because there is no viable ",{"three-way comparison function","\'operator==\'"}," for ",{l,"member ","base class "},hc},
		[b]=i,
		[a]=j
	},
	["note_defaulted_comparison_no_viable_function_synthesized"]={
		[c]="three-way comparison cannot be synthesized because there is no viable function for ... comparison",
		[f]={"three-way comparison cannot be synthesized because there is no viable function for ",{"\'==\'","\'<\'"}," comparison"},
		[b]=i,
		[a]=j
	},
	["note_defaulted_comparison_not_constexpr"]={
		[c]="non-constexpr comparison function would be used to compare ...",
		[f]={"non-constexpr comparison function would be used to compare ",{l,"member B","base class B"}},
		[b]=i,
		[a]=j
	},
	["note_defaulted_comparison_not_constexpr_here"]={
		[c]="non-constexpr comparison function declared here",
		[b]=i,
		[a]=j
	},
	["note_defaulted_comparison_not_rewritten_callee"]={
		[c]="defaulted A is implicitly deleted because this non-rewritten comparison function would be the best match for the comparison",
		[b]=i,
		[a]=j
	},
	["note_defaulted_comparison_not_rewritten_conversion"]={
		[c]="defaulted A is implicitly deleted because a builtin comparison function using this conversion would be the best match for the comparison",
		[b]=i,
		[a]=j
	},
	["note_defaulted_comparison_reference_member"]={
		[c]="defaulted A is implicitly deleted because class B has a reference member",
		[b]=i,
		[a]=j
	},
	["note_defaulted_comparison_union"]={
		[c]="defaulted A is implicitly deleted because C is a ... with variant members",
		[f]={"defaulted A is implicitly deleted because C is a ",{"union-like class",v}," with variant members"},
		[b]=i,
		[a]=j
	},
	["note_defined_here"]={
		[c]="A defined here",
		[b]=i,
		[a]=j
	},
	["note_delete_conversion"]={
		[c]="conversion to pointer type A",
		[b]=i,
		[a]=j
	},
	["note_delete_non_virtual"]={
		[c]="qualify call to silence this warning",
		[b]=i,
		[a]=j
	},
	["note_deleted_assign_field"]={
		[c]="... assignment operator of B is implicitly deleted because field C is of ... type D",
		[f]={{Cb,Uc}," assignment operator of B is implicitly deleted because field C is of ",{E,"const-qualified"}," type D"},
		[b]=i,
		[a]=j
	},
	["note_deleted_copy_ctor_rvalue_reference"]={
		[c]="copy constructor of A is implicitly deleted because field B is of rvalue reference type C",
		[b]=i,
		[a]=j
	},
	["note_deleted_copy_user_declared_move"]={
		[c]="copy ... is implicitly deleted because B has a user-declared move ...",
		[f]={"copy ",{n,pc}," is implicitly deleted because B has a user-declared move ",{n,pc}},
		[b]=i,
		[a]=j
	},
	["note_deleted_default_ctor_all_const"]={
		[c]="... B is implicitly deleted because all ... are const-qualified",
		[f]={{"default constructor of","constructor inherited by"}," B is implicitly deleted because all ",{"data members","data members of an anonymous union member"}," are const-qualified"},
		[b]=i,
		[a]=j
	},
	["note_deleted_default_ctor_uninit_field"]={
		[c]="... B is implicitly deleted because field C of ... type D would not be initialized",
		[f]={{"default constructor of","constructor inherited by"}," B is implicitly deleted because field C of ",{E,"const-qualified"}," type D would not be initialized"},
		[b]=i,
		[a]=j
	},
	["note_deleted_dtor_no_operator_delete"]={
		[c]="virtual destructor requires an unambiguous, accessible \'operator delete\'",
		[b]=i,
		[a]=j
	},
	["note_deleted_special_member_class_subobject"]={
		[c]="... B is implicitly deleted because ... ...",
		[f]={{"default constructor of","copy constructor of","move constructor of","copy assignment operator of","move assignment operator of","destructor of","constructor inherited by"}," B is implicitly deleted because ",{"base class D",{{l,l,l,l,"variant "},"field D"}},w,{{"has ",{fb,"a deleted","multiple","an inaccessible","a non-trivial"},w,{{{rb,sb,vb,xb,tb,p,{{jd,"corresponding",jd,jd,jd}," constructor"}}},p},{l,l,cb,l,l}},"is an ObjC pointer"}},
		[b]=i,
		[a]=j
	},
	["note_deleted_type_mismatch"]={
		[c]="function is implicitly deleted because its declared type does not match the type of an implicit ...",
		[f]={"function is implicitly deleted because its declared type does not match the type of an implicit ",{rb,sb,vb,xb,tb,p}},
		[b]=i,
		[a]=j
	},
	["note_dependent_function_template_spec_discard_reason"]={
		[c]="candidate ignored: ...",
		[f]={"candidate ignored: ",{"not a function template","not a member of the enclosing namespace; did you mean to explicitly qualify the specialization?"}},
		[b]=i,
		[a]=j
	},
	["note_dependent_member_use"]={
		[c]="must qualify identifier to find this declaration in dependent base class",
		[b]=i,
		[a]=j
	},
	["note_dependent_non_type_default_arg_in_partial_spec"]={
		[c]="template parameter is used in default argument declared here",
		[b]=i,
		[a]=j
	},
	["note_deprecated_this_capture"]={
		[c]="add an explicit capture of \'this\' to capture \'*this\' by reference",
		[b]=i,
		[a]=j
	},
	["note_designated_init_mixed"]={
		[c]="first non-designated initializer is here",
		[b]=i,
		[a]=j
	},
	["note_destructor_nontype_here"]={
		[c]="non-type declaration found by destructor name lookup",
		[b]=i,
		[a]=j
	},
	["note_destructor_type_here"]={
		[c]="type A found by destructor name lookup",
		[b]=i,
		[a]=j
	},
	["note_direct_member_here"]={
		[c]="direct member declared here",
		[b]=i,
		[a]=j
	},
	["note_direct_method_declared_at"]={
		[c]="direct method A declared here",
		[b]=i,
		[a]=j
	},
	["note_doc_block_command_previous"]={
		[c]="previous command \'...B\' here",
		[f]={"previous command \'",{Nb,Qb},"B\' here"},
		[b]=i,
		[a]=j
	},
	["note_doc_block_command_previous_alias"]={
		[c]="previous command \'...B\' (an alias of \'\\C\') here",
		[f]={"previous command \'",{Nb,Qb},"B\' (an alias of \'\\C\') here"},
		[b]=i,
		[a]=j
	},
	["note_doc_html_end_tag"]={
		[c]="end tag",
		[b]=i,
		[a]=j
	},
	["note_doc_html_tag_started_here"]={
		[c]="HTML tag started here",
		[b]=i,
		[a]=j
	},
	["note_doc_param_name_suggestion"]={
		[c]="did you mean \'A\'?",
		[b]=i,
		[a]=j
	},
	["note_doc_param_previous"]={
		[c]="previous documentation",
		[b]=i,
		[a]=j
	},
	["note_doc_tparam_name_suggestion"]={
		[c]="did you mean \'A\'?",
		[b]=i,
		[a]=j
	},
	["note_doc_tparam_previous"]={
		[c]="previous documentation",
		[b]=i,
		[a]=j
	},
	["note_drv_address_sanitizer_debug_runtime"]={
		[c]="AddressSanitizer doesn\'t support linking with debug runtime libraries yet",
		[b]=i,
		[a]=j
	},
	["note_drv_available_multilibs"]={
		[c]="available multilibs are:A",
		[b]=i,
		[a]=j
	},
	["note_drv_command_failed_diag_msg"]={
		[c]="diagnostic msg: A",
		[b]=i,
		[a]=j
	},
	["note_drv_config_file_searched_in"]={
		[c]="was searched for in the directory: A",
		[b]=i,
		[a]=j
	},
	["note_drv_t_option_is_global"]={
		[c]="the last \'/TC\' or \'/TP\' option takes precedence over earlier instances",
		[b]=i,
		[a]=j
	},
	["note_drv_use_standard"]={
		[c]="use \'A\'... for \'B\' standard",
		[f]={"use \'A\'",{l," or \'D\'",", \'D\', or \'E\'",", \'D\', \'E\', or \'F\'"}," for \'B\' standard"},
		[b]=i,
		[a]=j
	},
	["note_drv_verify_prefix_spelling"]={
		[c]="-verify prefixes must start with a letter and contain only alphanumeric characters, hyphens, and underscores",
		[b]=i,
		[a]=j
	},
	["note_due_to_dllexported_class"]={
		[c]="due to A being dllexported...",
		[f]={"due to A being dllexported",{l,"; try compiling in C++11 mode"}},
		[b]=i,
		[a]=j
	},
	["note_duplicate_asm_operand_name"]={
		[c]="asm operand name \"A\" first referenced here",
		[b]=i,
		[a]=j
	},
	["note_duplicate_case_prev"]={
		[c]="previous case defined here",
		[b]=i,
		[a]=j
	},
	["note_duplicate_element"]={
		[c]="element A also has value B",
		[b]=i,
		[a]=j
	},
	["note_empty_body_on_separate_line"]={
		[c]="put the semicolon on a separate line to silence this warning",
		[b]=i,
		[a]=j
	},
	["note_empty_parens_default_ctor"]={
		[c]="remove parentheses to declare a variable",
		[b]=i,
		[a]=j
	},
	["note_empty_parens_function_call"]={
		[c]="change this \',\' to a \';\' to call A",
		[b]=i,
		[a]=j
	},
	["note_empty_parens_zero_initialize"]={
		[c]="replace parentheses with an initializer to declare a variable",
		[b]=i,
		[a]=j
	},
	["note_empty_using_if_exists_here"]={
		[c]="using declaration annotated with \'using_if_exists\' here",
		[b]=i,
		[a]=j
	},
	["note_enforce_read_only_placement"]={
		[c]="type was declared read-only here",
		[b]=i,
		[a]=j
	},
	["note_enters_block_captures_cxx_obj"]={
		[c]="jump enters lifetime of block which captures a destructible C++ object",
		[b]=i,
		[a]=j
	},
	["note_enters_block_captures_non_trivial_c_struct"]={
		[c]="jump enters lifetime of block which captures a C struct that is non-trivial to destroy",
		[b]=i,
		[a]=j
	},
	["note_enters_block_captures_strong"]={
		[c]="jump enters lifetime of block which strongly captures a variable",
		[b]=i,
		[a]=j
	},
	["note_enters_block_captures_weak"]={
		[c]="jump enters lifetime of block which weakly captures a variable",
		[b]=i,
		[a]=j
	},
	["note_enters_compound_literal_scope"]={
		[c]="jump enters lifetime of a compound literal that is non-trivial to destruct",
		[b]=i,
		[a]=j
	},
	["note_enters_statement_expression"]={
		[c]="jump enters a statement expression",
		[b]=i,
		[a]=j
	},
	["note_entity_declared_at"]={
		[c]="A declared here",
		[b]=i,
		[a]=j
	},
	["note_enum_specialized_here"]={
		[c]="enum A was explicitly specialized here",
		[b]=i,
		[a]=j
	},
	["note_equality_comparison_silence"]={
		[c]="remove extraneous parentheses around the comparison to silence this warning",
		[b]=i,
		[a]=j
	},
	["note_equality_comparison_to_assign"]={
		[c]="use \'=\' to turn this equality comparison into an assignment",
		[b]=i,
		[a]=j
	},
	["note_equivalent_internal_linkage_decl"]={
		[c]="declared here...",
		[f]={"declared here",{" in module \'B\'",l}},
		[b]=i,
		[a]=j
	},
	["note_evaluate_comparison_first"]={
		[c]="place parentheses around comparison expression to evaluate it first",
		[b]=i,
		[a]=j
	},
	["note_evaluating_exception_spec_here"]={
		[c]="in evaluation of exception specification for A needed here",
		[b]=i,
		[a]=j
	},
	["note_exception_spec_deprecated"]={
		[c]="use \'A\' instead",
		[b]=i,
		[a]=j
	},
	["note_exits___block"]={
		[c]="jump exits scope of __block variable",
		[b]=i,
		[a]=j
	},
	["note_exits_block_captures_cxx_obj"]={
		[c]="jump exits lifetime of block which captures a destructible C++ object",
		[b]=i,
		[a]=j
	},
	["note_exits_block_captures_non_trivial_c_struct"]={
		[c]="jump exits lifetime of block which captures a C struct that is non-trivial to destroy",
		[b]=i,
		[a]=j
	},
	["note_exits_block_captures_strong"]={
		[c]="jump exits lifetime of block which strongly captures a variable",
		[b]=i,
		[a]=j
	},
	["note_exits_block_captures_weak"]={
		[c]="jump exits lifetime of block which weakly captures a variable",
		[b]=i,
		[a]=j
	},
	["note_exits_cleanup"]={
		[c]="jump exits scope of variable with __attribute__((cleanup))",
		[b]=i,
		[a]=j
	},
	["note_exits_compound_literal_scope"]={
		[c]="jump exits lifetime of a compound literal that is non-trivial to destruct",
		[b]=i,
		[a]=j
	},
	["note_exits_cxx_catch"]={
		[c]="jump exits catch block",
		[b]=i,
		[a]=j
	},
	["note_exits_cxx_try"]={
		[c]="jump exits try block",
		[b]=i,
		[a]=j
	},
	["note_exits_dtor"]={
		[c]="jump exits scope of variable with non-trivial destructor",
		[b]=i,
		[a]=j
	},
	["note_exits_objc_autoreleasepool"]={
		[c]="jump exits autoreleasepool block",
		[b]=i,
		[a]=j
	},
	["note_exits_objc_catch"]={
		[c]="jump exits @catch block",
		[b]=i,
		[a]=j
	},
	["note_exits_objc_finally"]={
		[c]="jump exits @finally block",
		[b]=i,
		[a]=j
	},
	["note_exits_objc_strong"]={
		[c]="jump exits scope of __strong variable",
		[b]=i,
		[a]=j
	},
	["note_exits_objc_synchronized"]={
		[c]="jump exits @synchronized block",
		[b]=i,
		[a]=j
	},
	["note_exits_objc_try"]={
		[c]="jump exits @try block",
		[b]=i,
		[a]=j
	},
	["note_exits_objc_weak"]={
		[c]="jump exits scope of __weak variable",
		[b]=i,
		[a]=j
	},
	["note_exits_seh_except"]={
		[c]="jump exits __except block",
		[b]=i,
		[a]=j
	},
	["note_exits_seh_finally"]={
		[c]="jump exits __finally block",
		[b]=i,
		[a]=j
	},
	["note_exits_seh_try"]={
		[c]="jump exits __try block",
		[b]=i,
		[a]=j
	},
	["note_exits_temporary_dtor"]={
		[c]="jump exits scope of lifetime-extended temporary with non-trivial destructor",
		[b]=i,
		[a]=j
	},
	["note_explicit_ctor_deduction_guide_here"]={
		[c]="explicit ... declared here",
		[f]={"explicit ",{n,"deduction guide"}," declared here"},
		[b]=i,
		[a]=j
	},
	["note_explicit_instantiation_candidate"]={
		[c]="explicit instantiation candidate function A template here B",
		[b]=i,
		[a]=j
	},
	["note_explicit_instantiation_definition_here"]={
		[c]="explicit instantiation definition is here",
		[b]=i,
		[a]=j
	},
	["note_explicit_instantiation_here"]={
		[c]="explicit instantiation refers here",
		[b]=i,
		[a]=j
	},
	["note_explicit_template_arg_substitution_here"]={
		[c]="while substituting explicitly-specified template arguments into function template A B",
		[b]=i,
		[a]=j
	},
	["note_explicit_template_spec_does_not_need_header"]={
		[c]="\'template<>\' header not required for explicitly-specialized class A declared here",
		[b]=i,
		[a]=j
	},
	["note_export"]={
		[c]="export block begins here",
		[b]=i,
		[a]=j
	},
	["note_expr_divide_by_zero"]={
		[c]="division by zero",
		[b]=i,
		[a]=j
	},
	["note_expr_evaluates_to"]={
		[c]="expression evaluates to \'A B C\'",
		[b]=i,
		[a]=j
	},
	["note_expr_requirement_constraints_not_satisfied"]={
		[c]="... type constraint \'B\' was not satisfied:",
		[f]={{zb,Ib}," type constraint \'B\' was not satisfied:"},
		[b]=i,
		[a]=j
	},
	["note_expr_requirement_constraints_not_satisfied_simple"]={
		[c]="... B does not satisfy C:",
		[f]={{zb,Ib}," B does not satisfy C:"},
		[b]=i,
		[a]=j
	},
	["note_expr_requirement_expr_substitution_error"]={
		[c]="... \'B\' would be invalid: C",
		[f]={{zb,Ib}," \'B\' would be invalid: C"},
		[b]=i,
		[a]=j
	},
	["note_expr_requirement_expr_unknown_substitution_error"]={
		[c]="... \'B\' would be invalid",
		[f]={{zb,Ib}," \'B\' would be invalid"},
		[b]=i,
		[a]=j
	},
	["note_expr_requirement_noexcept_not_met"]={
		[c]="... \'B\' may throw an exception",
		[f]={{zb,Ib}," \'B\' may throw an exception"},
		[b]=i,
		[a]=j
	},
	["note_expr_requirement_type_requirement_substitution_error"]={
		[c]="... \'B\' would be invalid: C",
		[f]={{zb,Ib}," \'B\' would be invalid: C"},
		[b]=i,
		[a]=j
	},
	["note_expr_requirement_type_requirement_unknown_substitution_error"]={
		[c]="... \'B\' would be invalid",
		[f]={{zb,Ib}," \'B\' would be invalid"},
		[b]=i,
		[a]=j
	},
	["note_extern_c_begins_here"]={
		[c]="extern \"C\" language linkage specification begins here",
		[b]=i,
		[a]=j
	},
	["note_extern_c_global_conflict"]={
		[c]="declared ... here",
		[f]={"declared ",{"in global scope","with C language linkage"},Lb},
		[b]=i,
		[a]=j
	},
	["note_extra_comma_message_arg"]={
		[c]="comma separating Objective-C messaging arguments",
		[b]=i,
		[a]=j
	},
	["note_fallthrough_insert_semi_fixit"]={
		[c]="did you forget \';\'?",
		[b]=i,
		[a]=j
	},
	["note_fe_backend_invalid_loc"]={
		[c]="could not determine the original source location for A:B:C",
		[b]=i,
		[a]=j
	},
	["note_fe_backend_resource_limit"]={
		[c]="A (B) exceeds limit (C) in \'D\'",
		[b]=i,
		[a]=j
	},
	["note_fe_inline_asm_here"]={
		[c]="instantiated into assembly here",
		[b]=i,
		[a]=j
	},
	["note_fe_linking_module"]={
		[c]="linking module \'A\': B",
		[b]=i,
		[a]=j
	},
	["note_field_designator_found"]={
		[c]="field designator refers here",
		[b]=i,
		[a]=j
	},
	["note_file_misc_sloc_usage"]={
		[c]="A additional files entered using a total of BB of space",
		[b]=i,
		[a]=j
	},
	["note_file_sloc_usage"]={
		[c]="file entered A timeA using BB of space",
		[f]={"file entered A timeA using BB of space",{l," plus CB for macro expansions"}},
		[b]=i,
		[a]=j
	},
	["note_final_dtor_non_final_class_silence"]={
		[c]="mark A as \'...\' to silence this warning",
		[f]={"mark A as \'",{"final","sealed"},"\' to silence this warning"},
		[b]=i,
		[a]=j
	},
	["note_final_overrider"]={
		[c]="final overrider of A in B",
		[b]=i,
		[a]=j
	},
	["note_first_module_difference"]={
		[c]="in first definition, possible difference is here",
		[b]=i,
		[a]=j
	},
	["note_fixit_applied"]={
		[c]="FIX-IT applied suggested code changes",
		[b]=i,
		[a]=j
	},
	["note_fixit_failed"]={
		[c]="FIX-IT unable to apply suggested code changes",
		[b]=i,
		[a]=j
	},
	["note_fixit_in_macro"]={
		[c]="FIX-IT unable to apply suggested code changes in a macro",
		[b]=i,
		[a]=j
	},
	["note_fixit_unfixed_error"]={
		[c]="FIX-IT detected an error it cannot fix",
		[b]=i,
		[a]=j
	},
	["note_flexible_array_member"]={
		[c]="initialized flexible array member A is here",
		[b]=i,
		[a]=j
	},
	["note_for_range_begin_end"]={
		[c]="selected \'...\' ...C with iterator type D",
		[f]={"selected \'",{"begin","end"},"\' ",{m,"template "},"C with iterator type D"},
		[b]=i,
		[a]=j
	},
	["note_for_range_invalid_iterator"]={
		[c]="in implicit call to \'operator...\' for iterator of type B",
		[f]={"in implicit call to \'operator",{"!=","*","++"},"\' for iterator of type B"},
		[b]=i,
		[a]=j
	},
	["note_for_range_member_begin_end_ignored"]={
		[c]="member is not a candidate because range type A has no \'...\' member",
		[f]={"member is not a candidate because range type A has no \'",{"end","begin"},"\' member"},
		[b]=i,
		[a]=j
	},
	["note_force_empty_selector_name"]={
		[c]="or insert whitespace before \':\' to use A as parameter name and have an empty entry in the selector",
		[b]=i,
		[a]=j
	},
	["note_format_fix_specifier"]={
		[c]="did you mean to use \'A\'?",
		[b]=i,
		[a]=j
	},
	["note_format_security_fixit"]={
		[c]="treat the string as an argument to avoid this",
		[b]=i,
		[a]=j
	},
	["note_format_string_defined"]={
		[c]="format string is defined here",
		[b]=i,
		[a]=j
	},
	["note_forward_class"]={
		[c]="forward declaration of class here",
		[b]=i,
		[a]=j
	},
	["note_forward_class_conversion"]={
		[c]="A is not defined, but forward declared here; conversion would be valid if it was derived from B",
		[b]=i,
		[a]=j
	},
	["note_forward_declaration"]={
		[c]="forward declaration of A",
		[b]=i,
		[a]=j
	},
	["note_forward_template_decl"]={
		[c]="forward declaration of template entity is here",
		[b]=i,
		[a]=j
	},
	["note_found_mutex_near_match"]={
		[c]="found near match \'A\'",
		[b]=i,
		[a]=j
	},
	["note_from_diagnose_if"]={
		[c]="from \'diagnose_if\' attribute on A:",
		[b]=i,
		[a]=j
	},
	["note_function_style_cast_add_parentheses"]={
		[c]="add enclosing parentheses to perform a function-style cast",
		[b]=i,
		[a]=j
	},
	["note_function_suggestion"]={
		[c]="did you mean A?",
		[b]=i,
		[a]=j
	},
	["note_function_template_deduction_instantiation_here"]={
		[c]="while substituting deduced template arguments into function template A B",
		[b]=i,
		[a]=j
	},
	["note_function_template_spec_here"]={
		[c]="in instantiation of function template specialization A requested here",
		[b]=i,
		[a]=j
	},
	["note_function_template_spec_matched"]={
		[c]="function template A matches specialization B",
		[b]=i,
		[a]=j
	},
	["note_function_to_function_call"]={
		[c]="suffix with parentheses to turn this into a function call",
		[b]=i,
		[a]=j
	},
	["note_function_warning_silence"]={
		[c]="prefix with the address-of operator to silence this warning",
		[b]=i,
		[a]=j
	},
	["note_getter_unavailable"]={
		[c]="or because setter is declared here, but no getter method A is found",
		[b]=i,
		[a]=j
	},
	["note_global_module_introducer_missing"]={
		[c]="add \'module;\' to the start of the file to introduce a global module fragment",
		[b]=i,
		[a]=j
	},
	["note_goto_ms_asm_label"]={
		[c]="inline assembly label A declared here",
		[b]=i,
		[a]=j
	},
	["note_guarded_by_declared_here"]={
		[c]="guarded_by declared here",
		[b]=i,
		[a]=j
	},
	["note_header_guard"]={
		[c]="A is defined here; did you mean B?",
		[b]=i,
		[a]=j
	},
	["note_hidden_overloaded_virtual_declared_here"]={
		[c]="hidden overloaded virtual function A declared here...",
		[f]={"hidden overloaded virtual function A declared here",{l,{": different classes",{" (C vs D)",l}},": different number of parameters (C vs D)",{": type mismatch at C parameter",{" (D vs E)",l}},{": different return type",{" (C vs D)",l}},": different qualifiers (C vs D)",": different exception specifications"}},
		[b]=i,
		[a]=j
	},
	["note_hidden_tag"]={
		[c]="type declaration hidden",
		[b]=i,
		[a]=j
	},
	["note_hiding_object"]={
		[c]="declaration hides type",
		[b]=i,
		[a]=j
	},
	["note_ice_conversion_here"]={
		[c]="conversion to ... type B declared here",
		[f]={"conversion to ",{wc,Fc}," type B declared here"},
		[b]=i,
		[a]=j
	},
	["note_illegal_field_declared_here"]={
		[c]="field of illegal ... B declared here",
		[f]={"field of illegal ",{a,"pointer type"}," B declared here"},
		[b]=i,
		[a]=j
	},
	["note_immediate_function_reason"]={
		[c]="A is an immediate ... because ... ...",
		[f]={"A is an immediate ",{m,n}," because ",{"its body",{"the",{l," default"}," initializer of I"}},w,{{"evaluates the address of ",{"an immediate","a consteval"}," function B"},{"contains a call to ",{"an immediate","a consteval"},w,{m,n}," B and that call is not a constant expression"}}},
		[b]=i,
		[a]=j
	},
	["note_implementation_declared"]={
		[c]="class implementation is declared here",
		[b]=i,
		[a]=j
	},
	["note_implemented_by_class"]={
		[c]="when implemented by class A",
		[b]=i,
		[a]=j
	},
	["note_implicit_delete_this_in_destructor_here"]={
		[c]="while checking implicit \'delete this\' for virtual destructor",
		[b]=i,
		[a]=j
	},
	["note_implicit_member_target_infer_collision"]={
		[c]="implicit ... inferred target collision: call to both ... and ... members",
		[f]={"implicit ",{rb,sb,vb,xb,tb,p}," inferred target collision: call to both ",{jc,kc,nc,oc}," and ",{jc,kc,nc,oc}," members"},
		[b]=i,
		[a]=j
	},
	["note_implicit_param_decl"]={
		[c]="A is an implicit parameter",
		[b]=i,
		[a]=j
	},
	["note_implicit_top_level_module_import_here"]={
		[c]="submodule of top-level module \'A\' implicitly imported here",
		[b]=i,
		[a]=j
	},
	["note_implicitly_deleted"]={
		[c]="explicitly defaulted function was implicitly deleted here",
		[b]=i,
		[a]=j
	},
	["note_imported_by_pch_module_not_found"]={
		[c]="consider adding \'A\' to the header search path",
		[b]=i,
		[a]=j
	},
	["note_in_binding_decl_init"]={
		[c]="in implicit initialization of binding declaration A",
		[b]=i,
		[a]=j
	},
	["note_in_class_initializer_float_type_cxx11"]={
		[c]="add \'constexpr\'",
		[b]=i,
		[a]=j
	},
	["note_in_declaration_of_implicit_equality_comparison"]={
		[c]="while declaring the corresponding implicit \'operator==\' for this defaulted \'operator<=>\'",
		[b]=i,
		[a]=j
	},
	["note_in_declaration_of_implicit_special_member"]={
		[c]="while declaring the implicit ... for A",
		[f]={"while declaring the implicit ",{rb,sb,vb,xb,tb,p}," for A"},
		[b]=i,
		[a]=j
	},
	["note_in_for_range"]={
		[c]="when looking up \'...\' function for range expression of type B",
		[f]={"when looking up \'",{"begin","end"},"\' function for range expression of type B"},
		[b]=i,
		[a]=j
	},
	["note_in_omitted_aggregate_initializer"]={
		[c]="in implicit initialization of ...",
		[f]={"in implicit initialization of ",{"array element B with omitted initializer","field B with omitted initializer","trailing array elements in runtime-sized array new"}},
		[b]=i,
		[a]=j
	},
	["note_in_reference_temporary_list_initializer"]={
		[c]="in initialization of temporary of type A created to list-initialize this reference",
		[b]=i,
		[a]=j
	},
	["note_include_header_or_declare"]={
		[c]="include the header <A> or explicitly provide a declaration for \'B\'",
		[b]=i,
		[a]=j
	},
	["note_incompatible_analyzer_plugin_api"]={
		[c]="current API version is \'A\', but plugin was compiled with version \'B\'",
		[b]=i,
		[a]=j
	},
	["note_incomplete_class_and_qualified_id"]={
		[c]="conformance of forward class A to protocol B can not be confirmed",
		[b]=i,
		[a]=j
	},
	["note_indirect_goto_target"]={
		[c]="possible target of ... goto statement",
		[f]={"possible target of ",{"indirect","asm"}," goto statement"},
		[b]=i,
		[a]=j
	},
	["note_indirection_through_null"]={
		[c]="consider using __builtin_trap() or qualifying pointer with \'volatile\'",
		[b]=i,
		[a]=j
	},
	["note_inequality_comparison_to_or_assign"]={
		[c]="use \'|=\' to turn this inequality comparison into an or-assignment",
		[b]=i,
		[a]=j
	},
	["note_init_list_at_beginning_of_macro_argument"]={
		[c]="cannot use initializer list at the beginning of a macro argument",
		[b]=i,
		[a]=j
	},
	["note_init_list_narrowing_silence"]={
		[c]="insert an explicit cast to silence this issue",
		[b]=i,
		[a]=j
	},
	["note_init_with_default_member_initializer"]={
		[c]="initializing field A with default member initializer",
		[b]=i,
		[a]=j
	},
	["note_initializer_out_of_order"]={
		[c]="... B will be initialized after ... D",
		[f]={{uc,Eb}," B will be initialized after ",{uc,"base"}," D"},
		[b]=i,
		[a]=j
	},
	["note_insert_break_fixit"]={
		[c]="insert \'break;\' to avoid fall-through",
		[b]=i,
		[a]=j
	},
	["note_insert_fallthrough_fixit"]={
		[c]="insert \'A;\' to silence this warning",
		[b]=i,
		[a]=j
	},
	["note_inst_declaration_hint"]={
		[c]="add an explicit instantiation declaration to suppress this warning if A is explicitly instantiated in another translation unit",
		[b]=i,
		[a]=j
	},
	["note_instantiation_contexts_suppressed"]={
		[c]="(skipping A contextA in backtrace; use -ftemplate-backtrace-limit=0 to see all)",
		[b]=i,
		[a]=j
	},
	["note_instantiation_required_here"]={
		[c]="... instantiation first required here",
		[f]={{Dd,"explicit"}," instantiation first required here"},
		[b]=i,
		[a]=j
	},
	["note_invalid_consteval_initializer"]={
		[c]="in the default initializer of A",
		[b]=i,
		[a]=j
	},
	["note_invalid_consteval_initializer_here"]={
		[c]="initialized here A",
		[b]=i,
		[a]=j
	},
	["note_invalid_subexpr_in_const_expr"]={
		[c]="subexpression not valid in a constant expression",
		[b]=i,
		[a]=j
	},
	["note_invalid_ucn_name_candidate"]={
		[c]="did you mean A (\'C\' U+B)?",
		[b]=i,
		[a]=j
	},
	["note_invalid_ucn_name_loose_matching"]={
		[c]="characters names in Unicode escape sequences are sensitive to case and whitespaces",
		[b]=i,
		[a]=j
	},
	["note_it_delegates_to"]={
		[c]="it delegates to",
		[b]=i,
		[a]=j
	},
	["note_ivar_decl"]={
		[c]="instance variable is declared here",
		[b]=i,
		[a]=j
	},
	["note_lambda_capture_initializer"]={
		[c]="...captured......",
		[f]={{"implicitly ",l},"captured",{l," by reference"},{{{" due to use",l},Lb}," via initialization of lambda capture A"}},
		[b]=i,
		[a]=j
	},
	["note_lambda_decl"]={
		[c]="lambda expression begins here",
		[b]=i,
		[a]=j
	},
	["note_lambda_default_capture_fixit"]={
		[c]="default capture by ...",
		[f]={"default capture by ",{"value",E}},
		[b]=i,
		[a]=j
	},
	["note_lambda_substitution_here"]={
		[c]="while substituting into a lambda expression here",
		[b]=i,
		[a]=j
	},
	["note_lambda_this_capture_fixit"]={
		[c]="explicitly capture \'this\'",
		[b]=i,
		[a]=j
	},
	["note_lambda_to_block_conv"]={
		[c]="implicit capture of lambda object due to conversion to block pointer here",
		[b]=i,
		[a]=j
	},
	["note_lambda_variable_capture_fixit"]={
		[c]="capture A by ...",
		[f]={"capture A by ",{"value",E}},
		[b]=i,
		[a]=j
	},
	["note_lifetime_extending_member_declared_here"]={
		[c]="... declared here",
		[f]={{{{E,"\'std::initializer_list\'"}," member"},{"member with ",{E,"\'std::initializer_list\'"}," subobject"}}," declared here"},
		[b]=i,
		[a]=j
	},
	["note_local_decl_close_match"]={
		[c]="local declaration nearly matches",
		[b]=i,
		[a]=j
	},
	["note_local_decl_close_param_match"]={
		[c]="type of A parameter of local declaration does not match definition (B vs C)",
		[f]={"type of A parameter of local declaration does not match definition",{" (B vs C)",l}},
		[b]=i,
		[a]=j
	},
	["note_local_var_initializer"]={
		[c]="... variable ...here",
		[f]={{"via initialization of","binding reference"}," variable ",{"C ",l},"here"},
		[b]=i,
		[a]=j
	},
	["note_lock_exclusive_and_shared"]={
		[c]="the other acquisition of A \'B\' is here",
		[b]=i,
		[a]=j
	},
	["note_locked_here"]={
		[c]="A acquired here",
		[b]=i,
		[a]=j
	},
	["note_logical_instead_of_bitwise_change_operator"]={
		[c]="use \'A\' for a bitwise operation",
		[b]=i,
		[a]=j
	},
	["note_logical_instead_of_bitwise_remove_constant"]={
		[c]="remove constant to silence this warning",
		[b]=i,
		[a]=j
	},
	["note_logical_not_fix"]={
		[c]="add parentheses after the \'!\' to evaluate the ... first",
		[f]={"add parentheses after the \'!\' to evaluate the ",{"comparison","bitwise operator"}," first"},
		[b]=i,
		[a]=j
	},
	["note_logical_not_silence_with_parens"]={
		[c]="add parentheses around left hand side expression to silence this warning",
		[b]=i,
		[a]=j
	},
	["note_loop_iteration_here"]={
		[c]="... here",
		[f]={{"decremented","incremented"},Lb},
		[b]=i,
		[a]=j
	},
	["note_macro_expansion_here"]={
		[c]="expansion of macro A requested here",
		[b]=i,
		[a]=j
	},
	["note_macro_here"]={
		[c]="macro A defined here",
		[b]=i,
		[a]=j
	},
	["note_main_change_return_type"]={
		[c]="change return type to \'int\'",
		[b]=i,
		[a]=j
	},
	["note_main_remove_noreturn"]={
		[c]="remove \'_Noreturn\'",
		[b]=i,
		[a]=j
	},
	["note_matching"]={
		[c]="to match this A",
		[b]=i,
		[a]=j
	},
	["note_max_tokens_total_override"]={
		[c]="total token limit set here",
		[b]=i,
		[a]=j
	},
	["note_meant_to_use_typename"]={
		[c]="did you mean to use \'typename\'?",
		[b]=i,
		[a]=j
	},
	["note_member_declared_at"]={
		[c]="member is declared here",
		[b]=i,
		[a]=j
	},
	["note_member_declared_here"]={
		[c]="member A declared here",
		[b]=i,
		[a]=j
	},
	["note_member_def_close_const_match"]={
		[c]="member declaration does not match because it ... const qualified",
		[f]={"member declaration does not match because it ",{"is","is not"}," const qualified"},
		[b]=i,
		[a]=j
	},
	["note_member_def_close_match"]={
		[c]="member declaration nearly matches",
		[b]=i,
		[a]=j
	},
	["note_member_def_close_param_match"]={
		[c]="type of A parameter of member declaration does not match definition (B vs C)",
		[f]={"type of A parameter of member declaration does not match definition",{" (B vs C)",l}},
		[b]=i,
		[a]=j
	},
	["note_member_first_declared_here"]={
		[c]="member A first declared here",
		[b]=i,
		[a]=j
	},
	["note_member_reference_arrow_from_operator_arrow"]={
		[c]="\'->\' applied to return value of the operator->() declared here",
		[b]=i,
		[a]=j
	},
	["note_member_synthesized_at"]={
		[c]="in ... ... for C first required here",
		[f]={"in ",{Dd,"defaulted"},w,{rb,sb,vb,xb,tb,p}," for C first required here"},
		[b]=i,
		[a]=j
	},
	["note_memsize_comparison_cast_silence"]={
		[c]="explicitly cast the argument to size_t to silence this warning",
		[b]=i,
		[a]=j
	},
	["note_memsize_comparison_paren"]={
		[c]="did you mean to compare the result of A instead?",
		[b]=i,
		[a]=j
	},
	["note_method_declared_at"]={
		[c]="method A declared here",
		[b]=i,
		[a]=j
	},
	["note_method_return_type_change"]={
		[c]="compiler has implicitly changed method A return type",
		[b]=i,
		[a]=j
	},
	["note_method_sent_forward_class"]={
		[c]="method A is used for the forward class",
		[b]=i,
		[a]=j
	},
	["note_misaligned_member_used_here"]={
		[c]="passing byval argument A with potentially incompatible alignment here",
		[b]=i,
		[a]=j
	},
	["note_misplaced_ellipsis_vararg_add_comma"]={
		[c]="insert \',\' before \'...\' to silence this warning",
		[b]=i,
		[a]=j
	},
	["note_misplaced_ellipsis_vararg_add_ellipsis"]={
		[c]="place \'...\' ... to declare a function parameter pack",
		[f]={"place \'...\' ",{"immediately before declared identifier","here"}," to declare a function parameter pack"},
		[b]=i,
		[a]=j
	},
	["note_misplaced_ellipsis_vararg_existing_ellipsis"]={
		[c]="preceding \'...\' declares a function parameter pack",
		[b]=i,
		[a]=j
	},
	["note_missing_end_of_definition_before"]={
		[c]="still within definition of A here",
		[b]=i,
		[a]=j
	},
	["note_missing_selector_name"]={
		[c]="introduce a parameter name to make A part of the selector",
		[b]=i,
		[a]=j
	},
	["note_mmap_add_framework_keyword"]={
		[c]="use \'framework module\' to declare module \'A\'",
		[b]=i,
		[a]=j
	},
	["note_mmap_lbrace_match"]={
		[c]="to match this \'{\'",
		[b]=i,
		[a]=j
	},
	["note_mmap_lsquare_match"]={
		[c]="to match this \']\'",
		[b]=i,
		[a]=j
	},
	["note_mmap_prev_definition"]={
		[c]="previously defined here",
		[b]=i,
		[a]=j
	},
	["note_mmap_rename_top_level_private_module"]={
		[c]="rename \'A\' to ensure it can be found by name",
		[b]=i,
		[a]=j
	},
	["note_module_cache_path"]={
		[c]="after modifying system headers, please delete the module cache at \'A\'",
		[b]=i,
		[a]=j
	},
	["note_module_def_undef_here"]={
		[c]="macro was ... here",
		[f]={"macro was ",{"defined","#undef\'d"},Lb},
		[b]=i,
		[a]=j
	},
	["note_module_file_conflict"]={
		[c]="this is generally caused by modules with the same name found in multiple paths",
		[b]=i,
		[a]=j
	},
	["note_module_file_imported_by"]={
		[c]="imported by ...\'A\'",
		[f]={"imported by ",{l,"module \'C\' in "},"\'A\'"},
		[b]=i,
		[a]=j
	},
	["note_module_import_here"]={
		[c]="module imported here",
		[b]=i,
		[a]=j
	},
	["note_module_import_not_at_top_level"]={
		[c]="A begins here",
		[b]=i,
		[a]=j
	},
	["note_module_odr_violation_definition_data"]={
		[c]=Nd,
		[f]={Hd,{{"C base ",{o,Fd}},{"C virtual base ",{o,Fd}},"C base class with different type D",{"C ",{"non-virtual","virtual"}," base class E"},{"C base class D with ",{"public",D,C,fb}," access specifier"}}},
		[b]=i,
		[a]=j
	},
	["note_module_odr_violation_different_definitions"]={
		[c]="definition in module \'A\' is here",
		[b]=i,
		[a]=j
	},
	["note_module_odr_violation_enum"]={
		[c]=Nd,
		[f]={Hd,{{"enum that is ",{"not scoped","scoped"}},{"enum scoped with keyword ",{r,o}},{"enum ",{"without","with"}," specified type"},"enum with specified type C","enum with C elementC","C element has name D",{"C element D ",{"has","does not have"}," an initializer"},"C element D has different initializer",l}},
		[b]=i,
		[a]=j
	},
	["note_module_odr_violation_field"]={
		[c]=md,
		[f]={kd,{Sb,ud},bb,{"field D","field D with type E",{{gd,l},"bitfield D"},"bitfield D with different width expression",{{gd,l},"mutable field D"},{"field D with ",{fb,"an"}," initializer"},"field D with a different initializer"}},
		[b]=i,
		[a]=j
	},
	["note_module_odr_violation_function"]={
		[c]=Nd,
		[f]={Hd,{"different return type C","C parameter with name D",{"C parameter with type D",{l," decayed from F"}},{"C parameter with",{"out",l}," a default argument"},"C parameter with a different default argument","a different body"}},
		[b]=i,
		[a]=j
	},
	["note_module_odr_violation_method_params"]={
		[c]=md,
		[f]={kd,{Sb,ud},bb,{{{"method E",n,p}," that has F parameterF"},{{"method E",n,p}," with F parameter of type G",{l," decayed from I"}},{{"method E",n,p}," with F parameter named G"}}},
		[b]=i,
		[a]=j
	},
	["note_module_odr_violation_mismatch_decl"]={
		[c]=md,
		[f]={kd,{Sb,ud},bb,{"end of class","public access specifier","private access specifier","protected access specifier","static assert",uc,u,Db,eb,"data member","friend declaration",Kb,u,Wc,db}},
		[b]=i,
		[a]=j
	},
	["note_module_odr_violation_mismatch_decl_unknown"]={
		[c]=md,
		[f]={kd,{Sb,ud},bb,{l,l,l,l,"different static assert","different field","different method","different type alias","different typedef","different data member","different friend declaration","different function template","different method","different instance variable","different property","another unexpected decl"}},
		[b]=i,
		[a]=j
	},
	["note_module_odr_violation_no_possible_decls"]={
		[c]="definition has no member A",
		[b]=i,
		[a]=j
	},
	["note_module_odr_violation_objc_interface"]={
		[c]=md,
		[f]={kd,{Sb,ud},bb,{{{"no super class","super class with type E"}},{"instance variable \'D\' access control is ",{l,"@private","@protected","@public","@package"}}}},
		[b]=i,
		[a]=j
	},
	["note_module_odr_violation_objc_method"]={
		[c]=md,
		[f]={kd,{Sb,ud},bb,{"method D with different return type E",{"method D as ",{o,Ob}," method"},{{fb,"\'required\'","\'optional\'"}," method control"},{"method D with ",{"no designated initializer","designated initializer"}},{{"regular","direct"}," method D"},"different method D"}},
		[b]=i,
		[a]=j
	},
	["note_module_odr_violation_objc_property"]={
		[c]=md,
		[f]={kd,{Sb,ud},bb,{"property D","property D with type E",{{fb,"\'required\'","\'optional\'"}," property control"},{"property D with different \'",{"none","readonly",hd,"assign","readwrite","retain",Cb,"nonatomic",id,"atomic","weak","strong","unsafe_unretained","nullability","null_resettable",o,"direct"},"\' attribute"}}},
		[b]=i,
		[a]=j
	},
	["note_module_odr_violation_possible_decl"]={
		[c]="declaration of A does not match",
		[b]=i,
		[a]=j
	},
	["note_module_odr_violation_record"]={
		[c]=Nd,
		[f]={Hd,{"static assert with different condition","static assert with different message",{"static assert with ",{l,Qc},"message"},{{Gb,n,p}},{{Gb,n,p},Pb,{"not deleted","deleted"}},{{Gb,n,p},Pb,{"not defaulted","defaulted"}},{{Gb,n,p},Pb,{l,"pure "},{"not virtual","virtual"}},{{Gb,n,p},Pb,{"not static",Vc}},{{Gb,n,p},Pb,{"not volatile",Ub}},{{Gb,n,p},Pb,{"not const",Lc}},{{Gb,n,p},Pb,{"not inline","inline"}},{{Gb,n,p}," with E parameter with",{"out",l}," a default argument"},{{Gb,n,p}," with E parameter with a different default argument"},{{Gb,n,p},Gd,{Qc,l},"template arguments"},{{Gb,n,p}," with E template argumentE"},{{Gb,n,p}," with E for F template argument"},{{Gb,n,p},Gd,{"no body","body"}},{{Gb,n,p}," with different body"},{"friend ",{o,m}},"friend C","friend function C","function template C with D template parameterD",{"function template C with D template paramter being a ",{a,"non-type",Hb}," template parameter"},{"function template C with D template parameter ",{"with no name","named F"}},{"function template C with D template parameter with ",{Qc,l},Bd},"function template C with D template parameter with default argument E","function template C with D template parameter with different type",{"function template C with D template parameter ",{"not ",l},"being a template parameter pack"},l}},
		[b]=i,
		[a]=j
	},
	["note_module_odr_violation_referenced_protocols"]={
		[c]=md,
		[f]={kd,{Sb,ud},bb,{{"D referenced ",{nd,"protocols"}},"D referenced protocol with different name E"}},
		[b]=i,
		[a]=j
	},
	["note_module_odr_violation_template_parameter"]={
		[c]=Nd,
		[f]={Hd,{"unnamed template parameter C","template parameter D",{"template parameter with ",{Qc,l},Bd},"template parameter with different default argument"}},
		[b]=i,
		[a]=j
	},
	["note_module_odr_violation_typedef"]={
		[c]=Nd,
		[f]={Hd,{{{eb,Db}," name D"},{{eb,Db}," D with different underlying type E"}}},
		[b]=i,
		[a]=j
	},
	["note_module_odr_violation_variable"]={
		[c]=Nd,
		[f]={Hd,{"data member with name C","data member C with different type D",{"data member C with",{"out",l}," an initializer"},"data member C with a different initializer",{"data member C ",{"is constexpr","is not constexpr"}}}},
		[b]=i,
		[a]=j
	},
	["note_mt_message"]={
		[c]="[rewriter] A",
		[b]=i,
		[a]=j
	},
	["note_multiversioning_caused_here"]={
		[c]="function multiversioning caused by this declaration",
		[b]=i,
		[a]=j
	},
	["note_musttail_callconv_mismatch"]={
		[c]="target function has calling convention B (expected A)",
		[b]=i,
		[a]=j
	},
	["note_musttail_callee_defined_here"]={
		[c]="A declared here",
		[b]=i,
		[a]=j
	},
	["note_musttail_fix_non_prototype"]={
		[c]="add \'void\' to the parameter list to turn an old-style K&R function declaration into a prototype",
		[b]=i,
		[a]=j
	},
	["note_musttail_mismatch"]={
		[c]="target function ...",
		[f]={"target function ",{{"is a member of different class",{" (expected B but has C)",l}},"has different number of parameters (expected B but has C)",{"has type mismatch at D parameter",{" (expected B but has C)",l}},{"has different return type",{" (B expected but has C)",l}}}},
		[b]=i,
		[a]=j
	},
	["note_musttail_structors_forbidden"]={
		[c]="target ... is declared here",
		[f]={"target ",{n,p}," is declared here"},
		[b]=i,
		[a]=j
	},
	["note_namespace_defined_here"]={
		[c]="namespace A defined here",
		[b]=i,
		[a]=j
	},
	["note_neon_vector_initializer_non_portable"]={
		[c]="consider using vld1_AB() to initialize a vector from memory, or vcreate_AB() to initialize from an integer constant",
		[b]=i,
		[a]=j
	},
	["note_neon_vector_initializer_non_portable_q"]={
		[c]="consider using vld1q_AB() to initialize a vector from memory, or vcombine_AB(vcreate_AB(), vcreate_AB()) to initialize from integer constants",
		[b]=i,
		[a]=j
	},
	["note_nested_requirement_here"]={
		[c]="while checking the satisfaction of nested requirement requested here",
		[b]=i,
		[a]=j
	},
	["note_nested_requirement_substitution_error"]={
		[c]="... \'B\' would be invalidC",
		[f]={{zb,Ib}," \'B\' would be invalidC"},
		[b]=i,
		[a]=j
	},
	["note_nested_requirement_unknown_substitution_error"]={
		[c]="... \'B\' would be invalid",
		[f]={{zb,Ib}," \'B\' would be invalid"},
		[b]=i,
		[a]=j
	},
	["note_next_field_declaration"]={
		[c]="next field declaration is here",
		[b]=i,
		[a]=j
	},
	["note_next_ivar_declaration"]={
		[c]="next ... is here",
		[f]={"next ",{"instance variable declaration","synthesized instance variable"}," is here"},
		[b]=i,
		[a]=j
	},
	["note_non_c_like_anon_struct"]={
		[c]="type is not C-compatible due to this ...",
		[f]={"type is not C-compatible due to this ",{Eb,"default member initializer","lambda expression","friend declaration","member declaration"}},
		[b]=i,
		[a]=j
	},
	["note_non_deducible_parameter"]={
		[c]="non-deducible template parameter A",
		[b]=i,
		[a]=j
	},
	["note_non_instantiated_member_here"]={
		[c]="not-yet-instantiated member is declared here",
		[b]=i,
		[a]=j
	},
	["note_non_literal_base_class"]={
		[c]="A is not literal because it has base class B of non-literal type",
		[b]=i,
		[a]=j
	},
	["note_non_literal_field"]={
		[c]="A is not literal because it has data member B of ... type C",
		[f]={"A is not literal because it has data member B of ",{"non-literal",Ub}," type C"},
		[b]=i,
		[a]=j
	},
	["note_non_literal_incomplete"]={
		[c]="incomplete type A is not a literal type",
		[b]=i,
		[a]=j
	},
	["note_non_literal_lambda"]={
		[c]="lambda closure types are non-literal types before C++17",
		[b]=i,
		[a]=j
	},
	["note_non_literal_no_constexpr_ctors"]={
		[c]="A is not literal because it is not an aggregate and has no constexpr constructors other than copy or move constructors",
		[b]=i,
		[a]=j
	},
	["note_non_literal_non_constexpr_dtor"]={
		[c]="A is not literal because its destructor is not constexpr",
		[b]=i,
		[a]=j
	},
	["note_non_literal_nontrivial_dtor"]={
		[c]="A is not literal because it has a non-trivial destructor",
		[b]=i,
		[a]=j
	},
	["note_non_literal_user_provided_dtor"]={
		[c]="A is not literal because it has a user-provided destructor",
		[b]=i,
		[a]=j
	},
	["note_non_literal_virtual_base"]={
		[c]="... with virtual base class is not a literal type",
		[f]={{r,B,o}," with virtual base ",{o,Fd}," is not a literal type"},
		[b]=i,
		[a]=j
	},
	["note_non_null_attribute_failed"]={
		[c]="null passed to a callee that requires a non-null argument",
		[b]=i,
		[a]=j
	},
	["note_non_template_in_template_id_found"]={
		[c]="non-template declaration found by name lookup",
		[b]=i,
		[a]=j
	},
	["note_non_trivial_c_union"]={
		[c]="... non-trivial to ...",
		[f]={{"C has subobjects that are","D has type C that is"}," non-trivial to ",{"default-initialize","destruct",Cb}},
		[b]=i,
		[a]=j
	},
	["note_non_usual_function_declared_here"]={
		[c]="non-usual A declared here",
		[b]=i,
		[a]=j
	},
	["note_nontemplate_decl_here"]={
		[c]="non-templated declaration is here",
		[b]=i,
		[a]=j
	},
	["note_nontrivial_default_arg"]={
		[c]="because it has a default argument",
		[b]=i,
		[a]=j
	},
	["note_nontrivial_default_member_init"]={
		[c]="because field A has an initializer",
		[b]=i,
		[a]=j
	},
	["note_nontrivial_field"]={
		[c]="field is non-trivial to ...",
		[f]={"field is non-trivial to ",{Cb,"default-initialize"}},
		[b]=i,
		[a]=j
	},
	["note_nontrivial_has_virtual"]={
		[c]="because type A has a virtual ...",
		[f]={"because type A has a virtual ",{"member function",Eb}},
		[b]=i,
		[a]=j
	},
	["note_nontrivial_no_copy"]={
		[c]="because no ... can be used to ... ... of type D",
		[f]={"because no ",{n,n,pc,pc}," can be used to ",{Cb,Uc,Cb,Uc},w,{Eb,uc,"an object"}," of type D"},
		[b]=i,
		[a]=j
	},
	["note_nontrivial_no_def_ctor"]={
		[c]="because ...type B has no default constructor",
		[f]={"because ",{"base class of ","field of ",l},"type B has no default constructor"},
		[b]=i,
		[a]=j
	},
	["note_nontrivial_objc_ownership"]={
		[c]="because type A has a member with ... ownership",
		[f]={"because type A has a member with ",{fb,fb,xd,qd,"__autoreleasing"}," ownership"},
		[b]=i,
		[a]=j
	},
	["note_nontrivial_param_type"]={
		[c]="because its parameter is of type C, not D",
		[f]={"because its parameter is ",{"of type C, not D","of the wrong type"}},
		[b]=i,
		[a]=j
	},
	["note_nontrivial_subobject"]={
		[c]="because the function selected to ... ... of type B is not trivial",
		[f]={"because the function selected to ",{"construct",Cb,Uc,Cb,Uc,"destroy"},w,{Eb,uc}," of type B is not trivial"},
		[b]=i,
		[a]=j
	},
	["note_nontrivial_user_provided"]={
		[c]="because ...type B has a user-provided ...",
		[f]={"because ",{"base class of ","field of ",l},"type B has a user-provided ",{rb,sb,vb,xb,tb,p}},
		[b]=i,
		[a]=j
	},
	["note_nontrivial_variadic"]={
		[c]="because it is a variadic function",
		[b]=i,
		[a]=j
	},
	["note_nontrivial_virtual_dtor"]={
		[c]="destructor for A is not trivial because it is virtual",
		[b]=i,
		[a]=j
	},
	["note_not_found_by_two_phase_lookup"]={
		[c]="A should be declared prior to the call site...",
		[f]={"A should be declared prior to the call site",{l," or in C"," or in an associated namespace of one of its arguments"}},
		[b]=i,
		[a]=j
	},
	["note_not_module_interface_add_export"]={
		[c]="add \'export\' here if this is intended to be a module interface unit",
		[b]=i,
		[a]=j
	},
	["note_not_structural_mutable_field"]={
		[c]="A is not a structural type because it has a mutable non-static data member",
		[b]=i,
		[a]=j
	},
	["note_not_structural_non_public"]={
		[c]="A is not a structural type because it has a ... that is not public",
		[f]={"A is not a structural type because it has a ",{"non-static data member",Eb}," that is not public"},
		[b]=i,
		[a]=j
	},
	["note_not_structural_rvalue_ref_field"]={
		[c]="A is not a structural type because it has a non-static data member of rvalue reference type",
		[b]=i,
		[a]=j
	},
	["note_not_structural_subobject"]={
		[c]="A is not a structural type because it has a ... of non-structural type C",
		[f]={"A is not a structural type because it has a ",{"non-static data member",Eb}," of non-structural type C"},
		[b]=i,
		[a]=j
	},
	["note_nsdictionary_duplicate_key_here"]={
		[c]="previous equal key is here",
		[b]=i,
		[a]=j
	},
	["note_nullability_fix_it"]={
		[c]="insert \'...\' if the ... ...",
		[f]={"insert \'",{"_Nonnull","_Nullable","_Null_unspecified"},"\' if the ",{W,"block pointer","member pointer","array parameter"},w,{"should never be null","may be null","should not declare nullability"}},
		[b]=i,
		[a]=j
	},
	["note_nullability_here"]={
		[c]="A specified here",
		[b]=i,
		[a]=j
	},
	["note_nullability_type_specifier"]={
		[c]="use nullability type specifier A to affect the innermost pointer type of B",
		[b]=i,
		[a]=j
	},
	["note_objc_circular_container_declared_here"]={
		[c]="A declared here",
		[b]=i,
		[a]=j
	},
	["note_objc_container_start"]={
		[c]="... started here",
		[f]={{o,nd,"category","class extension","implementation","category implementation"}," started here"},
		[b]=i,
		[a]=j
	},
	["note_objc_designated_init_marked_here"]={
		[c]="method marked as designated initializer of the class here",
		[b]=i,
		[a]=j
	},
	["note_objc_literal_comparison_isequal"]={
		[c]="use \'isEqual:\' instead",
		[b]=i,
		[a]=j
	},
	["note_objc_literal_method_param"]={
		[c]="... parameter has unexpected type B (should be C)",
		[f]={{"first","second","third"}," parameter has unexpected type B (should be C)"},
		[b]=i,
		[a]=j
	},
	["note_objc_literal_method_return"]={
		[c]="method returns unexpected type A (should be an object type)",
		[b]=i,
		[a]=j
	},
	["note_objc_needs_superclass"]={
		[c]="add a super class to fix this problem",
		[b]=i,
		[a]=j
	},
	["note_objc_type_param_here"]={
		[c]="type parameter A declared here",
		[b]=i,
		[a]=j
	},
	["note_objc_unsafe_perform_selector_method_declared_here"]={
		[c]="method A that returns B declared here",
		[b]=i,
		[a]=j
	},
	["note_odr_base"]={
		[c]="class has base type A",
		[b]=i,
		[a]=j
	},
	["note_odr_enumerator"]={
		[c]="enumerator A with value B here",
		[b]=i,
		[a]=j
	},
	["note_odr_field"]={
		[c]="field A has type B here",
		[b]=i,
		[a]=j
	},
	["note_odr_field_name"]={
		[c]="field has name A here",
		[b]=i,
		[a]=j
	},
	["note_odr_friend"]={
		[c]="friend declared here",
		[b]=i,
		[a]=j
	},
	["note_odr_missing_base"]={
		[c]="no corresponding base class here",
		[b]=i,
		[a]=j
	},
	["note_odr_missing_enumerator"]={
		[c]="no corresponding enumerator here",
		[b]=i,
		[a]=j
	},
	["note_odr_missing_field"]={
		[c]="no corresponding field here",
		[b]=i,
		[a]=j
	},
	["note_odr_missing_friend"]={
		[c]="no corresponding friend here",
		[b]=i,
		[a]=j
	},
	["note_odr_number_of_bases"]={
		[c]="class has A base class",
		[f]={"class has A base ",{o,Fd}},
		[b]=i,
		[a]=j
	},
	["note_odr_objc_method_here"]={
		[c]="... method B also declared here",
		[f]={{o,Ob}," method B also declared here"},
		[b]=i,
		[a]=j
	},
	["note_odr_objc_missing_superclass"]={
		[c]="no corresponding superclass here",
		[b]=i,
		[a]=j
	},
	["note_odr_objc_property_impl_kind"]={
		[c]="property A is implemented with ... here",
		[f]={"property A is implemented with ",{"@synthesize","@dynamic"},Lb},
		[b]=i,
		[a]=j
	},
	["note_odr_objc_superclass"]={
		[c]="inherits from superclass A here",
		[b]=i,
		[a]=j
	},
	["note_odr_objc_synthesize_ivar_here"]={
		[c]="property is synthesized to ivar A here",
		[b]=i,
		[a]=j
	},
	["note_odr_parameter_pack_non_pack"]={
		[c]="... declared here",
		[f]={{ac,"parameter pack"}," declared here"},
		[b]=i,
		[a]=j
	},
	["note_odr_tag_kind_here"]={
		[c]="A is a ... here",
		[f]={"A is a ",{r,B,v,o,pb},Lb},
		[b]=i,
		[a]=j
	},
	["note_odr_template_parameter_here"]={
		[c]="template parameter declared here",
		[b]=i,
		[a]=j
	},
	["note_odr_template_parameter_list"]={
		[c]="template parameter list also declared here",
		[b]=i,
		[a]=j
	},
	["note_odr_value_here"]={
		[c]="declared here with type A",
		[b]=i,
		[a]=j
	},
	["note_odr_virtual_base"]={
		[c]="... derivation here",
		[f]={{"non-virtual","virtual"}," derivation here"},
		[b]=i,
		[a]=j
	},
	["note_omp_assumption_clause_continue_here"]={
		[c]="the ignored tokens spans until here",
		[b]=i,
		[a]=j
	},
	["note_omp_atomic_capture"]={
		[c]=Rb,
		[f]={{"expected assignment expression","expected compound statement","expected exactly two expression statements","expected in right hand side of the first expression"}},
		[b]=i,
		[a]=j
	},
	["note_omp_atomic_compare"]={
		[c]=Rb,
		[f]={{"expected compound statement","expected exactly one expression statement","expected assignment statement","expected conditional operator","expect result value to be at false expression","expect binary operator in conditional expression","expect \'<\', \'>\' or \'==\' as order operator","expect comparison in a form of \'x == e\', \'e == x\', \'x ordop expr\', or \'expr ordop x\'","expect lvalue for result value","expect scalar value","expect integer value","unexpected \'else\' statement","expect \'==\' operator","expect an assignment statement \'v = x\'","expect a \'if\' statement","expect no more than two statements","expect a compound statement","expect \'else\' statement","expect a form \'r = x == e; if (r) ...\'"}},
		[b]=i,
		[a]=j
	},
	["note_omp_atomic_read_write"]={
		[c]=Rb,
		[f]={{"expected an expression statement","expected built-in assignment operator","expected expression of scalar type","expected lvalue expression"}},
		[b]=i,
		[a]=j
	},
	["note_omp_atomic_update"]={
		[c]=Rb,
		[f]={{"expected an expression statement","expected built-in binary or unary operator","expected unary decrement/increment operation","expected expression of scalar type","expected assignment expression","expected built-in binary operator","expected one of \'+\', \'*\', \'-\', \'/\', \'&\', \'^\', \'|\', \'<<\', or \'>>\' built-in operations","expected in right hand side of expression"}},
		[b]=i,
		[a]=j
	},
	["note_omp_collapse_ordered_expr"]={
		[c]="as specified in ... clause...",
		[f]={"as specified in ",{"\'collapse\'","\'ordered\'","\'collapse\' and \'ordered\'"}," clause",{l,l,cb}},
		[b]=i,
		[a]=j
	},
	["note_omp_conversion_here"]={
		[c]="conversion to ... type B declared here",
		[f]={"conversion to ",{wc,Fc}," type B declared here"},
		[b]=i,
		[a]=j
	},
	["note_omp_critical_hint_here"]={
		[c]="...\'hint\' clause with value \'B\'",
		[f]={{l,"previous "},"\'hint\' clause with value \'B\'"},
		[b]=i,
		[a]=j
	},
	["note_omp_critical_no_hint"]={
		[c]="...directive with no \'hint\' clause specified",
		[f]={{l,"previous "},"directive with no \'hint\' clause specified"},
		[b]=i,
		[a]=j
	},
	["note_omp_ctx_compatible_set_and_selector_for_property"]={
		[c]="the context property \'A\' can be nested in the context selector \'B\' which is nested in the context set \'C\'; try \'match(C={B(A)})\'",
		[b]=i,
		[a]=j
	},
	["note_omp_ctx_compatible_set_for_selector"]={
		[c]="the context selector \'A\' can be nested in the context set \'B\'; try \'match(B={A...})\'",
		[f]={"the context selector \'A\' can be nested in the context set \'B\'; try \'match(B={A",{l,"(property)"},"})\'"},
		[b]=i,
		[a]=j
	},
	["note_omp_declare_variant_ctx_continue_here"]={
		[c]="the ignored ... spans until here",
		[f]={"the ignored ",{cd,Zc,db}," spans until here"},
		[b]=i,
		[a]=j
	},
	["note_omp_declare_variant_ctx_is_a"]={
		[c]="\'A\' is a context ... not a context ...",
		[f]={"\'A\' is a context ",{cd,Zc,db}," not a context ",{cd,Zc,db}},
		[b]=i,
		[a]=j
	},
	["note_omp_declare_variant_ctx_options"]={
		[c]="context ... options are: B",
		[f]={"context ",{cd,Zc,db}," options are: B"},
		[b]=i,
		[a]=j
	},
	["note_omp_declare_variant_ctx_try"]={
		[c]="try \'match(A={BC})\'",
		[b]=i,
		[a]=j
	},
	["note_omp_declare_variant_ctx_used_here"]={
		[c]="the previous context ... \'B\' used here",
		[f]={"the previous context ",{cd,Zc,db}," \'B\' used here"},
		[b]=i,
		[a]=j
	},
	["note_omp_default_dsa_none"]={
		[c]="explicit data sharing attribute requested here",
		[b]=i,
		[a]=j
	},
	["note_omp_defaultmap_attr_none"]={
		[c]="explicit data sharing attribute, data mapping attribute, or is_device_ptr clause requested here",
		[b]=i,
		[a]=j
	},
	["note_omp_directive_here"]={
		[c]="\'A\' directive found here",
		[b]=i,
		[a]=j
	},
	["note_omp_exits_structured_block"]={
		[c]="jump exits scope of OpenMP structured block",
		[b]=i,
		[a]=j
	},
	["note_omp_explicit_dsa"]={
		[c]="defined as A",
		[b]=i,
		[a]=j
	},
	["note_omp_flush_order_clause_here"]={
		[c]="memory order clause \'A\' is specified here",
		[b]=i,
		[a]=j
	},
	["note_omp_implicit_dsa"]={
		[c]="implicitly determined as A",
		[b]=i,
		[a]=j
	},
	["note_omp_invalid_length_on_this_ptr_mapping"]={
		[c]="expected length on mapping of \'this\' array section expression to be \'1\'",
		[b]=i,
		[a]=j
	},
	["note_omp_invalid_lower_bound_on_this_ptr_mapping"]={
		[c]="expected lower bound on mapping of \'this\' array section expression to be \'0\' or not specified",
		[b]=i,
		[a]=j
	},
	["note_omp_invalid_subscript_on_this_ptr_map"]={
		[c]="expected \'this\' subscript expression on map clause to be \'this[0]\'",
		[b]=i,
		[a]=j
	},
	["note_omp_loop_cond_requres_compatible_incr"]={
		[c]="loop step is expected to be ... due to this condition",
		[f]={"loop step is expected to be ",{"negative","positive"}," due to this condition"},
		[b]=i,
		[a]=j
	},
	["note_omp_marked_declare_variant_here"]={
		[c]="marked as \'declare variant\' here",
		[b]=i,
		[a]=j
	},
	["note_omp_marked_device_type_here"]={
		[c]="marked as \'device_type(A)\' here",
		[b]=i,
		[a]=j
	},
	["note_omp_nested_statement_here"]={
		[c]="... outside teams construct here",
		[f]={{"statement","directive"}," outside teams construct here"},
		[b]=i,
		[a]=j
	},
	["note_omp_nested_teams_construct_here"]={
		[c]="nested teams construct here",
		[b]=i,
		[a]=j
	},
	["note_omp_nowait_clause_here"]={
		[c]="\'nowait\' clause is here",
		[b]=i,
		[a]=j
	},
	["note_omp_ordered_param"]={
		[c]="\'ordered\' clause...",
		[f]={"\'ordered\' clause",{l," with specified parameter"}},
		[b]=i,
		[a]=j
	},
	["note_omp_predefined_allocator"]={
		[c]="predefined trait \'A\' used here",
		[b]=i,
		[a]=j
	},
	["note_omp_predetermined_dsa"]={
		[c]="......",
		[f]={{"static data member is predetermined as shared","variable with static storage duration is predetermined as shared","loop iteration variable is predetermined as private","loop iteration variable is predetermined as linear","loop iteration variable is predetermined as lastprivate","constant variable is predetermined as shared","global variable is predetermined as shared","non-shared variable in a task construct is predetermined as firstprivate","variable with automatic storage duration is predetermined as private"},{l,"; perhaps you forget to enclose \'omp C\' directive into a parallel or another task region?"}},
		[b]=i,
		[a]=j
	},
	["note_omp_previous_allocator"]={
		[c]="previous allocator is specified here",
		[b]=i,
		[a]=j
	},
	["note_omp_previous_clause"]={
		[c]="\'A\' clause is specified here",
		[b]=i,
		[a]=j
	},
	["note_omp_previous_critical_region"]={
		[c]="previous \'critical\' region starts here",
		[b]=i,
		[a]=j
	},
	["note_omp_previous_directive"]={
		[c]="previous \'A\' directive used here",
		[b]=i,
		[a]=j
	},
	["note_omp_previous_inscan_reduction"]={
		[c]="\'reduction\' clause with \'inscan\' modifier is used here",
		[b]=i,
		[a]=j
	},
	["note_omp_previous_mem_order_clause"]={
		[c]="\'A\' clause used here",
		[b]=i,
		[a]=j
	},
	["note_omp_previous_named_if_clause"]={
		[c]="previous clause with directive name modifier specified here",
		[b]=i,
		[a]=j
	},
	["note_omp_previous_reduction_identifier"]={
		[c]="previously marked as task_reduction with different reduction operation",
		[b]=i,
		[a]=j
	},
	["note_omp_protected_structured_block"]={
		[c]="jump bypasses OpenMP structured block",
		[b]=i,
		[a]=j
	},
	["note_omp_referenced"]={
		[c]="previously referenced here",
		[b]=i,
		[a]=j
	},
	["note_omp_requires_encountered_directive"]={
		[c]="\'A\' previously encountered here",
		[b]=i,
		[a]=j
	},
	["note_omp_requires_previous_clause"]={
		[c]="A clause previously used here",
		[b]=i,
		[a]=j
	},
	["note_omp_task_predetermined_firstprivate_here"]={
		[c]="predetermined as a firstprivate in a task construct here",
		[b]=i,
		[a]=j
	},
	["note_opencl_typedef_access_qualifier"]={
		[c]="previously declared \'A\' here",
		[b]=i,
		[a]=j
	},
	["note_operator_arrow_depth"]={
		[c]="use -foperator-arrow-depth=N to increase \'operator->\' limit",
		[b]=i,
		[a]=j
	},
	["note_operator_arrow_here"]={
		[c]="\'operator->\' declared here produces an object of type A",
		[b]=i,
		[a]=j
	},
	["note_operator_arrows_suppressed"]={
		[c]="(skipping A \'operator->\'A in backtrace)",
		[b]=i,
		[a]=j
	},
	["note_overridden_marked_noescape"]={
		[c]="parameter of overridden method is annotated with __attribute__((noescape))",
		[b]=i,
		[a]=j
	},
	["note_overridden_method"]={
		[c]="overridden method is here",
		[b]=i,
		[a]=j
	},
	["note_overridden_virtual_function"]={
		[c]="overridden virtual function is here",
		[b]=i,
		[a]=j
	},
	["note_ovl_ambiguous_eqeq_reversed_self_non_const"]={
		[c]="mark \'operator==\' as const or add a matching \'operator!=\' to resolve the ambiguity",
		[b]=i,
		[a]=j
	},
	["note_ovl_ambiguous_oper_binary_reversed_candidate"]={
		[c]="ambiguous candidate function with reversed arguments",
		[b]=i,
		[a]=j
	},
	["note_ovl_ambiguous_oper_binary_reversed_self"]={
		[c]="ambiguity is between a regular call to this operator and a call with the argument order reversed",
		[b]=i,
		[a]=j
	},
	["note_ovl_ambiguous_oper_binary_selected_candidate"]={
		[c]="candidate function with non-reversed arguments",
		[b]=i,
		[a]=j
	},
	["note_ovl_builtin_candidate"]={
		[c]="built-in candidate A",
		[b]=i,
		[a]=j
	},
	["note_ovl_candidate"]={
		[c]="candidate .........",
		[f]={V,{m,m,ib,n,mb,hb,jb,gb,lb,kb,ob},{l,U," D"},{l,{" has different class",{" (expected F but has G)",l}}," has different number of parameters (expected F but has G)",{" has type mismatch at F parameter",{" (expected G but has H)",l}},{" has different return type",{" (F expected but has G)",l}}," has different qualifiers (expected F but found G)"," has different exception specification"}},
		[b]=i,
		[a]=j
	},
	["note_ovl_candidate_arity"]={
		[c]="candidate ...... not viable: requires... E argumentE, but F was provided",
		[f]={V,{m,m,ib,n,mb,hb,jb,gb,lb,kb,ob},{l,U,Z}," not viable: requires",{" at least"," at most",l}," E argumentE, but F ",{"was","were"}," provided"},
		[b]=i,
		[a]=j
	},
	["note_ovl_candidate_arity_one"]={
		[c]="candidate ...... not viable: ... argument E, but no arguments were provided",
		[f]={V,{m,m,ib,n,mb,hb,jb,gb,lb,kb,ob},{l,U,Z}," not viable: ",{"requires at least","allows at most single","requires single"}," argument E, but ",{fb,"F"}," arguments were provided"},
		[b]=i,
		[a]=j
	},
	["note_ovl_candidate_bad_addrspace"]={
		[c]="candidate ...... not viable: cannot ... D ... E in G argument",
		[f]={V,{m,m,ib,n,mb,hb,jb,gb,lb,kb,ob},{l,U,Z}," not viable: cannot ",{"pass pointer to","bind reference in"}," D ",{"as a pointer to","to object in"}," E in G argument"},
		[b]=i,
		[a]=j
	},
	["note_ovl_candidate_bad_addrspace_this"]={
		[c]="candidate ...... not viable: \'this\' object is in D, but method expects object in E",
		[f]={V,{m,m,ib,n,mb,hb,jb,gb,lb,kb,ob},{l,U,Z}," not viable: \'this\' object is in D, but method expects object in E"},
		[b]=i,
		[a]=j
	},
	["note_ovl_candidate_bad_arc_conv"]={
		[c]="candidate ...... not viable: cannot implicitly convert argument of type D to E for ... under ARC",
		[f]={V,{m,m,ib,n,mb,hb,jb,gb,lb,kb,ob},{l,U,Z}," not viable: cannot implicitly convert argument ",{"of type D to E","type to parameter type"}," for ",{"G argument","object argument"}," under ARC"},
		[b]=i,
		[a]=j
	},
	["note_ovl_candidate_bad_base_to_derived_conv"]={
		[c]="candidate ...... not viable: cannot ... ... E to ... F for G argument",
		[f]={V,{m,m,ib,n,mb,hb,jb,gb,lb,kb,ob},{l,U,Z}," not viable: cannot ",{"convert from","convert from","bind"},w,{"base class pointer","superclass","base class object of type"}," E to ",{"derived class pointer","subclass","derived class reference"}," F for G argument"},
		[b]=i,
		[a]=j
	},
	["note_ovl_candidate_bad_conv"]={
		[c]="candidate ...... not viable: no known conversion from D to E for ......",
		[f]={V,{m,m,ib,n,mb,hb,jb,gb,lb,kb,ob},{l,U,Z}," not viable: no known conversion ",{"from D to E","from argument type to parameter type"}," for ",{"G argument","object argument"},{l,"; dereference the argument with *","; take the address of the argument with &",ec,fc}},
		[b]=i,
		[a]=j
	},
	["note_ovl_candidate_bad_conv_incomplete"]={
		[c]="candidate ...... not viable: cannot convert argument of incomplete type D to E for ......",
		[f]={V,{m,m,ib,n,mb,hb,jb,gb,lb,kb,ob},{l,U,Z}," not viable: cannot convert argument of incomplete type ",{"D to E","to parameter type"}," for ",{"G argument","object argument"},{l,"; dereference the argument with *","; take the address of the argument with &",ec,fc}},
		[b]=i,
		[a]=j
	},
	["note_ovl_candidate_bad_cvr"]={
		[c]="candidate ...... not viable: F argument (D) would lose ... qualifier...",
		[f]={V,{m,m,ib,n,mb,hb,jb,gb,lb,kb,ob},{l,U,Z}," not viable: F argument (D) would lose ",{Lc,"restrict","const and restrict",Ub,"const and volatile","volatile and restrict","const, volatile, and restrict"}," qualifier",{l,l,cb,l,cb,cb,cb}},
		[b]=i,
		[a]=j
	},
	["note_ovl_candidate_bad_cvr_this"]={
		[c]="candidate ...... not viable: \'this\' argument has type D, but method is not marked ...",
		[f]={V,{m,m,ib,n,mb,hb,jb,gb,lb,kb,ob},{l,U,Z}," not viable: \'this\' argument has type D, but method is not marked ",{Lc,"restrict","const or restrict",Ub,"const or volatile","volatile or restrict","const, volatile, or restrict"}},
		[b]=i,
		[a]=j
	},
	["note_ovl_candidate_bad_deduction"]={
		[c]="candidate template ignored: failed template argument deduction",
		[b]=i,
		[a]=j
	},
	["note_ovl_candidate_bad_gc"]={
		[c]="candidate ...... not viable: ... argument (D) has ... ownership, but parameter has ... ownership",
		[f]={V,{m,m,ib,n,mb,hb,jb,gb,lb,kb,ob},{l,U,Z}," not viable: ",{"H","\'this\'"}," argument (D) has ",{fb,qd,xd}," ownership, but parameter has ",{fb,qd,xd}," ownership"},
		[b]=i,
		[a]=j
	},
	["note_ovl_candidate_bad_list_argument"]={
		[c]="candidate ...... not viable: ... argument to E",
		[f]={V,{m,m,ib,n,mb,hb,jb,gb,lb,kb,ob},{l,U,Z}," not viable: ",{"cannot convert initializer list","too few initializers in list","too many initializers in list"}," argument to E"},
		[b]=i,
		[a]=j
	},
	["note_ovl_candidate_bad_overload"]={
		[c]="candidate ...... not viable: no overload of E matching D for F argument",
		[f]={V,{m,m,ib,n,mb,hb,jb,gb,lb,kb,ob},{l,U,Z}," not viable: no overload of E matching D for F argument"},
		[b]=i,
		[a]=j
	},
	["note_ovl_candidate_bad_ownership"]={
		[c]="candidate ...... not viable: ... argument (D) has ... ownership, but parameter has ... ownership",
		[f]={V,{m,m,ib,n,mb,hb,jb,gb,lb,kb,ob},{l,U,Z}," not viable: ",{"H","\'this\'"}," argument (D) has ",{fb,"__unsafe_unretained",xd,qd,"__autoreleasing"}," ownership, but parameter has ",{fb,"__unsafe_unretained",xd,qd,"__autoreleasing"}," ownership"},
		[b]=i,
		[a]=j
	},
	["note_ovl_candidate_bad_target"]={
		[c]="candidate ...... not viable: call to ... function from ... function",
		[f]={V,{m,m,ib,n,mb,hb,jb,gb,lb,kb,ob},{l,U,Z}," not viable: call to ",{jc,kc,nc,oc,"invalid"}," function from ",{jc,kc,nc,oc,"invalid"},zd},
		[b]=i,
		[a]=j
	},
	["note_ovl_candidate_bad_value_category"]={
		[c]="candidate ...... not viable: expects an ... for ...",
		[f]={V,{m,m,ib,n,mb,hb,jb,gb,lb,kb,ob},{l,U,Z}," not viable: expects an ",{td,ld}," for ",{"E argument","object argument"}},
		[b]=i,
		[a]=j
	},
	["note_ovl_candidate_constraints_not_satisfied"]={
		[c]="candidate ...... not viable: constraints not satisfied",
		[f]={V,{m,m,ib,n,mb,hb,jb,gb,lb,kb,ob},{l,U,Z}," not viable: constraints not satisfied"},
		[b]=i,
		[a]=j
	},
	["note_ovl_candidate_deduced_mismatch"]={
		[c]="candidate template ignored: deduced type B of ...A parameter does not match adjusted type C of ...argumentD",
		[f]={"candidate template ignored: deduced type ",{{"B of ",{l,"element of "},"A parameter does not match adjusted type C of ",{l,"element of "},pd},{"of ",{l,"element of "},"A parameter does not match adjusted type of ",{l,"element of "},pd}},hc},
		[b]=i,
		[a]=j
	},
	["note_ovl_candidate_deleted"]={
		[c]="candidate ...... has been ...",
		[f]={V,{m,m,ib,n,mb,hb,jb,gb,lb,kb,ob},{l,U,Z}," has been ",{"explicitly made unavailable","explicitly deleted","implicitly deleted"}},
		[b]=i,
		[a]=j
	},
	["note_ovl_candidate_disabled_by_enable_if"]={
		[c]="candidate template ignored: disabled by AB",
		[b]=i,
		[a]=j
	},
	["note_ovl_candidate_disabled_by_function_cond_attr"]={
		[c]="candidate disabled: A",
		[b]=i,
		[a]=j
	},
	["note_ovl_candidate_disabled_by_requirement"]={
		[c]="candidate template ignored: requirement \'A\' was not satisfiedB",
		[b]=i,
		[a]=j
	},
	["note_ovl_candidate_explicit"]={
		[c]="explicit ... is not a candidate...",
		[f]={"explicit ",{n,"conversion function","deduction guide"}," is not a candidate",{l," (explicit specifier evaluates to true)"}},
		[b]=i,
		[a]=j
	},
	["note_ovl_candidate_explicit_arg_mismatch_named"]={
		[c]="candidate template ignored: invalid explicitly-specified argument for template parameter A",
		[b]=i,
		[a]=j
	},
	["note_ovl_candidate_explicit_arg_mismatch_unnamed"]={
		[c]="candidate template ignored: invalid explicitly-specified argument for A template parameter",
		[b]=i,
		[a]=j
	},
	["note_ovl_candidate_has_pass_object_size_params"]={
		[c]="candidate address cannot be taken because parameter A has pass_object_size attribute",
		[b]=i,
		[a]=j
	},
	["note_ovl_candidate_illegal_constructor"]={
		[c]="candidate ... ignored: instantiation ... its own class type by value",
		[f]={V,{n,Hb}," ignored: instantiation ",{"takes","would take"}," its own class type by value"},
		[b]=i,
		[a]=j
	},
	["note_ovl_candidate_illegal_constructor_adrspace_mismatch"]={
		[c]="candidate constructor ignored: cannot be used to construct an object in address space A",
		[b]=i,
		[a]=j
	},
	["note_ovl_candidate_incomplete_deduction"]={
		[c]="candidate template ignored: couldn\'t infer template argument A",
		[b]=i,
		[a]=j
	},
	["note_ovl_candidate_incomplete_deduction_pack"]={
		[c]="candidate template ignored: deduced too few arguments for expanded pack A; no argument for B expanded parameter in deduced argument pack C",
		[b]=i,
		[a]=j
	},
	["note_ovl_candidate_inconsistent_deduction"]={
		[c]="candidate template ignored: deduced ... for parameter B (C vs. D)",
		[f]={"candidate template ignored: deduced ",{"conflicting types","conflicting values","conflicting templates","packs of different lengths"}," for parameter B",{" (C vs. D)",l}},
		[b]=i,
		[a]=j
	},
	["note_ovl_candidate_inconsistent_deduction_types"]={
		[c]="candidate template ignored: deduced values of conflicting types for parameter A (B of type C vs. D of type E)",
		[f]={"candidate template ignored: deduced values ",{"of conflicting types for parameter A (B of type C vs. D of type E)","B and D of conflicting types for parameter A"}},
		[b]=i,
		[a]=j
	},
	["note_ovl_candidate_inherited_constructor"]={
		[c]="constructor from base class A inherited here",
		[b]=i,
		[a]=j
	},
	["note_ovl_candidate_inherited_constructor_slice"]={
		[c]="candidate ... ignored: inherited constructor cannot be used to ... object",
		[f]={V,{n,Hb}," ignored: inherited constructor cannot be used to ",{Cb,Uc}," object"},
		[b]=i,
		[a]=j
	},
	["note_ovl_candidate_instantiation_depth"]={
		[c]="candidate template ignored: substitution exceeded maximum template instantiation depth",
		[b]=i,
		[a]=j
	},
	["note_ovl_candidate_non_deduced_mismatch"]={
		[c]="candidate template ignored: could not match A against B",
		[f]={"candidate template ignored: could not match ",{"A against B","types"}},
		[b]=i,
		[a]=j
	},
	["note_ovl_candidate_non_deduced_mismatch_qualified"]={
		[c]="candidate template ignored: could not match A against B",
		[b]=i,
		[a]=j
	},
	["note_ovl_candidate_substitution_failure"]={
		[c]="candidate template ignored: substitution failureAB",
		[b]=i,
		[a]=j
	},
	["note_ovl_candidate_underqualified"]={
		[c]="candidate template ignored: cannot deduce a type for A that would make C equal B",
		[b]=i,
		[a]=j
	},
	["note_ovl_candidate_unsatisfied_constraints"]={
		[c]="candidate template ignored: constraints not satisfiedA",
		[b]=i,
		[a]=j
	},
	["note_ovl_surrogate_cand"]={
		[c]="conversion candidate of type A",
		[b]=i,
		[a]=j
	},
	["note_ovl_surrogate_constraints_not_satisfied"]={
		[c]="conversion candidate A not viable: constraints not satisfied",
		[b]=i,
		[a]=j
	},
	["note_ovl_too_many_candidates"]={
		[c]="remaining A candidateA omitted; pass -fshow-overloads=all to show them",
		[b]=i,
		[a]=j
	},
	["note_ownership_returns_index_mismatch"]={
		[c]="declared with index A here",
		[b]=i,
		[a]=j
	},
	["note_parameter_here"]={
		[c]="passing argument to parameter here",
		[b]=i,
		[a]=j
	},
	["note_parameter_mapping_substitution_here"]={
		[c]="while substituting into concept arguments here; substitution failures not allowed in concept arguments",
		[b]=i,
		[a]=j
	},
	["note_parameter_named_here"]={
		[c]="passing argument to parameter A here",
		[b]=i,
		[a]=j
	},
	["note_parameter_pack_here"]={
		[c]="parameter pack A declared here",
		[b]=i,
		[a]=j
	},
	["note_parameter_type"]={
		[c]="parameter of type A is declared here",
		[b]=i,
		[a]=j
	},
	["note_partial_availability_specified_here"]={
		[c]="A has been marked as being introduced in B C here, but the deployment target is B D",
		[b]=i,
		[a]=j
	},
	["note_partial_spec_match"]={
		[c]="partial specialization matches A",
		[b]=i,
		[a]=j
	},
	["note_pch_rebuild_required"]={
		[c]="please rebuild precompiled header \'A\'",
		[b]=i,
		[a]=j
	},
	["note_pch_required_by"]={
		[c]="\'A\' required by \'B\'",
		[b]=i,
		[a]=j
	},
	["note_performs_forbidden_arc_conversion"]={
		[c]="inline function performs a conversion which is forbidden in ARC",
		[b]=i,
		[a]=j
	},
	["note_pointer_declared_here"]={
		[c]="pointer A declared here",
		[b]=i,
		[a]=j
	},
	["note_possibility"]={
		[c]="one possibility",
		[b]=i,
		[a]=j
	},
	["note_possible_target_of_call"]={
		[c]="possible target for call",
		[b]=i,
		[a]=j
	},
	["note_pp_ambiguous_macro_chosen"]={
		[c]="expanding this definition of A",
		[b]=i,
		[a]=j
	},
	["note_pp_ambiguous_macro_other"]={
		[c]="other definition of A",
		[b]=i,
		[a]=j
	},
	["note_pp_framework_without_header"]={
		[c]="did not find header \'A\' in framework \'B\' (loaded from \'C\')",
		[b]=i,
		[a]=j
	},
	["note_pp_macro_annotation"]={
		[c]="macro marked \'...\' here",
		[f]={"macro marked \'",{"deprecated","restrict_expansion","final"},"\' here"},
		[b]=i,
		[a]=j
	},
	["note_pp_module_begin_here"]={
		[c]="entering module \'A\' due to this pragma",
		[b]=i,
		[a]=j
	},
	["note_pragma_attribute_applied_decl_here"]={
		[c]="when applied to this declaration",
		[b]=i,
		[a]=j
	},
	["note_pragma_attribute_namespace_on_attribute"]={
		[c]="omit the namespace to add attributes to the most-recently pushed attribute group",
		[b]=i,
		[a]=j
	},
	["note_pragma_attribute_region_ends_here"]={
		[c]="\'#pragma clang attribute push\' regions ends here",
		[b]=i,
		[a]=j
	},
	["note_pragma_attribute_use_attribute_kw"]={
		[c]="use the GNU \'__attribute__\' syntax",
		[b]=i,
		[a]=j
	},
	["note_pragma_entered_here"]={
		[c]="#pragma entered here",
		[b]=i,
		[a]=j
	},
	["note_pragma_loop_invalid_vectorize_option"]={
		[c]="vectorize_width loop hint malformed; use vectorize_width(X, fixed) or vectorize_width(X, scalable) where X is an integer, or vectorize_width(\'fixed\' or \'scalable\')",
		[b]=i,
		[a]=j
	},
	["note_pragma_pack_here"]={
		[c]="previous \'#pragma pack\' directive that modifies alignment is here",
		[b]=i,
		[a]=j
	},
	["note_pragma_pack_pop_instead_reset"]={
		[c]="did you intend to use \'#pragma pack (pop)\' instead of \'#pragma pack()\'?",
		[b]=i,
		[a]=j
	},
	["note_precedence_bitwise_first"]={
		[c]="place parentheses around the A expression to evaluate it first",
		[b]=i,
		[a]=j
	},
	["note_precedence_conditional_first"]={
		[c]="place parentheses around the \'?:\' expression to evaluate it first",
		[b]=i,
		[a]=j
	},
	["note_precedence_silence"]={
		[c]="place parentheses around the \'A\' expression to silence this warning",
		[b]=i,
		[a]=j
	},
	["note_prev_module_declaration"]={
		[c]="previous module declaration is here",
		[b]=i,
		[a]=j
	},
	["note_prev_module_definition"]={
		[c]="previously defined here",
		[b]=i,
		[a]=j
	},
	["note_prev_module_definition_from_ast_file"]={
		[c]="module loaded from \'A\'",
		[b]=i,
		[a]=j
	},
	["note_prev_partial_spec_here"]={
		[c]="previous declaration of class template partial specialization A is here",
		[b]=i,
		[a]=j
	},
	["note_previous_access_declaration"]={
		[c]="previously declared \'B\' here",
		[b]=i,
		[a]=j
	},
	["note_previous_attribute"]={
		[c]="previous attribute is here",
		[b]=i,
		[a]=j
	},
	["note_previous_builtin_declaration"]={
		[c]="A is a builtin with type B",
		[b]=i,
		[a]=j
	},
	["note_previous_decl"]={
		[c]="A declared here",
		[b]=i,
		[a]=j
	},
	["note_previous_declaration"]={
		[c]="previous declaration is here",
		[b]=i,
		[a]=j
	},
	["note_previous_declaration_as"]={
		[c]="previously declared as A here",
		[b]=i,
		[a]=j
	},
	["note_previous_default_assoc"]={
		[c]="previous default generic association is here",
		[b]=i,
		[a]=j
	},
	["note_previous_definition"]={
		[c]="previous definition is here",
		[b]=i,
		[a]=j
	},
	["note_previous_exception_handler"]={
		[c]="for type A",
		[b]=i,
		[a]=j
	},
	["note_previous_explicit_instantiation"]={
		[c]="previous explicit instantiation is here",
		[b]=i,
		[a]=j
	},
	["note_previous_field_init"]={
		[c]="previous initialization for field A is here",
		[b]=i,
		[a]=j
	},
	["note_previous_implicit_declaration"]={
		[c]="previous implicit declaration is here",
		[b]=i,
		[a]=j
	},
	["note_previous_initializer"]={
		[c]="previous initialization ...is here...",
		[f]={"previous initialization ",{l,"with side effects "},"is here",{l," (side effects will not occur at run time)"}},
		[b]=i,
		[a]=j
	},
	["note_previous_ms_inheritance"]={
		[c]="previous inheritance model specified here",
		[b]=i,
		[a]=j
	},
	["note_previous_namespace_alias"]={
		[c]="previously defined as an alias for A",
		[b]=i,
		[a]=j
	},
	["note_previous_statement"]={
		[c]="previous statement is here",
		[b]=i,
		[a]=j
	},
	["note_previous_template_specialization"]={
		[c]="previous template specialization is here",
		[b]=i,
		[a]=j
	},
	["note_previous_use"]={
		[c]="previous use is here",
		[b]=i,
		[a]=j
	},
	["note_previous_uuid"]={
		[c]="previous uuid specified here",
		[b]=i,
		[a]=j
	},
	["note_printf_c_str"]={
		[c]="did you mean to call the A method?",
		[b]=i,
		[a]=j
	},
	["note_prior_template_arg_substitution"]={
		[c]="while substituting prior template arguments into ... template parameterB C",
		[f]={"while substituting prior template arguments into ",{"non-type",Hb}," template parameterB C"},
		[b]=i,
		[a]=j
	},
	["note_private_extern"]={
		[c]="use __attribute__((visibility(\"hidden\"))) attribute instead",
		[b]=i,
		[a]=j
	},
	["note_private_module_fragment"]={
		[c]="private module fragment begins here",
		[b]=i,
		[a]=j
	},
	["note_private_top_level_defined"]={
		[c]="module defined here",
		[b]=i,
		[a]=j
	},
	["note_property_attribute"]={
		[c]="property A is declared ... here",
		[f]={"property A is declared ",{"deprecated","unavailable","partial"},Lb},
		[b]=i,
		[a]=j
	},
	["note_property_declare"]={
		[c]="property declared here",
		[b]=i,
		[a]=j
	},
	["note_property_synthesize"]={
		[c]="property synthesized here",
		[b]=i,
		[a]=j
	},
	["note_protected_by___block"]={
		[c]="jump bypasses setup of __block variable",
		[b]=i,
		[a]=j
	},
	["note_protected_by_cleanup"]={
		[c]="jump bypasses initialization of variable with __attribute__((cleanup))",
		[b]=i,
		[a]=j
	},
	["note_protected_by_consteval_if"]={
		[c]="jump enters controlled statement of consteval if",
		[b]=i,
		[a]=j
	},
	["note_protected_by_constexpr_if"]={
		[c]="jump enters controlled statement of constexpr if",
		[b]=i,
		[a]=j
	},
	["note_protected_by_cxx_catch"]={
		[c]="jump bypasses initialization of catch block",
		[b]=i,
		[a]=j
	},
	["note_protected_by_cxx_try"]={
		[c]="jump bypasses initialization of try block",
		[b]=i,
		[a]=j
	},
	["note_protected_by_if_available"]={
		[c]="jump enters controlled statement of if available",
		[b]=i,
		[a]=j
	},
	["note_protected_by_non_trivial_c_struct_init"]={
		[c]="jump bypasses initialization of variable of non-trivial C struct type",
		[b]=i,
		[a]=j
	},
	["note_protected_by_objc_autoreleasepool"]={
		[c]="jump bypasses auto release push of @autoreleasepool block",
		[b]=i,
		[a]=j
	},
	["note_protected_by_objc_catch"]={
		[c]="jump bypasses initialization of @catch block",
		[b]=i,
		[a]=j
	},
	["note_protected_by_objc_fast_enumeration"]={
		[c]="jump enters Objective-C fast enumeration loop",
		[b]=i,
		[a]=j
	},
	["note_protected_by_objc_finally"]={
		[c]="jump bypasses initialization of @finally block",
		[b]=i,
		[a]=j
	},
	["note_protected_by_objc_strong_init"]={
		[c]="jump bypasses initialization of __strong variable",
		[b]=i,
		[a]=j
	},
	["note_protected_by_objc_synchronized"]={
		[c]="jump bypasses initialization of @synchronized block",
		[b]=i,
		[a]=j
	},
	["note_protected_by_objc_try"]={
		[c]="jump bypasses initialization of @try block",
		[b]=i,
		[a]=j
	},
	["note_protected_by_objc_weak_init"]={
		[c]="jump bypasses initialization of __weak variable",
		[b]=i,
		[a]=j
	},
	["note_protected_by_seh_except"]={
		[c]="jump bypasses initialization of __except block",
		[b]=i,
		[a]=j
	},
	["note_protected_by_seh_finally"]={
		[c]="jump bypasses initialization of __finally block",
		[b]=i,
		[a]=j
	},
	["note_protected_by_seh_try"]={
		[c]="jump bypasses initialization of __try block",
		[b]=i,
		[a]=j
	},
	["note_protected_by_variable_init"]={
		[c]="jump bypasses variable initialization",
		[b]=i,
		[a]=j
	},
	["note_protected_by_variable_non_pod"]={
		[c]="jump bypasses initialization of non-POD variable",
		[b]=i,
		[a]=j
	},
	["note_protected_by_variable_nontriv_destructor"]={
		[c]="jump bypasses variable with a non-trivial destructor",
		[b]=i,
		[a]=j
	},
	["note_protected_by_vla"]={
		[c]="jump bypasses initialization of variable length array",
		[b]=i,
		[a]=j
	},
	["note_protected_by_vla_type_alias"]={
		[c]="jump bypasses initialization of VLA type alias",
		[b]=i,
		[a]=j
	},
	["note_protected_by_vla_typedef"]={
		[c]="jump bypasses initialization of VLA typedef",
		[b]=i,
		[a]=j
	},
	["note_protocol_decl"]={
		[c]="protocol is declared here",
		[b]=i,
		[a]=j
	},
	["note_protocol_decl_undefined"]={
		[c]="protocol A has no definition",
		[b]=i,
		[a]=j
	},
	["note_protocol_method"]={
		[c]="protocol method is here",
		[b]=i,
		[a]=j
	},
	["note_protocol_property_declare"]={
		[c]="it could also be property ... declared here",
		[f]={"it could also be property ",{"of type B","without attribute \'B\'","with attribute \'B\'","with getter B","with setter B"}," declared here"},
		[b]=i,
		[a]=j
	},
	["note_pure_qualified_call_kext"]={
		[c]="qualified call to A::B is treated as a virtual call to B due to -fapple-kext",
		[b]=i,
		[a]=j
	},
	["note_pure_virtual_function"]={
		[c]="unimplemented pure virtual method A in B",
		[b]=i,
		[a]=j
	},
	["note_raii_guard_add_name"]={
		[c]="add a variable name to declare a A initialized with B",
		[b]=i,
		[a]=j
	},
	["note_receiver_class_declared"]={
		[c]="receiver is instance of class declared here",
		[b]=i,
		[a]=j
	},
	["note_receiver_expr_here"]={
		[c]="receiver expression is here",
		[b]=i,
		[a]=j
	},
	["note_receiver_is_id"]={
		[c]="receiver is treated with \'id\' type for purpose of method lookup",
		[b]=i,
		[a]=j
	},
	["note_recursive_default_argument_used_here"]={
		[c]="default argument used here",
		[b]=i,
		[a]=j
	},
	["note_redefinition_include_same_file"]={
		[c]="\'A\' included multiple times, additional include site here",
		[b]=i,
		[a]=j
	},
	["note_redefinition_modules_same_file"]={
		[c]="\'A\' included multiple times, additional include site in header from module \'B\'",
		[b]=i,
		[a]=j
	},
	["note_ref_or_ptr_member_declared_here"]={
		[c]="... member declared here",
		[f]={{E,W}," member declared here"},
		[b]=i,
		[a]=j
	},
	["note_refconst_member_not_initialized"]={
		[c]="... member B will never be initialized",
		[f]={{Lc,E}," member B will never be initialized"},
		[b]=i,
		[a]=j
	},
	["note_reference_is_return_value"]={
		[c]="A returns a reference",
		[b]=i,
		[a]=j
	},
	["note_referenced_type_template"]={
		[c]="... template declared here",
		[f]={{o,Db}," template declared here"},
		[b]=i,
		[a]=j
	},
	["note_reinterpret_updowncast_use_static"]={
		[c]="use \'static_cast\' to adjust the pointer correctly while ...",
		[f]={"use \'static_cast\' to adjust the pointer correctly while ",{"upcasting","downcasting"}},
		[b]=i,
		[a]=j
	},
	["note_related_result_type_explicit"]={
		[c]="... method is explicitly declared \'instancetype\'...",
		[f]={{"overridden","current"}," method is explicitly declared \'instancetype\'",{l," and is expected to return an instance of its class type"}},
		[b]=i,
		[a]=j
	},
	["note_related_result_type_family"]={
		[c]="... method is part of the \'...\' method family...",
		[f]={{"overridden","current"}," method is part of the \'",{l,"alloc",Cb,"init","mutableCopy","new","autorelease","dealloc","finalize","release","retain","retainCount","self"},"\' method family",{l," and is expected to return an instance of its class type"}},
		[b]=i,
		[a]=j
	},
	["note_related_result_type_inferred"]={
		[c]="... method B is assumed to return an instance of its receiver type (C)",
		[f]={{o,Ob}," method B is assumed to return an instance of its receiver type (C)"},
		[b]=i,
		[a]=j
	},
	["note_related_result_type_overridden"]={
		[c]="overridden method returns an instance of its class type",
		[b]=i,
		[a]=j
	},
	["note_remove_abs"]={
		[c]="remove the call to \'A\' since unsigned values cannot be negative",
		[b]=i,
		[a]=j
	},
	["note_remove_max_call"]={
		[c]="remove call to max function and unsigned zero argument",
		[b]=i,
		[a]=j
	},
	["note_remove_move"]={
		[c]="remove std::move call here",
		[b]=i,
		[a]=j
	},
	["note_remove_parens_for_variable_declaration"]={
		[c]="remove parentheses to silence this warning",
		[b]=i,
		[a]=j
	},
	["note_replace_abs_function"]={
		[c]="use function \'A\' instead",
		[b]=i,
		[a]=j
	},
	["note_replace_equals_default_to_delete"]={
		[c]="replace \'default\' with \'delete\'",
		[b]=i,
		[a]=j
	},
	["note_rewriting_operator_as_spaceship"]={
		[c]="while rewriting comparison as call to \'operator<=>\' declared here",
		[b]=i,
		[a]=j
	},
	["note_riscv_repeated_interrupt_attribute"]={
		[c]="repeated RISC-V \'interrupt\' attribute is here",
		[b]=i,
		[a]=j
	},
	["note_safe_buffer_usage_suggestions_disabled"]={
		[c]="pass -fsafe-buffer-usage-suggestions to receive code hardening suggestions",
		[b]=i,
		[a]=j
	},
	["note_second_module_difference"]={
		[c]="in second definition, possible difference is here",
		[b]=i,
		[a]=j
	},
	["note_sentinel_here"]={
		[c]="... has been explicitly marked sentinel here",
		[f]={{m,u,y}," has been explicitly marked sentinel here"},
		[b]=i,
		[a]=j
	},
	["note_shadow_field"]={
		[c]="declared here",
		[b]=i,
		[a]=j
	},
	["note_silence_aligned_allocation_unavailable"]={
		[c]="if you supply your own aligned allocation functions, use -faligned-allocation to silence this diagnostic",
		[b]=i,
		[a]=j
	},
	["note_single_arg_concept_specialization_constraint_evaluated_to_false"]={
		[c]="... B does not satisfy C",
		[f]={{zb,Ib}," B does not satisfy C"},
		[b]=i,
		[a]=j
	},
	["note_specialized_decl"]={
		[c]="attempt to specialize declaration here",
		[b]=i,
		[a]=j
	},
	["note_specialized_entity"]={
		[c]="explicitly specialized declaration is here",
		[b]=i,
		[a]=j
	},
	["note_static_for_internal_linkage"]={
		[c]="declare \'static\' if the ... is not intended to be used outside of this translation unit",
		[f]={"declare \'static\' if the ",{z,m}," is not intended to be used outside of this translation unit"},
		[b]=i,
		[a]=j
	},
	["note_string_plus_scalar_silence"]={
		[c]="use array indexing to silence this warning",
		[b]=i,
		[a]=j
	},
	["note_strlcpycat_wrong_size"]={
		[c]="change size argument to be the size of the destination",
		[b]=i,
		[a]=j
	},
	["note_strncat_wrong_size"]={
		[c]="change the argument to be the free space in the destination buffer minus the terminating null byte",
		[b]=i,
		[a]=j
	},
	["note_struct_class_suggestion"]={
		[c]="did you mean ... here?",
		[f]={"did you mean ",{r,B,o}," here?"},
		[b]=i,
		[a]=j
	},
	["note_substituted_constraint_expr_is_ill_formed"]={
		[c]="because substituted constraint expression is ill-formedA",
		[b]=i,
		[a]=j
	},
	["note_suggest_disabling_all_checkers"]={
		[c]="use -analyzer-disable-all-checks to disable all static analyzer checkers",
		[b]=i,
		[a]=j
	},
	["note_suggest_parens_for_macro"]={
		[c]="parentheses are required around macro argument containing braced initializer list",
		[b]=i,
		[a]=j
	},
	["note_suppress_ctad_maybe_unsupported"]={
		[c]="add a deduction guide to suppress this warning",
		[b]=i,
		[a]=j
	},
	["note_suppressed_class_declare"]={
		[c]="class with specified objc_requires_property_definitions attribute is declared here",
		[b]=i,
		[a]=j
	},
	["note_surrounding_namespace_ends_here"]={
		[c]="surrounding namespace with visibility attribute ends here",
		[b]=i,
		[a]=j
	},
	["note_surrounding_namespace_starts_here"]={
		[c]="surrounding namespace with visibility attribute starts here",
		[b]=i,
		[a]=j
	},
	["note_suspicious_bzero_size_silence"]={
		[c]="parenthesize the second argument to silence",
		[b]=i,
		[a]=j
	},
	["note_suspicious_sizeof_memset_silence"]={
		[c]="... to silence",
		[f]={{"parenthesize the third argument","cast the second argument to \'int\'"}," to silence"},
		[b]=i,
		[a]=j
	},
	["note_switch_conversion"]={
		[c]="conversion to ... type B",
		[f]={"conversion to ",{wc,Fc},Rc},
		[b]=i,
		[a]=j
	},
	["note_tail_call_required"]={
		[c]="tail call required by A attribute here",
		[b]=i,
		[a]=j
	},
	["note_template_arg_internal_object"]={
		[c]="non-type template argument refers to ... here",
		[f]={"non-type template argument refers to ",{m,"object"},Lb},
		[b]=i,
		[a]=j
	},
	["note_template_arg_refers_here"]={
		[c]="non-type template argument refers here",
		[b]=i,
		[a]=j
	},
	["note_template_arg_refers_here_func"]={
		[c]="template argument refers to function template A, here",
		[b]=i,
		[a]=j
	},
	["note_template_class_explicit_specialization_was_here"]={
		[c]="class template A was explicitly specialized here",
		[b]=i,
		[a]=j
	},
	["note_template_class_instantiation_here"]={
		[c]="in instantiation of template class A requested here",
		[b]=i,
		[a]=j
	},
	["note_template_class_instantiation_was_here"]={
		[c]="class template A was instantiated here",
		[b]=i,
		[a]=j
	},
	["note_template_decl_here"]={
		[c]="template is declared here",
		[b]=i,
		[a]=j
	},
	["note_template_declared_here"]={
		[c]="... B declared here",
		[f]={{Kb,zc,Xb,"type alias template",Gc}," B declared here"},
		[b]=i,
		[a]=j
	},
	["note_template_default_arg_checking"]={
		[c]="while checking a default template argument used here",
		[b]=i,
		[a]=j
	},
	["note_template_enum_def_here"]={
		[c]="in instantiation of enumeration A requested here",
		[b]=i,
		[a]=j
	},
	["note_template_exception_spec_instantiation_here"]={
		[c]="in instantiation of exception specification for A requested here",
		[b]=i,
		[a]=j
	},
	["note_template_kw_refers_to_non_template"]={
		[c]="declared as a non-template here",
		[b]=i,
		[a]=j
	},
	["note_template_member_class_here"]={
		[c]="in instantiation of member class A requested here",
		[b]=i,
		[a]=j
	},
	["note_template_member_function_here"]={
		[c]="in instantiation of member function A requested here",
		[b]=i,
		[a]=j
	},
	["note_template_nontype_parm_different_type"]={
		[c]="template non-type parameter has a different type A in template argument",
		[b]=i,
		[a]=j
	},
	["note_template_nontype_parm_prev_declaration"]={
		[c]="previous non-type template parameter with type A is here",
		[b]=i,
		[a]=j
	},
	["note_template_nsdmi_here"]={
		[c]="in instantiation of default member initializer A requested here",
		[b]=i,
		[a]=j
	},
	["note_template_param_different_kind"]={
		[c]="template parameter has a different kind in template argument",
		[b]=i,
		[a]=j
	},
	["note_template_param_here"]={
		[c]="template parameter is declared here",
		[b]=i,
		[a]=j
	},
	["note_template_param_list_different_arity"]={
		[c]="... template parameters in template template argument",
		[f]={{"too few","too many"}," template parameters in template template argument"},
		[b]=i,
		[a]=j
	},
	["note_template_param_prev_default_arg"]={
		[c]="previous default template argument defined here",
		[b]=i,
		[a]=j
	},
	["note_template_param_prev_default_arg_in_other_module"]={
		[c]="previous default template argument defined in module A",
		[b]=i,
		[a]=j
	},
	["note_template_parameter_pack_here"]={
		[c]="previous ... parameter... declared here",
		[f]={"previous ",{"template type","non-type template","template template"}," parameter",{l," pack"}," declared here"},
		[b]=i,
		[a]=j
	},
	["note_template_parameter_pack_non_pack"]={
		[c]="... parameter... does not match ... parameter... in template argument",
		[f]={{"template type","non-type template","template template"}," parameter",{l," pack"}," does not match ",{"template type","non-type template","template template"}," parameter",{" pack",l}," in template argument"},
		[b]=i,
		[a]=j
	},
	["note_template_prev_declaration"]={
		[c]="previous template ... is here",
		[f]={"previous template ",{qc,"template parameter"}," is here"},
		[b]=i,
		[a]=j
	},
	["note_template_recursion_depth"]={
		[c]="use -ftemplate-depth=N to increase recursive template instantiation depth",
		[b]=i,
		[a]=j
	},
	["note_template_requirement_instantiation_here"]={
		[c]="in instantiation of requirement here",
		[b]=i,
		[a]=j
	},
	["note_template_requirement_params_instantiation_here"]={
		[c]="in instantiation of requirement parameters here",
		[b]=i,
		[a]=j
	},
	["note_template_static_data_member_def_here"]={
		[c]="in instantiation of static data member A requested here",
		[b]=i,
		[a]=j
	},
	["note_template_type_alias_instantiation_here"]={
		[c]="in instantiation of template type alias A requested here",
		[b]=i,
		[a]=j
	},
	["note_template_unnamed_type_here"]={
		[c]="unnamed type used in template argument was declared here",
		[b]=i,
		[a]=j
	},
	["note_template_variable_def_here"]={
		[c]="in instantiation of variable template specialization A requested here",
		[b]=i,
		[a]=j
	},
	["note_thread_warning_in_fun"]={
		[c]="thread warning in function A",
		[b]=i,
		[a]=j
	},
	["note_throw_in_dtor"]={
		[c]="... has a ... exception specification",
		[f]={{p,"deallocator"}," has a ",{"non-throwing","implicit non-throwing"}," exception specification"},
		[b]=i,
		[a]=j
	},
	["note_throw_in_function"]={
		[c]="function declared non-throwing here",
		[b]=i,
		[a]=j
	},
	["note_throw_underaligned_obj"]={
		[c]="required alignment of type A (B bytes) is larger than the supported alignment of C++ exception objects on this target (C bytes)",
		[b]=i,
		[a]=j
	},
	["note_total_sloc_usage"]={
		[c]="AB in local locations, BB in locations loaded from AST files, for a total of CB (D% of available space)",
		[b]=i,
		[a]=j
	},
	["note_transparent_union_first_field_size_align"]={
		[c]="... of first field is B bits",
		[f]={{"alignment",Jd}," of first field is B bits"},
		[b]=i,
		[a]=j
	},
	["note_type_being_defined"]={
		[c]="definition of A is not complete until the closing \'}\'",
		[b]=i,
		[a]=j
	},
	["note_type_incomplete"]={
		[c]="A is incomplete",
		[b]=i,
		[a]=j
	},
	["note_type_requirement_substitution_error"]={
		[c]="... \'B\' would be invalid: C",
		[f]={{zb,Ib}," \'B\' would be invalid: C"},
		[b]=i,
		[a]=j
	},
	["note_type_requirement_unknown_substitution_error"]={
		[c]="... \'B\' would be invalid",
		[f]={{zb,Ib}," \'B\' would be invalid"},
		[b]=i,
		[a]=j
	},
	["note_typecheck_assign_const"]={
		[c]=Rb,
		[f]={{"function B which returns const-qualified type C declared here","variable B declared const here",{{gd,l},"static data member C declared const here"},"member function B is declared const here",{{l,"nested "},"data member C declared const here"}}},
		[b]=i,
		[a]=j
	},
	["note_typecheck_invalid_operands_converted"]={
		[c]="... operand was implicitly converted to type B",
		[f]={{"first","second"}," operand was implicitly converted to type B"},
		[b]=i,
		[a]=j
	},
	["note_typecheck_member_reference_suggestion"]={
		[c]="did you mean to use \'.\' instead?",
		[b]=i,
		[a]=j
	},
	["note_typedef_for_linkage_here"]={
		[c]="type is given name A for linkage purposes by this ... declaration",
		[f]={"type is given name A for linkage purposes by this ",{eb,Dc}," declaration"},
		[b]=i,
		[a]=j
	},
	["note_typename_member_refers_here"]={
		[c]="referenced member A is declared here",
		[b]=i,
		[a]=j
	},
	["note_typename_refers_here"]={
		[c]="referenced A is declared here",
		[b]=i,
		[a]=j
	},
	["note_ucn_four_not_eight"]={
		[c]="did you mean to use \'\\u\'?",
		[b]=i,
		[a]=j
	},
	["note_unguarded_available_silence"]={
		[c]="enclose A in ... check to silence this warning",
		[f]={"enclose A in ",{"an @available","a __builtin_available"}," check to silence this warning"},
		[b]=i,
		[a]=j
	},
	["note_unimplemented_constexpr_lambda_feature_ast"]={
		[c]="unimplemented constexpr lambda feature: A (coming soon!)",
		[b]=i,
		[a]=j
	},
	["note_uninit_fixit_remove_cond"]={
		[c]="remove the ... is always ...",
		[f]={"remove the ",{"\'B\' if its condition","condition if it"}," is always ",{Vb,Tb}},
		[b]=i,
		[a]=j
	},
	["note_uninit_in_this_constructor"]={
		[c]="during field initialization in ... constructor",
		[f]={"during field initialization in ",{"this","the implicit default"}," constructor"},
		[b]=i,
		[a]=j
	},
	["note_uninit_reference_member"]={
		[c]="uninitialized reference member is here",
		[b]=i,
		[a]=j
	},
	["note_uninit_var_use"]={
		[c]="... here",
		[f]={{"uninitialized use occurs","variable is captured by block"},Lb},
		[b]=i,
		[a]=j
	},
	["note_unlocked_here"]={
		[c]="A released here",
		[b]=i,
		[a]=j
	},
	["note_unofficial_macro_backtrace_limit"]={
		[c]="(skipping A expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)",
		[b]=i,
		[a]=j
	},
	["note_unofficial_marco_expansion"]={
		[c]="expanded from here",
		[b]=i,
		[a]=j
	},
	["note_unofficial_marco_expansion_from"]={
		[c]="expanded from macro \'A\'",
		[b]=i,
		[a]=j
	},
	["note_unparenthesized_non_primary_expr_in_requires_clause"]={
		[c]="parentheses are required around this expression in a requires clause",
		[b]=i,
		[a]=j
	},
	["note_unreachable_entity"]={
		[c]="... here is not ...",
		[f]={{qc,Kc,"default argument declared","explicit specialization declared","partial specialization declared"}," here is not ",{"visible","reachable","reachable","reachable","reachable","reachable"}},
		[b]=i,
		[a]=j
	},
	["note_unreachable_silence"]={
		[c]="silence by adding parentheses to mark code as explicitly dead",
		[b]=i,
		[a]=j
	},
	["note_unsafe_buffer_operation"]={
		[c]="used... here",
		[f]={"used",{l," in pointer arithmetic"," in buffer access"},Lb},
		[b]=i,
		[a]=j
	},
	["note_unsafe_buffer_variable_fixit_group"]={
		[c]="change type of A to \'...\' to preserve bounds information...",
		[f]={"change type of A to \'",{"std::span","std::array","std::span::iterator"},"\' to preserve bounds information",{l,{", and change C to \'",{"std::span","std::array","std::span::iterator"},"\' to propagate bounds information between them"}}},
		[b]=i,
		[a]=j
	},
	["note_use_dashdash"]={
		[c]="use \'--\' to treat subsequent arguments as filenames",
		[b]=i,
		[a]=j
	},
	["note_use_ifdef_guards"]={
		[c]="unguarded header; consider using #ifdef guards or #pragma once",
		[b]=i,
		[a]=j
	},
	["note_use_non_reference_type"]={
		[c]="use non-reference type A",
		[b]=i,
		[a]=j
	},
	["note_use_reference_type"]={
		[c]="use reference type A to prevent copying",
		[b]=i,
		[a]=j
	},
	["note_use_thread_local"]={
		[c]="use \'thread_local\' to allow this",
		[b]=i,
		[a]=j
	},
	["note_use_type_or_non_reference"]={
		[c]="use non-reference type A to make construction explicit or type B to prevent copying",
		[b]=i,
		[a]=j
	},
	["note_used_here"]={
		[c]="used here",
		[b]=i,
		[a]=j
	},
	["note_used_in_initialization_here"]={
		[c]="used in initialization here",
		[b]=i,
		[a]=j
	},
	["note_user_declared_ctor"]={
		[c]="implicit default constructor suppressed by user-declared constructor",
		[b]=i,
		[a]=j
	},
	["note_using"]={
		[c]="using",
		[b]=i,
		[a]=j
	},
	["note_using_decl"]={
		[c]="...using declaration",
		[f]={{l,"previous "},"using declaration"},
		[b]=i,
		[a]=j
	},
	["note_using_decl_class_member_workaround"]={
		[c]="use ... instead",
		[f]={"use ",{"an alias declaration","a typedef declaration","a reference","a const variable","a constexpr variable"}," instead"},
		[b]=i,
		[a]=j
	},
	["note_using_decl_conflict"]={
		[c]="conflicting declaration",
		[b]=i,
		[a]=j
	},
	["note_using_decl_target"]={
		[c]="target of using declaration",
		[b]=i,
		[a]=j
	},
	["note_using_enum_decl"]={
		[c]="...using-enum declaration",
		[f]={{l,"previous "},"using-enum declaration"},
		[b]=i,
		[a]=j
	},
	["note_using_value_decl_missing_typename"]={
		[c]="add \'typename\' to treat this using declaration as a type",
		[b]=i,
		[a]=j
	},
	["note_valid_options"]={
		[c]="valid target CPU values are: A",
		[b]=i,
		[a]=j
	},
	["note_value_initialization_here"]={
		[c]="in value-initialization of type A here",
		[b]=i,
		[a]=j
	},
	["note_var_declared_here"]={
		[c]="variable A is declared here",
		[b]=i,
		[a]=j
	},
	["note_var_explicitly_captured_here"]={
		[c]="variable A is... captured here",
		[f]={"variable A is",{l," explicitly"}," captured here"},
		[b]=i,
		[a]=j
	},
	["note_var_fixit_add_initialization"]={
		[c]="initialize the variable A to silence this warning",
		[b]=i,
		[a]=j
	},
	["note_var_prev_partial_spec_here"]={
		[c]="previous declaration of variable template partial specialization is here",
		[b]=i,
		[a]=j
	},
	["note_vbase_moved_here"]={
		[c]=Rb,
		[f]={{"B is a virtual base class of base class C declared here","virtual base class B declared here"}},
		[b]=i,
		[a]=j
	},
	["note_verify_ambiguous_marker"]={
		[c]="ambiguous marker \'A\' is defined here",
		[b]=i,
		[a]=j
	},
	["note_vla_unsupported"]={
		[c]="variable length arrays are not supported for the current target",
		[b]=i,
		[a]=j
	},
	["note_which_delegates_to"]={
		[c]="which delegates to",
		[b]=i,
		[a]=j
	},
	["note_while_in_implementation"]={
		[c]="detected while default synthesizing properties in class implementation",
		[b]=i,
		[a]=j
	},
	["note_widen_bitfield"]={
		[c]="widen this field to A bits to store all values of B",
		[b]=i,
		[a]=j
	},
	["note_within_field_of_type"]={
		[c]="within field of type A declared here",
		[b]=i,
		[a]=j
	},
	["note_xor_used_as_pow_silence"]={
		[c]="replace expression with \'A\' ...to silence this warning",
		[f]={"replace expression with \'A\' ",{l,"or use \'xor\' instead of \'^\' "},"to silence this warning"},
		[b]=i,
		[a]=j
	},
	["null_in_char_or_string"]={
		[c]="null character(s) preserved in ... literal [-Wnull-character]",
		[f]={"null character(s) preserved in ",{"char","string"}," literal"},
		[b]=g,
		[a]=h
	},
	["null_in_file"]={
		[c]="null character ignored [-Wnull-character]",
		[f]="null character ignored",
		[b]=g,
		[a]=h
	},
	["override_keyword_hides_virtual_member_function"]={
		[c]="non-virtual member function marked \'A\' hides virtual member ...",
		[f]={"non-virtual member function marked \'A\' hides virtual member ",{m,vd}},
		[b]=d,
		[a]=e
	},
	["override_keyword_only_allowed_on_virtual_member_functions"]={
		[c]="only virtual member functions can be marked \'A\'",
		[b]=d,
		[a]=e
	},
	["pp_disabled_macro_expansion"]={
		[c]="disabled expansion of recursive macro [-Wdisabled-macro-expansion]",
		[f]="disabled expansion of recursive macro",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["pp_err_elif_after_else"]={
		[c]="... after #else",
		[f]={{"#elif","#elifdef","#elifndef"}," after #else"},
		[b]=d,
		[a]=e
	},
	["pp_err_elif_without_if"]={
		[c]="... without #if",
		[f]={{"#elif","#elifdef","#elifndef"}," without #if"},
		[b]=d,
		[a]=e
	},
	["pp_err_else_after_else"]={
		[c]="#else after #else",
		[b]=d,
		[a]=e
	},
	["pp_err_else_without_if"]={
		[c]="#else without #if",
		[b]=d,
		[a]=e
	},
	["pp_hash_warning"]={
		[c]="A [-W#warnings]",
		[f]=J,
		[b]=g,
		[a]=h
	},
	["pp_include_macros_out_of_predefines"]={
		[c]="the #__include_macros directive is only for internal use by -imacros",
		[b]=d,
		[a]=e
	},
	["pp_include_next_absolute_path"]={
		[c]="#include_next in file found relative to primary source file or found by absolute path; will search from start of include path [-Winclude-next-absolute-path]",
		[f]="#include_next in file found relative to primary source file or found by absolute path; will search from start of include path",
		[b]=g,
		[a]=h
	},
	["pp_include_next_in_primary"]={
		[c]="#include_next in primary source file; will search from start of include path [-Winclude-next-outside-header]",
		[f]="#include_next in primary source file; will search from start of include path",
		[b]=g,
		[a]=h
	},
	["pp_invalid_string_literal"]={
		[c]="invalid string literal, ignoring final \'\\\'",
		[b]=g,
		[a]=h
	},
	["pp_macro_not_used"]={
		[c]="macro is not used [-Wunused-macros]",
		[f]="macro is not used",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["pp_nonportable_path"]={
		[c]="non-portable path to file \'A\'; specified path differs in case from file name on disk [-Wnonportable-include-path]",
		[f]="non-portable path to file \'A\'; specified path differs in case from file name on disk",
		[b]=g,
		[a]=h
	},
	["pp_nonportable_system_path"]={
		[c]="non-portable path to file \'A\'; specified path differs in case from file name on disk [-Wnonportable-system-include-path]",
		[f]="non-portable path to file \'A\'; specified path differs in case from file name on disk",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["pp_out_of_date_dependency"]={
		[c]="current file is older than dependency A",
		[b]=g,
		[a]=h
	},
	["pp_poisoning_existing_macro"]={
		[c]="poisoning existing macro",
		[b]=g,
		[a]=h
	},
	["pp_pragma_once_in_main_file"]={
		[c]="#pragma once in main file [-Wpragma-once-outside-header]",
		[f]="#pragma once in main file",
		[b]=g,
		[a]=h
	},
	["pp_pragma_sysheader_in_main_file"]={
		[c]="#pragma system_header ignored in main file [-Wpragma-system-header-outside-header]",
		[f]="#pragma system_header ignored in main file",
		[b]=g,
		[a]=h
	},
	["remark_cc1_round_trip_generated"]={
		[c]="generated arguments #A in round-trip: B [-Rround-trip-cc1-args]",
		[f]="generated arguments #A in round-trip: B",
		[b]=ub,
		[a]=qb,
		[k]=false
	},
	["remark_fe_backend_optimization_remark"]={
		[c]="A [-Rpass]",
		[f]=J,
		[b]=ub,
		[a]=qb,
		[k]=false
	},
	["remark_fe_backend_optimization_remark_analysis"]={
		[c]="A [-Rpass-analysis]",
		[f]=J,
		[b]=ub,
		[a]=qb,
		[k]=false
	},
	["remark_fe_backend_optimization_remark_analysis_aliasing"]={
		[c]="A; allow reordering by specifying \'#pragma clang loop vectorize(enable)\' before the loop. If the arrays will always be independent specify \'#pragma clang loop vectorize(assume_safety)\' before the loop or provide the \'__restrict__\' qualifier with the independent array arguments. Erroneous results will occur if these options are incorrectly applied! [-Rpass-analysis]",
		[f]="A; allow reordering by specifying \'#pragma clang loop vectorize(enable)\' before the loop. If the arrays will always be independent specify \'#pragma clang loop vectorize(assume_safety)\' before the loop or provide the \'__restrict__\' qualifier with the independent array arguments. Erroneous results will occur if these options are incorrectly applied!",
		[b]=ub,
		[a]=qb,
		[k]=false
	},
	["remark_fe_backend_optimization_remark_analysis_fpcommute"]={
		[c]="A; allow reordering by specifying \'#pragma clang loop vectorize(enable)\' before the loop or by providing the compiler option \'-ffast-math\'. [-Rpass-analysis]",
		[f]="A; allow reordering by specifying \'#pragma clang loop vectorize(enable)\' before the loop or by providing the compiler option \'-ffast-math\'.",
		[b]=ub,
		[a]=qb,
		[k]=false
	},
	["remark_fe_backend_optimization_remark_missed"]={
		[c]="A [-Rpass-missed]",
		[f]=J,
		[b]=ub,
		[a]=qb,
		[k]=false
	},
	["remark_fe_backend_plugin"]={
		[c]="A [-Rremark-backend-plugin]",
		[f]=J,
		[b]=ub,
		[a]=qb,
		[k]=false
	},
	["remark_module_build"]={
		[c]="building module \'A\' as \'B\' [-Rmodule-build]",
		[f]="building module \'A\' as \'B\'",
		[b]=ub,
		[a]=qb,
		[k]=false
	},
	["remark_module_build_done"]={
		[c]="finished building module \'A\' [-Rmodule-build]",
		[f]="finished building module \'A\'",
		[b]=ub,
		[a]=qb,
		[k]=false
	},
	["remark_module_import"]={
		[c]="importing module \'A\'... from \'B\' [-Rmodule-import]",
		[f]={"importing module \'A\'",{l," into \'D\'"}," from \'B\'"},
		[b]=ub,
		[a]=qb,
		[k]=false
	},
	["remark_module_lock"]={
		[c]="locking \'A\' to build module \'B\' [-Rmodule-lock]",
		[f]="locking \'A\' to build module \'B\'",
		[b]=ub,
		[a]=qb,
		[k]=false
	},
	["remark_module_lock_failure"]={
		[c]="could not acquire lock file for module \'A\': B [-Rmodule-build]",
		[f]="could not acquire lock file for module \'A\': B",
		[b]=ub,
		[a]=qb,
		[k]=false
	},
	["remark_module_lock_timeout"]={
		[c]="timed out waiting to acquire lock file for module \'A\' [-Rmodule-build]",
		[f]="timed out waiting to acquire lock file for module \'A\'",
		[b]=ub,
		[a]=qb,
		[k]=false
	},
	["remark_pp_include_directive_modular_translation"]={
		[c]="treating #... as an import of module \'B\' [-Rmodule-include-translation]",
		[f]={"treating #",{"include","import","include_next","__include_macros"}," as an import of module \'B\'"},
		[b]=ub,
		[a]=qb,
		[k]=false
	},
	["remark_pp_search_path_usage"]={
		[c]="search path used: \'A\' [-Rsearch-path-usage]",
		[f]="search path used: \'A\'",
		[b]=ub,
		[a]=qb,
		[k]=false
	},
	["remark_sanitize_address_insert_extra_padding_accepted"]={
		[c]="-fsanitize-address-field-padding applied to A [-Rsanitize-address]",
		[f]="-fsanitize-address-field-padding applied to A",
		[b]=ub,
		[a]=qb,
		[k]=false
	},
	["remark_sanitize_address_insert_extra_padding_rejected"]={
		[c]="-fsanitize-address-field-padding ignored for A because it ... [-Rsanitize-address]",
		[f]={"-fsanitize-address-field-padding ignored for A because it ",{"is not C++","is packed","is a union","is trivially copyable","has trivial destructor","is standard layout","is in a ignorelisted file","is ignorelisted"}},
		[b]=ub,
		[a]=qb,
		[k]=false
	},
	["remark_sloc_usage"]={
		[c]="source manager location address space usage: [-Rsloc-usage]",
		[f]="source manager location address space usage:",
		[b]=ub,
		[a]=qb
	},
	["trigraph_converted"]={
		[c]="trigraph converted to \'A\' character [-Wtrigraphs]",
		[f]="trigraph converted to \'A\' character",
		[b]=g,
		[a]=h
	},
	["trigraph_ends_block_comment"]={
		[c]="trigraph ends block comment [-Wtrigraphs]",
		[f]="trigraph ends block comment",
		[b]=g,
		[a]=h
	},
	["trigraph_ignored"]={
		[c]="trigraph ignored [-Wtrigraphs]",
		[f]="trigraph ignored",
		[b]=g,
		[a]=h
	},
	["trigraph_ignored_block_comment"]={
		[c]="ignored trigraph would end block comment [-Wtrigraphs]",
		[f]="ignored trigraph would end block comment",
		[b]=g,
		[a]=h
	},
	["warn_O4_is_O3"]={
		[c]="-O4 is equivalent to -O3 [-Wdeprecated]",
		[f]="-O4 is equivalent to -O3",
		[b]=g,
		[a]=h
	},
	["warn_abs_too_small"]={
		[c]="absolute value function A given an argument of type B but has parameter of type C which may cause truncation of value [-Wabsolute-value]",
		[f]="absolute value function A given an argument of type B but has parameter of type C which may cause truncation of value",
		[b]=g,
		[a]=h
	},
	["warn_abstract_final_class"]={
		[c]="abstract class is marked \'...\' [-Wabstract-final-class]",
		[f]={"abstract class is marked \'",{"final","sealed"},x},
		[b]=g,
		[a]=h
	},
	["warn_abstract_vbase_init_ignored"]={
		[c]="initializer for virtual base class A of abstract class B will never be used [-Wabstract-vbase-init]",
		[f]="initializer for virtual base class A of abstract class B will never be used",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_access_decl_deprecated"]={
		[c]="access declarations are deprecated; use using declarations instead [-Wdeprecated]",
		[f]="access declarations are deprecated; use using declarations instead",
		[b]=g,
		[a]=h
	},
	["warn_accessor_property_type_mismatch"]={
		[c]="type of property A does not match type of accessor B",
		[b]=g,
		[a]=h
	},
	["warn_acquire_requires_negative_cap"]={
		[c]="acquiring A \'B\' requires negative capability \'C\' [-Wthread-safety-negative]",
		[f]="acquiring A \'B\' requires negative capability \'C\'",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_acquired_before"]={
		[c]="A \'B\' must be acquired before \'C\' [-Wthread-safety-analysis]",
		[f]="A \'B\' must be acquired before \'C\'",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_acquired_before_after_cycle"]={
		[c]="Cycle in acquired_before/after dependencies, starting with \'A\' [-Wthread-safety-analysis]",
		[f]="Cycle in acquired_before/after dependencies, starting with \'A\'",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_addition_in_bitshift"]={
		[c]="operator \'A\' has lower precedence than \'B\'; \'B\' will be evaluated first [-Wshift-op-parentheses]",
		[f]="operator \'A\' has lower precedence than \'B\'; \'B\' will be evaluated first",
		[b]=g,
		[a]=h
	},
	["warn_address_of_reference_bool_conversion"]={
		[c]="reference cannot be bound to dereferenced null pointer in well-defined C++ code; pointer may be assumed to always convert to true [-Wundefined-bool-conversion]",
		[f]="reference cannot be bound to dereferenced null pointer in well-defined C++ code; pointer may be assumed to always convert to true",
		[b]=g,
		[a]=h
	},
	["warn_address_of_reference_null_compare"]={
		[c]="reference cannot be bound to dereferenced null pointer in well-defined C++ code; comparison may be assumed to always evaluate to ... [-Wtautological-undefined-compare]",
		[f]={"reference cannot be bound to dereferenced null pointer in well-defined C++ code; comparison may be assumed to always evaluate to ",{Tb,Vb}},
		[b]=g,
		[a]=h
	},
	["warn_alias_to_weak_alias"]={
		[c]="... will always resolve to A even if weak definition of B is overridden [-Wignored-attributes]",
		[f]={{Dc,"ifunc"}," will always resolve to A even if weak definition of B is overridden"},
		[b]=g,
		[a]=h
	},
	["warn_alias_with_section"]={
		[c]="... will not be in section \'A\' but in the same section as the ... [-Wignored-attributes]",
		[f]={{Dc,"ifunc"}," will not be in section \'A\' but in the same section as the ",{"aliasee","resolver"}},
		[b]=g,
		[a]=h
	},
	["warn_aligned_attr_underaligned"]={
		[c]="requested alignment is less than minimum alignment of B for type A [-Wignored-attributes]",
		[f]="requested alignment is less than minimum alignment of B for type A",
		[b]=g,
		[a]=h
	},
	["warn_alignment_builtin_useless"]={
		[c]="... to 1 byte is ... [-Wtautological-compare]",
		[f]={{"aligning a value","the result of checking whether a value is aligned"}," to 1 byte is ",{"a no-op","always true"}},
		[b]=g,
		[a]=h
	},
	["warn_alignment_not_power_of_two"]={
		[c]="requested alignment is not a power of 2 [-Wnon-power-of-two-alignment]",
		[f]="requested alignment is not a power of 2",
		[b]=g,
		[a]=h
	},
	["warn_alloca"]={
		[c]="use of function A is discouraged; there is no way to check for failure but failure may still occur, resulting in a possibly exploitable security vulnerability [-Walloca]",
		[f]="use of function A is discouraged; there is no way to check for failure but failure may still occur, resulting in a possibly exploitable security vulnerability",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_alloca_align_alignof"]={
		[c]="second argument to __builtin_alloca_with_align is supposed to be in bits [-Walloca-with-align-alignof]",
		[f]="second argument to __builtin_alloca_with_align is supposed to be in bits",
		[b]=g,
		[a]=h
	},
	["warn_always_inline_coroutine"]={
		[c]="this coroutine may be split into pieces; not every piece is guaranteed to be inlined [-Walways-inline-coroutine]",
		[f]="this coroutine may be split into pieces; not every piece is guaranteed to be inlined",
		[b]=g,
		[a]=h
	},
	["warn_ambiguous_suitable_delete_function_found"]={
		[c]="multiple suitable A functions for B; no \'operator delete\' function will be invoked if initialization throws an exception [-Wambiguous-delete]",
		[f]="multiple suitable A functions for B; no \'operator delete\' function will be invoked if initialization throws an exception",
		[b]=g,
		[a]=h
	},
	["warn_analyzer_deprecated_option"]={
		[c]="analyzer option \'A\' is deprecated. This flag will be removed in B, and passing this option will be an error. [-Wdeprecated-static-analyzer-flag]",
		[f]="analyzer option \'A\' is deprecated. This flag will be removed in B, and passing this option will be an error.",
		[b]=g,
		[a]=h
	},
	["warn_analyzer_deprecated_option_with_alternative"]={
		[c]="analyzer option \'A\' is deprecated. This flag will be removed in B, and passing this option will be an error. Use \'C\' instead. [-Wdeprecated-static-analyzer-flag]",
		[f]="analyzer option \'A\' is deprecated. This flag will be removed in B, and passing this option will be an error. Use \'C\' instead.",
		[b]=g,
		[a]=h
	},
	["warn_anyx86_interrupt_regsave"]={
		[c]="interrupt service routine should only call a function with attribute \'no_caller_saved_registers\' [-Winterrupt-service-routine]",
		[f]="interrupt service routine should only call a function with attribute \'no_caller_saved_registers\'",
		[b]=g,
		[a]=h
	},
	["warn_arc_bridge_cast_nonarc"]={
		[c]="\'A\' casts have no effect when not using ARC [-Warc-bridge-casts-disallowed-in-nonarc]",
		[f]="\'A\' casts have no effect when not using ARC",
		[b]=g,
		[a]=h
	},
	["warn_arc_lifetime_result_type"]={
		[c]="ARC ... lifetime qualifier on return type is ignored [-Wignored-qualifiers]",
		[f]={"ARC ",{"unused","__unsafe_unretained",xd,qd,"__autoreleasing"}," lifetime qualifier on return type is ignored"},
		[b]=g,
		[a]=h
	},
	["warn_arc_literal_assign"]={
		[c]="assigning ... to a weak ...; object will be released after assignment [-Warc-unsafe-retained-assign]",
		[f]={"assigning ",{"array literal","dictionary literal","numeric literal","boxed expression","block literal"}," to a weak ",{db,z},"; object will be released after assignment"},
		[b]=g,
		[a]=h
	},
	["warn_arc_object_memaccess"]={
		[c]="... this B call is a pointer to ownership-qualified type C [-Warc-non-pod-memaccess]",
		[f]={{"destination for","source of"}," this B call is a pointer to ownership-qualified type C"},
		[b]=g,
		[a]=h
	},
	["warn_arc_perform_selector_leaks"]={
		[c]="performSelector may cause a leak because its selector is unknown [-Warc-performSelector-leaks]",
		[f]="performSelector may cause a leak because its selector is unknown",
		[b]=g,
		[a]=h
	},
	["warn_arc_possible_repeated_use_of_weak"]={
		[c]="weak ... B may be accessed multiple times in this ... and may be unpredictably set to nil; assign to a strong variable to keep the object alive [-Warc-maybe-repeated-use-of-weak]",
		[f]={"weak ",{z,db,"implicit property",Wc}," B may be accessed multiple times in this ",{m,u,y,"lambda"}," and may be unpredictably set to nil; assign to a strong variable to keep the object alive"},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_arc_repeated_use_of_weak"]={
		[c]="weak ... B is accessed multiple times in this ... but may be unpredictably set to nil; assign to a strong variable to keep the object alive [-Warc-repeated-use-of-weak]",
		[f]={"weak ",{z,db,"implicit property",Wc}," B is accessed multiple times in this ",{m,u,y,"lambda"}," but may be unpredictably set to nil; assign to a strong variable to keep the object alive"},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_arc_retain_cycle"]={
		[c]="capturing A strongly in this block is likely to lead to a retain cycle [-Warc-retain-cycles]",
		[f]="capturing A strongly in this block is likely to lead to a retain cycle",
		[b]=g,
		[a]=h
	},
	["warn_arc_retained_assign"]={
		[c]="assigning retained object to ... ...; object will be released after assignment [-Warc-unsafe-retained-assign]",
		[f]={"assigning retained object to ",{"weak","unsafe_unretained"},w,{db,z},"; object will be released after assignment"},
		[b]=g,
		[a]=h
	},
	["warn_arc_retained_property_assign"]={
		[c]="assigning retained object to unsafe property; object will be released after assignment [-Warc-unsafe-retained-assign]",
		[f]="assigning retained object to unsafe property; object will be released after assignment",
		[b]=g,
		[a]=h
	},
	["warn_arc_strong_pointer_objc_pointer"]={
		[c]="method parameter of type A with no explicit ownership [-Wexplicit-ownership-type]",
		[f]="method parameter of type A with no explicit ownership",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_arcmt_nsalloc_realloc"]={
		[c]="[rewriter] call returns pointer to GC managed memory; it will become unmanaged in ARC",
		[b]=g,
		[a]=h
	},
	["warn_argument_invalid_range"]={
		[c]="argument value A is outside the valid range [B, C] [-Wargument-outside-range]",
		[f]="argument value A is outside the valid range [B, C]",
		[b]=d,
		[a]=q
	},
	["warn_argument_undefined_behaviour"]={
		[c]="argument value A will result in undefined behaviour [-Wargument-undefined-behaviour]",
		[f]="argument value A will result in undefined behaviour",
		[b]=g,
		[a]=h
	},
	["warn_arith_conv_enum_float"]={
		[c]="... ... type C with ... type D [-Wenum-float-conversion]",
		[f]={{Ec,Nc,Mc,Sc,Oc},w,{"floating-point",Fc}," type C ",{"with",Ed,zb},w,{Fc,"floating-point"}," type D"},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_arith_conv_enum_float_cxx20"]={
		[c]="... ... type C with ... type D is deprecated [-Wdeprecated-enum-float-conversion]",
		[f]={{Ec,Nc,Mc,Sc,Oc},w,{"floating-point",Fc}," type C ",{"with",Ed,zb},w,{Fc,"floating-point"}," type D is deprecated"},
		[b]=g,
		[a]=h
	},
	["warn_arith_conv_mixed_anon_enum_types"]={
		[c]="... different enumeration types (B and C) [-Wanon-enum-enum-conversion]",
		[f]={{Ec,Nc,Mc,Sc,Oc},sd,{rd,l}},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_arith_conv_mixed_anon_enum_types_cxx20"]={
		[c]="... different enumeration types (B and C) is deprecated [-Wdeprecated-anon-enum-enum-conversion]",
		[f]={{Ec,Nc,Mc,Sc,Oc},sd,{rd,l}," is deprecated"},
		[b]=g,
		[a]=h
	},
	["warn_arith_conv_mixed_enum_types"]={
		[c]="... different enumeration types (B and C) [-Wenum-enum-conversion]",
		[f]={{Ec,Nc,Mc,Sc,Oc},sd,{rd,l}},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_arith_conv_mixed_enum_types_cxx20"]={
		[c]="... different enumeration types (B and C) is deprecated [-Wdeprecated-enum-enum-conversion]",
		[f]={{Ec,Nc,Mc,Sc,Oc},sd,{rd,l}," is deprecated"},
		[b]=g,
		[a]=h
	},
	["warn_arm_interrupt_calling_convention"]={
		[c]="call to function without interrupt attribute could clobber interruptee\'s VFP registers [-Wextra]",
		[f]="call to function without interrupt attribute could clobber interruptee\'s VFP registers",
		[b]=g,
		[a]=h
	},
	["warn_array_index_exceeds_bounds"]={
		[c]="array index A is past the end of the array (that has type B...) [-Warray-bounds]",
		[f]={"array index A is past the end of the array (that has type B",{l,", cast to D"},")"},
		[b]=g,
		[a]=h
	},
	["warn_array_index_exceeds_max_addressable_bounds"]={
		[c]="array index A refers past the last possible element for an array in B-bit address space containing C-bit (D-byte) elements (max possible E elementF) [-Warray-bounds]",
		[f]="array index A refers past the last possible element for an array in B-bit address space containing C-bit (D-byte) elements (max possible E elementF)",
		[b]=g,
		[a]=h
	},
	["warn_array_index_precedes_bounds"]={
		[c]="array index A is before the beginning of the array [-Warray-bounds]",
		[f]="array index A is before the beginning of the array",
		[b]=g,
		[a]=h
	},
	["warn_asm_label_on_auto_decl"]={
		[c]="ignored asm label \'A\' on automatic variable",
		[b]=g,
		[a]=h
	},
	["warn_asm_mismatched_size_modifier"]={
		[c]="value size does not match register size specified by the constraint and modifier [-Wasm-operand-widths]",
		[f]="value size does not match register size specified by the constraint and modifier",
		[b]=g,
		[a]=h
	},
	["warn_assume_aligned_too_great"]={
		[c]="requested alignment must be A bytes or smaller; maximum alignment assumed [-Wbuiltin-assume-aligned-alignment]",
		[f]="requested alignment must be A bytes or smaller; maximum alignment assumed",
		[b]=g,
		[a]=h
	},
	["warn_assume_attribute_string_unknown"]={
		[c]="unknown assumption string \'A\'; attribute is potentially ignored [-Wunknown-assumption]",
		[f]="unknown assumption string \'A\'; attribute is potentially ignored",
		[b]=g,
		[a]=h
	},
	["warn_assume_attribute_string_unknown_suggested"]={
		[c]="unknown assumption string \'A\' may be misspelled; attribute is potentially ignored, did you mean \'B\'? [-Wmisspelled-assumption]",
		[f]="unknown assumption string \'A\' may be misspelled; attribute is potentially ignored, did you mean \'B\'?",
		[b]=g,
		[a]=h
	},
	["warn_assume_side_effects"]={
		[c]="the argument to A has side effects that will be discarded [-Wassume]",
		[f]="the argument to A has side effects that will be discarded",
		[b]=g,
		[a]=h
	},
	["warn_at_available_unchecked_use"]={
		[c]="... does not guard availability here; use if (...) instead [-Wunsupported-availability-guard]",
		[f]={{"@available","__builtin_available"}," does not guard availability here; use if (",{"@available","__builtin_available"},") instead"},
		[b]=g,
		[a]=h
	},
	["warn_atimport_in_framework_header"]={
		[c]="use of \'@import\' in framework header is discouraged, including this header requires -fmodules [-Watimport-in-framework-header]",
		[f]="use of \'@import\' in framework header is discouraged, including this header requires -fmodules",
		[b]=g,
		[a]=h
	},
	["warn_atl_uuid_deprecated"]={
		[c]="specifying \'uuid\' as an ATL attribute is deprecated; use __declspec instead [-Wdeprecated-declarations]",
		[f]="specifying \'uuid\' as an ATL attribute is deprecated; use __declspec instead",
		[b]=g,
		[a]=h
	},
	["warn_atomic_implicit_seq_cst"]={
		[c]="implicit use of sequentially-consistent atomic may incur stronger memory barriers than necessary [-Watomic-implicit-seq-cst]",
		[f]="implicit use of sequentially-consistent atomic may incur stronger memory barriers than necessary",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_atomic_member_access"]={
		[c]="accessing a member of an atomic structure or union is undefined behavior [-Watomic-access]",
		[f]="accessing a member of an atomic structure or union is undefined behavior",
		[b]=d,
		[a]=q
	},
	["warn_atomic_op_has_invalid_memory_order"]={
		[c]="memory order argument to atomic operation is invalid [-Watomic-memory-ordering]",
		[f]="memory order argument to atomic operation is invalid",
		[b]=g,
		[a]=h
	},
	["warn_atomic_op_misaligned"]={
		[c]="misaligned atomic operation may incur significant performance penalty; the expected alignment (A bytes) exceeds the actual alignment (B bytes) [-Watomic-alignment]",
		[f]="misaligned atomic operation may incur significant performance penalty; the expected alignment (A bytes) exceeds the actual alignment (B bytes)",
		[b]=g,
		[a]=h
	},
	["warn_atomic_op_oversized"]={
		[c]="large atomic operation may incur significant performance penalty; the access size (A bytes) exceeds the max lock-free size (B  bytes) [-Watomic-alignment]",
		[f]="large atomic operation may incur significant performance penalty; the access size (A bytes) exceeds the max lock-free size (B  bytes)",
		[b]=g,
		[a]=h
	},
	["warn_atomic_property_rule"]={
		[c]="writable atomic property A cannot pair a synthesized ... with a user defined ... [-Watomic-property-with-user-defined-accessor]",
		[f]={"writable atomic property A cannot pair a synthesized ",{hd,id}," with a user defined ",{hd,id}},
		[b]=g,
		[a]=h
	},
	["warn_attr_abi_tag_namespace"]={
		[c]="\'abi_tag\' attribute on ... namespace ignored [-Wignored-attributes]",
		[f]={"\'abi_tag\' attribute on ",{"non-inline","anonymous"}," namespace ignored"},
		[b]=g,
		[a]=h
	},
	["warn_attr_on_unconsumable_class"]={
		[c]="consumed analysis attribute is attached to member of class A which isn\'t marked as consumable [-Wconsumed]",
		[f]="consumed analysis attribute is attached to member of class A which isn\'t marked as consumable",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_attr_swift_name_decl_kind"]={
		[c]="A attribute cannot be applied to this declaration [-Wswift-name-attribute]",
		[f]="A attribute cannot be applied to this declaration",
		[b]=g,
		[a]=h
	},
	["warn_attr_swift_name_decl_missing_params"]={
		[c]="A attribute cannot be applied to a ... with no parameters [-Wswift-name-attribute]",
		[f]={"A attribute cannot be applied to a ",{m,u}," with no parameters"},
		[b]=g,
		[a]=h
	},
	["warn_attr_swift_name_function"]={
		[c]="A attribute argument must be a string literal specifying a Swift function name [-Wswift-name-attribute]",
		[f]="A attribute argument must be a string literal specifying a Swift function name",
		[b]=g,
		[a]=h
	},
	["warn_attr_swift_name_getter_parameters"]={
		[c]="A attribute for getter must not have any parameters besides \'self:\' [-Wswift-name-attribute]",
		[f]="A attribute for getter must not have any parameters besides \'self:\'",
		[b]=g,
		[a]=h
	},
	["warn_attr_swift_name_invalid_identifier"]={
		[c]="A attribute has invalid identifier for the ... name [-Wswift-name-attribute]",
		[f]={"A attribute has invalid identifier for the ",{"base","context",ac}," name"},
		[b]=g,
		[a]=h
	},
	["warn_attr_swift_name_missing_parameters"]={
		[c]="A attribute is missing parameter label clause [-Wswift-name-attribute]",
		[f]="A attribute is missing parameter label clause",
		[b]=g,
		[a]=h
	},
	["warn_attr_swift_name_multiple_selfs"]={
		[c]="A attribute cannot specify more than one \'self:\' parameter [-Wswift-name-attribute]",
		[f]="A attribute cannot specify more than one \'self:\' parameter",
		[b]=g,
		[a]=h
	},
	["warn_attr_swift_name_num_params"]={
		[c]="too ... parameters in the signature specified by the B attribute (expected C; got D) [-Wswift-name-attribute]",
		[f]={"too ",{"few","many"}," parameters in the signature specified by the B attribute (expected C; got D)"},
		[b]=g,
		[a]=h
	},
	["warn_attr_swift_name_setter_parameters"]={
		[c]="A attribute for setter must have one parameter for new value [-Wswift-name-attribute]",
		[f]="A attribute for setter must have one parameter for new value",
		[b]=g,
		[a]=h
	},
	["warn_attr_swift_name_subscript_getter_newValue"]={
		[c]="A attribute for \'subscript\' getter cannot have a \'newValue:\' parameter [-Wswift-name-attribute]",
		[f]="A attribute for \'subscript\' getter cannot have a \'newValue:\' parameter",
		[b]=g,
		[a]=h
	},
	["warn_attr_swift_name_subscript_invalid_parameter"]={
		[c]="A attribute for \'subscript\' must ... [-Wswift-name-attribute]",
		[f]={"A attribute for \'subscript\' must ",{"be a getter or setter","have at least one parameter","have a \'self:\' parameter"}},
		[b]=g,
		[a]=h
	},
	["warn_attr_swift_name_subscript_setter_multiple_newValues"]={
		[c]="A attribute for \'subscript\' setter cannot have multiple \'newValue:\' parameters [-Wswift-name-attribute]",
		[f]="A attribute for \'subscript\' setter cannot have multiple \'newValue:\' parameters",
		[b]=g,
		[a]=h
	},
	["warn_attr_swift_name_subscript_setter_no_newValue"]={
		[c]="A attribute for \'subscript\' setter must have a \'newValue:\' parameter [-Wswift-name-attribute]",
		[f]="A attribute for \'subscript\' setter must have a \'newValue:\' parameter",
		[b]=g,
		[a]=h
	},
	["warn_attribute_address_multiple_identical_qualifiers"]={
		[c]="multiple identical address spaces specified for type [-Wduplicate-decl-specifier]",
		[f]="multiple identical address spaces specified for type",
		[b]=g,
		[a]=h
	},
	["warn_attribute_after_definition_ignored"]={
		[c]="attribute A after definition is ignored [-Wignored-attributes]",
		[f]="attribute A after definition is ignored",
		[b]=g,
		[a]=h
	},
	["warn_attribute_argument_n_negative"]={
		[c]="A attribute parameter B is negative and will be ignored [-Wcuda-compat]",
		[f]="A attribute parameter B is negative and will be ignored",
		[b]=g,
		[a]=h
	},
	["warn_attribute_cmse_entry_static"]={
		[c]="\'cmse_nonsecure_entry\' cannot be applied to functions with internal linkage [-Wignored-attributes]",
		[f]="\'cmse_nonsecure_entry\' cannot be applied to functions with internal linkage",
		[b]=g,
		[a]=h
	},
	["warn_attribute_dll_instantiated_base_class"]={
		[c]="propagating dll attribute to ... base class template without dll attribute is not supported [-Wunsupported-dll-base-class-template]",
		[f]={"propagating dll attribute to ",{"already instantiated","explicitly specialized"}," base class template without dll attribute is not supported"},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_attribute_dll_redeclaration"]={
		[c]="redeclaration of A should not add B attribute [-Wdll-attribute-on-redeclaration]",
		[f]="redeclaration of A should not add B attribute",
		[b]=g,
		[a]=h
	},
	["warn_attribute_dllexport_explicit_instantiation_decl"]={
		[c]="explicit instantiation declaration should not be \'dllexport\' [-Wdllexport-explicit-instantiation-decl]",
		[f]="explicit instantiation declaration should not be \'dllexport\'",
		[b]=g,
		[a]=h
	},
	["warn_attribute_dllexport_explicit_instantiation_def"]={
		[c]="\'dllexport\' attribute ignored on explicit instantiation definition [-Wignored-attributes]",
		[f]="\'dllexport\' attribute ignored on explicit instantiation definition",
		[b]=g,
		[a]=h
	},
	["warn_attribute_dllimport_static_field_definition"]={
		[c]="definition of dllimport static field [-Wdllimport-static-field-def]",
		[f]="definition of dllimport static field",
		[b]=g,
		[a]=h
	},
	["warn_attribute_has_no_effect_on_compile_time_if"]={
		[c]="attribute A has no effect when annotating an \'if ...\' statement [-Wignored-attributes]",
		[f]={"attribute A has no effect when annotating an \'if ",{nb,Y},"\' statement"},
		[b]=g,
		[a]=h
	},
	["warn_attribute_has_no_effect_on_infinite_loop"]={
		[c]="attribute A has no effect when annotating an infinite loop [-Wignored-attributes]",
		[f]="attribute A has no effect when annotating an infinite loop",
		[b]=g,
		[a]=h
	},
	["warn_attribute_iboutlet"]={
		[c]="A attribute can only be applied to instance variables or properties [-Wignored-attributes]",
		[f]="A attribute can only be applied to instance variables or properties",
		[b]=g,
		[a]=h
	},
	["warn_attribute_ignored"]={
		[c]="A attribute ignored [-Wignored-attributes]",
		[f]="A attribute ignored",
		[b]=g,
		[a]=h
	},
	["warn_attribute_ignored_for_field_of_type"]={
		[c]="A attribute ignored for field of type B [-Wignored-attributes]",
		[f]="A attribute ignored for field of type B",
		[b]=g,
		[a]=h
	},
	["warn_attribute_ignored_no_calls_in_stmt"]={
		[c]="A attribute is ignored because there exists no call expression inside the statement [-Wignored-attributes]",
		[f]="A attribute is ignored because there exists no call expression inside the statement",
		[b]=g,
		[a]=h
	},
	["warn_attribute_ignored_non_function_pointer"]={
		[c]="A attribute is ignored because B is not a function pointer [-Wignored-attributes]",
		[f]="A attribute is ignored because B is not a function pointer",
		[b]=g,
		[a]=h
	},
	["warn_attribute_ignored_on_inline"]={
		[c]="A attribute ignored on inline function [-Wignored-attributes]",
		[f]="A attribute ignored on inline function",
		[b]=g,
		[a]=h
	},
	["warn_attribute_ignored_on_non_definition"]={
		[c]="A attribute ignored on a non-definition declaration [-Wignored-attributes]",
		[f]="A attribute ignored on a non-definition declaration",
		[b]=g,
		[a]=h
	},
	["warn_attribute_invalid_on_definition"]={
		[c]="\'A\' attribute cannot be specified on a definition [-Wignored-attributes]",
		[f]="\'A\' attribute cannot be specified on a definition",
		[b]=g,
		[a]=h
	},
	["warn_attribute_no_builtin_invalid_builtin_name"]={
		[c]="\'A\' is not a valid builtin name for B [-Winvalid-no-builtin-names]",
		[f]="\'A\' is not a valid builtin name for B",
		[b]=g,
		[a]=h
	},
	["warn_attribute_no_decl"]={
		[c]="attribute A ignored, because it is not attached to a declaration [-Wignored-attributes]",
		[f]="attribute A ignored, because it is not attached to a declaration",
		[b]=g,
		[a]=h
	},
	["warn_attribute_nonnull_no_pointers"]={
		[c]="\'nonnull\' attribute applied to function with no pointer arguments [-Wignored-attributes]",
		[f]="\'nonnull\' attribute applied to function with no pointer arguments",
		[b]=g,
		[a]=h
	},
	["warn_attribute_nonnull_parm_no_args"]={
		[c]="\'nonnull\' attribute when used on parameters takes no arguments [-Wignored-attributes]",
		[f]="\'nonnull\' attribute when used on parameters takes no arguments",
		[b]=g,
		[a]=h
	},
	["warn_attribute_not_on_decl"]={
		[c]="A attribute ignored when parsing type [-Wignored-attributes]",
		[f]="A attribute ignored when parsing type",
		[b]=g,
		[a]=h
	},
	["warn_attribute_on_function_definition"]={
		[c]="GCC does not allow A attribute in this position on a function definition [-Wgcc-compat]",
		[f]="GCC does not allow A attribute in this position on a function definition",
		[b]=g,
		[a]=h
	},
	["warn_attribute_packed_for_bitfield"]={
		[c]="\'packed\' attribute was ignored on bit-fields with single-byte alignment in older versions of GCC and Clang [-Wattribute-packed-for-bitfield]",
		[f]="\'packed\' attribute was ignored on bit-fields with single-byte alignment in older versions of GCC and Clang",
		[b]=g,
		[a]=h
	},
	["warn_attribute_pointer_or_reference_only"]={
		[c]="A attribute only applies to a pointer or reference (B is invalid) [-Wignored-attributes]",
		[f]="A attribute only applies to a pointer or reference (B is invalid)",
		[b]=g,
		[a]=h
	},
	["warn_attribute_pointers_only"]={
		[c]="A attribute only applies to... pointer arguments [-Wignored-attributes]",
		[f]={"A attribute only applies to",{l," constant"}," pointer arguments"},
		[b]=g,
		[a]=h
	},
	["warn_attribute_precede_definition"]={
		[c]="attribute declaration must precede definition [-Wignored-attributes]",
		[f]="attribute declaration must precede definition",
		[b]=g,
		[a]=h
	},
	["warn_attribute_protected_visibility"]={
		[c]="target does not support \'protected\' visibility; using \'default\' [-Wunsupported-visibility]",
		[f]="target does not support \'protected\' visibility; using \'default\'",
		[b]=g,
		[a]=h
	},
	["warn_attribute_return_pointers_only"]={
		[c]="A attribute only applies to return values that are pointers [-Wignored-attributes]",
		[f]="A attribute only applies to return values that are pointers",
		[b]=g,
		[a]=h
	},
	["warn_attribute_return_pointers_refs_only"]={
		[c]="A attribute only applies to return values that are pointers or references [-Wignored-attributes]",
		[f]="A attribute only applies to return values that are pointers or references",
		[b]=g,
		[a]=h
	},
	["warn_attribute_section_drectve"]={
		[c]="#pragma A(\".drectve\") has undefined behavior, use #pragma comment(linker, ...) instead [-Wmicrosoft-drectve-section]",
		[f]="#pragma A(\".drectve\") has undefined behavior, use #pragma comment(linker, ...) instead",
		[b]=g,
		[a]=h
	},
	["warn_attribute_section_on_redeclaration"]={
		[c]="section attribute is specified on redeclared variable [-Wsection]",
		[f]="section attribute is specified on redeclared variable",
		[b]=g,
		[a]=h
	},
	["warn_attribute_sentinel_named_arguments"]={
		[c]="\'sentinel\' attribute requires named arguments [-Wignored-attributes]",
		[f]="\'sentinel\' attribute requires named arguments",
		[b]=g,
		[a]=h
	},
	["warn_attribute_sentinel_not_variadic"]={
		[c]="\'sentinel\' attribute only supported for variadic ... [-Wignored-attributes]",
		[f]={"\'sentinel\' attribute only supported for variadic ",{vd,"blocks"}},
		[b]=g,
		[a]=h
	},
	["warn_attribute_type_not_supported"]={
		[c]="A attribute argument not supported: B [-Wignored-attributes]",
		[f]="A attribute argument not supported: B",
		[b]=g,
		[a]=h
	},
	["warn_attribute_type_not_supported_global"]={
		[c]="A attribute argument \'B\' not supported on a global variable [-Wignored-attributes]",
		[f]="A attribute argument \'B\' not supported on a global variable",
		[b]=g,
		[a]=h
	},
	["warn_attribute_unknown_visibility"]={
		[c]="unknown visibility A [-Wignored-attributes]",
		[f]="unknown visibility A",
		[b]=g,
		[a]=h
	},
	["warn_attribute_void_function_method"]={
		[c]="attribute A cannot be applied to ... without return value [-Wignored-attributes]",
		[f]={"attribute A cannot be applied to ",{vd,"Objective-C method"}," without return value"},
		[b]=g,
		[a]=h
	},
	["warn_attribute_weak_on_field"]={
		[c]="__weak attribute cannot be specified on a field declaration [-Wignored-attributes]",
		[f]="__weak attribute cannot be specified on a field declaration",
		[b]=g,
		[a]=h
	},
	["warn_attribute_weak_on_local"]={
		[c]="__weak attribute cannot be specified on an automatic variable when ARC is not enabled [-Wignored-attributes]",
		[f]="__weak attribute cannot be specified on an automatic variable when ARC is not enabled",
		[b]=g,
		[a]=h
	},
	["warn_attribute_wrong_decl_type"]={
		[c]="A... only applies to ... [-Wignored-attributes]",
		[f]={J,{ad,l}," only applies to ",{vd,"unions","variables and functions","functions and methods","functions, methods and blocks","functions, methods, and parameters","variables","variables and fields","variables, data members and tag types","types and namespaces","variables, functions and classes","kernel functions","non-K&R-style functions"}},
		[b]=g,
		[a]=h
	},
	["warn_attribute_wrong_decl_type_str"]={
		[c]="A... only applies to C [-Wignored-attributes]",
		[f]={J,{ad,l}," only applies to C"},
		[b]=g,
		[a]=h
	},
	["warn_attributes_likelihood_ifstmt_conflict"]={
		[c]="conflicting attributes A are ignored [-Wignored-attributes]",
		[f]="conflicting attributes A are ignored",
		[b]=g,
		[a]=h
	},
	["warn_auto_implicit_atomic_property"]={
		[c]="property is assumed atomic when auto-synthesizing the property [-Wimplicit-atomic-properties]",
		[f]="property is assumed atomic when auto-synthesizing the property",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_auto_readonly_iboutlet_property"]={
		[c]="readonly IBOutlet property A when auto-synthesized may not work correctly with \'nib\' loader [-Wreadonly-iboutlet-property]",
		[f]="readonly IBOutlet property A when auto-synthesized may not work correctly with \'nib\' loader",
		[b]=g,
		[a]=h
	},
	["warn_auto_storage_class"]={
		[c]="\'auto\' storage class specifier is redundant and incompatible with C++11 [-Wc++11-compat]",
		[f]="\'auto\' storage class specifier is redundant and incompatible with C++11",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_auto_synthesizing_protocol_property"]={
		[c]="auto property synthesis will not synthesize property A declared in protocol B [-Wobjc-protocol-property-synthesis]",
		[f]="auto property synthesis will not synthesize property A declared in protocol B",
		[b]=g,
		[a]=h
	},
	["warn_auto_var_is_id"]={
		[c]="\'auto\' deduced as \'id\' in declaration of A [-Wauto-var-id]",
		[f]="\'auto\' deduced as \'id\' in declaration of A",
		[b]=g,
		[a]=h
	},
	["warn_autosynthesis_property_in_superclass"]={
		[c]="auto property synthesis will not synthesize property A; it will be implemented by its superclass, use @dynamic to acknowledge intention [-Wobjc-property-synthesis]",
		[f]="auto property synthesis will not synthesize property A; it will be implemented by its superclass, use @dynamic to acknowledge intention",
		[b]=g,
		[a]=h
	},
	["warn_autosynthesis_property_ivar_match"]={
		[c]="autosynthesized property A will use ... instance variable C, not existing instance variable D [-Wobjc-autosynthesis-property-ivar-name-match]",
		[f]={"autosynthesized property A will use ",{l,"synthesized"}," instance variable C, not existing instance variable D"},
		[b]=g,
		[a]=h
	},
	["warn_availability_and_unavailable"]={
		[c]="\'unavailable\' availability overrides all other availability information [-Wavailability]",
		[f]="\'unavailable\' availability overrides all other availability information",
		[b]=g,
		[a]=h
	},
	["warn_availability_fuchsia_unavailable_minor"]={
		[c]="Fuchsia API Level prohibits specifying a minor or sub-minor version [-Wavailability]",
		[f]="Fuchsia API Level prohibits specifying a minor or sub-minor version",
		[b]=g,
		[a]=h
	},
	["warn_availability_on_static_initializer"]={
		[c]="ignoring availability attribute ... [-Wavailability]",
		[f]={"ignoring availability attribute ",{"on \'+load\' method","with constructor attribute","with destructor attribute"}},
		[b]=g,
		[a]=h
	},
	["warn_availability_swift_unavailable_deprecated_only"]={
		[c]="only \'unavailable\' and \'deprecated\' are supported for Swift availability [-Wavailability]",
		[f]="only \'unavailable\' and \'deprecated\' are supported for Swift availability",
		[b]=g,
		[a]=h
	},
	["warn_availability_unknown_platform"]={
		[c]="unknown platform A in availability macro [-Wavailability]",
		[f]="unknown platform A in availability macro",
		[b]=g,
		[a]=h
	},
	["warn_availability_version_ordering"]={
		[c]="feature cannot be ... in B version C before it was ... in version E; attribute ignored [-Wavailability]",
		[f]={"feature cannot be ",{"introduced","deprecated","obsoleted"}," in B version C before it was ",{"introduced","deprecated","obsoleted"}," in version E; attribute ignored"},
		[b]=g,
		[a]=h
	},
	["warn_avx_calling_convention"]={
		[c]="AVX vector ... of type B without \'C\' enabled changes the ABI [-Wpsabi]",
		[f]={"AVX vector ",{Ad,pd}," of type B without \'C\' enabled changes the ABI"},
		[b]=g,
		[a]=h
	},
	["warn_bad_character_encoding"]={
		[c]="illegal character encoding in character literal [-Winvalid-source-encoding]",
		[f]="illegal character encoding in character literal",
		[b]=g,
		[a]=h
	},
	["warn_bad_cxx_cast_nested_pointer_addr_space"]={
		[c]="... from B to C changes address space of nested pointers [-Wincompatible-pointer-types-discards-qualifiers]",
		[f]={{yb,Bb}," from B to C changes address space of nested pointers"},
		[b]=g,
		[a]=h
	},
	["warn_bad_function_cast"]={
		[c]="cast from function call of type A to non-matching type B [-Wbad-function-cast]",
		[f]="cast from function call of type A to non-matching type B",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_bad_receiver_type"]={
		[c]="receiver type A is not \'id\' or interface pointer, consider casting it to \'id\' [-Wreceiver-expr]",
		[f]="receiver type A is not \'id\' or interface pointer, consider casting it to \'id\'",
		[b]=g,
		[a]=h
	},
	["warn_bad_string_encoding"]={
		[c]="illegal character encoding in string literal [-Winvalid-source-encoding]",
		[f]="illegal character encoding in string literal",
		[b]=g,
		[a]=h
	},
	["warn_base_class_is_uninit"]={
		[c]="base class A is uninitialized when used here to access B [-Wuninitialized]",
		[f]="base class A is uninitialized when used here to access B",
		[b]=g,
		[a]=h
	},
	["warn_bind_ref_member_to_parameter"]={
		[c]="binding reference member A to stack allocated ... B [-Wdangling-field]",
		[f]={"binding reference member A to stack allocated ",{z,ac},X},
		[b]=g,
		[a]=h
	},
	["warn_binding_null_to_reference"]={
		[c]="binding dereferenced null pointer to reference has undefined behavior [-Wnull-dereference]",
		[f]="binding dereferenced null pointer to reference has undefined behavior",
		[b]=g,
		[a]=h
	},
	["warn_bitfield_too_small_for_enum"]={
		[c]="bit-field A is not wide enough to store all enumerators of B [-Wbitfield-enum-conversion]",
		[f]="bit-field A is not wide enough to store all enumerators of B",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_bitfield_width_exceeds_type_width"]={
		[c]="width of bit-field A (B bits) exceeds the width of its type; value will be truncated to C bitC [-Wbitfield-width]",
		[f]="width of bit-field A (B bits) exceeds the width of its type; value will be truncated to C bitC",
		[b]=g,
		[a]=h
	},
	["warn_bitwise_instead_of_logical"]={
		[c]="use of bitwise \'A\' with boolean operands [-Wbitwise-instead-of-logical]",
		[f]="use of bitwise \'A\' with boolean operands",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_bitwise_negation_bool"]={
		[c]="bitwise negation of a boolean expression... did you mean logical negation? [-Wbool-operation]",
		[f]={"bitwise negation of a boolean expression",{";"," always evaluates to \'true\';"}," did you mean logical negation?"},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_bitwise_op_in_bitwise_op"]={
		[c]="\'A\' within \'B\' [-Wbitwise-op-parentheses]",
		[f]="\'A\' within \'B\'",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_block_capture_autoreleasing"]={
		[c]="block captures an autoreleasing out-parameter, which may result in use-after-free bugs [-Wblock-capture-autoreleasing]",
		[f]="block captures an autoreleasing out-parameter, which may result in use-after-free bugs",
		[b]=g,
		[a]=h
	},
	["warn_block_literal_attributes_on_omitted_return_type"]={
		[c]="attribute A ignored, because it cannot be applied to omitted return type [-Wignored-attributes]",
		[f]="attribute A ignored, because it cannot be applied to omitted return type",
		[b]=g,
		[a]=h
	},
	["warn_block_literal_qualifiers_on_omitted_return_type"]={
		[c]="\'A\' qualifier on omitted return type B has no effect [-Wignored-qualifiers]",
		[f]="\'A\' qualifier on omitted return type B has no effect",
		[b]=g,
		[a]=h
	},
	["warn_bool_switch_condition"]={
		[c]="switch condition has boolean value [-Wswitch-bool]",
		[f]="switch condition has boolean value",
		[b]=g,
		[a]=h
	},
	["warn_braces_around_init"]={
		[c]="braces around ...initializer [-Wbraced-scalar-init]",
		[f]={"braces around ",{"scalar ",l},"initializer"},
		[b]=g,
		[a]=h
	},
	["warn_break_binds_to_switch"]={
		[c]="\'break\' is bound to loop, GCC binds it to switch [-Wgcc-compat]",
		[f]="\'break\' is bound to loop, GCC binds it to switch",
		[b]=g,
		[a]=h
	},
	["warn_builtin_chk_overflow"]={
		[c]="\'A\' will always overflow; destination buffer has size B, but size argument is C [-Wbuiltin-memcpy-chk-size]",
		[f]="\'A\' will always overflow; destination buffer has size B, but size argument is C",
		[b]=g,
		[a]=h
	},
	["warn_builtin_unknown"]={
		[c]="use of unknown builtin A [-Wimplicit-function-declaration]",
		[f]="use of unknown builtin A",
		[b]=d,
		[a]=q
	},
	["warn_c17_compat_ellipsis_only_parameter"]={
		[c]="\'...\' as the only parameter of a function is incompatible with C standards before C2x [-Wpre-c2x-compat]",
		[f]="\'...\' as the only parameter of a function is incompatible with C standards before C2x",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_c17_compat_static_assert_no_message"]={
		[c]="\'_Static_assert\' with no message is incompatible with C standards before C2x [-Wpre-c2x-compat]",
		[f]="\'_Static_assert\' with no message is incompatible with C standards before C2x",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_c2x_compat_bitint_suffix"]={
		[c]="\'_BitInt\' suffix for literals is incompatible with C standards before C2x [-Wpre-c2x-compat]",
		[f]="\'_BitInt\' suffix for literals is incompatible with C standards before C2x",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_c2x_compat_digit_separator"]={
		[c]="digit separators are incompatible with C standards before C2x [-Wpre-c2x-compat]",
		[f]="digit separators are incompatible with C standards before C2x",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_c2x_compat_empty_initializer"]={
		[c]="use of an empty initializer is incompatible with C standards before C2x [-Wpre-c2x-compat]",
		[f]="use of an empty initializer is incompatible with C standards before C2x",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_c2x_compat_keyword"]={
		[c]="\'A\' is incompatible with C standards before C2x [-Wpre-c2x-compat]",
		[f]="\'A\' is incompatible with C standards before C2x",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_c2x_compat_label_end_of_compound_statement"]={
		[c]="label at end of compound statement is incompatible with C standards before C2x [-Wpre-c2x-compat]",
		[f]="label at end of compound statement is incompatible with C standards before C2x",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_c2x_compat_literal_ucn_control_character"]={
		[c]="universal character name referring to a control character is incompatible with C standards before C2x [-Wpre-c2x-compat]",
		[f]="universal character name referring to a control character is incompatible with C standards before C2x",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_c2x_compat_literal_ucn_escape_basic_scs"]={
		[c]="specifying character \'A\' with a universal character name is incompatible with C standards before C2x [-Wpre-c2x-compat]",
		[f]="specifying character \'A\' with a universal character name is incompatible with C standards before C2x",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_c2x_compat_pp_directive"]={
		[c]="use of a \'#...\' directive is incompatible with C standards before C2x [-Wpre-c2x-compat]",
		[f]={"use of a \'#",{"elifdef","elifndef"},"\' directive is incompatible with C standards before C2x"},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_c2x_compat_warning_directive"]={
		[c]="#warning is incompatible with C standards before C2x [-Wpre-c2x-compat]",
		[f]="#warning is incompatible with C standards before C2x",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_c2x_keyword"]={
		[c]="\'A\' is a keyword in C2x [-Wc2x-compat]",
		[f]="\'A\' is a keyword in C2x",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_c99_compat_unicode_id"]={
		[c]="... is incompatible with C99 [-Wc99-compat]",
		[f]={{"using this character in an identifier","starting an identifier with this character"}," is incompatible with C99"},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_c99_compat_unicode_literal"]={
		[c]="unicode literals are incompatible with C99 [-Wc99-compat]",
		[f]="unicode literals are incompatible with C99",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_c99_keyword"]={
		[c]="\'A\' is a keyword in C99 [-Wc99-compat]",
		[f]="\'A\' is a keyword in C99",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_c_kext"]={
		[c]="ignoring -fapple-kext which is valid for C++ and Objective-C++ only",
		[b]=g,
		[a]=h
	},
	["warn_call_to_pure_virtual_member_function_from_ctor_dtor"]={
		[c]="call to pure virtual member function A has undefined behavior; overrides of A in subclasses are not available in the ... of C [-Wcall-to-pure-virtual-from-ctor-dtor]",
		[f]={"call to pure virtual member function A has undefined behavior; overrides of A in subclasses are not available in the ",{n,p}," of C"},
		[b]=g,
		[a]=h
	},
	["warn_call_wrong_number_of_arguments"]={
		[c]="too ... arguments in call to B",
		[f]={"too ",{"few","many"}," arguments in call to B"},
		[b]=g,
		[a]=h
	},
	["warn_called_once_gets_called_twice"]={
		[c]="A parameter marked \'called_once\' is called twice [-Wcalled-once-parameter]",
		[f]="A parameter marked \'called_once\' is called twice",
		[b]=g,
		[a]=h
	},
	["warn_called_once_never_called"]={
		[c]="...A parameter marked \'called_once\' is never called [-Wcalled-once-parameter]",
		[f]={{l,"captured "},"A parameter marked \'called_once\' is never called"},
		[b]=g,
		[a]=h
	},
	["warn_called_once_never_called_when"]={
		[c]="A parameter marked \'called_once\' is never ... when ... [-Wcalled-once-parameter]",
		[f]={"A parameter marked \'called_once\' is never ",{"used","called"}," when ",{"taking true branch","taking false branch","handling this case","none of the cases applies","entering the loop","skipping the loop","taking one of the branches"}},
		[b]=g,
		[a]=h
	},
	["warn_cannot_pass_non_pod_arg_to_vararg"]={
		[c]="cannot pass object of ... type B through variadic ...; call will abort at runtime [-Wnon-pod-varargs]",
		[f]={"cannot pass object of ",{"non-POD","non-trivial"}," type B through variadic ",{m,y,u,n},"; call will abort at runtime"},
		[b]=d,
		[a]=q
	},
	["warn_cannot_resolve_lock"]={
		[c]="cannot resolve lock expression [-Wthread-safety-analysis]",
		[f]="cannot resolve lock expression",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_case_empty_range"]={
		[c]="empty case range specified",
		[b]=g,
		[a]=h
	},
	["warn_case_value_overflow"]={
		[c]="overflow converting case value to switch condition type (A to B) [-Wswitch]",
		[f]="overflow converting case value to switch condition type (A to B)",
		[b]=g,
		[a]=h
	},
	["warn_cast_align"]={
		[c]="cast from A to B increases required alignment from C to D [-Wcast-align]",
		[f]="cast from A to B increases required alignment from C to D",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cast_calling_conv"]={
		[c]="cast between incompatible calling conventions \'A\' and \'B\'; calls through this pointer may abort at runtime [-Wcast-calling-convention]",
		[f]="cast between incompatible calling conventions \'A\' and \'B\'; calls through this pointer may abort at runtime",
		[b]=g,
		[a]=h
	},
	["warn_cast_function_type"]={
		[c]="cast from A to B converts to incompatible function type [-Wcast-function-type]",
		[f]={"cast ",{"from A to B ",l},"converts to incompatible function type"},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cast_function_type_strict"]={
		[c]="cast from A to B converts to incompatible function type [-Wcast-function-type-strict]",
		[f]={"cast ",{"from A to B ",l},"converts to incompatible function type"},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cast_nonnull_to_bool"]={
		[c]="nonnull ... \'B\' will evaluate to \'true\' on first encounter [-Wpointer-bool-conversion]",
		[f]={"nonnull ",{"function call",ac}," \'B\' will evaluate to \'true\' on first encounter"},
		[b]=g,
		[a]=h
	},
	["warn_cast_pointer_from_sel"]={
		[c]="cast of type A to B is deprecated; use sel_getName instead [-Wcast-of-sel-type]",
		[f]="cast of type A to B is deprecated; use sel_getName instead",
		[b]=g,
		[a]=h
	},
	["warn_cast_qual"]={
		[c]="cast from A to B drops ... [-Wcast-qual]",
		[f]={"cast from A to B drops ",{"const and volatile qualifiers","const qualifier","volatile qualifier"}},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cast_qual2"]={
		[c]="cast from A to B must have all intermediate pointers const qualified to be safe [-Wcast-qual]",
		[f]="cast from A to B must have all intermediate pointers const qualified to be safe",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_category_method_impl_match"]={
		[c]="category is implementing a method which will also be implemented by its primary class [-Wobjc-protocol-method-implementation]",
		[f]="category is implementing a method which will also be implemented by its primary class",
		[b]=g,
		[a]=h
	},
	["warn_cconv_knr"]={
		[c]="function with no prototype cannot use the A calling convention [-Wmissing-prototype-for-cc]",
		[f]="function with no prototype cannot use the A calling convention",
		[b]=g,
		[a]=h
	},
	["warn_cconv_unsupported"]={
		[c]="A calling convention is not supported ... [-Wignored-attributes]",
		[f]={"A calling convention is not supported ",{"for this target","on variadic function","on constructor/destructor","on builtin function"}},
		[b]=g,
		[a]=h
	},
	["warn_cdtor_function_try_handler_mem_expr"]={
		[c]="cannot refer to a non-static member from the handler of a ... function try block [-Wexceptions]",
		[f]={"cannot refer to a non-static member from the handler of a ",{n,p}," function try block"},
		[b]=g,
		[a]=h
	},
	["warn_cfstring_truncated"]={
		[c]="input conversion stopped due to an input byte that does not belong to the input codeset UTF-8 [-WCFString-literal]",
		[f]="input conversion stopped due to an input byte that does not belong to the input codeset UTF-8",
		[b]=g,
		[a]=h
	},
	["warn_char_constant_too_large"]={
		[c]="character constant too long for its type",
		[b]=g,
		[a]=h
	},
	["warn_class_method_not_found"]={
		[c]="class method A not found (return type defaults to \'id\') [-Wobjc-method-access]",
		[f]="class method A not found (return type defaults to \'id\')",
		[b]=g,
		[a]=h
	},
	["warn_class_method_not_found_with_typo"]={
		[c]="class method A not found (return type defaults to \'id\'); did you mean C? [-Wobjc-method-access]",
		[f]="class method A not found (return type defaults to \'id\'); did you mean C?",
		[b]=g,
		[a]=h
	},
	["warn_clause_expected_string"]={
		[c]="expected string literal in \'clause A\' - ignoring [-Wignored-pragmas]",
		[f]="expected string literal in \'clause A\' - ignoring",
		[b]=g,
		[a]=h
	},
	["warn_cleanup_ext"]={
		[c]="GCC does not allow the \'cleanup\' attribute argument to be anything other than a simple identifier [-Wgcc-compat]",
		[f]="GCC does not allow the \'cleanup\' attribute argument to be anything other than a simple identifier",
		[b]=g,
		[a]=h
	},
	["warn_cmse_nonsecure_union"]={
		[c]="passing union across security boundary via ... may leak information [-Wcmse-union-leak]",
		[f]={"passing union across security boundary via ",{"parameter B","return value"}," may leak information"},
		[b]=g,
		[a]=h
	},
	["warn_cocoa_naming_owned_rule"]={
		[c]="property follows Cocoa naming convention for returning \'owned\' objects [-Wobjc-property-matches-cocoa-ownership-rule]",
		[f]="property follows Cocoa naming convention for returning \'owned\' objects",
		[b]=g,
		[a]=h
	},
	["warn_collection_expr_type"]={
		[c]="collection expression type A may not respond to B",
		[b]=g,
		[a]=h
	},
	["warn_comma_operator"]={
		[c]="possible misuse of comma operator here [-Wcomma]",
		[f]="possible misuse of comma operator here",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_comparison_always"]={
		[c]="...comparison always evaluates to ... [-Wtautological-compare]",
		[f]={{"self-","array "},"comparison always evaluates to ",{"a constant",Tb,Vb,"\'std::strong_ordering::equal\'"}},
		[b]=g,
		[a]=h
	},
	["warn_comparison_bitwise_always"]={
		[c]="bitwise comparison always evaluates to ... [-Wtautological-bitwise-compare]",
		[f]={"bitwise comparison always evaluates to ",{Vb,Tb}},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_comparison_bitwise_or"]={
		[c]="bitwise or with non-zero value always evaluates to true [-Wtautological-bitwise-compare]",
		[f]="bitwise or with non-zero value always evaluates to true",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_comparison_mixed_enum_types"]={
		[c]="... different enumeration types (B and C) [-Wenum-compare]",
		[f]={{Ec,Nc,Mc,Sc,Oc},sd,{rd,l}},
		[b]=g,
		[a]=h
	},
	["warn_comparison_mixed_enum_types_cxx20"]={
		[c]="... different enumeration types (B and C) is deprecated [-Wdeprecated-enum-compare]",
		[f]={{Ec,Nc,Mc,Sc,Oc},sd,{rd,l}," is deprecated"},
		[b]=g,
		[a]=h
	},
	["warn_comparison_of_mixed_enum_types_switch"]={
		[c]="comparison of different enumeration types in switch statement (A and B) [-Wenum-compare-switch]",
		[f]={"comparison of different enumeration types in switch statement",{yc,l}},
		[b]=g,
		[a]=h
	},
	["warn_completion_handler_called_twice"]={
		[c]="completion handler is called twice [-Wcompletion-handler]",
		[f]="completion handler is called twice",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_completion_handler_never_called"]={
		[c]="...completion handler is never called [-Wcompletion-handler]",
		[f]={{l,"captured "},"completion handler is never called"},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_completion_handler_never_called_when"]={
		[c]="completion handler is never ... when ... [-Wcompletion-handler]",
		[f]={"completion handler is never ",{"used","called"}," when ",{"taking true branch","taking false branch","handling this case","none of the cases applies","entering the loop","skipping the loop","taking one of the branches"}},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_compound_token_split_by_macro"]={
		[c]="...C tokens ... appear in different macro expansion contexts [-Wcompound-token-split-by-macro]",
		[f]={{"B and ",l},"C tokens ",{"introducing statement expression","terminating statement expression","introducing attribute","terminating attribute","forming pointer to member type"}," appear in different macro expansion contexts"},
		[b]=g,
		[a]=h
	},
	["warn_compound_token_split_by_whitespace"]={
		[c]="...C tokens ... are separated by whitespace [-Wcompound-token-split-by-space]",
		[f]={{"B and ",l},"C tokens ",{"introducing statement expression","terminating statement expression","introducing attribute","terminating attribute","forming pointer to member type"}," are separated by whitespace"},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_concatenated_literal_array_init"]={
		[c]="suspicious concatenation of string literals in an array initialization; did you mean to separate the elements with a comma? [-Wstring-concatenation]",
		[f]="suspicious concatenation of string literals in an array initialization; did you mean to separate the elements with a comma?",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_concatenated_nsarray_literal"]={
		[c]="concatenated NSString literal for an NSArray expression - possibly missing a comma [-Wobjc-string-concatenation]",
		[f]="concatenated NSString literal for an NSArray expression - possibly missing a comma",
		[b]=g,
		[a]=h
	},
	["warn_condition_is_assignment"]={
		[c]="using the result of an assignment as a condition without parentheses [-Wparentheses]",
		[f]="using the result of an assignment as a condition without parentheses",
		[b]=g,
		[a]=h
	},
	["warn_condition_is_idiomatic_assignment"]={
		[c]="using the result of an assignment as a condition without parentheses [-Widiomatic-parentheses]",
		[f]="using the result of an assignment as a condition without parentheses",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_conditional_mixed_enum_types"]={
		[c]="... different enumeration types (B and C) [-Wenum-compare-conditional]",
		[f]={{Ec,Nc,Mc,Sc,Oc},sd,{rd,l}},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_conditional_mixed_enum_types_cxx20"]={
		[c]="... different enumeration types (B and C) is deprecated [-Wdeprecated-enum-compare-conditional]",
		[f]={{Ec,Nc,Mc,Sc,Oc},sd,{rd,l}," is deprecated"},
		[b]=g,
		[a]=h
	},
	["warn_conflicting_nullability_attr_overriding_param_types"]={
		[c]="conflicting nullability specifier on parameter types, A conflicts with existing specifier B [-Wnullability]",
		[f]="conflicting nullability specifier on parameter types, A conflicts with existing specifier B",
		[b]=g,
		[a]=h
	},
	["warn_conflicting_nullability_attr_overriding_ret_types"]={
		[c]="conflicting nullability specifier on return types, A conflicts with existing specifier B [-Wnullability]",
		[f]="conflicting nullability specifier on return types, A conflicts with existing specifier B",
		[b]=g,
		[a]=h
	},
	["warn_conflicting_overriding_param_modifiers"]={
		[c]="conflicting distributed object modifiers on parameter type in declaration of A [-Woverriding-method-mismatch]",
		[f]="conflicting distributed object modifiers on parameter type in declaration of A",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_conflicting_overriding_param_types"]={
		[c]="conflicting parameter types in declaration of A: B vs C [-Woverriding-method-mismatch]",
		[f]={"conflicting parameter types in declaration of A",{Ld,l}},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_conflicting_overriding_ret_type_modifiers"]={
		[c]="conflicting distributed object modifiers on return type in declaration of A [-Woverriding-method-mismatch]",
		[f]="conflicting distributed object modifiers on return type in declaration of A",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_conflicting_overriding_ret_types"]={
		[c]="conflicting return type in declaration of A: B vs C [-Woverriding-method-mismatch]",
		[f]={"conflicting return type in declaration of A",{Ld,l}},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_conflicting_overriding_variadic"]={
		[c]="conflicting variadic declaration of method and its implementation [-Woverriding-method-mismatch]",
		[f]="conflicting variadic declaration of method and its implementation",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_conflicting_param_modifiers"]={
		[c]="conflicting distributed object modifiers on parameter type in implementation of A [-Wdistributed-object-modifiers]",
		[f]="conflicting distributed object modifiers on parameter type in implementation of A",
		[b]=g,
		[a]=h
	},
	["warn_conflicting_param_types"]={
		[c]="conflicting parameter types in implementation of A: B vs C [-Wmismatched-parameter-types]",
		[f]={"conflicting parameter types in implementation of A",{Ld,l}},
		[b]=g,
		[a]=h
	},
	["warn_conflicting_ret_type_modifiers"]={
		[c]="conflicting distributed object modifiers on return type in implementation of A [-Wdistributed-object-modifiers]",
		[f]="conflicting distributed object modifiers on return type in implementation of A",
		[b]=g,
		[a]=h
	},
	["warn_conflicting_ret_types"]={
		[c]="conflicting return type in implementation of A: B vs C [-Wmismatched-return-types]",
		[f]={"conflicting return type in implementation of A",{Ld,l}},
		[b]=g,
		[a]=h
	},
	["warn_conflicting_variadic"]={
		[c]="conflicting variadic declaration of method and its implementation",
		[b]=g,
		[a]=h
	},
	["warn_consteval_if_always_true"]={
		[c]="consteval if is always true in an ... context [-Wredundant-consteval-if]",
		[f]={"consteval if is always true in an ",{"unevaluated","immediate"}," context"},
		[b]=g,
		[a]=h
	},
	["warn_constexpr_unscoped_enum_out_of_range"]={
		[c]="integer value A is outside the valid range of values [B, C] for the enumeration type D [-Wenum-constexpr-conversion]",
		[f]="integer value A is outside the valid range of values [B, C] for the enumeration type D",
		[b]=d,
		[a]=q
	},
	["warn_conv_to_base_not_used"]={
		[c]="conversion function converting A to its base class B will never be used [-Wclass-conversion]",
		[f]="conversion function converting A to its base class B will never be used",
		[b]=g,
		[a]=h
	},
	["warn_conv_to_self_not_used"]={
		[c]="conversion function converting A to itself will never be used [-Wclass-conversion]",
		[f]="conversion function converting A to itself will never be used",
		[b]=g,
		[a]=h
	},
	["warn_conv_to_void_not_used"]={
		[c]="conversion function converting A to B will never be used [-Wclass-conversion]",
		[f]="conversion function converting A to B will never be used",
		[b]=g,
		[a]=h
	},
	["warn_coroutine_handle_address_invalid_return_type"]={
		[c]="return type of \'coroutine_handle<>::address should be \'void*\' (have A) in order to get capability with existing async C API. [-Wcoroutine]",
		[f]="return type of \'coroutine_handle<>::address should be \'void*\' (have A) in order to get capability with existing async C API.",
		[b]=g,
		[a]=h
	},
	["warn_coroutine_promise_unhandled_exception_required_with_exceptions"]={
		[c]="A is required to declare the member \'unhandled_exception()\' when exceptions are enabled [-Wcoroutine-missing-unhandled-exception]",
		[f]="A is required to declare the member \'unhandled_exception()\' when exceptions are enabled",
		[b]=g,
		[a]=h
	},
	["warn_correct_comment_command_name"]={
		[c]="unknown command tag name \'A\'; did you mean \'B\'? [-Wdocumentation-unknown-command]",
		[f]="unknown command tag name \'A\'; did you mean \'B\'?",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cstruct_memaccess"]={
		[c]="... this B call is a pointer to record C that is not trivial to ... [-Wnontrivial-memaccess]",
		[f]={{"destination for","source of","first operand of","second operand of"}," this B call is a pointer to record C that is not trivial to ",{"primitive-default-initialize","primitive-copy"}},
		[b]=g,
		[a]=h
	},
	["warn_cstyle_param"]={
		[c]="use of C-style parameters in Objective-C method declarations is deprecated [-Wdeprecated-declarations]",
		[f]="use of C-style parameters in Objective-C method declarations is deprecated",
		[b]=g,
		[a]=h
	},
	["warn_ctad_maybe_unsupported"]={
		[c]="A may not intend to support class template argument deduction [-Wctad-maybe-unsupported]",
		[f]="A may not intend to support class template argument deduction",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_ctor_parm_shadows_field"]={
		[c]="constructor parameter A shadows the field B of C [-Wshadow-field-in-constructor]",
		[f]="constructor parameter A shadows the field B of C",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_ctu_incompat_triple"]={
		[c]="imported AST from \'A\' had been generated for a different target, current: B, imported: C [-Wctu]",
		[f]="imported AST from \'A\' had been generated for a different target, current: B, imported: C",
		[b]=g,
		[a]=h
	},
	["warn_cuda_attr_lambda_position"]={
		[c]="nvcc does not allow \'__A__\' to appear after the parameter list in lambdas [-Wcuda-compat]",
		[f]="nvcc does not allow \'__A__\' to appear after the parameter list in lambdas",
		[b]=g,
		[a]=h
	},
	["warn_cxx11_compat_binary_literal"]={
		[c]="binary integer literals are incompatible with C++ standards before C++14 [-Wc++98-c++11-compat-binary-literal]",
		[f]="binary integer literals are incompatible with C++ standards before C++14",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx11_compat_constexpr_body_invalid_stmt"]={
		[c]="use of this statement in a constexpr ... is incompatible with C++ standards before C++14 [-Wpre-c++14-compat]",
		[f]={"use of this statement in a constexpr ",{m,n}," is incompatible with C++ standards before C++14"},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx11_compat_constexpr_body_multiple_return"]={
		[c]="multiple return statements in constexpr function is incompatible with C++ standards before C++14 [-Wpre-c++14-compat]",
		[f]="multiple return statements in constexpr function is incompatible with C++ standards before C++14",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx11_compat_constexpr_body_no_return"]={
		[c]="constexpr function with no return statements is incompatible with C++ standards before C++14 [-Wpre-c++14-compat]",
		[f]="constexpr function with no return statements is incompatible with C++ standards before C++14",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx11_compat_constexpr_local_var"]={
		[c]="variable declaration in a constexpr ... is incompatible with C++ standards before C++14 [-Wpre-c++14-compat]",
		[f]={"variable declaration in a constexpr ",{m,n}," is incompatible with C++ standards before C++14"},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx11_compat_constexpr_type_definition"]={
		[c]="type definition in a constexpr ... is incompatible with C++ standards before C++14 [-Wpre-c++14-compat]",
		[f]={"type definition in a constexpr ",{m,n}," is incompatible with C++ standards before C++14"},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx11_compat_decltype_auto_type_specifier"]={
		[c]="\'decltype(auto)\' type specifier is incompatible with C++ standards before C++14 [-Wpre-c++14-compat]",
		[f]="\'decltype(auto)\' type specifier is incompatible with C++ standards before C++14",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx11_compat_deduced_return_type"]={
		[c]="return type deduction is incompatible with C++ standards before C++14 [-Wpre-c++14-compat]",
		[f]="return type deduction is incompatible with C++ standards before C++14",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx11_compat_digit_separator"]={
		[c]="digit separators are incompatible with C++ standards before C++14 [-Wpre-c++14-compat]",
		[f]="digit separators are incompatible with C++ standards before C++14",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx11_compat_generic_lambda"]={
		[c]="generic lambdas are incompatible with C++11 [-Wpre-c++14-compat]",
		[f]="generic lambdas are incompatible with C++11",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx11_compat_init_capture"]={
		[c]="initialized lambda captures are incompatible with C++ standards before C++14 [-Wpre-c++14-compat]",
		[f]="initialized lambda captures are incompatible with C++ standards before C++14",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx11_compat_reserved_user_defined_literal"]={
		[c]="identifier after literal will be treated as a reserved user-defined literal suffix in C++11 [-Wc++11-compat-reserved-user-defined-literal]",
		[f]="identifier after literal will be treated as a reserved user-defined literal suffix in C++11",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx11_compat_user_defined_literal"]={
		[c]="identifier after literal will be treated as a user-defined literal suffix in C++11 [-Wc++11-compat]",
		[f]="identifier after literal will be treated as a user-defined literal suffix in C++11",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx11_compat_variable_template"]={
		[c]="variable templates are incompatible with C++ standards before C++14 [-Wpre-c++14-compat]",
		[f]="variable templates are incompatible with C++ standards before C++14",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx11_gnu_attribute_on_type"]={
		[c]="attribute A ignored, because it cannot be applied to a type [-Wignored-attributes]",
		[f]="attribute A ignored, because it cannot be applied to a type",
		[b]=g,
		[a]=h
	},
	["warn_cxx11_keyword"]={
		[c]="\'A\' is a keyword in C++11 [-Wc++11-compat]",
		[f]="\'A\' is a keyword in C++11",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx11_right_shift_in_template_arg"]={
		[c]="use of right-shift operator (\'>>\') in template argument will require parentheses in C++11 [-Wc++11-compat]",
		[f]="use of right-shift operator (\'>>\') in template argument will require parentheses in C++11",
		[b]=g,
		[a]=h
	},
	["warn_cxx14_compat_class_template_argument_deduction"]={
		[c]="class template argument deduction is incompatible with C++ standards before C++17... [-Wpre-c++17-compat]",
		[f]={"class template argument deduction is incompatible with C++ standards before C++17",{l,"; for compatibility, use explicit type name B"}},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx14_compat_constexpr_if"]={
		[c]="constexpr if is incompatible with C++ standards before C++17 [-Wpre-c++17-compat]",
		[f]="constexpr if is incompatible with C++ standards before C++17",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx14_compat_constexpr_not_const"]={
		[c]="\'constexpr\' non-static member function will not be implicitly \'const\' in C++14; add \'const\' to avoid a change in behavior [-Wconstexpr-not-const]",
		[f]="\'constexpr\' non-static member function will not be implicitly \'const\' in C++14; add \'const\' to avoid a change in behavior",
		[b]=g,
		[a]=h
	},
	["warn_cxx14_compat_constexpr_on_lambda"]={
		[c]="constexpr on lambda expressions is incompatible with C++ standards before C++17 [-Wpre-c++17-compat]",
		[f]="constexpr on lambda expressions is incompatible with C++ standards before C++17",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx14_compat_decomp_decl"]={
		[c]="decomposition declarations are incompatible with C++ standards before C++17 [-Wpre-c++17-compat]",
		[f]="decomposition declarations are incompatible with C++ standards before C++17",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx14_compat_fold_expression"]={
		[c]="pack fold expression is incompatible with C++ standards before C++17 [-Wpre-c++17-compat]",
		[f]="pack fold expression is incompatible with C++ standards before C++17",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx14_compat_init_statement"]={
		[c]="... initialization statements are incompatible with C++ standards before C++17 [-Wpre-c++17-compat]",
		[f]={{"if","switch"}," initialization statements are incompatible with C++ standards before C++17"},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx14_compat_inline_variable"]={
		[c]="inline variables are incompatible with C++ standards before C++17 [-Wpre-c++17-compat]",
		[f]="inline variables are incompatible with C++ standards before C++17",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx14_compat_nested_namespace_definition"]={
		[c]="nested namespace definition is incompatible with C++ standards before C++17 [-Wpre-c++17-compat]",
		[f]="nested namespace definition is incompatible with C++ standards before C++17",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx14_compat_ns_enum_attribute"]={
		[c]="attributes on ... declaration are incompatible with C++ standards before C++17 [-Wpre-c++17-compat-pedantic]",
		[f]={"attributes on ",{"a namespace","an enumerator"}," declaration are incompatible with C++ standards before C++17"},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx14_compat_star_this_lambda_capture"]={
		[c]="by value capture of \'*this\' is incompatible with C++ standards before C++17 [-Wpre-c++17-compat]",
		[f]="by value capture of \'*this\' is incompatible with C++ standards before C++17",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx14_compat_static_assert_no_message"]={
		[c]="\'static_assert\' with no message is incompatible with C++ standards before C++17 [-Wpre-c++17-compat]",
		[f]="\'static_assert\' with no message is incompatible with C++ standards before C++17",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx14_compat_template_nontype_parm_auto_type"]={
		[c]="non-type template parameters declared with A are incompatible with C++ standards before C++17 [-Wpre-c++17-compat]",
		[f]="non-type template parameters declared with A are incompatible with C++ standards before C++17",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx14_compat_template_template_param_typename"]={
		[c]="template template parameter using \'typename\' is incompatible with C++ standards before C++17 [-Wpre-c++17-compat]",
		[f]="template template parameter using \'typename\' is incompatible with C++ standards before C++17",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx14_compat_u8_character_literal"]={
		[c]="unicode literals are incompatible with C++ standards before C++17 [-Wpre-c++17-compat]",
		[f]="unicode literals are incompatible with C++ standards before C++17",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx14_compat_using_attribute_ns"]={
		[c]="default scope specifier for attributes is incompatible with C++ standards before C++17 [-Wpre-c++17-compat]",
		[f]="default scope specifier for attributes is incompatible with C++ standards before C++17",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx17_compat_adl_only_template_id"]={
		[c]="use of function template name with no prior function template declaration in function call with explicit template arguments is incompatible with C++ standards before C++20 [-Wpre-c++20-compat]",
		[f]="use of function template name with no prior function template declaration in function call with explicit template arguments is incompatible with C++ standards before C++20",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx17_compat_aggregate_init_paren_list"]={
		[c]="aggregate initialization of type A from a parenthesized list of values is a C++20 extension [-Wc++20-extensions]",
		[f]="aggregate initialization of type A from a parenthesized list of values is a C++20 extension",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx17_compat_bitfield_member_init"]={
		[c]="default member initializer for bit-field is incompatible with C++ standards before C++20 [-Wpre-c++20-compat]",
		[f]="default member initializer for bit-field is incompatible with C++ standards before C++20",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx17_compat_capture_binding"]={
		[c]="captured structured bindings are incompatible with C++ standards before C++20 [-Wpre-c++20-compat]",
		[f]="captured structured bindings are incompatible with C++ standards before C++20",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx17_compat_constexpr_body_invalid_stmt"]={
		[c]="use of this statement in a constexpr ... is incompatible with C++ standards before C++20 [-Wpre-c++20-compat]",
		[f]={"use of this statement in a constexpr ",{m,n}," is incompatible with C++ standards before C++20"},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx17_compat_constexpr_ctor_missing_init"]={
		[c]="constexpr constructor that does not initialize all members is incompatible with C++ standards before C++20 [-Wpre-c++20-compat]",
		[f]="constexpr constructor that does not initialize all members is incompatible with C++ standards before C++20",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx17_compat_constexpr_function_try_block"]={
		[c]="function try block in constexpr ... is incompatible with C++ standards before C++20 [-Wpre-c++20-compat]",
		[f]={"function try block in constexpr ",{m,n}," is incompatible with C++ standards before C++20"},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx17_compat_constexpr_local_var_no_init"]={
		[c]="uninitialized variable in a constexpr ... is incompatible with C++ standards before C++20 [-Wpre-c++20-compat]",
		[f]={"uninitialized variable in a constexpr ",{m,n}," is incompatible with C++ standards before C++20"},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx17_compat_constexpr_union_ctor_no_init"]={
		[c]="constexpr union constructor that does not initialize any member is incompatible with C++ standards before C++20 [-Wpre-c++20-compat]",
		[f]="constexpr union constructor that does not initialize any member is incompatible with C++ standards before C++20",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx17_compat_constexpr_virtual"]={
		[c]="virtual constexpr functions are incompatible with C++ standards before C++20 [-Wpre-c++20-compat]",
		[f]="virtual constexpr functions are incompatible with C++ standards before C++20",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx17_compat_decomp_decl_spec"]={
		[c]="decomposition declaration declared \'B\' is incompatible with C++ standards before C++20 [-Wpre-c++20-compat]",
		[f]={"decomposition declaration declared ",{Sb,"with \'B\' specifiers"}," is incompatible with C++ standards before C++20"},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx17_compat_defaulted_comparison"]={
		[c]="defaulted comparison operators are incompatible with C++ standards before C++20 [-Wpre-c++20-compat]",
		[f]="defaulted comparison operators are incompatible with C++ standards before C++20",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx17_compat_defaulted_method_type_mismatch"]={
		[c]="explicitly defaulting this ... with a type different from the implicit type is incompatible with C++ standards before C++20 [-Wpre-c++20-compat]",
		[f]={"explicitly defaulting this ",{rb,sb,vb,xb,tb,p}," with a type different from the implicit type is incompatible with C++ standards before C++20"},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx17_compat_designated_init"]={
		[c]="designated initializers are incompatible with C++ standards before C++20 [-Wpre-c++20-compat-pedantic]",
		[f]="designated initializers are incompatible with C++ standards before C++20",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx17_compat_equals_this_lambda_capture"]={
		[c]="explicit capture of \'this\' with a capture default of \'=\' is incompatible with C++ standards before C++20 [-Wpre-c++20-compat]",
		[f]="explicit capture of \'this\' with a capture default of \'=\' is incompatible with C++ standards before C++20",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx17_compat_exception_spec_in_signature"]={
		[c]="mangled name of A will change in C++17 due to non-throwing exception specification in function signature [-Wc++17-compat-mangling]",
		[f]="mangled name of A will change in C++17 due to non-throwing exception specification in function signature",
		[b]=g,
		[a]=h
	},
	["warn_cxx17_compat_explicit_bool"]={
		[c]="explicit(bool) is incompatible with C++ standards before C++20 [-Wpre-c++20-compat]",
		[f]="explicit(bool) is incompatible with C++ standards before C++20",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx17_compat_for_range_init_stmt"]={
		[c]="range-based for loop initialization statements are incompatible with C++ standards before C++20 [-Wpre-c++20-compat]",
		[f]="range-based for loop initialization statements are incompatible with C++ standards before C++20",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx17_compat_implicit_typename"]={
		[c]="use of implicit \'typename\' is incompatible with C++ standards before C++20 [-Wc++20-compat]",
		[f]="use of implicit \'typename\' is incompatible with C++ standards before C++20",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx17_compat_init_capture_pack"]={
		[c]="initialized lambda capture packs are incompatible with C++ standards before C++20 [-Wpre-c++20-compat]",
		[f]="initialized lambda capture packs are incompatible with C++ standards before C++20",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx17_compat_inline_nested_namespace_definition"]={
		[c]="inline nested namespace definition is incompatible with C++ standards before C++20 [-Wpre-c++20-compat]",
		[f]="inline nested namespace definition is incompatible with C++ standards before C++20",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx17_compat_lambda_def_ctor_assign"]={
		[c]="... of lambda is incompatible with C++ standards before C++20 [-Wpre-c++20-compat]",
		[f]={{"default construction","assignment"}," of lambda is incompatible with C++ standards before C++20"},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx17_compat_lambda_template_parameter_list"]={
		[c]="explicit template parameter list for lambdas is incompatible with C++ standards before C++20 [-Wpre-c++20-compat]",
		[f]="explicit template parameter list for lambdas is incompatible with C++ standards before C++20",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx17_compat_missing_varargs_arg"]={
		[c]="passing no argument for the \'...\' parameter of a variadic macro is incompatible with C++ standards before C++20 [-Wpre-c++20-compat]",
		[f]="passing no argument for the \'...\' parameter of a variadic macro is incompatible with C++ standards before C++20",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx17_compat_multi_using_declaration"]={
		[c]="use of multiple declarators in a single using declaration is incompatible with C++ standards before C++17 [-Wpre-c++17-compat]",
		[f]="use of multiple declarators in a single using declaration is incompatible with C++ standards before C++17",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx17_compat_pointer_to_const_ref_member_on_rvalue"]={
		[c]="invoking a pointer to a \'const &\' member function on an rvalue is incompatible with C++ standards before C++20 [-Wpre-c++20-compat-pedantic]",
		[f]="invoking a pointer to a \'const &\' member function on an rvalue is incompatible with C++ standards before C++20",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx17_compat_spaceship"]={
		[c]="\'<=>\' operator is incompatible with C++ standards before C++20 [-Wpre-c++20-compat]",
		[f]="\'<=>\' operator is incompatible with C++ standards before C++20",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx17_compat_template_nontype_parm_type"]={
		[c]="non-type template parameter of type A is incompatible with C++ standards before C++20 [-Wpre-c++20-compat]",
		[f]="non-type template parameter of type A is incompatible with C++ standards before C++20",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx17_compat_unicode_type"]={
		[c]="\'char8_t\' type specifier is incompatible with C++ standards before C++20 [-Wpre-c++20-compat]",
		[f]="\'char8_t\' type specifier is incompatible with C++ standards before C++20",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx17_compat_using_decl_class_member_enumerator"]={
		[c]="member using declaration naming a non-member enumerator is incompatible with C++ standards before C++20 [-Wpre-c++20-compat]",
		[f]="member using declaration naming a non-member enumerator is incompatible with C++ standards before C++20",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx17_compat_using_decl_non_member_enumerator"]={
		[c]="member using declaration naming non-class \'A\' enumerator is incompatible with C++ standards before C++20 [-Wpre-c++20-compat]",
		[f]="member using declaration naming non-class \'A\' enumerator is incompatible with C++ standards before C++20",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx17_compat_using_decl_scoped_enumerator"]={
		[c]="using declaration naming a scoped enumerator is incompatible with C++ standards before C++20 [-Wpre-c++20-compat]",
		[f]="using declaration naming a scoped enumerator is incompatible with C++ standards before C++20",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx17_compat_using_declaration_pack"]={
		[c]="pack expansion using declaration is incompatible with C++ standards before C++17 [-Wpre-c++17-compat]",
		[f]="pack expansion using declaration is incompatible with C++ standards before C++17",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx17_compat_using_enum_declaration"]={
		[c]="using enum declaration is incompatible with C++ standards before C++20 [-Wpre-c++20-compat]",
		[f]="using enum declaration is incompatible with C++ standards before C++20",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx17_hex_literal"]={
		[c]="hexadecimal floating literals are incompatible with C++ standards before C++17 [-Wpre-c++17-compat-pedantic]",
		[f]="hexadecimal floating literals are incompatible with C++ standards before C++17",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx20_alias_in_init_statement"]={
		[c]="alias declaration in this context is incompatible with C++ standards before C++23 [-Wpre-c++23-compat]",
		[f]="alias declaration in this context is incompatible with C++ standards before C++23",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx20_compat_aggregate_init_with_ctors"]={
		[c]="aggregate initialization of type A with user-declared constructors is incompatible with C++20 [-Wc++20-compat]",
		[f]="aggregate initialization of type A with user-declared constructors is incompatible with C++20",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx20_compat_auto_expr"]={
		[c]="\'auto\' as a functional-style cast is incompatible with C++ standards before C++23 [-Wpre-c++23-compat]",
		[f]="\'auto\' as a functional-style cast is incompatible with C++ standards before C++23",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx20_compat_consteval"]={
		[c]="\'consteval\' specifier is incompatible with C++ standards before C++20 [-Wc++20-compat]",
		[f]="\'consteval\' specifier is incompatible with C++ standards before C++20",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx20_compat_consteval_if"]={
		[c]="consteval if is incompatible with C++ standards before C++23 [-Wpre-c++23-compat]",
		[f]="consteval if is incompatible with C++ standards before C++23",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx20_compat_constexpr_body_invalid_stmt"]={
		[c]="use of this statement in a constexpr ... is incompatible with C++ standards before C++23 [-Wpre-c++23-compat]",
		[f]={"use of this statement in a constexpr ",{m,n}," is incompatible with C++ standards before C++23"},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx20_compat_constexpr_var"]={
		[c]="definition of a ... in a constexpr ... is incompatible with C++ standards before C++23 [-Wpre-c++23-compat]",
		[f]={"definition of a ",{"static variable","thread_local variable","variable of non-literal type"}," in a constexpr ",{m,n}," is incompatible with C++ standards before C++23"},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx20_compat_constinit"]={
		[c]="\'constinit\' specifier is incompatible with C++ standards before C++20 [-Wc++20-compat]",
		[f]="\'constinit\' specifier is incompatible with C++ standards before C++20",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx20_compat_decl_attrs_on_lambda"]={
		[c]="... in this position is incompatible with C++ standards before C++23 [-Wpre-c++23-compat]",
		[f]={{"an attribute specifier sequence",fd}," in this position is incompatible with C++ standards before C++23"},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx20_compat_explicit_bool"]={
		[c]="this expression will be parsed as explicit(bool) in C++20 [-Wc++20-compat]",
		[f]="this expression will be parsed as explicit(bool) in C++20",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx20_compat_label_end_of_compound_statement"]={
		[c]="label at end of compound statement is incompatible with C++ standards before C++23 [-Wpre-c++23-compat]",
		[f]="label at end of compound statement is incompatible with C++ standards before C++23",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx20_compat_operator_overload_static"]={
		[c]="declaring overloaded A as \'static\' is incompatible with C++ standards before C++23 [-Wpre-c++23-compat]",
		[f]="declaring overloaded A as \'static\' is incompatible with C++ standards before C++23",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx20_compat_size_t_suffix"]={
		[c]="\'size_t\' suffix for literals is incompatible with C++ standards before C++23 [-Wpre-c++23-compat]",
		[f]="\'size_t\' suffix for literals is incompatible with C++ standards before C++23",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx20_compat_spaceship"]={
		[c]="\'<=>\' is a single token in C++20; add a space to avoid a change in behavior [-Wc++20-compat]",
		[f]="\'<=>\' is a single token in C++20; add a space to avoid a change in behavior",
		[b]=g,
		[a]=h
	},
	["warn_cxx20_compat_static_lambda"]={
		[c]="static lambdas are incompatible with C++ standards before C++23 [-Wpre-c++23-compat]",
		[f]="static lambdas are incompatible with C++ standards before C++23",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx20_compat_use_of_unaddressable_function"]={
		[c]="taking address of non-addressable standard library function is incompatible with C++20 [-Wc++20-compat]",
		[f]="taking address of non-addressable standard library function is incompatible with C++20",
		[b]=g,
		[a]=h
	},
	["warn_cxx20_compat_utf8_string"]={
		[c]="type of UTF-8 string literal will change from array of const char to array of const char8_t in C++20 [-Wc++20-compat]",
		[f]="type of UTF-8 string literal will change from array of const char to array of const char8_t in C++20",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx20_keyword"]={
		[c]="\'A\' is a keyword in C++20 [-Wc++20-compat]",
		[f]="\'A\' is a keyword in C++20",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx23_compat_defaulted_comparison_constexpr_mismatch"]={
		[c]="defaulted definition of ... that is declared ... but... invokes a non-constexpr comparison function is incompatible with C++ standards before C++23 [-Wpre-c++23-compat]",
		[f]={"defaulted definition of ",{{{A,Fb,A,Jb}," comparison operator"},"three-way comparison operator"}," that is declared ",{nb,Y}," but",{l,"for which the corresponding implicit \'operator==\' "}," invokes a non-constexpr comparison function is incompatible with C++ standards before C++23"},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx23_compat_pp_directive"]={
		[c]="use of a \'#...\' directive is incompatible with C++ standards before C++23 [-Wpre-c++23-compat]",
		[f]={"use of a \'#",{"elifdef","elifndef"},"\' directive is incompatible with C++ standards before C++23"},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx23_compat_warning_directive"]={
		[c]="#warning is incompatible with C++ standards before C++23 [-Wpre-c++23-compat]",
		[f]="#warning is incompatible with C++ standards before C++23",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx23_delimited_escape_sequence"]={
		[c]="... escape sequences are incompatible with C++ standards before C++23 [-Wpre-c++23-compat]",
		[f]={{"delimited","named"}," escape sequences are incompatible with C++ standards before C++23"},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx98_compat_alias_declaration"]={
		[c]="alias declarations are incompatible with C++98 [-Wc++98-compat]",
		[f]="alias declarations are incompatible with C++98",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx98_compat_alignas"]={
		[c]="\'alignas\' is incompatible with C++98 [-Wc++98-compat]",
		[f]="\'alignas\' is incompatible with C++98",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx98_compat_alignof"]={
		[c]="alignof expressions are incompatible with C++98 [-Wc++98-compat]",
		[f]="alignof expressions are incompatible with C++98",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx98_compat_array_size_conversion"]={
		[c]="implicit conversion from array size expression of type A to ... type C is incompatible with C++98 [-Wc++98-compat-pedantic]",
		[f]={"implicit conversion from array size expression of type A to ",{wc,Fc}," type C is incompatible with C++98"},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx98_compat_attribute"]={
		[c]="[[]] attributes are incompatible with C++ standards before C++11 [-Wc++98-compat]",
		[f]="[[]] attributes are incompatible with C++ standards before C++11",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx98_compat_auto_type_specifier"]={
		[c]="\'auto\' type specifier is incompatible with C++98 [-Wc++98-compat]",
		[f]="\'auto\' type specifier is incompatible with C++98",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx98_compat_cast_fn_obj"]={
		[c]="cast between pointer-to-function and pointer-to-object is incompatible with C++98 [-Wc++98-compat-pedantic]",
		[f]="cast between pointer-to-function and pointer-to-object is incompatible with C++98",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx98_compat_constexpr"]={
		[c]="\'constexpr\' specifier is incompatible with C++98 [-Wc++98-compat]",
		[f]="\'constexpr\' specifier is incompatible with C++98",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx98_compat_ctor_list_init"]={
		[c]="constructor call from initializer list is incompatible with C++98 [-Wc++98-compat]",
		[f]="constructor call from initializer list is incompatible with C++98",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx98_compat_decltype"]={
		[c]="\'decltype\' type specifier is incompatible with C++98 [-Wc++98-compat]",
		[f]="\'decltype\' type specifier is incompatible with C++98",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx98_compat_defaulted_deleted_function"]={
		[c]="... function definitions are incompatible with C++98 [-Wc++98-compat]",
		[f]={{"defaulted","deleted"}," function definitions are incompatible with C++98"},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx98_compat_delegating_ctor"]={
		[c]="delegating constructors are incompatible with C++98 [-Wc++98-compat]",
		[f]="delegating constructors are incompatible with C++98",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx98_compat_empty_fnmacro_arg"]={
		[c]="empty macro arguments are incompatible with C++98 [-Wc++98-compat-pedantic]",
		[f]="empty macro arguments are incompatible with C++98",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx98_compat_empty_scalar_initializer"]={
		[c]="scalar initialized from empty initializer list is incompatible with C++98 [-Wc++98-compat]",
		[f]="scalar initialized from empty initializer list is incompatible with C++98",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx98_compat_empty_sizeless_initializer"]={
		[c]="initializing A from an empty initializer list is incompatible with C++98 [-Wc++98-compat]",
		[f]="initializing A from an empty initializer list is incompatible with C++98",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx98_compat_enum_fixed_underlying_type"]={
		[c]="enumeration types with a fixed underlying type are incompatible with C++98 [-Wc++98-compat]",
		[f]="enumeration types with a fixed underlying type are incompatible with C++98",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx98_compat_enum_friend"]={
		[c]="befriending enumeration type A is incompatible with C++98 [-Wc++98-compat]",
		[f]="befriending enumeration type A is incompatible with C++98",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx98_compat_enum_nested_name_spec"]={
		[c]="enumeration type in nested name specifier is incompatible with C++98 [-Wc++98-compat]",
		[f]="enumeration type in nested name specifier is incompatible with C++98",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx98_compat_enumerator_list_comma"]={
		[c]="commas at the end of enumerator lists are incompatible with C++98 [-Wc++98-compat-pedantic]",
		[f]="commas at the end of enumerator lists are incompatible with C++98",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx98_compat_explicit_conversion_functions"]={
		[c]="explicit conversion functions are incompatible with C++98 [-Wc++98-compat]",
		[f]="explicit conversion functions are incompatible with C++98",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx98_compat_extern_template"]={
		[c]="extern templates are incompatible with C++98 [-Wc++98-compat-pedantic]",
		[f]="extern templates are incompatible with C++98",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx98_compat_for_range"]={
		[c]="range-based for loop is incompatible with C++98 [-Wc++98-compat]",
		[f]="range-based for loop is incompatible with C++98",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx98_compat_friend_is_member"]={
		[c]="friend declaration naming a member of the declaring class is incompatible with C++98 [-Wc++98-compat]",
		[f]="friend declaration naming a member of the declaring class is incompatible with C++98",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx98_compat_generalized_initializer_lists"]={
		[c]="generalized initializer lists are incompatible with C++98 [-Wc++98-compat]",
		[f]="generalized initializer lists are incompatible with C++98",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx98_compat_goto_into_protected_scope"]={
		[c]="jump from this goto statement to its label is incompatible with C++98 [-Wc++98-compat]",
		[f]="jump from this goto statement to its label is incompatible with C++98",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx98_compat_indirect_goto_in_protected_scope"]={
		[c]="jump from this ... goto statement to one of its possible targets is incompatible with C++98 [-Wc++98-compat]",
		[f]={"jump from this ",{"indirect","asm"}," goto statement to one of its possible targets is incompatible with C++98"},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx98_compat_initializer_list_init"]={
		[c]="initialization of initializer_list object is incompatible with C++98 [-Wc++98-compat]",
		[f]="initialization of initializer_list object is incompatible with C++98",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx98_compat_inline_namespace"]={
		[c]="inline namespaces are incompatible with C++98 [-Wc++98-compat]",
		[f]="inline namespaces are incompatible with C++98",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx98_compat_lambda"]={
		[c]="lambda expressions are incompatible with C++98 [-Wc++98-compat]",
		[f]="lambda expressions are incompatible with C++98",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx98_compat_less_colon_colon"]={
		[c]="\'<::\' is treated as digraph \'<:\' (aka \'[\') followed by \':\' in C++98 [-Wc++98-compat]",
		[f]="\'<::\' is treated as digraph \'<:\' (aka \'[\') followed by \':\' in C++98",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx98_compat_literal_operator"]={
		[c]="literal operators are incompatible with C++98 [-Wc++98-compat]",
		[f]="literal operators are incompatible with C++98",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx98_compat_literal_ucn_control_character"]={
		[c]="universal character name referring to a control character is incompatible with C++98 [-Wc++98-compat]",
		[f]="universal character name referring to a control character is incompatible with C++98",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx98_compat_literal_ucn_escape_basic_scs"]={
		[c]="specifying character \'A\' with a universal character name is incompatible with C++98 [-Wc++98-compat]",
		[f]="specifying character \'A\' with a universal character name is incompatible with C++98",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx98_compat_longlong"]={
		[c]="\'long long\' is incompatible with C++98 [-Wc++98-compat-pedantic]",
		[f]="\'long long\' is incompatible with C++98",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx98_compat_no_newline_eof"]={
		[c]="C++98 requires newline at end of file [-Wc++98-compat-pedantic]",
		[f]="C++98 requires newline at end of file",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx98_compat_noexcept_decl"]={
		[c]="noexcept specifications are incompatible with C++98 [-Wc++98-compat]",
		[f]="noexcept specifications are incompatible with C++98",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx98_compat_noexcept_expr"]={
		[c]="noexcept expressions are incompatible with C++98 [-Wc++98-compat]",
		[f]="noexcept expressions are incompatible with C++98",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx98_compat_non_static_member_use"]={
		[c]="use of non-static data member A in an unevaluated context is incompatible with C++98 [-Wc++98-compat]",
		[f]="use of non-static data member A in an unevaluated context is incompatible with C++98",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx98_compat_nonclass_type_friend"]={
		[c]="non-class friend type A is incompatible with C++98 [-Wc++98-compat]",
		[f]="non-class friend type A is incompatible with C++98",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx98_compat_nonstatic_member_init"]={
		[c]="default member initializer for non-static data members is incompatible with C++98 [-Wc++98-compat]",
		[f]="default member initializer for non-static data members is incompatible with C++98",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx98_compat_nontrivial_union_or_anon_struct_member"]={
		[c]="... member B with a non-trivial ... is incompatible with C++98 [-Wc++98-compat]",
		[f]={{"anonymous struct",v}," member B with a non-trivial ",{rb,sb,vb,xb,tb,p}," is incompatible with C++98"},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx98_compat_nullptr"]={
		[c]="\'nullptr\' is incompatible with C++98 [-Wc++98-compat]",
		[f]="\'nullptr\' is incompatible with C++98",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx98_compat_override_control_keyword"]={
		[c]="\'A\' keyword is incompatible with C++98 [-Wc++98-compat]",
		[f]="\'A\' keyword is incompatible with C++98",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx98_compat_pass_non_pod_arg_to_vararg"]={
		[c]="passing object of trivial but non-POD type A through variadic ... is incompatible with C++98 [-Wc++98-compat]",
		[f]={"passing object of trivial but non-POD type A through variadic ",{m,y,u,n}," is incompatible with C++98"},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx98_compat_pp_line_too_big"]={
		[c]="#line number greater than 32767 is incompatible with C++98 [-Wc++98-compat-pedantic]",
		[f]="#line number greater than 32767 is incompatible with C++98",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx98_compat_raw_string_literal"]={
		[c]="raw string literals are incompatible with C++98 [-Wc++98-compat]",
		[f]="raw string literals are incompatible with C++98",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx98_compat_ref_qualifier"]={
		[c]="reference qualifiers on functions are incompatible with C++98 [-Wc++98-compat]",
		[f]="reference qualifiers on functions are incompatible with C++98",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx98_compat_reference_list_init"]={
		[c]="reference initialized from initializer list is incompatible with C++98 [-Wc++98-compat]",
		[f]="reference initialized from initializer list is incompatible with C++98",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx98_compat_rvalue_reference"]={
		[c]="rvalue references are incompatible with C++98 [-Wc++98-compat]",
		[f]="rvalue references are incompatible with C++98",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx98_compat_scoped_enum"]={
		[c]="scoped enumerations are incompatible with C++98 [-Wc++98-compat]",
		[f]="scoped enumerations are incompatible with C++98",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx98_compat_sfinae_access_control"]={
		[c]="substitution failure due to access control is incompatible with C++98 [-Wc++98-compat]",
		[f]="substitution failure due to access control is incompatible with C++98",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx98_compat_static_assert"]={
		[c]="\'static_assert\' declarations are incompatible with C++98 [-Wc++98-compat]",
		[f]="\'static_assert\' declarations are incompatible with C++98",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx98_compat_static_data_member_in_union"]={
		[c]="static data member A in union is incompatible with C++98 [-Wc++98-compat]",
		[f]="static data member A in union is incompatible with C++98",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx98_compat_switch_into_protected_scope"]={
		[c]="jump from switch statement to this case label is incompatible with C++98 [-Wc++98-compat]",
		[f]="jump from switch statement to this case label is incompatible with C++98",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx98_compat_temp_copy"]={
		[c]="... of type C when binding a reference to a temporary would ... in C++98 [-Wc++98-compat-bind-to-temporary-copy]",
		[f]={{"copying variable","copying parameter","initializing template parameter","returning object","initializing statement expression result","throwing object","copying member subobject","copying array element","allocating object","copying temporary","initializing base subobject","initializing vector element","capturing value"}," of type C when binding a reference to a temporary would ",{"invoke an inaccessible constructor","find no viable constructor","find ambiguous constructors","invoke a deleted constructor"}," in C++98"},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx98_compat_template_arg_extra_parens"]={
		[c]="redundant parentheses surrounding address non-type template argument are incompatible with C++98 [-Wc++98-compat]",
		[f]="redundant parentheses surrounding address non-type template argument are incompatible with C++98",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx98_compat_template_arg_local_type"]={
		[c]="local type A as template argument is incompatible with C++98 [-Wc++98-compat-local-type-template-args]",
		[f]="local type A as template argument is incompatible with C++98",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx98_compat_template_arg_null"]={
		[c]="use of null pointer as non-type template argument is incompatible with C++98 [-Wc++98-compat]",
		[f]="use of null pointer as non-type template argument is incompatible with C++98",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx98_compat_template_arg_object_internal"]={
		[c]="non-type template argument referring to ... B with internal linkage is incompatible with C++98 [-Wc++98-compat]",
		[f]={"non-type template argument referring to ",{m,"object"}," B with internal linkage is incompatible with C++98"},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx98_compat_template_arg_unnamed_type"]={
		[c]="unnamed type as template argument is incompatible with C++98 [-Wc++98-compat-unnamed-type-template-args]",
		[f]="unnamed type as template argument is incompatible with C++98",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx98_compat_template_outside_of_template"]={
		[c]="use of \'template\' keyword outside of a template is incompatible with C++98 [-Wc++98-compat]",
		[f]="use of \'template\' keyword outside of a template is incompatible with C++98",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx98_compat_template_parameter_default_in_function_template"]={
		[c]="default template arguments for a function template are incompatible with C++98 [-Wc++98-compat]",
		[f]="default template arguments for a function template are incompatible with C++98",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx98_compat_top_level_semi"]={
		[c]="extra \';\' outside of a function is incompatible with C++98 [-Wc++98-compat-extra-semi]",
		[f]="extra \';\' outside of a function is incompatible with C++98",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx98_compat_trailing_return_type"]={
		[c]="trailing return types are incompatible with C++98 [-Wc++98-compat]",
		[f]="trailing return types are incompatible with C++98",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx98_compat_two_right_angle_brackets"]={
		[c]="consecutive right angle brackets are incompatible with C++98 (use \'> >\') [-Wc++98-compat]",
		[f]="consecutive right angle brackets are incompatible with C++98 (use \'> >\')",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx98_compat_typename_outside_of_template"]={
		[c]="use of \'typename\' outside of a template is incompatible with C++98 [-Wc++98-compat]",
		[f]="use of \'typename\' outside of a template is incompatible with C++98",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx98_compat_unelaborated_friend_type"]={
		[c]="befriending B without \'...\' keyword is incompatible with C++98 [-Wc++98-compat]",
		[f]={"befriending B without \'",{r,B,v,o,pb},"\' keyword is incompatible with C++98"},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx98_compat_unicode_literal"]={
		[c]="unicode literals are incompatible with C++98 [-Wc++98-compat]",
		[f]="unicode literals are incompatible with C++98",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx98_compat_unicode_type"]={
		[c]="\'A\' type specifier is incompatible with C++98 [-Wc++98-compat]",
		[f]="\'A\' type specifier is incompatible with C++98",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx98_compat_using_decl_constructor"]={
		[c]="inheriting constructors are incompatible with C++98 [-Wc++98-compat]",
		[f]="inheriting constructors are incompatible with C++98",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx98_compat_variadic_macro"]={
		[c]="variadic macros are incompatible with C++98 [-Wc++98-compat-pedantic]",
		[f]="variadic macros are incompatible with C++98",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx98_compat_variadic_templates"]={
		[c]="variadic templates are incompatible with C++98 [-Wc++98-compat]",
		[f]="variadic templates are incompatible with C++98",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_cxx_ms_struct"]={
		[c]="ms_struct may not produce Microsoft-compatible layouts for classes with base classes or virtual functions [-Wincompatible-ms-struct]",
		[f]="ms_struct may not produce Microsoft-compatible layouts for classes with base classes or virtual functions",
		[b]=d,
		[a]=q
	},
	["warn_dangling_else"]={
		[c]="add explicit braces to avoid dangling else [-Wdangling-else]",
		[f]="add explicit braces to avoid dangling else",
		[b]=g,
		[a]=h
	},
	["warn_dangling_lifetime_pointer"]={
		[c]="object backing the pointer will be destroyed at the end of the full-expression [-Wdangling-gsl]",
		[f]="object backing the pointer will be destroyed at the end of the full-expression",
		[b]=g,
		[a]=h
	},
	["warn_dangling_lifetime_pointer_member"]={
		[c]="initializing pointer member A to point to a temporary object whose lifetime is shorter than the lifetime of the constructed object [-Wdangling-gsl]",
		[f]="initializing pointer member A to point to a temporary object whose lifetime is shorter than the lifetime of the constructed object",
		[b]=g,
		[a]=h
	},
	["warn_dangling_member"]={
		[c]="... ...member A ... a temporary object whose lifetime is shorter than the lifetime of the constructed object [-Wdangling-field]",
		[f]={{E,"backing array for \'std::initializer_list\'"},w,{l,Cd},"member A ",{"binds to","is"}," a temporary object whose lifetime is shorter than the lifetime of the constructed object"},
		[b]=g,
		[a]=h
	},
	["warn_dangling_variable"]={
		[c]="... ...will be destroyed at the end of the full-expression [-Wdangling]",
		[f]={{{"temporary ",{"whose address is used as value of",{{l,"implicitly "},"bound to"}},w,{{{l,"reference "},"member of local variable"},{"local ",{z,E}}}},{"array backing ",{"initializer list subobject of local variable","local initializer list"}}},w,{"D ",l},"will be destroyed at the end of the full-expression"},
		[b]=g,
		[a]=h
	},
	["warn_dealloc_in_category"]={
		[c]="-dealloc is being overridden in a category [-Wdealloc-in-category]",
		[f]="-dealloc is being overridden in a category",
		[b]=g,
		[a]=h
	},
	["warn_debug_compression_unavailable"]={
		[c]="cannot compress debug sections (A not enabled) [-Wdebug-compression-unavailable]",
		[f]="cannot compress debug sections (A not enabled)",
		[b]=g,
		[a]=h
	},
	["warn_decl_in_param_list"]={
		[c]="declaration of A will not be visible outside of this function [-Wvisibility]",
		[f]="declaration of A will not be visible outside of this function",
		[b]=g,
		[a]=h
	},
	["warn_decl_shadow"]={
		[c]="declaration shadows a ... [-Wshadow]",
		[f]={"declaration shadows a ",{"local variable","variable in C","static data member of C","field of C","typedef in C","type alias in C","structured binding"}},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_decl_shadow_uncaptured_local"]={
		[c]="declaration shadows a ... [-Wshadow-uncaptured-local]",
		[f]={"declaration shadows a ",{"local variable","variable in C","static data member of C","field of C","typedef in C","type alias in C","structured binding"}},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_declspec_allocator_nonpointer"]={
		[c]="ignoring __declspec(allocator) because the function return type A is not a pointer or reference type [-Wignored-attributes]",
		[f]="ignoring __declspec(allocator) because the function return type A is not a pointer or reference type",
		[b]=g,
		[a]=h
	},
	["warn_declspec_attribute_ignored"]={
		[c]="attribute A is ignored, place it after \"...\" to apply attribute to type declaration [-Wignored-attributes]",
		[f]={"attribute A is ignored, place it after \"",{o,r,B,v,pb,"enum class","enum struct"},"\" to apply attribute to type declaration"},
		[b]=g,
		[a]=h
	},
	["warn_deep_exception_specs_differ"]={
		[c]="exception specifications of ... types differ [-Wincompatible-exception-spec]",
		[f]={"exception specifications of ",{Ad,pd}," types differ"},
		[b]=g,
		[a]=h
	},
	["warn_def_missing_case"]={
		[c]="enumeration value B not explicitly handled in switch [-Wswitch-enum]",
		[f]={{"enumeration value B not explicitly handled in switch","enumeration values B and C not explicitly handled in switch","enumeration values B, C, and D not explicitly handled in switch","A enumeration values not explicitly handled in switch: B, C, D..."}},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_default_atomic_custom_getter_setter"]={
		[c]="atomic by default property A has a user defined ... (property should be marked \'atomic\' if this is intended) [-Wcustom-atomic-properties]",
		[f]={"atomic by default property A has a user defined ",{hd,id}," (property should be marked \'atomic\' if this is intended)"},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_defaulted_comparison_deleted"]={
		[c]="explicitly defaulted ... comparison operator is implicitly deleted [-Wdefaulted-function-deleted]",
		[f]={"explicitly defaulted ",{A,Fb,A,Jb}," comparison operator is implicitly deleted"},
		[b]=g,
		[a]=h
	},
	["warn_defaulted_method_deleted"]={
		[c]="explicitly defaulted ... is implicitly deleted [-Wdefaulted-function-deleted]",
		[f]={"explicitly defaulted ",{rb,sb,vb,xb,tb,p}," is implicitly deleted"},
		[b]=g,
		[a]=h
	},
	["warn_defined_in_function_type_macro"]={
		[c]="macro expansion producing \'defined\' has undefined behavior [-Wexpansion-to-defined]",
		[f]="macro expansion producing \'defined\' has undefined behavior",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_defined_in_object_type_macro"]={
		[c]="macro expansion producing \'defined\' has undefined behavior [-Wexpansion-to-defined]",
		[f]="macro expansion producing \'defined\' has undefined behavior",
		[b]=g,
		[a]=h
	},
	["warn_delegating_ctor_cycle"]={
		[c]="constructor for A creates a delegation cycle [-Wdelegating-ctor-cycles]",
		[f]="constructor for A creates a delegation cycle",
		[b]=d,
		[a]=q
	},
	["warn_delete_abstract_non_virtual_dtor"]={
		[c]="... called on B that is abstract but has non-virtual destructor [-Wdelete-abstract-non-virtual-dtor]",
		[f]={{"delete",p}," called on B that is abstract but has non-virtual destructor"},
		[b]=g,
		[a]=h
	},
	["warn_delete_array_type"]={
		[c]="\'delete\' applied to a pointer-to-array type A treated as \'delete[]\'",
		[b]=g,
		[a]=h
	},
	["warn_delete_incomplete"]={
		[c]="deleting pointer to incomplete type A may cause undefined behavior [-Wdelete-incomplete]",
		[f]="deleting pointer to incomplete type A may cause undefined behavior",
		[b]=g,
		[a]=h
	},
	["warn_delete_non_virtual_dtor"]={
		[c]="... called on non-final B that has virtual functions but non-virtual destructor [-Wdelete-non-abstract-non-virtual-dtor]",
		[f]={{"delete",p}," called on non-final B that has virtual functions but non-virtual destructor"},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_delimited_ucn_empty"]={
		[c]="empty delimited universal character name; treating as \'\\\' \'A\' \'{\' \'}\' [-Wunicode]",
		[f]="empty delimited universal character name; treating as \'\\\' \'A\' \'{\' \'}\'",
		[b]=g,
		[a]=h
	},
	["warn_delimited_ucn_incomplete"]={
		[c]="incomplete delimited universal character name; treating as \'\\\' \'A\' \'{\' identifier [-Wunicode]",
		[f]="incomplete delimited universal character name; treating as \'\\\' \'A\' \'{\' identifier",
		[b]=g,
		[a]=h
	},
	["warn_depr_array_comparison"]={
		[c]="comparison between two arrays is deprecated; to compare array addresses, use unary \'+\' to decay operands to pointers [-Wdeprecated-array-compare]",
		[f]="comparison between two arrays is deprecated; to compare array addresses, use unary \'+\' to decay operands to pointers",
		[b]=g,
		[a]=h
	},
	["warn_deprecated"]={
		[c]="A is deprecated [-Wdeprecated-declarations]",
		[f]="A is deprecated",
		[b]=g,
		[a]=h
	},
	["warn_deprecated_altivec_src_compat"]={
		[c]="Current handling of vector bool and vector pixel types in this context are deprecated. The default behaviour will soon change to that implied by the \'-altivec-compat=xl\' option [-Wdeprecated-altivec-src-compat]",
		[f]="Current handling of vector bool and vector pixel types in this context are deprecated. The default behaviour will soon change to that implied by the \'-altivec-compat=xl\' option",
		[b]=g,
		[a]=h
	},
	["warn_deprecated_anonymous_namespace"]={
		[c]="\'deprecated\' attribute on anonymous namespace ignored [-Wignored-attributes]",
		[f]="\'deprecated\' attribute on anonymous namespace ignored",
		[b]=g,
		[a]=h
	},
	["warn_deprecated_builtin"]={
		[c]="builtin A is deprecated; use B instead [-Wdeprecated-builtins]",
		[f]="builtin A is deprecated; use B instead",
		[b]=g,
		[a]=h
	},
	["warn_deprecated_comma_subscript"]={
		[c]="top-level comma expression in array subscript is deprecated in C++20 and unsupported in C++23 [-Wdeprecated-comma-subscript]",
		[f]="top-level comma expression in array subscript is deprecated in C++20 and unsupported in C++23",
		[b]=g,
		[a]=h
	},
	["warn_deprecated_copy"]={
		[c]="definition of implicit copy ... for A is deprecated because it has a user-declared copy ... [-Wdeprecated-copy]",
		[f]={"definition of implicit copy ",{n,pc}," for A is deprecated because it has a user-declared copy ",{pc,n}},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_deprecated_copy_with_dtor"]={
		[c]="definition of implicit copy ... for A is deprecated because it has a user-declared destructor [-Wdeprecated-copy-with-dtor]",
		[f]={"definition of implicit copy ",{n,pc}," for A is deprecated because it has a user-declared destructor"},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_deprecated_copy_with_user_provided_copy"]={
		[c]="definition of implicit copy ... for A is deprecated because it has a user-provided copy ... [-Wdeprecated-copy-with-user-provided-copy]",
		[f]={"definition of implicit copy ",{n,pc}," for A is deprecated because it has a user-provided copy ",{pc,n}},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_deprecated_copy_with_user_provided_dtor"]={
		[c]="definition of implicit copy ... for A is deprecated because it has a user-provided destructor [-Wdeprecated-copy-with-user-provided-dtor]",
		[f]={"definition of implicit copy ",{n,pc}," for A is deprecated because it has a user-provided destructor"},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_deprecated_def"]={
		[c]="implementing deprecated ... [-Wdeprecated-implementations]",
		[f]={"implementing deprecated ",{u,o,"category"}},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_deprecated_for_co_await"]={
		[c]="\'for co_await\' belongs to CoroutineTS instead of C++20, which is deprecated [-Wdeprecated-coroutine]",
		[f]="\'for co_await\' belongs to CoroutineTS instead of C++20, which is deprecated",
		[b]=g,
		[a]=h
	},
	["warn_deprecated_fwdclass_message"]={
		[c]="A may be deprecated because the receiver type is unknown [-Wdeprecated-declarations]",
		[f]="A may be deprecated because the receiver type is unknown",
		[b]=g,
		[a]=h
	},
	["warn_deprecated_ignored_on_using"]={
		[c]="A currently has no effect on a using declaration [-Wignored-attributes]",
		[f]="A currently has no effect on a using declaration",
		[b]=g,
		[a]=h
	},
	["warn_deprecated_increment_decrement_volatile"]={
		[c]="... of object of volatile-qualified type B is deprecated [-Wdeprecated-volatile]",
		[f]={{Id,wd}," of object of volatile-qualified type B is deprecated"},
		[b]=g,
		[a]=h
	},
	["warn_deprecated_lax_vec_conv_all"]={
		[c]="Implicit conversion between vector types (\'A\' and \'B\') is deprecated. In the future, the behavior implied by \'-fno-lax-vector-conversions\' will be the default. [-Wdeprecate-lax-vec-conv-all]",
		[f]="Implicit conversion between vector types (\'A\' and \'B\') is deprecated. In the future, the behavior implied by \'-fno-lax-vector-conversions\' will be the default.",
		[b]=g,
		[a]=h
	},
	["warn_deprecated_literal_operator_id"]={
		[c]="identifier A preceded by whitespace in a literal operator declaration is deprecated [-Wdeprecated-literal-operator]",
		[f]="identifier A preceded by whitespace in a literal operator declaration is deprecated",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_deprecated_message"]={
		[c]="A is deprecated: B [-Wdeprecated-declarations]",
		[f]="A is deprecated: B",
		[b]=g,
		[a]=h
	},
	["warn_deprecated_noreturn_spelling"]={
		[c]="the \'[[_Noreturn]]\' attribute spelling is deprecated in C2x; use \'[[noreturn]]\' instead [-Wdeprecated-attributes]",
		[f]="the \'[[_Noreturn]]\' attribute spelling is deprecated in C2x; use \'[[noreturn]]\' instead",
		[b]=g,
		[a]=h
	},
	["warn_deprecated_redundant_constexpr_static_def"]={
		[c]="out-of-line definition of constexpr static data member is redundant in C++17 and is deprecated [-Wdeprecated-redundant-constexpr-static-def]",
		[f]="out-of-line definition of constexpr static data member is redundant in C++17 and is deprecated",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_deprecated_register"]={
		[c]="\'register\' storage class specifier is deprecated and incompatible with C++17 [-Wdeprecated-register]",
		[f]="\'register\' storage class specifier is deprecated and incompatible with C++17",
		[b]=g,
		[a]=h
	},
	["warn_deprecated_simple_assign_volatile"]={
		[c]="use of result of assignment to object of volatile-qualified type A is deprecated [-Wdeprecated-volatile]",
		[f]="use of result of assignment to object of volatile-qualified type A is deprecated",
		[b]=g,
		[a]=h
	},
	["warn_deprecated_string_literal_conversion"]={
		[c]="conversion from string literal to A is deprecated [-Wc++11-compat-deprecated-writable-strings]",
		[f]="conversion from string literal to A is deprecated",
		[b]=g,
		[a]=h
	},
	["warn_deprecated_this_capture"]={
		[c]="implicit capture of \'this\' with a capture default of \'=\' is deprecated [-Wdeprecated-this-capture]",
		[f]="implicit capture of \'this\' with a capture default of \'=\' is deprecated",
		[b]=g,
		[a]=h
	},
	["warn_deprecated_volatile_param"]={
		[c]="volatile-qualified parameter type A is deprecated [-Wdeprecated-volatile]",
		[f]="volatile-qualified parameter type A is deprecated",
		[b]=g,
		[a]=h
	},
	["warn_deprecated_volatile_return"]={
		[c]="volatile-qualified return type A is deprecated [-Wdeprecated-volatile]",
		[f]="volatile-qualified return type A is deprecated",
		[b]=g,
		[a]=h
	},
	["warn_deprecated_volatile_structured_binding"]={
		[c]="volatile qualifier in structured binding declaration is deprecated [-Wdeprecated-volatile]",
		[f]="volatile qualifier in structured binding declaration is deprecated",
		[b]=g,
		[a]=h
	},
	["warn_dereference_of_noderef_type"]={
		[c]="dereferencing A; was declared with a \'noderef\' type [-Wnoderef]",
		[f]="dereferencing A; was declared with a \'noderef\' type",
		[b]=g,
		[a]=h
	},
	["warn_dereference_of_noderef_type_no_decl"]={
		[c]="dereferencing expression marked as \'noderef\' [-Wnoderef]",
		[f]="dereferencing expression marked as \'noderef\'",
		[b]=g,
		[a]=h
	},
	["warn_diagnose_if_succeeded"]={
		[c]="A [-Wuser-defined-warnings]",
		[f]=J,
		[b]=g,
		[a]=h
	},
	["warn_direct_initialize_call"]={
		[c]="explicit call to +initialize results in duplicate call to +initialize [-Wexplicit-initialize-call]",
		[f]="explicit call to +initialize results in duplicate call to +initialize",
		[b]=g,
		[a]=h
	},
	["warn_direct_ivar_access"]={
		[c]="instance variable A is being directly accessed [-Wdirect-ivar-access]",
		[f]="instance variable A is being directly accessed",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_direct_super_initialize_call"]={
		[c]="explicit call to [super initialize] should only be in implementation of +initialize [-Wexplicit-initialize-call]",
		[f]="explicit call to [super initialize] should only be in implementation of +initialize",
		[b]=g,
		[a]=h
	},
	["warn_dispatch_body_ignored"]={
		[c]="body of cpu_dispatch function will be ignored [-Wfunction-multiversion]",
		[f]="body of cpu_dispatch function will be ignored",
		[b]=g,
		[a]=h
	},
	["warn_division_sizeof_array"]={
		[c]="expression does not compute the number of elements in this array; element type is A, not B [-Wsizeof-array-div]",
		[f]="expression does not compute the number of elements in this array; element type is A, not B",
		[b]=g,
		[a]=h
	},
	["warn_division_sizeof_ptr"]={
		[c]="\'A\' will return the size of the pointer, not the array itself [-Wsizeof-pointer-div]",
		[f]="\'A\' will return the size of the pointer, not the array itself",
		[b]=g,
		[a]=h
	},
	["warn_dllimport_dropped_from_inline_function"]={
		[c]="A redeclared inline; B attribute ignored [-Wignored-attributes]",
		[f]="A redeclared inline; B attribute ignored",
		[b]=g,
		[a]=h
	},
	["warn_doc_api_container_decl_mismatch"]={
		[c]="\'......\' command should not be used in a comment attached to a non-... declaration [-Wdocumentation]",
		[f]={x,{Nb,Qb},{o,B,nd,r,v},"\' command should not be used in a comment attached to a non-",{o,B,nd,r,v}," declaration"},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_doc_block_command_duplicate"]={
		[c]="duplicated command \'...B\' [-Wdocumentation]",
		[f]={"duplicated command \'",{Nb,Qb},"B\'"},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_doc_block_command_empty_paragraph"]={
		[c]="empty paragraph passed to \'...B\' command [-Wdocumentation]",
		[f]={"empty paragraph passed to \'",{Nb,Qb},"B\' command"},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_doc_container_decl_mismatch"]={
		[c]="\'......\' command should not be used in a comment attached to a non-container declaration [-Wdocumentation]",
		[f]={x,{Nb,Qb},{"classdesign","coclass","dependency","helper","helperclass","helps","instancesize","ownership","performance","security","superclass"},"\' command should not be used in a comment attached to a non-container declaration"},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_doc_deprecated_not_sync"]={
		[c]="declaration is marked with \'...deprecated\' command but does not have a deprecation attribute [-Wdocumentation-deprecated-sync]",
		[f]={"declaration is marked with \'",{Nb,Qb},"deprecated\' command but does not have a deprecation attribute"},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_doc_function_method_decl_mismatch"]={
		[c]="\'......\' command should be used in a comment attached to ... declaration [-Wdocumentation]",
		[f]={x,{Nb,Qb},{m,"functiongroup",u,"methodgroup","callback"},"\' command should be used in a comment attached to ",{"a function","a function","an Objective-C method","an Objective-C method","a pointer to function"}," declaration"},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_doc_html_end_forbidden"]={
		[c]="HTML end tag \'A\' is forbidden [-Wdocumentation-html]",
		[f]="HTML end tag \'A\' is forbidden",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_doc_html_end_unbalanced"]={
		[c]="HTML end tag does not match any start tag [-Wdocumentation-html]",
		[f]="HTML end tag does not match any start tag",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_doc_html_missing_end_tag"]={
		[c]="HTML tag \'A\' requires an end tag [-Wdocumentation-html]",
		[f]="HTML tag \'A\' requires an end tag",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_doc_html_start_end_mismatch"]={
		[c]="HTML start tag \'A\' closed by \'B\' [-Wdocumentation-html]",
		[f]="HTML start tag \'A\' closed by \'B\'",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_doc_html_start_tag_expected_ident_or_greater"]={
		[c]="HTML start tag prematurely ended, expected attribute name or \'>\' [-Wdocumentation]",
		[f]="HTML start tag prematurely ended, expected attribute name or \'>\'",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_doc_html_start_tag_expected_quoted_string"]={
		[c]="expected quoted string after equals sign [-Wdocumentation]",
		[f]="expected quoted string after equals sign",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_doc_inline_command_not_enough_arguments"]={
		[c]="\'...B\' command has no word argumentC, expected D [-Wdocumentation]",
		[f]={x,{Nb,Qb},"B\' command has ",{fb,Bc}," word argumentC, expected D"},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_doc_param_duplicate"]={
		[c]="parameter \'A\' is already documented [-Wdocumentation]",
		[f]="parameter \'A\' is already documented",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_doc_param_invalid_direction"]={
		[c]="unrecognized parameter passing direction, valid directions are \'[in]\', \'[out]\' and \'[in,out]\' [-Wdocumentation]",
		[f]="unrecognized parameter passing direction, valid directions are \'[in]\', \'[out]\' and \'[in,out]\'",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_doc_param_not_attached_to_a_function_decl"]={
		[c]="\'...param\' command used in a comment that is not attached to a function declaration [-Wdocumentation]",
		[f]={x,{Nb,Qb},"param\' command used in a comment that is not attached to a function declaration"},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_doc_param_not_found"]={
		[c]="parameter \'A\' not found in the function declaration [-Wdocumentation]",
		[f]="parameter \'A\' not found in the function declaration",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_doc_param_spaces_in_direction"]={
		[c]="whitespace is not allowed in parameter passing direction [-Wdocumentation-pedantic]",
		[f]="whitespace is not allowed in parameter passing direction",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_doc_returns_attached_to_a_void_function"]={
		[c]="\'...B\' command used in a comment that is attached to a ... [-Wdocumentation]",
		[f]={x,{Nb,Qb},"B\' command used in a comment that is attached to a ",{"function returning void",n,p,"method returning void"}},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_doc_returns_not_attached_to_a_function_decl"]={
		[c]="\'...B\' command used in a comment that is not attached to a function or method declaration [-Wdocumentation]",
		[f]={x,{Nb,Qb},"B\' command used in a comment that is not attached to a function or method declaration"},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_doc_tparam_duplicate"]={
		[c]="template parameter \'A\' is already documented [-Wdocumentation]",
		[f]="template parameter \'A\' is already documented",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_doc_tparam_not_attached_to_a_template_decl"]={
		[c]="\'...tparam\' command used in a comment that is not attached to a template declaration [-Wdocumentation]",
		[f]={x,{Nb,Qb},"tparam\' command used in a comment that is not attached to a template declaration"},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_doc_tparam_not_found"]={
		[c]="template parameter \'A\' not found in the template declaration [-Wdocumentation]",
		[f]="template parameter \'A\' not found in the template declaration",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_double_const_requires_fp64"]={
		[c]="double precision constant requires ..., casting to single precision",
		[f]={"double precision constant requires ",{"cl_khr_fp64","cl_khr_fp64 and __opencl_c_fp64"},", casting to single precision"},
		[b]=g,
		[a]=h
	},
	["warn_double_lock"]={
		[c]="acquiring A \'B\' that is already held [-Wthread-safety-analysis]",
		[f]="acquiring A \'B\' that is already held",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_drv_assuming_mfloat_abi_is"]={
		[c]="unknown platform, assuming -mfloat-abi=A",
		[b]=g,
		[a]=h
	},
	["warn_drv_avr_family_linking_stdlibs_not_implemented"]={
		[c]="support for linking stdlibs for microcontroller \'A\' is not implemented [-Wavr-rtlib-linking-quirks]",
		[f]="support for linking stdlibs for microcontroller \'A\' is not implemented",
		[b]=g,
		[a]=h
	},
	["warn_drv_avr_libc_not_found"]={
		[c]="no avr-libc installation can be found on the system, cannot link standard libraries [-Wavr-rtlib-linking-quirks]",
		[f]="no avr-libc installation can be found on the system, cannot link standard libraries",
		[b]=g,
		[a]=h
	},
	["warn_drv_avr_linker_section_addresses_not_implemented"]={
		[c]="support for passing the data section address to the linker for microcontroller \'A\' is not implemented [-Wavr-rtlib-linking-quirks]",
		[f]="support for passing the data section address to the linker for microcontroller \'A\' is not implemented",
		[b]=g,
		[a]=h
	},
	["warn_drv_avr_mcu_not_specified"]={
		[c]="no target microcontroller specified on command line, cannot link standard libraries, please pass -mmcu=<mcu name> [-Wavr-rtlib-linking-quirks]",
		[f]="no target microcontroller specified on command line, cannot link standard libraries, please pass -mmcu=<mcu name>",
		[b]=g,
		[a]=h
	},
	["warn_drv_avr_stdlib_not_linked"]={
		[c]="standard library not linked and so no interrupt vector table or compiler runtime routines will be linked [-Wavr-rtlib-linking-quirks]",
		[f]="standard library not linked and so no interrupt vector table or compiler runtime routines will be linked",
		[b]=g,
		[a]=h
	},
	["warn_drv_clang_unsupported"]={
		[c]="the clang compiler does not support \'A\'",
		[b]=g,
		[a]=h
	},
	["warn_drv_darwin_sdk_invalid_settings"]={
		[c]="SDK settings were ignored as \'SDKSettings.json\' could not be parsed [-Wdarwin-sdk-settings]",
		[f]="SDK settings were ignored as \'SDKSettings.json\' could not be parsed",
		[b]=g,
		[a]=h
	},
	["warn_drv_deprecated_arg"]={
		[c]="argument \'A\' is deprecated, use \'B\' instead [-Wdeprecated]",
		[f]="argument \'A\' is deprecated, use \'B\' instead",
		[b]=g,
		[a]=h
	},
	["warn_drv_diagnostics_hotness_requires_pgo"]={
		[c]="argument \'A\' requires profile-guided optimization information [-Wunused-command-line-argument]",
		[f]="argument \'A\' requires profile-guided optimization information",
		[b]=g,
		[a]=h
	},
	["warn_drv_diagnostics_misexpect_requires_pgo"]={
		[c]="argument \'A\' requires profile-guided optimization information [-Wunused-command-line-argument]",
		[f]="argument \'A\' requires profile-guided optimization information",
		[b]=g,
		[a]=h
	},
	["warn_drv_disabling_vptr_no_rtti_default"]={
		[c]="implicitly disabling vptr sanitizer because rtti wasn\'t enabled [-Wauto-disable-vptr-sanitizer]",
		[f]="implicitly disabling vptr sanitizer because rtti wasn\'t enabled",
		[b]=g,
		[a]=h
	},
	["warn_drv_dwarf_version_limited_by_target"]={
		[c]="debug information option \'A\' is not supported; requires DWARF-C but target \'B\' only provides DWARF-D [-Wunsupported-target-opt]",
		[f]="debug information option \'A\' is not supported; requires DWARF-C but target \'B\' only provides DWARF-D",
		[b]=g,
		[a]=h
	},
	["warn_drv_dxc_missing_dxv"]={
		[c]="dxv not found. Resulting DXIL will not be validated or signed for use in release environments. [-Wdxil-validation]",
		[f]="dxv not found. Resulting DXIL will not be validated or signed for use in release environments.",
		[b]=g,
		[a]=h
	},
	["warn_drv_empty_joined_argument"]={
		[c]="joined argument expects additional value: \'A\' [-Wunused-command-line-argument]",
		[f]="joined argument expects additional value: \'A\'",
		[b]=g,
		[a]=h
	},
	["warn_drv_fine_grained_bitfield_accesses_ignored"]={
		[c]="option \'-ffine-grained-bitfield-accesses\' cannot be enabled together with a sanitizer; flag ignored [-Woption-ignored]",
		[f]="option \'-ffine-grained-bitfield-accesses\' cannot be enabled together with a sanitizer; flag ignored",
		[b]=g,
		[a]=h
	},
	["warn_drv_fjmc_for_elf_only"]={
		[c]="-fjmc works only for ELF; option ignored [-Woption-ignored]",
		[f]="-fjmc works only for ELF; option ignored",
		[b]=g,
		[a]=h
	},
	["warn_drv_fuse_ld_path"]={
		[c]="\'-fuse-ld=\' taking a path is deprecated; use \'--ld-path=\' instead [-Wfuse-ld-path]",
		[f]="\'-fuse-ld=\' taking a path is deprecated; use \'--ld-path=\' instead",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_drv_global_isel_incomplete"]={
		[c]="-fglobal-isel support for the \'A\' architecture is incomplete [-Wglobal-isel]",
		[f]="-fglobal-isel support for the \'A\' architecture is incomplete",
		[b]=g,
		[a]=h
	},
	["warn_drv_global_isel_incomplete_opt"]={
		[c]="-fglobal-isel support is incomplete for this architecture at the current optimization level [-Wglobal-isel]",
		[f]="-fglobal-isel support is incomplete for this architecture at the current optimization level",
		[b]=g,
		[a]=h
	},
	["warn_drv_input_file_unused"]={
		[c]="A: \'B\' input unused... [-Wunused-command-line-argument]",
		[f]={"A: \'B\' input unused",{" when \'D\' is present",l}},
		[b]=g,
		[a]=h
	},
	["warn_drv_input_file_unused_by_cpp"]={
		[c]="A: \'B\' input unused in cpp mode [-Wunused-command-line-argument]",
		[f]="A: \'B\' input unused in cpp mode",
		[b]=g,
		[a]=h
	},
	["warn_drv_invalid_arch_name_with_suggestion"]={
		[c]="ignoring invalid /arch: argument \'A\'; for ...-bit expected one of C [-Wunused-command-line-argument]",
		[f]={"ignoring invalid /arch: argument \'A\'; for ",{"64","32"},"-bit expected one of C"},
		[b]=g,
		[a]=h
	},
	["warn_drv_jmc_requires_debuginfo"]={
		[c]="A requires debug info. Use B or debug options that enable debugger\'s stepping function; option ignored [-Woption-ignored]",
		[f]="A requires debug info. Use B or debug options that enable debugger\'s stepping function; option ignored",
		[b]=g,
		[a]=h
	},
	["warn_drv_libstdcxx_not_found"]={
		[c]="include path for libstdc++ headers not found; pass \'-stdlib=libc++\' on the command line to use the libc++ standard library instead [-Wstdlibcxx-not-found]",
		[f]="include path for libstdc++ headers not found; pass \'-stdlib=libc++\' on the command line to use the libc++ standard library instead",
		[b]=g,
		[a]=h
	},
	["warn_drv_loongarch_conflicting_implied_val"]={
		[c]="ignoring \'A\' as it conflicts with that implied by \'B\' (C) [-Woption-ignored]",
		[f]="ignoring \'A\' as it conflicts with that implied by \'B\' (C)",
		[b]=g,
		[a]=h
	},
	["warn_drv_missing_multilib"]={
		[c]="no multilib found matching flags: A [-Wmissing-multilib]",
		[f]="no multilib found matching flags: A",
		[b]=g,
		[a]=h
	},
	["warn_drv_missing_plugin_arg"]={
		[c]="missing plugin argument for plugin A in B [-Winvalid-command-line-argument]",
		[f]="missing plugin argument for plugin A in B",
		[b]=g,
		[a]=h
	},
	["warn_drv_missing_plugin_name"]={
		[c]="missing plugin name in A [-Winvalid-command-line-argument]",
		[f]="missing plugin name in A",
		[b]=g,
		[a]=h
	},
	["warn_drv_moutline_atomics_unsupported_opt"]={
		[c]="\'A\' does not support \'-B\'; flag ignored [-Woption-ignored]",
		[f]="\'A\' does not support \'-B\'; flag ignored",
		[b]=g,
		[a]=h
	},
	["warn_drv_moutline_unsupported_opt"]={
		[c]="\'A\' does not support \'-moutline\'; flag ignored [-Woption-ignored]",
		[f]="\'A\' does not support \'-moutline\'; flag ignored",
		[b]=g,
		[a]=h
	},
	["warn_drv_msp430_hwmult_mismatch"]={
		[c]="the given MCU supports A hardware multiply, but \'-mhwmult\' is set to B [-Winvalid-command-line-argument]",
		[f]="the given MCU supports A hardware multiply, but \'-mhwmult\' is set to B",
		[b]=g,
		[a]=h
	},
	["warn_drv_msp430_hwmult_no_device"]={
		[c]="no MCU device specified, but \'-mhwmult\' is set to \'auto\', assuming no hardware multiply; use \'-mmcu\' to specify an MSP430 device, or \'-mhwmult\' to set the hardware multiply type explicitly [-Winvalid-command-line-argument]",
		[f]="no MCU device specified, but \'-mhwmult\' is set to \'auto\', assuming no hardware multiply; use \'-mmcu\' to specify an MSP430 device, or \'-mhwmult\' to set the hardware multiply type explicitly",
		[b]=g,
		[a]=h
	},
	["warn_drv_msp430_hwmult_unsupported"]={
		[c]="the given MCU does not support hardware multiply, but \'-mhwmult\' is set to A [-Winvalid-command-line-argument]",
		[f]="the given MCU does not support hardware multiply, but \'-mhwmult\' is set to A",
		[b]=g,
		[a]=h
	},
	["warn_drv_msvc_not_found"]={
		[c]="unable to find a Visual Studio installation; try running Clang from a developer command prompt [-Wmsvc-not-found]",
		[f]="unable to find a Visual Studio installation; try running Clang from a developer command prompt",
		[b]=g,
		[a]=h
	},
	["warn_drv_multi_gpu_arch"]={
		[c]="multiple A architectures are detected: B; only the first one is used for \'C\' [-Wmulti-gpu]",
		[f]="multiple A architectures are detected: B; only the first one is used for \'C\'",
		[b]=g,
		[a]=h
	},
	["warn_drv_needs_hvx"]={
		[c]="A requires HVX, use -mhvx/-mhvx= to enable it [-Woption-ignored]",
		[f]="A requires HVX, use -mhvx/-mhvx= to enable it",
		[b]=g,
		[a]=h
	},
	["warn_drv_new_cuda_version"]={
		[c]="CUDA versionA is newer than the latest... supported version C [-Wunknown-cuda-version]",
		[f]={"CUDA versionA is newer than the latest",{l," partially"}," supported version C"},
		[b]=g,
		[a]=h
	},
	["warn_drv_no_floating_point_registers"]={
		[c]="\'A\': selected processor lacks floating point registers [-Wunsupported-abi]",
		[f]="\'A\': selected processor lacks floating point registers",
		[b]=g,
		[a]=h
	},
	["warn_drv_object_size_disabled_O0"]={
		[c]="the object size sanitizer has no effect at -O0, but is explicitly enabled: A [-Winvalid-command-line-argument]",
		[f]="the object size sanitizer has no effect at -O0, but is explicitly enabled: A",
		[b]=g,
		[a]=h
	},
	["warn_drv_omp_offload_target_duplicate"]={
		[c]="OpenMP offloading target \'A\' is similar to target \'B\' already specified; will be ignored [-Wopenmp-target]",
		[f]="OpenMP offloading target \'A\' is similar to target \'B\' already specified; will be ignored",
		[b]=g,
		[a]=h
	},
	["warn_drv_optimization_value"]={
		[c]="optimization level \'A\' is not supported; using \'BC\' instead [-Winvalid-command-line-argument]",
		[f]="optimization level \'A\' is not supported; using \'BC\' instead",
		[b]=g,
		[a]=h
	},
	["warn_drv_overriding_flag_option"]={
		[c]="overriding \'A\' option with \'B\' [-Woverriding-t-option]",
		[f]="overriding \'A\' option with \'B\'",
		[b]=g,
		[a]=h
	},
	["warn_drv_partially_supported_cuda_version"]={
		[c]="CUDA version A is only partially supported [-Wunknown-cuda-version]",
		[f]="CUDA version A is only partially supported",
		[b]=g,
		[a]=h
	},
	["warn_drv_pch_not_first_include"]={
		[c]="precompiled header \'A\' was ignored because \'B\' is not first \'-include\'",
		[b]=g,
		[a]=h
	},
	["warn_drv_potentially_misspelled_joined_argument"]={
		[c]="joined argument treated as \'A\'; did you mean \'B\'? [-Wunknown-argument]",
		[f]="joined argument treated as \'A\'; did you mean \'B\'?",
		[b]=g,
		[a]=h
	},
	["warn_drv_preprocessed_input_file_unused"]={
		[c]="A: previously preprocessed input... [-Wunused-command-line-argument]",
		[f]={"A: previously preprocessed input",{" unused when \'C\' is present",l}},
		[b]=g,
		[a]=h
	},
	["warn_drv_ps_force_pic"]={
		[c]="option \'A\' was ignored by the B toolchain, using \'-fPIC\' [-Woption-ignored]",
		[f]="option \'A\' was ignored by the B toolchain, using \'-fPIC\'",
		[b]=g,
		[a]=h
	},
	["warn_drv_sarif_format_unstable"]={
		[c]="diagnostic formatting in SARIF mode is currently unstable [-Wsarif-format-unstable]",
		[f]="diagnostic formatting in SARIF mode is currently unstable",
		[b]=g,
		[a]=h
	},
	["warn_drv_treating_input_as_cxx"]={
		[c]="treating \'A\' input as \'B\' when in C++ mode, this behavior is deprecated [-Wdeprecated]",
		[f]="treating \'A\' input as \'B\' when in C++ mode, this behavior is deprecated",
		[b]=g,
		[a]=h
	},
	["warn_drv_unable_to_find_directory_expected"]={
		[c]="unable to find A directory, expected to be in \'B\' found via C [-Winvalid-or-nonexistent-directory]",
		[f]="unable to find A directory, expected to be in \'B\' found via C",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_drv_unknown_argument_clang_cl"]={
		[c]="unknown argument ignored in clang-cl: \'A\' [-Wunknown-argument]",
		[f]="unknown argument ignored in clang-cl: \'A\'",
		[b]=g,
		[a]=h
	},
	["warn_drv_unknown_argument_clang_cl_with_suggestion"]={
		[c]="unknown argument ignored in clang-cl \'A\'; did you mean \'B\'? [-Wunknown-argument]",
		[f]="unknown argument ignored in clang-cl \'A\'; did you mean \'B\'?",
		[b]=g,
		[a]=h
	},
	["warn_drv_unsupported_debug_info_opt_for_target"]={
		[c]="debug information option \'A\' is not supported for target \'B\' [-Wunsupported-target-opt]",
		[f]="debug information option \'A\' is not supported for target \'B\'",
		[b]=g,
		[a]=h
	},
	["warn_drv_unsupported_diag_option_for_flang"]={
		[c]="The warning option \'-A\' is not supported [-Woption-ignored]",
		[f]="The warning option \'-A\' is not supported",
		[b]=g,
		[a]=h
	},
	["warn_drv_unsupported_float_abi_by_lib"]={
		[c]="float ABI \'A\' is not supported by current library [-Wunsupported-abi]",
		[f]="float ABI \'A\' is not supported by current library",
		[b]=g,
		[a]=h
	},
	["warn_drv_unsupported_gpopt"]={
		[c]="ignoring \'-mgpopt\' option as it cannot be used with ...-mabicalls [-Wunsupported-gpopt]",
		[f]={"ignoring \'-mgpopt\' option as it cannot be used with ",{l,"the implicit usage of "},"-mabicalls"},
		[b]=g,
		[a]=h
	},
	["warn_drv_unsupported_longcalls"]={
		[c]="ignoring \'-mlong-calls\' option as it is not currently supported with ...-mabicalls [-Woption-ignored]",
		[f]={"ignoring \'-mlong-calls\' option as it is not currently supported with ",{l,"the implicit usage of "},"-mabicalls"},
		[b]=g,
		[a]=h
	},
	["warn_drv_unsupported_opt_for_target"]={
		[c]="optimization flag \'A\' is not supported for target \'B\' [-Wignored-optimization-argument]",
		[f]="optimization flag \'A\' is not supported for target \'B\'",
		[b]=g,
		[a]=h
	},
	["warn_drv_unsupported_option_for_flang"]={
		[c]="the argument \'A\' is not supported for option \'B\'. Mapping to \'BC\' [-Woption-ignored]",
		[f]="the argument \'A\' is not supported for option \'B\'. Mapping to \'BC\'",
		[b]=g,
		[a]=h
	},
	["warn_drv_unsupported_option_for_offload_arch_req_feature"]={
		[c]="ignoring \'A\' option for offload arch \'B\' as it is not currently supported there. Use it with an offload arch containing \'C\' instead [-Woption-ignored]",
		[f]="ignoring \'A\' option for offload arch \'B\' as it is not currently supported there. Use it with an offload arch containing \'C\' instead",
		[b]=g,
		[a]=h
	},
	["warn_drv_unsupported_option_for_processor"]={
		[c]="ignoring \'A\' option as it is not currently supported for processor \'B\' [-Woption-ignored]",
		[f]="ignoring \'A\' option as it is not currently supported for processor \'B\'",
		[b]=g,
		[a]=h
	},
	["warn_drv_unsupported_option_for_target"]={
		[c]="ignoring \'A\' option as it is not currently supported for target \'B\' [-Woption-ignored]",
		[f]="ignoring \'A\' option as it is not currently supported for target \'B\'",
		[b]=g,
		[a]=h
	},
	["warn_drv_unsupported_pic_with_mabicalls"]={
		[c]="ignoring \'A\' option as it cannot be used with ... -mabicalls and the N64 ABI [-Woption-ignored]",
		[f]={"ignoring \'A\' option as it cannot be used with ",{"implicit usage of",l}," -mabicalls and the N64 ABI"},
		[b]=g,
		[a]=h
	},
	["warn_drv_unsupported_sdata"]={
		[c]="ignoring \'-msmall-data-limit=\' with -mcmodel=large for -fpic or RV64 [-Woption-ignored]",
		[f]="ignoring \'-msmall-data-limit=\' with -mcmodel=large for -fpic or RV64",
		[b]=g,
		[a]=h
	},
	["warn_drv_unused_argument"]={
		[c]="argument unused during compilation: \'A\' [-Wunused-command-line-argument]",
		[f]="argument unused during compilation: \'A\'",
		[b]=g,
		[a]=h
	},
	["warn_drv_unused_x"]={
		[c]="\'-x A\' after last input file has no effect [-Wunused-command-line-argument]",
		[f]="\'-x A\' after last input file has no effect",
		[b]=g,
		[a]=h
	},
	["warn_drv_yc_multiple_inputs_clang_cl"]={
		[c]="support for \'/Yc\' with more than one source file not implemented yet; flag ignored [-Wclang-cl-pch]",
		[f]="support for \'/Yc\' with more than one source file not implemented yet; flag ignored",
		[b]=g,
		[a]=h
	},
	["warn_drv_ycyu_different_arg_clang_cl"]={
		[c]="support for \'/Yc\' and \'/Yu\' with different filenames not implemented yet; flags ignored [-Wclang-cl-pch]",
		[f]="support for \'/Yc\' and \'/Yu\' with different filenames not implemented yet; flags ignored",
		[b]=g,
		[a]=h
	},
	["warn_dup_category_def"]={
		[c]="duplicate definition of category B on interface A [-Wobjc-duplicate-category-definition]",
		[f]="duplicate definition of category B on interface A",
		[b]=g,
		[a]=h
	},
	["warn_duplicate_attribute"]={
		[c]="attribute A is already applied with different arguments [-Wignored-attributes]",
		[f]="attribute A is already applied with different arguments",
		[b]=g,
		[a]=h
	},
	["warn_duplicate_attribute_exact"]={
		[c]="attribute A is already applied [-Wignored-attributes]",
		[f]="attribute A is already applied",
		[b]=g,
		[a]=h
	},
	["warn_duplicate_codeseg_attribute"]={
		[c]="duplicate code segment specifiers [-Wsection]",
		[f]="duplicate code segment specifiers",
		[b]=g,
		[a]=h
	},
	["warn_duplicate_declspec"]={
		[c]="duplicate \'A\' declaration specifier [-Wduplicate-decl-specifier]",
		[f]="duplicate \'A\' declaration specifier",
		[b]=g,
		[a]=h
	},
	["warn_duplicate_enum_values"]={
		[c]="element A has been implicitly assigned B which another element has been assigned [-Wduplicate-enum]",
		[f]="element A has been implicitly assigned B which another element has been assigned",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_duplicate_method_decl"]={
		[c]="multiple declarations of method A found and ignored [-Wduplicate-method-match]",
		[f]="multiple declarations of method A found and ignored",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_duplicate_module_file_extension"]={
		[c]="duplicate module file extension block name \'A\' [-Wmodule-file-extension]",
		[f]="duplicate module file extension block name \'A\'",
		[b]=g,
		[a]=h
	},
	["warn_duplicate_protocol_def"]={
		[c]="duplicate protocol definition of A is ignored [-Wduplicate-protocol]",
		[f]="duplicate protocol definition of A is ignored",
		[b]=g,
		[a]=h
	},
	["warn_dyn_class_memaccess"]={
		[c]="... this B call is a pointer to ...dynamic class D; vtable pointer will be ... [-Wdynamic-class-memaccess]",
		[f]={{"destination for","source of","first operand of","second operand of"}," this B call is a pointer to ",{l,"class containing a "},"dynamic class D; vtable pointer will be ",{"overwritten","copied","moved","compared"}},
		[b]=g,
		[a]=h
	},
	["warn_eagerly_load_for_standard_cplusplus_modules"]={
		[c]="the form \'-fmodule-file=<BMI-path>\' is deprecated for standard C++ named modules;consider to use \'-fmodule-file=<module-name>=<BMI-path>\' instead [-Weager-load-cxx-named-modules]",
		[f]="the form \'-fmodule-file=<BMI-path>\' is deprecated for standard C++ named modules;consider to use \'-fmodule-file=<module-name>=<BMI-path>\' instead",
		[b]=g,
		[a]=h
	},
	["warn_empty_for_body"]={
		[c]="for loop has empty body [-Wempty-body]",
		[f]="for loop has empty body",
		[b]=g,
		[a]=h
	},
	["warn_empty_format_string"]={
		[c]="format string is empty [-Wformat-zero-length]",
		[f]="format string is empty",
		[b]=g,
		[a]=h
	},
	["warn_empty_if_body"]={
		[c]="if statement has empty body [-Wempty-body]",
		[f]="if statement has empty body",
		[b]=g,
		[a]=h
	},
	["warn_empty_init_statement"]={
		[c]="empty initialization statement of \'...\' has no effect [-Wempty-init-stmt]",
		[f]={"empty initialization statement of \'",{"if","switch","range-based for"},"\' has no effect"},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_empty_parens_are_function_decl"]={
		[c]="empty parentheses interpreted as a function declaration [-Wvexing-parse]",
		[f]="empty parentheses interpreted as a function declaration",
		[b]=g,
		[a]=h
	},
	["warn_empty_range_based_for_body"]={
		[c]="range-based for loop has empty body [-Wempty-body]",
		[f]="range-based for loop has empty body",
		[b]=g,
		[a]=h
	},
	["warn_empty_switch_body"]={
		[c]="switch statement has empty body [-Wempty-body]",
		[f]="switch statement has empty body",
		[b]=g,
		[a]=h
	},
	["warn_empty_while_body"]={
		[c]="while loop has empty body [-Wempty-body]",
		[f]="while loop has empty body",
		[b]=g,
		[a]=h
	},
	["warn_enum_constant_in_bool_context"]={
		[c]="converting the enum constant to a boolean [-Wint-in-bool-context]",
		[f]="converting the enum constant to a boolean",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_enum_value_overflow"]={
		[c]="overflow in enumeration value",
		[b]=g,
		[a]=h
	},
	["warn_equality_with_extra_parens"]={
		[c]="equality comparison with extraneous parentheses [-Wparentheses-equality]",
		[f]="equality comparison with extraneous parentheses",
		[b]=g,
		[a]=h
	},
	["warn_exception_caught_by_earlier_handler"]={
		[c]="exception of type A will be caught by earlier handler [-Wexceptions]",
		[f]="exception of type A will be caught by earlier handler",
		[b]=g,
		[a]=h
	},
	["warn_exception_spec_deprecated"]={
		[c]="dynamic exception specifications are deprecated [-Wdeprecated-dynamic-exception-spec]",
		[f]="dynamic exception specifications are deprecated",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_exit_time_destructor"]={
		[c]="declaration requires an exit-time destructor [-Wexit-time-destructors]",
		[f]="declaration requires an exit-time destructor",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_expected_consistent_version_separator"]={
		[c]="use same version number separators \'_\' or \'.\'; as in \'major[.minor[.subminor]]\' [-Wavailability]",
		[f]="use same version number separators \'_\' or \'.\'; as in \'major[.minor[.subminor]]\'",
		[b]=g,
		[a]=h
	},
	["warn_expected_qualified_after_typename"]={
		[c]="expected a qualified name after \'typename\'",
		[b]=g,
		[a]=h
	},
	["warn_expecting_lock_held_on_loop"]={
		[c]="expecting A \'B\' to be held at start of each loop [-Wthread-safety-analysis]",
		[f]="expecting A \'B\' to be held at start of each loop",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_expecting_locked"]={
		[c]="expecting A \'B\' to be held at the end of function [-Wthread-safety-analysis]",
		[f]="expecting A \'B\' to be held at the end of function",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_experimental_header_unit"]={
		[c]="the implementation of header units is in an experimental phase [-Wexperimental-header-units]",
		[f]="the implementation of header units is in an experimental phase",
		[b]=g,
		[a]=h
	},
	["warn_explicit_instantiation_after_specialization"]={
		[c]="explicit instantiation of A that occurs after an explicit specialization has no effect [-Winstantiation-after-specialization]",
		[f]="explicit instantiation of A that occurs after an explicit specialization has no effect",
		[b]=g,
		[a]=h
	},
	["warn_explicit_instantiation_inline_0x"]={
		[c]="explicit instantiation cannot be \'inline\' [-Wc++11-compat]",
		[f]="explicit instantiation cannot be \'inline\'",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_explicit_instantiation_must_be_global_0x"]={
		[c]="explicit instantiation of A must occur at global scope [-Wc++11-compat]",
		[f]="explicit instantiation of A must occur at global scope",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_explicit_instantiation_out_of_scope_0x"]={
		[c]="explicit instantiation of A not in a namespace enclosing B [-Wc++11-compat]",
		[f]="explicit instantiation of A not in a namespace enclosing B",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_explicit_instantiation_unqualified_wrong_namespace_0x"]={
		[c]="explicit instantiation of A must occur in namespace B [-Wc++11-compat]",
		[f]="explicit instantiation of A must occur in namespace B",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_ext_c2x_attributes"]={
		[c]="[[]] attributes are a C2x extension [-Wc2x-extensions]",
		[f]="[[]] attributes are a C2x extension",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_ext_cxx11_attributes"]={
		[c]="[[]] attributes are a C++11 extension [-Wc++11-extensions]",
		[f]="[[]] attributes are a C++11 extension",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_ext_int_deprecated"]={
		[c]="\'_ExtInt\' is deprecated; use \'_BitInt\' instead [-Wdeprecated-type]",
		[f]="\'_ExtInt\' is deprecated; use \'_BitInt\' instead",
		[b]=g,
		[a]=h
	},
	["warn_extern_init"]={
		[c]="\'extern\' variable has an initializer [-Wextern-initializer]",
		[f]="\'extern\' variable has an initializer",
		[b]=g,
		[a]=h
	},
	["warn_extra_semi_after_mem_fn_def"]={
		[c]="extra \';\' after member function definition [-Wextra-semi]",
		[f]="extra \';\' after member function definition",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_falloff_nonvoid_coroutine"]={
		[c]="non-void coroutine does not return a value [-Wreturn-type]",
		[f]="non-void coroutine does not return a value",
		[b]=g,
		[a]=h
	},
	["warn_falloff_nonvoid_function"]={
		[c]="non-void function does not return a value [-Wreturn-type]",
		[f]="non-void function does not return a value",
		[b]=g,
		[a]=h
	},
	["warn_falloff_nonvoid_lambda"]={
		[c]="non-void lambda does not return a value [-Wreturn-type]",
		[f]="non-void lambda does not return a value",
		[b]=g,
		[a]=h
	},
	["warn_falloff_noreturn_function"]={
		[c]="function declared \'noreturn\' should not return [-Winvalid-noreturn]",
		[f]="function declared \'noreturn\' should not return",
		[b]=g,
		[a]=h
	},
	["warn_fe_backend_frame_larger_than"]={
		[c]="A [-Wframe-larger-than]",
		[f]=J,
		[b]=g,
		[a]=h
	},
	["warn_fe_backend_invalid_feature_flag"]={
		[c]="feature flag \'A\' must start with either \'+\' to enable the feature or \'-\' to disable it; flag ignored [-Winvalid-command-line-argument]",
		[f]="feature flag \'A\' must start with either \'+\' to enable the feature or \'-\' to disable it; flag ignored",
		[b]=g,
		[a]=h
	},
	["warn_fe_backend_optimization_failure"]={
		[c]="A [-Wpass-failed]",
		[f]=J,
		[b]=g,
		[a]=h
	},
	["warn_fe_backend_plugin"]={
		[c]="A [-Wbackend-plugin]",
		[f]=J,
		[b]=g,
		[a]=h
	},
	["warn_fe_backend_readonly_feature_flag"]={
		[c]="feature flag \'A\' is ignored since the feature is read only [-Winvalid-command-line-argument]",
		[f]="feature flag \'A\' is ignored since the feature is read only",
		[b]=g,
		[a]=h
	},
	["warn_fe_backend_resource_limit"]={
		[c]="A (B) exceeds limit (C) in \'D\' [-Wbackend-plugin]",
		[f]="A (B) exceeds limit (C) in \'D\'",
		[b]=g,
		[a]=h
	},
	["warn_fe_backend_unsupported_fp_exceptions"]={
		[c]="overriding currently unsupported use of floating point exceptions on this target [-Wunsupported-floating-point-opt]",
		[f]="overriding currently unsupported use of floating point exceptions on this target",
		[b]=g,
		[a]=h
	},
	["warn_fe_backend_unsupported_fp_rounding"]={
		[c]="overriding currently unsupported rounding mode on this target [-Wunsupported-floating-point-opt]",
		[f]="overriding currently unsupported rounding mode on this target",
		[b]=g,
		[a]=h
	},
	["warn_fe_backend_warning_attr"]={
		[c]="call to \'A\' declared with \'warning\' attribute: B [-Wattribute-warning]",
		[f]="call to \'A\' declared with \'warning\' attribute: B",
		[b]=g,
		[a]=h
	},
	["warn_fe_cc_log_diagnostics_failure"]={
		[c]="unable to open CC_LOG_DIAGNOSTICS file: A (using stderr)",
		[b]=g,
		[a]=h
	},
	["warn_fe_cc_print_header_failure"]={
		[c]="unable to open CC_PRINT_HEADERS file: A (using stderr)",
		[b]=g,
		[a]=h
	},
	["warn_fe_frame_larger_than"]={
		[c]="stack frame size (A) exceeds limit (B) in \'C\' [-Wframe-larger-than]",
		[f]="stack frame size (A) exceeds limit (B) in \'C\'",
		[b]=g,
		[a]=h
	},
	["warn_fe_inline_asm"]={
		[c]="A [-Winline-asm]",
		[f]=J,
		[b]=g,
		[a]=h
	},
	["warn_fe_linking_module"]={
		[c]="linking module \'A\': B [-Wlinker-warnings]",
		[f]="linking module \'A\': B",
		[b]=g,
		[a]=h
	},
	["warn_fe_macro_contains_embedded_newline"]={
		[c]="macro \'A\' contains embedded newline; text after the newline is ignored",
		[b]=g,
		[a]=h
	},
	["warn_fe_override_module"]={
		[c]="overriding the module target triple with A [-Woverride-module]",
		[f]="overriding the module target triple with A",
		[b]=g,
		[a]=h
	},
	["warn_fe_serialized_diag_failure"]={
		[c]="unable to open file A for serializing diagnostics (B) [-Wserialized-diagnostics]",
		[f]="unable to open file A for serializing diagnostics (B)",
		[b]=g,
		[a]=h
	},
	["warn_fe_serialized_diag_failure_during_finalisation"]={
		[c]="Received warning after diagnostic serialization teardown was underway: A [-Wserialized-diagnostics]",
		[f]="Received warning after diagnostic serialization teardown was underway: A",
		[b]=g,
		[a]=h
	},
	["warn_fe_serialized_diag_merge_failure"]={
		[c]="unable to merge a subprocess\'s serialized diagnostics [-Wserialized-diagnostics]",
		[f]="unable to merge a subprocess\'s serialized diagnostics",
		[b]=g,
		[a]=h
	},
	["warn_fe_source_mgr"]={
		[c]="A [-Wsource-mgr]",
		[f]=J,
		[b]=g,
		[a]=h
	},
	["warn_fe_unable_to_open_stats_file"]={
		[c]="unable to open statistics output file \'A\': \'B\' [-Wunable-to-open-stats-file]",
		[f]="unable to open statistics output file \'A\': \'B\'",
		[b]=g,
		[a]=h
	},
	["warn_field_is_uninit"]={
		[c]="field A is uninitialized when used here [-Wuninitialized]",
		[f]="field A is uninitialized when used here",
		[b]=g,
		[a]=h
	},
	["warn_final_dtor_non_final_class"]={
		[c]="class with destructor marked \'...\' cannot be inherited from [-Wfinal-dtor-non-final-class]",
		[f]={"class with destructor marked \'",{"final","sealed"},"\' cannot be inherited from"},
		[b]=g,
		[a]=h
	},
	["warn_fixedpoint_constant_overflow"]={
		[c]="overflow in expression; result is A with type B [-Wfixed-point-overflow]",
		[f]="overflow in expression; result is A with type B",
		[b]=g,
		[a]=h
	},
	["warn_fixit_no_changes"]={
		[c]="FIX-IT detected errors it could not fix; no output will be generated",
		[b]=i,
		[a]=j
	},
	["warn_flag_enum_constant_out_of_range"]={
		[c]="enumeration value A is out of range of flags in enumeration type B [-Wflag-enum]",
		[f]="enumeration value A is out of range of flags in enumeration type B",
		[b]=g,
		[a]=h
	},
	["warn_float_compare_literal"]={
		[c]="floating-point comparison is always ...; constant cannot be represented exactly in type B [-Wliteral-range]",
		[f]={"floating-point comparison is always ",{Tb,Vb},"; constant cannot be represented exactly in type B"},
		[b]=g,
		[a]=h
	},
	["warn_float_overflow"]={
		[c]="magnitude of floating-point constant too large for type A; maximum is B [-Wliteral-range]",
		[f]="magnitude of floating-point constant too large for type A; maximum is B",
		[b]=g,
		[a]=h
	},
	["warn_float_underflow"]={
		[c]="magnitude of floating-point constant too small for type A; minimum is B [-Wliteral-range]",
		[f]="magnitude of floating-point constant too small for type A; minimum is B",
		[b]=g,
		[a]=h
	},
	["warn_floatingpoint_eq"]={
		[c]="comparing floating point with == or != is unsafe [-Wfloat-equal]",
		[f]="comparing floating point with == or != is unsafe",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_for_range_begin_end_types_differ"]={
		[c]="\'begin\' and \'end\' returning different types (A and B) is incompatible with C++ standards before C++17 [-Wpre-c++17-compat]",
		[f]="\'begin\' and \'end\' returning different types (A and B) is incompatible with C++ standards before C++17",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_for_range_const_ref_binds_temp_built_from_ref"]={
		[c]="loop variable A of type B binds to a temporary constructed from type C [-Wrange-loop-construct]",
		[f]={"loop variable A ",{"of type B binds to a temporary constructed from type C","binds to a temporary constructed from a different type"}},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_for_range_copy"]={
		[c]="loop variable A creates a copy from type B [-Wrange-loop-construct]",
		[f]="loop variable A creates a copy from type B",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_for_range_ref_binds_ret_temp"]={
		[c]="loop variable A binds to a temporary value produced by a range of type B [-Wrange-loop-bind-reference]",
		[f]="loop variable A binds to a temporary value produced by a range of type B",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_format_P_no_precision"]={
		[c]="using \'%P\' format specifier without precision [-Wformat]",
		[f]="using \'%P\' format specifier without precision",
		[b]=g,
		[a]=h
	},
	["warn_format_argument_needs_cast"]={
		[c]="... \'A\' should not be used as format arguments; add an explicit cast to B instead [-Wformat]",
		[f]={{"values of type","enum values with underlying type"}," \'A\' should not be used as format arguments; add an explicit cast to B instead"},
		[b]=g,
		[a]=h
	},
	["warn_format_argument_needs_cast_pedantic"]={
		[c]="... \'A\' should not be used as format arguments; add an explicit cast to B instead [-Wformat-pedantic]",
		[f]={{"values of type","enum values with underlying type"}," \'A\' should not be used as format arguments; add an explicit cast to B instead"},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_format_bool_as_character"]={
		[c]="using \'A\' format specifier, but argument has boolean value [-Wformat]",
		[f]="using \'A\' format specifier, but argument has boolean value",
		[b]=g,
		[a]=h
	},
	["warn_format_conversion_argument_type_mismatch"]={
		[c]="format specifies type A but the argument has ... B [-Wformat]",
		[f]={"format specifies type A but the argument has ",{a,"underlying type"},X},
		[b]=g,
		[a]=h
	},
	["warn_format_conversion_argument_type_mismatch_confusion"]={
		[c]="format specifies type A but the argument has ... B [-Wformat-type-confusion]",
		[f]={"format specifies type A but the argument has ",{a,"underlying type"},X},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_format_conversion_argument_type_mismatch_pedantic"]={
		[c]="format specifies type A but the argument has ... B [-Wformat-pedantic]",
		[f]={"format specifies type A but the argument has ",{a,"underlying type"},X},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_format_invalid_annotation"]={
		[c]="using \'A\' format specifier annotation outside of os_log()/os_trace() [-Wformat]",
		[f]="using \'A\' format specifier annotation outside of os_log()/os_trace()",
		[b]=g,
		[a]=h
	},
	["warn_format_invalid_conversion"]={
		[c]="invalid conversion specifier \'A\' [-Wformat-invalid-specifier]",
		[f]="invalid conversion specifier \'A\'",
		[b]=g,
		[a]=h
	},
	["warn_format_invalid_positional_specifier"]={
		[c]="invalid position specified for ... [-Wformat]",
		[f]={"invalid position specified for ",{"field width","field precision"}},
		[b]=g,
		[a]=h
	},
	["warn_format_mix_positional_nonpositional_args"]={
		[c]="cannot mix positional and non-positional arguments in format string [-Wformat]",
		[f]="cannot mix positional and non-positional arguments in format string",
		[b]=g,
		[a]=h
	},
	["warn_format_non_standard"]={
		[c]="\'A\' ... is not supported by ISO C [-Wformat-non-iso]",
		[f]={"\'A\' ",{"length modifier","conversion specifier"}," is not supported by ISO C"},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_format_non_standard_conversion_spec"]={
		[c]="using length modifier \'A\' with conversion specifier \'B\' is not supported by ISO C [-Wformat-non-iso]",
		[f]="using length modifier \'A\' with conversion specifier \'B\' is not supported by ISO C",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_format_non_standard_positional_arg"]={
		[c]="positional arguments are not supported by ISO C [-Wformat-non-iso]",
		[f]="positional arguments are not supported by ISO C",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_format_nonliteral"]={
		[c]="format string is not a string literal [-Wformat-nonliteral]",
		[f]="format string is not a string literal",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_format_nonliteral_noargs"]={
		[c]="format string is not a string literal (potentially insecure) [-Wformat-security]",
		[f]="format string is not a string literal (potentially insecure)",
		[b]=g,
		[a]=h
	},
	["warn_format_nonsensical_length"]={
		[c]="length modifier \'A\' results in undefined behavior or no effect with \'B\' conversion specifier [-Wformat]",
		[f]="length modifier \'A\' results in undefined behavior or no effect with \'B\' conversion specifier",
		[b]=g,
		[a]=h
	},
	["warn_format_string_is_wide_literal"]={
		[c]="format string should not be a wide string [-Wformat]",
		[f]="format string should not be a wide string",
		[b]=g,
		[a]=h
	},
	["warn_format_zero_positional_specifier"]={
		[c]="position arguments in format strings start counting at 1 (not 0) [-Wformat]",
		[f]="position arguments in format strings start counting at 1 (not 0)",
		[b]=g,
		[a]=h
	},
	["warn_fortify_scanf_overflow"]={
		[c]="\'A\' may overflow; destination buffer in argument B has size C, but the corresponding specifier may require size D [-Wfortify-source]",
		[f]="\'A\' may overflow; destination buffer in argument B has size C, but the corresponding specifier may require size D",
		[b]=g,
		[a]=h
	},
	["warn_fortify_source_format_overflow"]={
		[c]="\'A\' will always overflow; destination buffer has size B, but format string expands to at least C [-Wfortify-source]",
		[f]="\'A\' will always overflow; destination buffer has size B, but format string expands to at least C",
		[b]=g,
		[a]=h
	},
	["warn_fortify_source_overflow"]={
		[c]="\'A\' will always overflow; destination buffer has size B, but size argument is C [-Wfortify-source]",
		[f]="\'A\' will always overflow; destination buffer has size B, but size argument is C",
		[b]=g,
		[a]=h
	},
	["warn_fortify_source_size_mismatch"]={
		[c]="\'A\' size argument is too large; destination buffer has size B, but size argument is C [-Wfortify-source]",
		[f]="\'A\' size argument is too large; destination buffer has size B, but size argument is C",
		[b]=g,
		[a]=h
	},
	["warn_fortify_strlen_overflow"]={
		[c]="\'A\' will always overflow; destination buffer has size B, but the source string has length C (including NUL byte) [-Wfortify-source]",
		[f]="\'A\' will always overflow; destination buffer has size B, but the source string has length C (including NUL byte)",
		[b]=g,
		[a]=h
	},
	["warn_forward_class_redefinition"]={
		[c]="redefinition of forward class A of a typedef name of an object type is ignored [-Wobjc-forward-class-redefinition]",
		[f]="redefinition of forward class A of a typedef name of an object type is ignored",
		[b]=g,
		[a]=h
	},
	["warn_four_char_character_literal"]={
		[c]="multi-character character constant [-Wfour-char-constants]",
		[f]="multi-character character constant",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_frame_address"]={
		[c]="calling \'A\' with a nonzero argument is unsafe [-Wframe-address]",
		[f]="calling \'A\' with a nonzero argument is unsafe",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_framework_include_private_from_public"]={
		[c]="public framework header includes private framework header \'A\' [-Wframework-include-private-from-public]",
		[f]="public framework header includes private framework header \'A\'",
		[b]=g,
		[a]=h
	},
	["warn_free_nonheap_object"]={
		[c]="attempt to call A on non-heap ... [-Wfree-nonheap-object]",
		[f]={"attempt to call A on non-heap ",{"object C","object: block expression","object: lambda-to-function-pointer conversion"}},
		[b]=g,
		[a]=h
	},
	["warn_fun_excludes_mutex"]={
		[c]="cannot call function \'B\' while A \'C\' is held [-Wthread-safety-analysis]",
		[f]="cannot call function \'B\' while A \'C\' is held",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_fun_requires_lock"]={
		[c]="calling function B requires holding A ... [-Wthread-safety-analysis]",
		[f]={"calling function B requires holding A ",{bd,od}},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_fun_requires_lock_precise"]={
		[c]="calling function B requires holding A ... [-Wthread-safety-precise]",
		[f]={"calling function B requires holding A ",{bd,od}},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_fun_requires_negative_cap"]={
		[c]="calling function A requires negative capability \'B\' [-Wthread-safety-analysis]",
		[f]="calling function A requires negative capability \'B\'",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_func_template_missing"]={
		[c]="instantiation of function A required here, but no definition is available [-Wundefined-func-template]",
		[f]="instantiation of function A required here, but no definition is available",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_function_attribute_ignored_in_stmt"]={
		[c]="attribute is ignored on this statement as it only applies to functions; use \'A\' on statements [-Wignored-attributes]",
		[f]="attribute is ignored on this statement as it only applies to functions; use \'A\' on statements",
		[b]=g,
		[a]=h
	},
	["warn_function_def_in_objc_container"]={
		[c]="function definition inside an Objective-C container is deprecated [-Wfunction-def-in-objc-container]",
		[f]="function definition inside an Objective-C container is deprecated",
		[b]=g,
		[a]=h
	},
	["warn_function_stmt_attribute_precedence"]={
		[c]="statement attribute A has higher precedence than function attribute \'...\' [-Wignored-attributes]",
		[f]={"statement attribute A has higher precedence than function attribute \'",{"always_inline","flatten","noinline"},x},
		[b]=g,
		[a]=h
	},
	["warn_gc_attribute_weak_on_local"]={
		[c]="Objective-C GC does not allow weak variables on the stack [-Wignored-attributes]",
		[f]="Objective-C GC does not allow weak variables on the stack",
		[b]=g,
		[a]=h
	},
	["warn_gcc_attribute_location"]={
		[c]="GCC does not allow an attribute in this position on a function declaration [-Wgcc-compat]",
		[f]="GCC does not allow an attribute in this position on a function declaration",
		[b]=g,
		[a]=h
	},
	["warn_gcc_ignores_type_attr"]={
		[c]="GCC does not allow the A attribute to be written on a type [-Wgcc-compat]",
		[f]="GCC does not allow the A attribute to be written on a type",
		[b]=g,
		[a]=h
	},
	["warn_gcc_requires_variadic_function"]={
		[c]="GCC requires a function with the A attribute to be variadic [-Wgcc-compat]",
		[f]="GCC requires a function with the A attribute to be variadic",
		[b]=g,
		[a]=h
	},
	["warn_gcc_variable_decl_in_for_loop"]={
		[c]="GCC does not allow variable declarations in for loop initializers before C99 [-Wgcc-compat]",
		[f]="GCC does not allow variable declarations in for loop initializers before C99",
		[b]=g,
		[a]=h
	},
	["warn_global_constructor"]={
		[c]="declaration requires a global constructor [-Wglobal-constructors]",
		[f]="declaration requires a global constructor",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_global_destructor"]={
		[c]="declaration requires a global destructor [-Wglobal-constructors]",
		[f]="declaration requires a global destructor",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_gnu_inline_attribute_requires_inline"]={
		[c]="\'gnu_inline\' attribute requires function to be marked \'inline\', attribute ignored [-Wignored-attributes]",
		[f]="\'gnu_inline\' attribute requires function to be marked \'inline\', attribute ignored",
		[b]=g,
		[a]=h
	},
	["warn_gnu_inline_cplusplus_without_extern"]={
		[c]="\'gnu_inline\' attribute without \'extern\' in C++ treated as externally available, this changed in Clang 10 [-Wgnu-inline-cpp-without-extern]",
		[f]="\'gnu_inline\' attribute without \'extern\' in C++ treated as externally available, this changed in Clang 10",
		[b]=g,
		[a]=h
	},
	["warn_gnu_null_ptr_arith"]={
		[c]="arithmetic on a null pointer treated as a cast from integer to pointer is a GNU extension [-Wgnu-null-pointer-arithmetic]",
		[f]="arithmetic on a null pointer treated as a cast from integer to pointer is a GNU extension",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_guarded_pass_by_reference"]={
		[c]="passing variable B by reference requires holding A ... [-Wthread-safety-reference]",
		[f]={"passing variable B by reference requires holding A ",{bd,od}},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_has_warning_invalid_option"]={
		[c]="__has_warning expected option name (e.g. \"-Wundef\") [-Wmalformed-warning-check]",
		[f]="__has_warning expected option name (e.g. \"-Wundef\")",
		[b]=g,
		[a]=h
	},
	["warn_header_guard"]={
		[c]="A is used as a header guard here, followed by #define of a different macro [-Wheader-guard]",
		[f]="A is used as a header guard here, followed by #define of a different macro",
		[b]=g,
		[a]=h
	},
	["warn_hip_omp_target_directives"]={
		[c]="HIP does not support OpenMP target directives; directive has been ignored [-Whip-omp-target-directives]",
		[f]="HIP does not support OpenMP target directives; directive has been ignored",
		[b]=d,
		[a]=q
	},
	["warn_iboutlet_object_type"]={
		[c]="... with A attribute must be an object type (invalid B) [-Winvalid-iboutlet]",
		[f]={{Wc,db}," with A attribute must be an object type (invalid B)"},
		[b]=g,
		[a]=h
	},
	["warn_iboutletcollection_property_assign"]={
		[c]="IBOutletCollection properties should be copy/strong and not assign [-Winvalid-iboutlet]",
		[f]="IBOutletCollection properties should be copy/strong and not assign",
		[b]=g,
		[a]=h
	},
	["warn_identity_field_assign"]={
		[c]="assigning ... to itself [-Wself-assign-field]",
		[f]={"assigning ",{uc,Wc}," to itself"},
		[b]=g,
		[a]=h
	},
	["warn_ignored_clang_option"]={
		[c]="the flag \'A\' has been deprecated and will be ignored [-Wunused-command-line-argument]",
		[f]="the flag \'A\' has been deprecated and will be ignored",
		[b]=g,
		[a]=h
	},
	["warn_ignored_gcc_optimization"]={
		[c]="optimization flag \'A\' is not supported [-Wignored-optimization-argument]",
		[f]="optimization flag \'A\' is not supported",
		[b]=g,
		[a]=h
	},
	["warn_ignored_hip_only_option"]={
		[c]="\'A\' is ignored since it is only supported for HIP [-Whip-only]",
		[f]="\'A\' is ignored since it is only supported for HIP",
		[b]=g,
		[a]=h
	},
	["warn_ignored_ms_inheritance"]={
		[c]="inheritance model ignored on ... [-Wignored-attributes]",
		[f]={"inheritance model ignored on ",{"primary template","partial specialization"}},
		[b]=g,
		[a]=h
	},
	["warn_ignored_objc_externally_retained"]={
		[c]="\'objc_externally_retained\' can only be applied to local variables ... [-Wignored-attributes]",
		[f]={"\'objc_externally_retained\' can only be applied to local variables ",{"of retainable type","with strong ownership"}},
		[b]=g,
		[a]=h
	},
	["warn_ignoring_fdiscard_for_bitcode"]={
		[c]="ignoring -fdiscard-value-names for LLVM Bitcode [-Wunused-command-line-argument]",
		[f]="ignoring -fdiscard-value-names for LLVM Bitcode",
		[b]=g,
		[a]=h
	},
	["warn_ignoring_ftabstop_value"]={
		[c]="ignoring invalid -ftabstop value \'A\', using default value B",
		[b]=g,
		[a]=h
	},
	["warn_ignoring_verify_debuginfo_preserve_export"]={
		[c]="ignoring -fverify-debuginfo-preserve-export=A because -fverify-debuginfo-preserve wasn\'t enabled [-Wunused-command-line-argument]",
		[f]="ignoring -fverify-debuginfo-preserve-export=A because -fverify-debuginfo-preserve wasn\'t enabled",
		[b]=g,
		[a]=h
	},
	["warn_imp_cast_drops_unaligned"]={
		[c]="implicit cast from type A to type B drops __unaligned qualifier [-Wunaligned-qualifier-implicit-cast]",
		[f]="implicit cast from type A to type B drops __unaligned qualifier",
		[b]=g,
		[a]=h
	},
	["warn_impcast_bitfield_precision_constant"]={
		[c]="implicit truncation from C to bit-field changes value from A to B [-Wbitfield-constant-conversion]",
		[f]="implicit truncation from C to bit-field changes value from A to B",
		[b]=g,
		[a]=h
	},
	["warn_impcast_bool_to_null_pointer"]={
		[c]="initialization of pointer of type A to null from a constant boolean expression [-Wbool-conversion]",
		[f]="initialization of pointer of type A to null from a constant boolean expression",
		[b]=g,
		[a]=h
	},
	["warn_impcast_complex_scalar"]={
		[c]="implicit conversion discards imaginary component: A to B [-Wconversion]",
		[f]="implicit conversion discards imaginary component: A to B",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_impcast_constant_value_to_objc_bool"]={
		[c]="implicit conversion from constant value A to \'BOOL\'; the only well defined values for \'BOOL\' are YES and NO [-Wobjc-bool-constant-conversion]",
		[f]="implicit conversion from constant value A to \'BOOL\'; the only well defined values for \'BOOL\' are YES and NO",
		[b]=g,
		[a]=h
	},
	["warn_impcast_different_enum_types"]={
		[c]="implicit conversion from enumeration type A to different enumeration type B [-Wenum-conversion]",
		[f]="implicit conversion from enumeration type A to different enumeration type B",
		[b]=g,
		[a]=h
	},
	["warn_impcast_double_promotion"]={
		[c]="implicit conversion increases floating-point precision: A to B [-Wdouble-promotion]",
		[f]="implicit conversion increases floating-point precision: A to B",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_impcast_fixed_point_range"]={
		[c]="implicit conversion from A cannot fit within the range of values for B [-Wimplicit-fixed-point-conversion]",
		[f]="implicit conversion from A cannot fit within the range of values for B",
		[b]=g,
		[a]=h
	},
	["warn_impcast_float_integer"]={
		[c]="implicit conversion turns floating-point number into integer: A to B [-Wfloat-conversion]",
		[f]="implicit conversion turns floating-point number into integer: A to B",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_impcast_float_precision"]={
		[c]="implicit conversion loses floating-point precision: A to B [-Wimplicit-float-conversion]",
		[f]="implicit conversion loses floating-point precision: A to B",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_impcast_float_result_precision"]={
		[c]="implicit conversion when assigning computation result loses floating-point precision: A to B [-Wimplicit-float-conversion]",
		[f]="implicit conversion when assigning computation result loses floating-point precision: A to B",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_impcast_float_to_integer"]={
		[c]="implicit conversion from A to B changes value from C to D [-Wfloat-overflow-conversion]",
		[f]="implicit conversion from A to B changes value from C to D",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_impcast_float_to_integer_out_of_range"]={
		[c]="implicit conversion of out of range value from A to B is undefined [-Wfloat-overflow-conversion]",
		[f]="implicit conversion of out of range value from A to B is undefined",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_impcast_float_to_integer_zero"]={
		[c]="implicit conversion from A to B changes non-zero value from C to D [-Wfloat-zero-conversion]",
		[f]="implicit conversion from A to B changes non-zero value from C to D",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_impcast_float_to_objc_signed_char_bool"]={
		[c]="implicit conversion from floating-point type A to \'BOOL\' [-Wobjc-signed-char-bool-implicit-float-conversion]",
		[f]="implicit conversion from floating-point type A to \'BOOL\'",
		[b]=g,
		[a]=h
	},
	["warn_impcast_floating_point_to_bool"]={
		[c]="implicit conversion turns floating-point number into bool: A to B [-Wimplicit-conversion-floating-point-to-bool]",
		[f]="implicit conversion turns floating-point number into bool: A to B",
		[b]=g,
		[a]=h
	},
	["warn_impcast_high_order_zero_bits"]={
		[c]="higher order bits are zeroes after implicit conversion [-Wimplicit-int-conversion]",
		[f]="higher order bits are zeroes after implicit conversion",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_impcast_int_to_objc_signed_char_bool"]={
		[c]="implicit conversion from integral type A to \'BOOL\' [-Wobjc-signed-char-bool-implicit-int-conversion]",
		[f]="implicit conversion from integral type A to \'BOOL\'",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_impcast_integer_64_32"]={
		[c]="implicit conversion loses integer precision: A to B [-Wshorten-64-to-32]",
		[f]="implicit conversion loses integer precision: A to B",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_impcast_integer_float_precision"]={
		[c]="implicit conversion from A to B may lose precision [-Wimplicit-int-float-conversion]",
		[f]="implicit conversion from A to B may lose precision",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_impcast_integer_float_precision_constant"]={
		[c]="implicit conversion from C to D changes value from A to B [-Wimplicit-const-int-float-conversion]",
		[f]="implicit conversion from C to D changes value from A to B",
		[b]=g,
		[a]=h
	},
	["warn_impcast_integer_precision"]={
		[c]="implicit conversion loses integer precision: A to B [-Wimplicit-int-conversion]",
		[f]="implicit conversion loses integer precision: A to B",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_impcast_integer_precision_constant"]={
		[c]="implicit conversion from C to D changes value from A to B [-Wconstant-conversion]",
		[f]="implicit conversion from C to D changes value from A to B",
		[b]=g,
		[a]=h
	},
	["warn_impcast_integer_sign"]={
		[c]="implicit conversion changes signedness: A to B [-Wsign-conversion]",
		[f]="implicit conversion changes signedness: A to B",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_impcast_integer_sign_conditional"]={
		[c]="operand of ? changes signedness: A to B [-Wsign-conversion]",
		[f]="operand of ? changes signedness: A to B",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_impcast_literal_float_to_integer"]={
		[c]="implicit conversion from A to B changes value from C to D [-Wliteral-conversion]",
		[f]="implicit conversion from A to B changes value from C to D",
		[b]=g,
		[a]=h
	},
	["warn_impcast_literal_float_to_integer_out_of_range"]={
		[c]="implicit conversion of out of range value from A to B is undefined [-Wliteral-conversion]",
		[f]="implicit conversion of out of range value from A to B is undefined",
		[b]=g,
		[a]=h
	},
	["warn_impcast_nonnegative_result"]={
		[c]="the resulting value is always non-negative after implicit conversion [-Wsign-conversion]",
		[f]="the resulting value is always non-negative after implicit conversion",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_impcast_null_pointer_to_integer"]={
		[c]="implicit conversion of ... constant to B [-Wnull-conversion]",
		[f]={"implicit conversion of ",{"NULL","nullptr"}," constant to B"},
		[b]=g,
		[a]=h
	},
	["warn_impcast_objective_c_literal_to_bool"]={
		[c]="implicit boolean conversion of Objective-C object literal always evaluates to true [-Wobjc-literal-conversion]",
		[f]="implicit boolean conversion of Objective-C object literal always evaluates to true",
		[b]=g,
		[a]=h
	},
	["warn_impcast_pointer_to_bool"]={
		[c]="address of... \'B\' will always evaluate to \'true\' [-Wpointer-bool-conversion]",
		[f]={"address of",{l,zd," array"}," \'B\' will always evaluate to \'true\'"},
		[b]=g,
		[a]=h
	},
	["warn_impcast_single_bit_bitield_precision_constant"]={
		[c]="implicit truncation from C to a one-bit wide bit-field changes value from A to B [-Wsingle-bit-bitfield-constant-conversion]",
		[f]="implicit truncation from C to a one-bit wide bit-field changes value from A to B",
		[b]=g,
		[a]=h
	},
	["warn_impcast_string_literal_to_bool"]={
		[c]="implicit conversion turns string literal into bool: A to B [-Wstring-conversion]",
		[f]="implicit conversion turns string literal into bool: A to B",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_impcast_vector_scalar"]={
		[c]="implicit conversion turns vector to scalar: A to B [-Wconversion]",
		[f]="implicit conversion turns vector to scalar: A to B",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_impl_required_for_class_property"]={
		[c]="class property A requires method B to be defined - use @dynamic or provide a method implementation in this class implementation [-Wobjc-property-implementation]",
		[f]="class property A requires method B to be defined - use @dynamic or provide a method implementation in this class implementation",
		[b]=g,
		[a]=h
	},
	["warn_impl_required_in_category_for_class_property"]={
		[c]="class property A requires method B to be defined - use @dynamic or provide a method implementation in this category [-Wobjc-property-implementation]",
		[f]="class property A requires method B to be defined - use @dynamic or provide a method implementation in this category",
		[b]=g,
		[a]=h
	},
	["warn_implements_nscopying"]={
		[c]="default assign attribute on property A which implements NSCopying protocol is not appropriate with -fobjc-gc[-only]",
		[b]=g,
		[a]=h
	},
	["warn_implicit_atomic_property"]={
		[c]="property is assumed atomic by default [-Wimplicit-atomic-properties]",
		[f]="property is assumed atomic by default",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_implicit_decl_no_jmp_buf"]={
		[c]="declaration of built-in function \'A\' requires the declaration of the \'jmp_buf\' type, commonly provided in the header <setjmp.h>. [-Wincomplete-setjmp-declaration]",
		[f]="declaration of built-in function \'A\' requires the declaration of the \'jmp_buf\' type, commonly provided in the header <setjmp.h>.",
		[b]=g,
		[a]=h
	},
	["warn_implicit_decl_requires_sysheader"]={
		[c]="declaration of built-in function \'B\' requires inclusion of the header <A> [-Wbuiltin-requires-header]",
		[f]="declaration of built-in function \'B\' requires inclusion of the header <A>",
		[b]=g,
		[a]=h
	},
	["warn_implicit_function_decl"]={
		[c]="implicit declaration of function A [-Wimplicit-function-declaration]",
		[f]="implicit declaration of function A",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_implicitly_retains_self"]={
		[c]="block implicitly retains \'self\'; explicitly mention \'self\' to indicate this is intended behavior [-Wimplicit-retain-self]",
		[f]="block implicitly retains \'self\'; explicitly mention \'self\' to indicate this is intended behavior",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_import_on_definition"]={
		[c]="import ... cannot be applied to a function with a definition [-Wignored-attributes]",
		[f]={"import ",{Ic,"name"}," cannot be applied to a function with a definition"},
		[b]=g,
		[a]=h
	},
	["warn_inaccessible_base_class"]={
		[c]="direct base A is inaccessible due to ambiguity:B [-Winaccessible-base]",
		[f]="direct base A is inaccessible due to ambiguity:B",
		[b]=g,
		[a]=h
	},
	["warn_incompatible_analyzer_plugin_api"]={
		[c]="checker plugin \'A\' is not compatible with this version of the analyzer [-Wanalyzer-incompatible-plugin]",
		[f]="checker plugin \'A\' is not compatible with this version of the analyzer",
		[b]=g,
		[a]=h
	},
	["warn_incompatible_branch_protection_option"]={
		[c]="\'-mbranch-protection=\' option is incompatible with the \'A\' architecture [-Wbranch-protection]",
		[f]="\'-mbranch-protection=\' option is incompatible with the \'A\' architecture",
		[b]=g,
		[a]=h
	},
	["warn_incompatible_exception_specs"]={
		[c]="target exception specification is not superset of source [-Wincompatible-exception-spec]",
		[f]="target exception specification is not superset of source",
		[b]=g,
		[a]=h
	},
	["warn_incompatible_qualified_id"]={
		[c]=Rb,
		[f]={{{{"assigning to A from incompatible type B","assigning to type from incompatible type"}},{{"passing A to parameter of incompatible type B","passing type to parameter of incompatible type"}},{{"returning A from a function with incompatible result type B","returning type from a function with incompatible result type"}},{{"converting A to incompatible type B","converting type to incompatible type"}},{{"initializing A with an expression of incompatible type B","initializing type with an expression of incompatible type"}},{{"sending A to parameter of incompatible type B","sending type to parameter of incompatible type"}},{{"casting A to incompatible type B","casting type to incompatible type"}}}},
		[b]=g,
		[a]=h
	},
	["warn_incompatible_sysroot"]={
		[c]="using sysroot for \'A\' but targeting \'B\' [-Wincompatible-sysroot]",
		[f]="using sysroot for \'A\' but targeting \'B\'",
		[b]=g,
		[a]=h
	},
	["warn_incompatible_vectors"]={
		[c]="incompatible vector types ... [-Wvector-conversion]",
		[f]={"incompatible vector types ",{{{ab,G}},{{N,S}},{{T,F}},{{P,R}},{{Q,O}},{{M,L}},{{K,I}}}},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_incomplete_encoded_type"]={
		[c]="encoding of A type is incomplete because B component has unknown encoding [-Wencode-type]",
		[f]="encoding of A type is incomplete because B component has unknown encoding",
		[b]=g,
		[a]=h
	},
	["warn_inconsistent_array_form"]={
		[c]="argument A of type B with mismatched bound [-Warray-parameter]",
		[f]="argument A of type B with mismatched bound",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_inconsistent_destructor_marked_not_override_overriding"]={
		[c]="A overrides a destructor but is not marked \'override\' [-Winconsistent-missing-destructor-override]",
		[f]="A overrides a destructor but is not marked \'override\'",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_inconsistent_function_marked_not_override_overriding"]={
		[c]="A overrides a member function but is not marked \'override\' [-Winconsistent-missing-override]",
		[f]="A overrides a member function but is not marked \'override\'",
		[b]=g,
		[a]=h
	},
	["warn_increment_bool"]={
		[c]="incrementing expression of type bool is deprecated and incompatible with C++17 [-Wdeprecated-increment-bool]",
		[f]="incrementing expression of type bool is deprecated and incompatible with C++17",
		[b]=g,
		[a]=h
	},
	["warn_independentclass_attribute"]={
		[c]="\'objc_independent_class\' attribute may be put on a typedef only; attribute is ignored [-WIndependentClass-attribute]",
		[f]="\'objc_independent_class\' attribute may be put on a typedef only; attribute is ignored",
		[b]=g,
		[a]=h
	},
	["warn_indirection_through_null"]={
		[c]="indirection of non-volatile null pointer will be deleted, not trap [-Wnull-dereference]",
		[f]="indirection of non-volatile null pointer will be deleted, not trap",
		[b]=g,
		[a]=h
	},
	["warn_infinite_recursive_function"]={
		[c]="all paths through this function will call itself [-Winfinite-recursion]",
		[f]="all paths through this function will call itself",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_init_list_constant_narrowing"]={
		[c]="constant expression evaluates to A which cannot be narrowed to type B in C++11 [-Wc++11-narrowing]",
		[f]="constant expression evaluates to A which cannot be narrowed to type B in C++11",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_init_list_type_narrowing"]={
		[c]="type A cannot be narrowed to B in initializer list in C++11 [-Wc++11-narrowing]",
		[f]="type A cannot be narrowed to B in initializer list in C++11",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_init_list_variable_narrowing"]={
		[c]="non-constant-expression cannot be narrowed from type A to B in initializer list in C++11 [-Wc++11-narrowing]",
		[f]="non-constant-expression cannot be narrowed from type A to B in initializer list in C++11",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_init_ptr_member_to_parameter_addr"]={
		[c]="initializing pointer member A with the stack address of ... B [-Wdangling-field]",
		[f]={"initializing pointer member A with the stack address of ",{z,ac},X},
		[b]=g,
		[a]=h
	},
	["warn_initializer_out_of_order"]={
		[c]="... B will be initialized after ... D [-Wreorder-ctor]",
		[f]={{uc,Eb}," B will be initialized after ",{uc,"base"}," D"},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_initializer_overrides"]={
		[c]="initializer ...overrides prior initialization of this subobject [-Winitializer-overrides]",
		[f]={"initializer ",{"partially ",l},"overrides prior initialization of this subobject"},
		[b]=g,
		[a]=h
	},
	["warn_inline_namespace_reopened_noninline"]={
		[c]="inline namespace reopened as a non-inline namespace [-Winline-namespace-reopened-noninline]",
		[f]="inline namespace reopened as a non-inline namespace",
		[b]=g,
		[a]=h
	},
	["warn_inst_method_not_found"]={
		[c]="instance method A not found (return type defaults to \'id\') [-Wobjc-method-access]",
		[f]="instance method A not found (return type defaults to \'id\')",
		[b]=g,
		[a]=h
	},
	["warn_instance_method_not_found_with_typo"]={
		[c]="instance method A not found (return type defaults to \'id\'); did you mean C? [-Wobjc-method-access]",
		[f]="instance method A not found (return type defaults to \'id\'); did you mean C?",
		[b]=g,
		[a]=h
	},
	["warn_instance_method_on_class_found"]={
		[c]="instance method A found instead of class method B [-Wobjc-method-access]",
		[f]="instance method A found instead of class method B",
		[b]=g,
		[a]=h
	},
	["warn_int_to_pointer_cast"]={
		[c]="cast to B from smaller integer type A [-Wint-to-pointer-cast]",
		[f]="cast to B from smaller integer type A",
		[b]=g,
		[a]=h
	},
	["warn_int_to_void_pointer_cast"]={
		[c]="cast to B from smaller integer type A [-Wint-to-void-pointer-cast]",
		[f]="cast to B from smaller integer type A",
		[b]=g,
		[a]=h
	},
	["warn_integer_constant_overflow"]={
		[c]="overflow in expression; result is A with type B [-Winteger-overflow]",
		[f]="overflow in expression; result is A with type B",
		[b]=g,
		[a]=h
	},
	["warn_integer_constants_in_conditional_always_true"]={
		[c]="converting the result of \'?:\' with integer constants to a boolean always evaluates to \'true\' [-Wtautological-constant-compare]",
		[f]="converting the result of \'?:\' with integer constants to a boolean always evaluates to \'true\'",
		[b]=g,
		[a]=h
	},
	["warn_internal_linkage_local_storage"]={
		[c]="\'internal_linkage\' attribute on a non-static local variable is ignored [-Wignored-attributes]",
		[f]="\'internal_linkage\' attribute on a non-static local variable is ignored",
		[b]=g,
		[a]=h
	},
	["warn_interrupt_attribute_invalid"]={
		[c]="... \'interrupt\' attribute only applies to functions that have ... [-Wignored-attributes]",
		[f]={{"MIPS","MSP430","RISC-V"}," \'interrupt\' attribute only applies to functions that have ",{"no parameters","a \'void\' return type"}},
		[b]=g,
		[a]=h
	},
	["warn_invalid_asm_cast_lvalue"]={
		[c]="invalid use of a cast in an inline asm context requiring an lvalue: accepted due to -fheinous-gnu-extensions, but clang may remove support for this in the future",
		[b]=g,
		[a]=h
	},
	["warn_invalid_initializer_from_system_header"]={
		[c]="invalid constructor from class in system header, should not be explicit [-Winvalid-initializer-from-system-header]",
		[f]="invalid constructor from class in system header, should not be explicit",
		[b]=g,
		[a]=h
	},
	["warn_invalid_ios_deployment_target"]={
		[c]="invalid iOS deployment version \'A\', iOS 10 is the maximum deployment target for 32-bit targets [-Winvalid-ios-deployment-target]",
		[f]="invalid iOS deployment version \'A\', iOS 10 is the maximum deployment target for 32-bit targets",
		[b]=d,
		[a]=q
	},
	["warn_invalid_utf8_in_comment"]={
		[c]="invalid UTF-8 in comment [-Winvalid-utf8]",
		[f]="invalid UTF-8 in comment",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_is_constant_evaluated_always_true_constexpr"]={
		[c]="\'A\' will always evaluate to \'true\' in a manifestly constant-evaluated expression [-Wconstant-evaluated]",
		[f]="\'A\' will always evaluate to \'true\' in a manifestly constant-evaluated expression",
		[b]=g,
		[a]=h
	},
	["warn_ivar_use_hidden"]={
		[c]="local declaration of A hides instance variable [-Wshadow-ivar]",
		[f]="local declaration of A hides instance variable",
		[b]=g,
		[a]=h
	},
	["warn_ivars_in_interface"]={
		[c]="declaration of instance variables in the interface is deprecated [-Wobjc-interface-ivars]",
		[f]="declaration of instance variables in the interface is deprecated",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_jump_out_of_seh_finally"]={
		[c]="jump out of __finally block has undefined behavior [-Wjump-seh-finally]",
		[f]="jump out of __finally block has undefined behavior",
		[b]=g,
		[a]=h
	},
	["warn_kern_is_inline"]={
		[c]="ignored \'inline\' attribute on kernel function A [-Wcuda-compat]",
		[f]="ignored \'inline\' attribute on kernel function A",
		[b]=g,
		[a]=h
	},
	["warn_kern_is_method"]={
		[c]="kernel function A is a member function; this may not be accepted by nvcc [-Wcuda-compat]",
		[f]="kernel function A is a member function; this may not be accepted by nvcc",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_left_shift_always"]={
		[c]="converting the result of \'<<\' to a boolean always evaluates to ... [-Wtautological-constant-compare]",
		[f]={"converting the result of \'<<\' to a boolean always evaluates to ",{Vb,Tb}},
		[b]=g,
		[a]=h
	},
	["warn_left_shift_in_bool_context"]={
		[c]="converting the result of \'<<\' to a boolean; did you mean \'(A) != 0\'? [-Wint-in-bool-context]",
		[f]="converting the result of \'<<\' to a boolean; did you mean \'(A) != 0\'?",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_lock_exclusive_and_shared"]={
		[c]="A \'B\' is acquired exclusively and shared in the same scope [-Wthread-safety-analysis]",
		[f]="A \'B\' is acquired exclusively and shared in the same scope",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_lock_some_predecessors"]={
		[c]="A \'B\' is not held on every path through here [-Wthread-safety-analysis]",
		[f]="A \'B\' is not held on every path through here",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_logical_and_in_logical_or"]={
		[c]="\'&&\' within \'||\' [-Wlogical-op-parentheses]",
		[f]="\'&&\' within \'||\'",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_logical_instead_of_bitwise"]={
		[c]="use of logical \'A\' with constant operand [-Wconstant-logical-operand]",
		[f]="use of logical \'A\' with constant operand",
		[b]=g,
		[a]=h
	},
	["warn_logical_not_on_lhs_of_check"]={
		[c]="logical not is only applied to the left hand side of this ... [-Wlogical-not-parentheses]",
		[f]={"logical not is only applied to the left hand side of this ",{"comparison","bitwise operator"}},
		[b]=g,
		[a]=h
	},
	["warn_loop_ctrl_binds_to_inner"]={
		[c]="\'A\' is bound to current loop, GCC binds it to the enclosing loop [-Wgcc-compat]",
		[f]="\'A\' is bound to current loop, GCC binds it to the enclosing loop",
		[b]=g,
		[a]=h
	},
	["warn_loop_state_mismatch"]={
		[c]="state of variable \'A\' must match at the entry and exit of loop [-Wconsumed]",
		[f]="state of variable \'A\' must match at the entry and exit of loop",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_main_one_arg"]={
		[c]="only one parameter on \'main\' declaration [-Wmain]",
		[f]="only one parameter on \'main\' declaration",
		[b]=g,
		[a]=h
	},
	["warn_main_redefined"]={
		[c]="variable named \'main\' with external linkage has undefined behavior [-Wmain]",
		[f]="variable named \'main\' with external linkage has undefined behavior",
		[b]=g,
		[a]=h
	},
	["warn_main_returns_bool_literal"]={
		[c]="bool literal returned from \'main\' [-Wmain]",
		[f]="bool literal returned from \'main\'",
		[b]=g,
		[a]=h
	},
	["warn_max_tokens"]={
		[c]="the number of preprocessor source tokens (A) exceeds this token limit (B) [-Wmax-tokens]",
		[f]="the number of preprocessor source tokens (A) exceeds this token limit (B)",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_max_tokens_total"]={
		[c]="the total number of preprocessor source tokens (A) exceeds the token limit (B) [-Wmax-tokens]",
		[f]="the total number of preprocessor source tokens (A) exceeds the token limit (B)",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_max_unsigned_zero"]={
		[c]="taking the max of ... is always equal to the other value [-Wmax-unsigned-zero]",
		[f]={"taking the max of ",{"a value and unsigned zero","unsigned zero and a value"}," is always equal to the other value"},
		[b]=g,
		[a]=h
	},
	["warn_maybe_capture_bad_target_this_ptr"]={
		[c]="capture host side class data member by this pointer in device or host device lambda function may result in invalid memory access if this pointer is not accessible on device side [-Wgpu-maybe-wrong-side]",
		[f]="capture host side class data member by this pointer in device or host device lambda function may result in invalid memory access if this pointer is not accessible on device side",
		[b]=g,
		[a]=h
	},
	["warn_maybe_falloff_nonvoid_coroutine"]={
		[c]="non-void coroutine does not return a value in all control paths [-Wreturn-type]",
		[f]="non-void coroutine does not return a value in all control paths",
		[b]=g,
		[a]=h
	},
	["warn_maybe_falloff_nonvoid_function"]={
		[c]="non-void function does not return a value in all control paths [-Wreturn-type]",
		[f]="non-void function does not return a value in all control paths",
		[b]=g,
		[a]=h
	},
	["warn_maybe_falloff_nonvoid_lambda"]={
		[c]="non-void lambda does not return a value in all control paths [-Wreturn-type]",
		[f]="non-void lambda does not return a value in all control paths",
		[b]=g,
		[a]=h
	},
	["warn_maybe_uninit_var"]={
		[c]="variable A may be uninitialized when ... [-Wconditional-uninitialized]",
		[f]={"variable A may be uninitialized when ",{"used here","captured by block"}},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_maynot_respond"]={
		[c]="A may not respond to B",
		[b]=g,
		[a]=h
	},
	["warn_member_extra_qualification"]={
		[c]="extra qualification on member A [-Wmicrosoft-extra-qualification]",
		[f]="extra qualification on member A",
		[b]=g,
		[a]=h
	},
	["warn_memsize_comparison"]={
		[c]="size argument in A call is a comparison [-Wmemsize-comparison]",
		[f]="size argument in A call is a comparison",
		[b]=g,
		[a]=h
	},
	["warn_messaging_unqualified_id"]={
		[c]="messaging unqualified id [-Wobjc-messaging-id]",
		[f]="messaging unqualified id",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_method_param_declaration"]={
		[c]="redeclaration of method parameter A [-Wduplicate-method-arg]",
		[f]="redeclaration of method parameter A",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_method_param_redefinition"]={
		[c]="redefinition of method parameter A",
		[b]=g,
		[a]=h
	},
	["warn_microsoft_dependent_exists"]={
		[c]="dependent ... declarations are ignored [-Wmicrosoft-exists]",
		[f]={"dependent ",{"__if_not_exists","__if_exists"}," declarations are ignored"},
		[b]=g,
		[a]=h
	},
	["warn_microsoft_qualifiers_ignored"]={
		[c]="qualifiers after comma in declarator list are ignored [-Wignored-attributes]",
		[f]="qualifiers after comma in declarator list are ignored",
		[b]=g,
		[a]=h
	},
	["warn_mig_server_routine_does_not_return_kern_return_t"]={
		[c]="\'mig_server_routine\' attribute only applies to routines that return a kern_return_t [-Wignored-attributes]",
		[f]="\'mig_server_routine\' attribute only applies to routines that return a kern_return_t",
		[b]=g,
		[a]=h
	},
	["warn_misleading_indentation"]={
		[c]="misleading indentation; statement is not part of the previous \'...\' [-Wmisleading-indentation]",
		[f]={"misleading indentation; statement is not part of the previous \'",{"if","else","for","while"},x},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_mismatched_availability"]={
		[c]="availability does not match previous declaration [-Wavailability]",
		[f]="availability does not match previous declaration",
		[b]=g,
		[a]=h
	},
	["warn_mismatched_availability_override"]={
		[c]="...method ... ... on B (C vs. D) [-Wavailability]",
		[f]={{l,"overriding "},"method ",{"introduced after","deprecated before","obsoleted before"},w,{"the protocol method it implements","overridden method"}," on B (C vs. D)"},
		[b]=g,
		[a]=h
	},
	["warn_mismatched_availability_override_unavail"]={
		[c]="...method cannot be unavailable on A when ... is available [-Wavailability]",
		[f]={{l,"overriding "},"method cannot be unavailable on A when ",{"the protocol method it implements","its overridden method"}," is available"},
		[b]=g,
		[a]=h
	},
	["warn_mismatched_delete_new"]={
		[c]="\'delete...\' applied to a pointer that was allocated with \'new...\'; did you mean \'delete...\'? [-Wmismatched-new-delete]",
		[f]={"\'delete",{l,"[]"},"\' applied to a pointer that was allocated with \'new",{"[]",l},"\'; did you mean \'delete",{"[]",l},"\'?"},
		[b]=g,
		[a]=h
	},
	["warn_mismatched_import"]={
		[c]="import ... (B) does not match the import ... (C) of the previous declaration [-Wignored-attributes]",
		[f]={"import ",{Ic,"name"}," (B) does not match the import ",{Ic,"name"}," (C) of the previous declaration"},
		[b]=g,
		[a]=h
	},
	["warn_mismatched_nullability_attr"]={
		[c]="nullability specifier A conflicts with existing specifier B [-Wnullability]",
		[f]="nullability specifier A conflicts with existing specifier B",
		[b]=g,
		[a]=h
	},
	["warn_mismatched_section"]={
		[c]="... does not match previous declaration [-Wsection]",
		[f]={{"codeseg","section"}," does not match previous declaration"},
		[b]=g,
		[a]=h
	},
	["warn_misplaced_ellipsis_vararg"]={
		[c]="\'...\' in this location creates a C-style varargs function... [-Wambiguous-ellipsis]",
		[f]={"\'...\' in this location creates a C-style varargs function",{", not a function parameter pack",l}},
		[b]=g,
		[a]=h
	},
	["warn_missing_braces"]={
		[c]="suggest braces around initialization of subobject [-Wmissing-braces]",
		[f]="suggest braces around initialization of subobject",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_missing_case"]={
		[c]="enumeration value B not handled in switch [-Wswitch]",
		[f]={{"enumeration value B not handled in switch","enumeration values B and C not handled in switch","enumeration values B, C, and D not handled in switch","A enumeration values not handled in switch: B, C, D..."}},
		[b]=g,
		[a]=h
	},
	["warn_missing_case_for_condition"]={
		[c]="no case matching constant switch condition \'A\'",
		[b]=g,
		[a]=h
	},
	["warn_missing_dependent_template_keyword"]={
		[c]="use \'template\' keyword to treat \'A\' as a dependent template name",
		[b]=g,
		[a]=h
	},
	["warn_missing_explicit_synthesis"]={
		[c]="auto property synthesis is synthesizing property not explicitly synthesized [-Wobjc-missing-property-synthesis]",
		[f]="auto property synthesis is synthesizing property not explicitly synthesized",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_missing_field_initializers"]={
		[c]="missing field A initializer [-Wmissing-field-initializers]",
		[f]="missing field A initializer",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_missing_format_string"]={
		[c]="format string missing [-Wformat]",
		[f]="format string missing",
		[b]=g,
		[a]=h
	},
	["warn_missing_method_return_type"]={
		[c]="method has no return type specified; defaults to \'id\' [-Wmissing-method-return-type]",
		[f]="method has no return type specified; defaults to \'id\'",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_missing_prototype"]={
		[c]="no previous prototype for function A [-Wmissing-prototypes]",
		[f]="no previous prototype for function A",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_missing_sdksettings_for_availability_checking"]={
		[c]="A availability is ignored without a valid \'SDKSettings.json\' in the SDK [-Wignored-availability-without-sdk-settings]",
		[f]="A availability is ignored without a valid \'SDKSettings.json\' in the SDK",
		[b]=g,
		[a]=h
	},
	["warn_missing_selector_name"]={
		[c]="A used as the name of the previous parameter rather than as part of the selector [-Wmissing-selector-name]",
		[f]="A used as the name of the previous parameter rather than as part of the selector",
		[b]=g,
		[a]=h
	},
	["warn_missing_sentinel"]={
		[c]="missing sentinel in ... [-Wsentinel]",
		[f]={"missing sentinel in ",{"function call","method dispatch","block call"}},
		[b]=g,
		[a]=h
	},
	["warn_missing_submodule"]={
		[c]="missing submodule \'A\' [-Wincomplete-umbrella]",
		[f]="missing submodule \'A\'",
		[b]=g,
		[a]=h
	},
	["warn_missing_sysroot"]={
		[c]="no such sysroot directory: \'A\' [-Wmissing-sysroot]",
		[f]="no such sysroot directory: \'A\'",
		[b]=g,
		[a]=h
	},
	["warn_missing_type_specifier"]={
		[c]="type specifier missing, defaults to \'int\' [-Wimplicit-int]",
		[f]="type specifier missing, defaults to \'int\'",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_missing_variable_declarations"]={
		[c]="no previous extern declaration for non-static variable A [-Wmissing-variable-declarations]",
		[f]="no previous extern declaration for non-static variable A",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_missing_whitespace_after_macro_name"]={
		[c]="whitespace recommended after macro name",
		[b]=g,
		[a]=h
	},
	["warn_mixed_decls_code"]={
		[c]="mixing declarations and code is incompatible with standards before C99 [-Wdeclaration-after-statement]",
		[f]="mixing declarations and code is incompatible with standards before C99",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_mixed_sign_comparison"]={
		[c]="comparison of integers of different signs: A and B [-Wsign-compare]",
		[f]="comparison of integers of different signs: A and B",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_mmap_incomplete_framework_module_declaration"]={
		[c]="skipping \'A\' because module declaration of \'B\' lacks the \'framework\' qualifier [-Wincomplete-framework-module-declaration]",
		[f]="skipping \'A\' because module declaration of \'B\' lacks the \'framework\' qualifier",
		[b]=g,
		[a]=h
	},
	["warn_mmap_mismatched_private_module_name"]={
		[c]="expected canonical name for private module \'A\' [-Wprivate-module]",
		[f]="expected canonical name for private module \'A\'",
		[b]=g,
		[a]=h
	},
	["warn_mmap_mismatched_private_submodule"]={
		[c]="private submodule \'A\' in private module map, expected top-level module [-Wprivate-module]",
		[f]="private submodule \'A\' in private module map, expected top-level module",
		[b]=g,
		[a]=h
	},
	["warn_mmap_redundant_export_as"]={
		[c]="module \'A\' already re-exported as \'B\' [-Wprivate-module]",
		[f]="module \'A\' already re-exported as \'B\'",
		[b]=g,
		[a]=h
	},
	["warn_mmap_umbrella_dir_not_found"]={
		[c]="umbrella directory \'A\' not found [-Wincomplete-umbrella]",
		[f]="umbrella directory \'A\' not found",
		[b]=g,
		[a]=h
	},
	["warn_mmap_unknown_attribute"]={
		[c]="unknown attribute \'A\' [-Wignored-attributes]",
		[f]="unknown attribute \'A\'",
		[b]=g,
		[a]=h
	},
	["warn_modifying_shadowing_decl"]={
		[c]="modifying constructor parameter A that shadows a field of B [-Wshadow-field-in-constructor-modified]",
		[f]="modifying constructor parameter A that shadows a field of B",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_module_config_macro_undef"]={
		[c]="... of configuration macro \'B\' has no effect on the import of \'C\'; pass \'...\' on the command line to configure the module [-Wconfig-macros]",
		[f]={{Kc,"#undef"}," of configuration macro \'B\' has no effect on the import of \'C\'; pass \'",{"-DB=...","-UB"},"\' on the command line to configure the module"},
		[b]=g,
		[a]=h
	},
	["warn_module_config_mismatch"]={
		[c]="module file A cannot be loaded due to a configuration mismatch with the current compilation [-Wmodule-file-config-mismatch]",
		[f]="module file A cannot be loaded due to a configuration mismatch with the current compilation",
		[b]=d,
		[a]=q
	},
	["warn_module_conflict"]={
		[c]="module \'A\' conflicts with already-imported module \'B\': C [-Wmodule-conflict]",
		[f]="module \'A\' conflicts with already-imported module \'B\': C",
		[b]=g,
		[a]=h
	},
	["warn_module_system_bit_conflict"]={
		[c]="module file \'A\' was validated as a system module and is now being imported as a non-system module; any difference in diagnostic options will be ignored [-Wmodule-conflict]",
		[f]="module file \'A\' was validated as a system module and is now being imported as a non-system module; any difference in diagnostic options will be ignored",
		[b]=g,
		[a]=h
	},
	["warn_module_uses_date_time"]={
		[c]="... uses __DATE__ or __TIME__ [-Wpch-date-time]",
		[f]={{"precompiled header",Ic}," uses __DATE__ or __TIME__"},
		[b]=g,
		[a]=h
	},
	["warn_mt_message"]={
		[c]="[rewriter] A",
		[b]=g,
		[a]=h
	},
	["warn_multichar_character_literal"]={
		[c]="multi-character character constant [-Wmultichar]",
		[f]="multi-character character constant",
		[b]=g,
		[a]=h
	},
	["warn_multiple_method_decl"]={
		[c]="multiple methods named A found [-Wobjc-multiple-method-names]",
		[f]="multiple methods named A found",
		[b]=g,
		[a]=h
	},
	["warn_multiple_selectors"]={
		[c]="several methods with selector A of mismatched types are found for the @selector expression [-Wselector-type-mismatch]",
		[f]="several methods with selector A of mismatched types are found for the @selector expression",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_multiversion_duplicate_entries"]={
		[c]="CPU list contains duplicate entries; attribute ignored [-Wfunction-multiversion]",
		[f]="CPU list contains duplicate entries; attribute ignored",
		[b]=g,
		[a]=h
	},
	["warn_namespace_member_extra_qualification"]={
		[c]="extra qualification on member A [-Wextra-qualification]",
		[f]="extra qualification on member A",
		[b]=g,
		[a]=h
	},
	["warn_neon_vector_initializer_non_portable"]={
		[c]="vector initializers are not compatible with NEON intrinsics in big endian mode [-Wnonportable-vector-initialization]",
		[f]="vector initializers are not compatible with NEON intrinsics in big endian mode",
		[b]=g,
		[a]=h
	},
	["warn_nested_block_comment"]={
		[c]="\'/*\' within block comment [-Wcomment]",
		[f]="\'/*\' within block comment",
		[b]=g,
		[a]=h
	},
	["warn_new_dangling_initializer_list"]={
		[c]="array backing ... will be destroyed at the end of the full-expression [-Wdangling-initializer-list]",
		[f]={"array backing ",{"initializer list subobject of the allocated object","the allocated initializer list"}," will be destroyed at the end of the full-expression"},
		[b]=g,
		[a]=h
	},
	["warn_new_dangling_reference"]={
		[c]="temporary bound to reference member of allocated object will be destroyed at the end of the full-expression [-Wdangling-field]",
		[f]="temporary bound to reference member of allocated object will be destroyed at the end of the full-expression",
		[b]=g,
		[a]=h
	},
	["warn_no_autosynthesis_property"]={
		[c]="auto property synthesis will not synthesize property A because it is \'readwrite\' but it will be synthesized \'readonly\' via another property [-Wobjc-property-synthesis]",
		[f]="auto property synthesis will not synthesize property A because it is \'readwrite\' but it will be synthesized \'readonly\' via another property",
		[b]=g,
		[a]=h
	},
	["warn_no_autosynthesis_shared_ivar_property"]={
		[c]="auto property synthesis will not synthesize property A because it cannot share an ivar with another synthesized property [-Wobjc-property-synthesis]",
		[f]="auto property synthesis will not synthesize property A because it cannot share an ivar with another synthesized property",
		[b]=g,
		[a]=h
	},
	["warn_no_constructor_for_refconst"]={
		[c]="... B does not declare any constructor to initialize its non-modifiable members",
		[f]={{r,B,v,o,pb}," B does not declare any constructor to initialize its non-modifiable members"},
		[b]=g,
		[a]=h
	},
	["warn_no_dynamic_cast_with_rtti_disabled"]={
		[c]="dynamic_cast will not work since RTTI data is disabled by ... [-Wrtti]",
		[f]={"dynamic_cast will not work since RTTI data is disabled by ",{"-fno-rtti-data","/GR-"}},
		[b]=g,
		[a]=h
	},
	["warn_no_newline_eof"]={
		[c]="no newline at end of file [-Wnewline-eof]",
		[f]="no newline at end of file",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_no_priv_submodule_use_toplevel"]={
		[c]="no submodule named A in module \'B\'; using top level \'C\' [-Wprivate-module]",
		[f]="no submodule named A in module \'B\'; using top level \'C\'",
		[b]=g,
		[a]=h
	},
	["warn_no_support_for_eval_method_source_on_m32"]={
		[c]="Setting the floating point evaluation method to `source` on a target without SSE is not supported. [-Wpragmas]",
		[f]="Setting the floating point evaluation method to `source` on a target without SSE is not supported.",
		[b]=g,
		[a]=h
	},
	["warn_no_typeid_with_rtti_disabled"]={
		[c]="typeid will not work since RTTI data is disabled by ... [-Wrtti]",
		[f]={"typeid will not work since RTTI data is disabled by ",{"-fno-rtti-data","/GR-"}},
		[b]=g,
		[a]=h
	},
	["warn_no_underlying_type_specified_for_enum_bitfield"]={
		[c]="enums in the Microsoft ABI are signed integers by default; consider giving the enum A an unsigned underlying type to make this code portable [-Wsigned-enum-bitfield]",
		[f]="enums in the Microsoft ABI are signed integers by default; consider giving the enum A an unsigned underlying type to make this code portable",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_no_unlock"]={
		[c]="A \'B\' is still held at the end of function [-Wthread-safety-analysis]",
		[f]="A \'B\' is still held at the end of function",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_nocf_check_attribute_ignored"]={
		[c]="\'nocf_check\' attribute ignored; use -fcf-protection to enable the attribute [-Wignored-attributes]",
		[f]="\'nocf_check\' attribute ignored; use -fcf-protection to enable the attribute",
		[b]=g,
		[a]=h
	},
	["warn_noderef_on_non_pointer_or_array"]={
		[c]="\'noderef\' can only be used on an array or pointer type [-Wignored-attributes]",
		[f]="\'noderef\' can only be used on an array or pointer type",
		[b]=g,
		[a]=h
	},
	["warn_noderef_to_dereferenceable_pointer"]={
		[c]="casting to dereferenceable pointer removes \'noderef\' attribute [-Wnoderef]",
		[f]="casting to dereferenceable pointer removes \'noderef\' attribute",
		[b]=g,
		[a]=h
	},
	["warn_non_aligned_allocation_function"]={
		[c]="under -fcoro-aligned-allocation, the non-aligned allocation function for the promise type A has higher precedence than the global aligned allocation function [-Wcoro-non-aligned-allocation-function]",
		[f]="under -fcoro-aligned-allocation, the non-aligned allocation function for the promise type A has higher precedence than the global aligned allocation function",
		[b]=g,
		[a]=h
	},
	["warn_non_contravariant_overriding_param_types"]={
		[c]="conflicting parameter types in declaration of A: B vs C [-Woverriding-method-mismatch]",
		[f]="conflicting parameter types in declaration of A: B vs C",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_non_contravariant_param_types"]={
		[c]="conflicting parameter types in implementation of A: B vs C [-Wmethod-signatures]",
		[f]="conflicting parameter types in implementation of A: B vs C",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_non_covariant_overriding_ret_types"]={
		[c]="conflicting return type in declaration of A: B vs C [-Woverriding-method-mismatch]",
		[f]="conflicting return type in declaration of A: B vs C",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_non_covariant_ret_types"]={
		[c]="conflicting return type in implementation of A: B vs C [-Wmethod-signatures]",
		[f]="conflicting return type in implementation of A: B vs C",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_non_literal_null_pointer"]={
		[c]="expression which evaluates to zero treated as a null pointer constant of type A [-Wnon-literal-null-conversion]",
		[f]="expression which evaluates to zero treated as a null pointer constant of type A",
		[b]=g,
		[a]=h
	},
	["warn_non_modular_include_in_framework_module"]={
		[c]="include of non-modular header inside framework module \'A\': \'B\' [-Wnon-modular-include-in-framework-module]",
		[f]="include of non-modular header inside framework module \'A\': \'B\'",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_non_modular_include_in_module"]={
		[c]="include of non-modular header inside module \'A\': \'B\' [-Wnon-modular-include-in-module]",
		[f]="include of non-modular header inside module \'A\': \'B\'",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_non_pod_vararg_with_format_string"]={
		[c]="cannot pass ... object of type B to variadic ...; expected type from format string was D [-Wnon-pod-varargs]",
		[f]={"cannot pass ",{"non-POD","non-trivial"}," object of type B to variadic ",{m,y,u,n},"; expected type from format string was D"},
		[b]=d,
		[a]=q
	},
	["warn_non_prototype_changes_behavior"]={
		[c]="a function ... without a prototype is deprecated in all versions of C ... [-Wdeprecated-non-prototype]",
		[f]={"a function ",{qc,Kc}," without a prototype is deprecated in all versions of C ",{"and is not supported in C2x",{"and is treated as a zero-parameter prototype in C2x, conflicting with a ",{"previous","subsequent"},w,{qc,Kc}}}},
		[b]=g,
		[a]=h
	},
	["warn_non_virtual_dtor"]={
		[c]="A has virtual functions but non-virtual destructor [-Wnon-virtual-dtor]",
		[f]="A has virtual functions but non-virtual destructor",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_nonnull_expr_compare"]={
		[c]="comparison of nonnull ... \'B\' ...equal to a null pointer is \'...\' on first encounter [-Wtautological-pointer-compare]",
		[f]={"comparison of nonnull ",{"function call",ac}," \'B\' ",{"not ",l},"equal to a null pointer is \'",{Tb,Vb},"\' on first encounter"},
		[b]=g,
		[a]=h
	},
	["warn_noreturn_function_has_return_expr"]={
		[c]="function A declared \'noreturn\' should not return [-Winvalid-noreturn]",
		[f]="function A declared \'noreturn\' should not return",
		[b]=g,
		[a]=h
	},
	["warn_not_a_doxygen_trailing_member_comment"]={
		[c]="not a Doxygen trailing comment [-Wdocumentation]",
		[f]="not a Doxygen trailing comment",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_not_compound_assign"]={
		[c]="use of unary operator that may be intended as compound assignment (A=)",
		[b]=g,
		[a]=h
	},
	["warn_not_enough_argument"]={
		[c]="not enough variable arguments in A declaration to fit a sentinel [-Wsentinel]",
		[f]="not enough variable arguments in A declaration to fit a sentinel",
		[b]=g,
		[a]=h
	},
	["warn_not_in_enum"]={
		[c]="case value not in enumerated type A [-Wswitch]",
		[f]="case value not in enumerated type A",
		[b]=g,
		[a]=h
	},
	["warn_not_in_enum_assignment"]={
		[c]="integer constant not in range of enumerated type A [-Wassign-enum]",
		[f]="integer constant not in range of enumerated type A",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_not_xl_compatible"]={
		[c]="alignment of 16 bytes for a struct member is not binary compatible with IBM XL C/C++ for AIX 16.1.0 or older [-Waix-compat]",
		[f]="alignment of 16 bytes for a struct member is not binary compatible with IBM XL C/C++ for AIX 16.1.0 or older",
		[b]=g,
		[a]=h
	},
	["warn_nothrow_attribute_ignored"]={
		[c]="\'nothrow\' attribute conflicts with exception specification; attribute ignored [-Wignored-attributes]",
		[f]="\'nothrow\' attribute conflicts with exception specification; attribute ignored",
		[b]=g,
		[a]=h
	},
	["warn_npot_ms_struct"]={
		[c]="ms_struct may not produce Microsoft-compatible layouts with fundamental data types with sizes that aren\'t a power of two [-Wincompatible-ms-struct]",
		[f]="ms_struct may not produce Microsoft-compatible layouts with fundamental data types with sizes that aren\'t a power of two",
		[b]=d,
		[a]=q
	},
	["warn_ns_attribute_wrong_parameter_type"]={
		[c]="A attribute only applies to ... parameters [-Wignored-attributes]",
		[f]={"A attribute only applies to ",{"Objective-C object",W,"pointer-to-CF-pointer","pointer/reference-to-OSObject-pointer"}," parameters"},
		[b]=g,
		[a]=h
	},
	["warn_ns_attribute_wrong_return_type"]={
		[c]="A attribute only applies to ... that return ... [-Wignored-attributes]",
		[f]={"A attribute only applies to ",{vd,"methods","properties"}," that return ",{"an Objective-C object","a pointer","a non-retainable pointer"}},
		[b]=g,
		[a]=h
	},
	["warn_nsconsumed_attribute_mismatch"]={
		[c]="overriding method has mismatched ns_consumed attribute on its parameter [-Wnsconsumed-mismatch]",
		[f]="overriding method has mismatched ns_consumed attribute on its parameter",
		[b]=g,
		[a]=h
	},
	["warn_nsdictionary_duplicate_key"]={
		[c]="duplicate key in dictionary literal [-Wobjc-dictionary-duplicate-keys]",
		[f]="duplicate key in dictionary literal",
		[b]=g,
		[a]=h
	},
	["warn_nsobject_attribute"]={
		[c]="\'NSObject\' attribute may be put on a typedef only; attribute is ignored [-WNSObject-attribute]",
		[f]="\'NSObject\' attribute may be put on a typedef only; attribute is ignored",
		[b]=g,
		[a]=h
	},
	["warn_nsreturns_retained_attribute_mismatch"]={
		[c]="overriding method has mismatched ns_returns_... attributes [-Wnsreturns-mismatch]",
		[f]={"overriding method has mismatched ns_returns_",{"not_retained","retained"}," attributes"},
		[b]=g,
		[a]=h
	},
	["warn_null_arg"]={
		[c]="null passed to a callee that requires a non-null argument [-Wnonnull]",
		[f]="null passed to a callee that requires a non-null argument",
		[b]=g,
		[a]=h
	},
	["warn_null_in_arithmetic_operation"]={
		[c]="use of NULL in arithmetic operation [-Wnull-arithmetic]",
		[f]="use of NULL in arithmetic operation",
		[b]=g,
		[a]=h
	},
	["warn_null_in_comparison_operation"]={
		[c]="comparison between NULL and non-pointer ... [-Wnull-arithmetic]",
		[f]={"comparison between NULL and non-pointer ",{"(B and NULL)","(NULL and B)"}},
		[b]=g,
		[a]=h
	},
	["warn_null_pointer_compare"]={
		[c]="comparison of ... \'B\' ...equal to a null pointer is always ... [-Wtautological-pointer-compare]",
		[f]={"comparison of ",{"address of",m,rc}," \'B\' ",{"not ",l},"equal to a null pointer is always ",{Tb,Vb}},
		[b]=g,
		[a]=h
	},
	["warn_null_resettable_setter"]={
		[c]="synthesized setter A for null_resettable property B does not handle nil [-Wnullability]",
		[f]="synthesized setter A for null_resettable property B does not handle nil",
		[b]=g,
		[a]=h
	},
	["warn_null_ret"]={
		[c]="null returned from ... that requires a non-null return value [-Wnonnull]",
		[f]={"null returned from ",{m,u}," that requires a non-null return value"},
		[b]=g,
		[a]=h
	},
	["warn_null_statement"]={
		[c]="empty expression statement has no effect; remove unnecessary \';\' to silence this warning [-Wextra-semi-stmt]",
		[f]="empty expression statement has no effect; remove unnecessary \';\' to silence this warning",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_nullability_declspec"]={
		[c]="nullability specifier A cannot be applied to non-pointer type B; did you mean to apply the specifier to the ...? [-Wnullability-declspec]",
		[f]={"nullability specifier A cannot be applied to non-pointer type B; did you mean to apply the specifier to the ",{W,"block pointer","member pointer","function pointer","member function pointer"},"?"},
		[b]=d,
		[a]=q
	},
	["warn_nullability_duplicate"]={
		[c]="duplicate nullability specifier A [-Wnullability]",
		[f]="duplicate nullability specifier A",
		[b]=g,
		[a]=h
	},
	["warn_nullability_inferred_on_nested_type"]={
		[c]="inferring \'_Nonnull\' for pointer type within ... is deprecated [-Wnullability-inferred-on-nested-type]",
		[f]={"inferring \'_Nonnull\' for pointer type within ",{rc,E}," is deprecated"},
		[b]=g,
		[a]=h
	},
	["warn_nullability_lost"]={
		[c]="implicit conversion from nullable pointer A to non-nullable pointer type B [-Wnullable-to-nonnull-conversion]",
		[f]="implicit conversion from nullable pointer A to non-nullable pointer type B",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_nullability_missing"]={
		[c]="... is missing a nullability type specifier (_Nonnull, _Nullable, or _Null_unspecified) [-Wnullability-completeness]",
		[f]={{W,"block pointer","member pointer"}," is missing a nullability type specifier (_Nonnull, _Nullable, or _Null_unspecified)"},
		[b]=g,
		[a]=h
	},
	["warn_nullability_missing_array"]={
		[c]="array parameter is missing a nullability type specifier (_Nonnull, _Nullable, or _Null_unspecified) [-Wnullability-completeness-on-arrays]",
		[f]="array parameter is missing a nullability type specifier (_Nonnull, _Nullable, or _Null_unspecified)",
		[b]=g,
		[a]=h
	},
	["warn_objc_boxing_invalid_utf8_string"]={
		[c]="string is ill-formed as UTF-8 and will become a null A when boxed [-Wobjc-boxing]",
		[f]="string is ill-formed as UTF-8 and will become a null A when boxed",
		[b]=g,
		[a]=h
	},
	["warn_objc_cdirective_format_string"]={
		[c]="using A directive in ... which is being passed as a formatting argument to the formatting ... [-Wcstring-format-directive]",
		[f]={"using A directive in ",{"NSString","CFString"}," which is being passed as a formatting argument to the formatting ",{u,"CFfunction"}},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_objc_circular_container"]={
		[c]="adding A to B might cause circular dependency in container [-Wobjc-circular-container]",
		[f]="adding A to B might cause circular dependency in container",
		[b]=g,
		[a]=h
	},
	["warn_objc_collection_literal_element"]={
		[c]="object of type A is not compatible with ... C [-Wobjc-literal-conversion]",
		[f]={"object of type A is not compatible with ",{"array element type","dictionary key type","dictionary value type"},Z},
		[b]=g,
		[a]=h
	},
	["warn_objc_designated_init_missing_super_call"]={
		[c]="designated initializer missing a \'super\' call to a designated initializer of the super class [-Wobjc-designated-initializers]",
		[f]="designated initializer missing a \'super\' call to a designated initializer of the super class",
		[b]=g,
		[a]=h
	},
	["warn_objc_designated_init_non_designated_init_call"]={
		[c]="designated initializer invoked a non-designated initializer [-Wobjc-designated-initializers]",
		[f]="designated initializer invoked a non-designated initializer",
		[b]=g,
		[a]=h
	},
	["warn_objc_designated_init_non_super_designated_init_call"]={
		[c]="designated initializer should only invoke a designated initializer on \'super\' [-Wobjc-designated-initializers]",
		[f]="designated initializer should only invoke a designated initializer on \'super\'",
		[b]=g,
		[a]=h
	},
	["warn_objc_direct_ignored"]={
		[c]="A attribute isn\'t implemented by this Objective-C runtime [-Wignored-attributes]",
		[f]="A attribute isn\'t implemented by this Objective-C runtime",
		[b]=g,
		[a]=h
	},
	["warn_objc_direct_property_ignored"]={
		[c]="direct attribute on property A ignored (not implemented by this Objective-C runtime) [-Wignored-attributes]",
		[f]="direct attribute on property A ignored (not implemented by this Objective-C runtime)",
		[b]=g,
		[a]=h
	},
	["warn_objc_implementation_missing_designated_init_override"]={
		[c]="method override for the designated initializer of the superclass A not found [-Wobjc-designated-initializers]",
		[f]="method override for the designated initializer of the superclass A not found",
		[b]=g,
		[a]=h
	},
	["warn_objc_invalid_bridge"]={
		[c]="A bridges to B, not C [-Wbridge-cast]",
		[f]="A bridges to B, not C",
		[b]=g,
		[a]=h
	},
	["warn_objc_invalid_bridge_to_cf"]={
		[c]="A cannot bridge to B [-Wbridge-cast]",
		[f]="A cannot bridge to B",
		[b]=g,
		[a]=h
	},
	["warn_objc_isa_assign"]={
		[c]="assignment to Objective-C\'s isa is deprecated in favor of object_setClass() [-Wdeprecated-objc-isa-usage]",
		[f]="assignment to Objective-C\'s isa is deprecated in favor of object_setClass()",
		[b]=g,
		[a]=h
	},
	["warn_objc_isa_use"]={
		[c]="direct access to Objective-C\'s isa is deprecated in favor of object_getClass() [-Wdeprecated-objc-isa-usage]",
		[f]="direct access to Objective-C\'s isa is deprecated in favor of object_getClass()",
		[b]=g,
		[a]=h
	},
	["warn_objc_literal_comparison"]={
		[c]="direct comparison of ... has undefined behavior [-Wobjc-literal-compare]",
		[f]={"direct comparison of ",{"an array literal","a dictionary literal","a numeric literal","a boxed expression",l}," has undefined behavior"},
		[b]=g,
		[a]=h
	},
	["warn_objc_missing_super_call"]={
		[c]="method possibly missing a [super A] call [-Wobjc-missing-super-calls]",
		[f]="method possibly missing a [super A] call",
		[b]=g,
		[a]=h
	},
	["warn_objc_pointer_cxx_catch_fragile"]={
		[c]="cannot catch an exception thrown with @throw in C++ in the non-unified exception model [-Wobjc-nonunified-exceptions]",
		[f]="cannot catch an exception thrown with @throw in C++ in the non-unified exception model",
		[b]=g,
		[a]=h
	},
	["warn_objc_pointer_masking"]={
		[c]="bitmasking for introspection of Objective-C object pointers is strongly discouraged [-Wdeprecated-objc-pointer-introspection]",
		[f]="bitmasking for introspection of Objective-C object pointers is strongly discouraged",
		[b]=g,
		[a]=h
	},
	["warn_objc_pointer_masking_performSelector"]={
		[c]="bitmasking for introspection of Objective-C object pointers is strongly discouraged [-Wdeprecated-objc-pointer-introspection-performSelector]",
		[f]="bitmasking for introspection of Objective-C object pointers is strongly discouraged",
		[b]=g,
		[a]=h
	},
	["warn_objc_precise_lifetime_meaningless"]={
		[c]="objc_precise_lifetime is not meaningful for ... objects",
		[f]={"objc_precise_lifetime is not meaningful for ",{"__unsafe_unretained","__autoreleasing"}," objects"},
		[b]=d,
		[a]=e
	},
	["warn_objc_property_assign_on_object"]={
		[c]="\'assign\' property of object type may become a dangling reference; consider using \'unsafe_unretained\' [-Wobjc-property-assign-on-object-type]",
		[f]="\'assign\' property of object type may become a dangling reference; consider using \'unsafe_unretained\'",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_objc_property_copy_missing_on_block"]={
		[c]="\'copy\' attribute must be specified for the block property when -fobjc-gc-only is specified",
		[b]=g,
		[a]=h
	},
	["warn_objc_property_default_assign_on_object"]={
		[c]="default property attribute \'assign\' not appropriate for object [-Wobjc-property-no-attribute]",
		[f]="default property attribute \'assign\' not appropriate for object",
		[b]=g,
		[a]=h
	},
	["warn_objc_property_no_assignment_attribute"]={
		[c]="no \'assign\', \'retain\', or \'copy\' attribute is specified - \'assign\' is assumed [-Wobjc-property-no-attribute]",
		[f]="no \'assign\', \'retain\', or \'copy\' attribute is specified - \'assign\' is assumed",
		[b]=g,
		[a]=h
	},
	["warn_objc_property_retain_of_block"]={
		[c]="retain\'ed block property does not copy the block - use copy attribute instead [-Wobjc-noncopy-retain-block-property]",
		[f]="retain\'ed block property does not copy the block - use copy attribute instead",
		[b]=g,
		[a]=h
	},
	["warn_objc_protocol_qualifier_missing_id"]={
		[c]="protocol has no object type specified; defaults to qualified \'id\'",
		[b]=g,
		[a]=h
	},
	["warn_objc_readonly_property_has_setter"]={
		[c]="setter cannot be specified for a readonly property [-Wobjc-readonly-with-setter-property]",
		[f]="setter cannot be specified for a readonly property",
		[b]=g,
		[a]=h
	},
	["warn_objc_redundant_literal_use"]={
		[c]="using A with a literal is redundant [-Wobjc-redundant-literal-use]",
		[f]="using A with a literal is redundant",
		[b]=g,
		[a]=h
	},
	["warn_objc_redundant_qualified_class_type"]={
		[c]="parameterized class A already conforms to the protocols listed; did you forget a \'*\'? [-Wobjc-protocol-qualifiers]",
		[f]="parameterized class A already conforms to the protocols listed; did you forget a \'*\'?",
		[b]=g,
		[a]=h
	},
	["warn_objc_requires_super_protocol"]={
		[c]="A attribute cannot be applied to ... [-Wrequires-super-attribute]",
		[f]={"A attribute cannot be applied to ",{"methods in protocols","dealloc"}},
		[b]=g,
		[a]=h
	},
	["warn_objc_root_class_missing"]={
		[c]="class A defined without specifying a base class [-Wobjc-root-class]",
		[f]="class A defined without specifying a base class",
		[b]=g,
		[a]=h
	},
	["warn_objc_secondary_init_missing_init_call"]={
		[c]="convenience initializer missing a \'self\' call to another initializer [-Wobjc-designated-initializers]",
		[f]="convenience initializer missing a \'self\' call to another initializer",
		[b]=g,
		[a]=h
	},
	["warn_objc_secondary_init_super_init_call"]={
		[c]="convenience initializer should not invoke an initializer on \'super\' [-Wobjc-designated-initializers]",
		[f]="convenience initializer should not invoke an initializer on \'super\'",
		[b]=g,
		[a]=h
	},
	["warn_objc_string_literal_comparison"]={
		[c]="direct comparison of a string literal has undefined behavior [-Wobjc-string-compare]",
		[f]="direct comparison of a string literal has undefined behavior",
		[b]=g,
		[a]=h
	},
	["warn_objc_unsafe_perform_selector"]={
		[c]="A is incompatible with selectors that return a ... type [-Wobjc-unsafe-perform-selector]",
		[f]={"A is incompatible with selectors that return a ",{r,v,"vector"}," type"},
		[b]=g,
		[a]=h
	},
	["warn_odr_different_num_template_parameters"]={
		[c]="template parameter lists have a different number of parameters (A vs B) [-Wodr]",
		[f]="template parameter lists have a different number of parameters (A vs B)",
		[b]=g,
		[a]=h
	},
	["warn_odr_different_template_parameter_kind"]={
		[c]="template parameter has different kinds in different translation units [-Wodr]",
		[f]="template parameter has different kinds in different translation units",
		[b]=g,
		[a]=h
	},
	["warn_odr_field_type_inconsistent"]={
		[c]="field A declared with incompatible types in different translation units (B vs. C) [-Wodr]",
		[f]="field A declared with incompatible types in different translation units (B vs. C)",
		[b]=g,
		[a]=h
	},
	["warn_odr_function_type_inconsistent"]={
		[c]="external function A declared with incompatible types in different translation units (B vs. C) [-Wodr]",
		[f]="external function A declared with incompatible types in different translation units (B vs. C)",
		[b]=g,
		[a]=h
	},
	["warn_odr_ivar_type_inconsistent"]={
		[c]="instance variable A declared with incompatible types in different translation units (B vs. C) [-Wodr]",
		[f]="instance variable A declared with incompatible types in different translation units (B vs. C)",
		[b]=g,
		[a]=h
	},
	["warn_odr_non_type_parameter_type_inconsistent"]={
		[c]="non-type template parameter declared with incompatible types in different translation units (A vs. B) [-Wodr]",
		[f]="non-type template parameter declared with incompatible types in different translation units (A vs. B)",
		[b]=g,
		[a]=h
	},
	["warn_odr_objc_method_num_params_inconsistent"]={
		[c]="... method B has a different number of parameters in different translation units (C vs. D) [-Wodr]",
		[f]={{o,Ob}," method B has a different number of parameters in different translation units (C vs. D)"},
		[b]=g,
		[a]=h
	},
	["warn_odr_objc_method_param_type_inconsistent"]={
		[c]="... method B has a parameter with a different types in different translation units (C vs. D) [-Wodr]",
		[f]={{o,Ob}," method B has a parameter with a different types in different translation units (C vs. D)"},
		[b]=g,
		[a]=h
	},
	["warn_odr_objc_method_result_type_inconsistent"]={
		[c]="... method B has incompatible result types in different translation units (C vs. D) [-Wodr]",
		[f]={{o,Ob}," method B has incompatible result types in different translation units (C vs. D)"},
		[b]=g,
		[a]=h
	},
	["warn_odr_objc_method_variadic_inconsistent"]={
		[c]="... method B is variadic in one translation unit and not variadic in another [-Wodr]",
		[f]={{o,Ob}," method B is variadic in one translation unit and not variadic in another"},
		[b]=g,
		[a]=h
	},
	["warn_odr_objc_property_impl_kind_inconsistent"]={
		[c]="property A is implemented with ... in one translation but ... in another translation unit [-Wodr]",
		[f]={"property A is implemented with ",{"@synthesize","@dynamic"}," in one translation but ",{"@dynamic","@synthesize"}," in another translation unit"},
		[b]=g,
		[a]=h
	},
	["warn_odr_objc_property_type_inconsistent"]={
		[c]="property A declared with incompatible types in different translation units (B vs. C) [-Wodr]",
		[f]="property A declared with incompatible types in different translation units (B vs. C)",
		[b]=g,
		[a]=h
	},
	["warn_odr_objc_superclass_inconsistent"]={
		[c]="class A has incompatible superclasses [-Wodr]",
		[f]="class A has incompatible superclasses",
		[b]=g,
		[a]=h
	},
	["warn_odr_objc_synthesize_ivar_inconsistent"]={
		[c]="property A is synthesized to different ivars in different translation units (B vs. C) [-Wodr]",
		[f]="property A is synthesized to different ivars in different translation units (B vs. C)",
		[b]=g,
		[a]=h
	},
	["warn_odr_parameter_pack_non_pack"]={
		[c]="parameter kind mismatch; parameter is ... parameter pack [-Wodr]",
		[f]={"parameter kind mismatch; parameter is ",{"not a","a"}," parameter pack"},
		[b]=g,
		[a]=h
	},
	["warn_odr_tag_type_inconsistent"]={
		[c]="type A has incompatible definitions in different translation units [-Wodr]",
		[f]="type A has incompatible definitions in different translation units",
		[b]=g,
		[a]=h
	},
	["warn_odr_variable_multiple_def"]={
		[c]="external variable A defined in multiple translation units [-Wodr]",
		[f]="external variable A defined in multiple translation units",
		[b]=g,
		[a]=h
	},
	["warn_odr_variable_type_inconsistent"]={
		[c]="external variable A declared with incompatible types in different translation units (B vs. C) [-Wodr]",
		[f]="external variable A declared with incompatible types in different translation units (B vs. C)",
		[b]=g,
		[a]=h
	},
	["warn_old_implicitly_unsigned_long"]={
		[c]="integer literal is too large to be represented in type \'long\', interpreting as \'unsigned long\' per C89; this literal will ... in C99 onwards [-Wc99-compat]",
		[f]={"integer literal is too large to be represented in type \'long\', interpreting as \'unsigned long\' per C89; this literal will ",{"have type \'long long\'","be ill-formed"}," in C99 onwards"},
		[b]=g,
		[a]=h
	},
	["warn_old_implicitly_unsigned_long_cxx"]={
		[c]="integer literal is too large to be represented in type \'long\', interpreting as \'unsigned long\' per C++98; this literal will ... in C++11 onwards [-Wc++11-compat]",
		[f]={"integer literal is too large to be represented in type \'long\', interpreting as \'unsigned long\' per C++98; this literal will ",{"have type \'long long\'","be ill-formed"}," in C++11 onwards"},
		[b]=g,
		[a]=h
	},
	["warn_old_style_cast"]={
		[c]="use of old-style cast [-Wold-style-cast]",
		[f]="use of old-style cast",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_omp51_compat_attributes"]={
		[c]="specifying OpenMP directives with [[]] is incompatible with OpenMP standards before OpenMP 5.1 [-Wpre-openmp-51-compat]",
		[f]="specifying OpenMP directives with [[]] is incompatible with OpenMP standards before OpenMP 5.1",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_omp_alignment_not_power_of_two"]={
		[c]="aligned clause will be ignored because the requested alignment is not a power of 2 [-Wopenmp-clauses]",
		[f]="aligned clause will be ignored because the requested alignment is not a power of 2",
		[b]=g,
		[a]=h
	},
	["warn_omp_allocate_thread_on_task_target_directive"]={
		[c]="allocator with the \'thread\' trait access has unspecified behavior on \'A\' directive [-Wopenmp-clauses]",
		[f]="allocator with the \'thread\' trait access has unspecified behavior on \'A\' directive",
		[b]=g,
		[a]=h
	},
	["warn_omp_ctx_incompatible_property_for_selector"]={
		[c]="the context property \'A\' is not valid for the context selector \'B\' and the context set \'C\'; property ignored [-Wopenmp-clauses]",
		[f]="the context property \'A\' is not valid for the context selector \'B\' and the context set \'C\'; property ignored",
		[b]=g,
		[a]=h
	},
	["warn_omp_ctx_incompatible_score_for_property"]={
		[c]="the context selector \'A\' in the context set \'B\' cannot have a score (\'C\'); score ignored [-Wopenmp-clauses]",
		[f]="the context selector \'A\' in the context set \'B\' cannot have a score (\'C\'); score ignored",
		[b]=g,
		[a]=h
	},
	["warn_omp_ctx_incompatible_selector_for_set"]={
		[c]="the context selector \'A\' is not valid for the context set \'B\'; selector ignored [-Wopenmp-clauses]",
		[f]="the context selector \'A\' is not valid for the context set \'B\'; selector ignored",
		[b]=g,
		[a]=h
	},
	["warn_omp_ctx_selector_without_properties"]={
		[c]="the context selector \'A\' in context set \'B\' requires a context property defined in parentheses; selector ignored [-Wopenmp-clauses]",
		[f]="the context selector \'A\' in context set \'B\' requires a context property defined in parentheses; selector ignored",
		[b]=g,
		[a]=h
	},
	["warn_omp_declare_target_after_first_use"]={
		[c]="declaration marked as declare target after first use, it may lead to incorrect results [-Wopenmp-target]",
		[f]="declaration marked as declare target after first use, it may lead to incorrect results",
		[b]=g,
		[a]=h
	},
	["warn_omp_declare_variant_after_emitted"]={
		[c]="\'#pragma omp declare variant\' cannot be applied to the function that was defined already; the original function might be used [-Wsource-uses-openmp]",
		[f]="\'#pragma omp declare variant\' cannot be applied to the function that was defined already; the original function might be used",
		[b]=g,
		[a]=h
	},
	["warn_omp_declare_variant_after_used"]={
		[c]="\'#pragma omp declare variant\' cannot be applied for function after first usage; the original function might be used [-Wsource-uses-openmp]",
		[f]="\'#pragma omp declare variant\' cannot be applied for function after first usage; the original function might be used",
		[b]=g,
		[a]=h
	},
	["warn_omp_declare_variant_ctx_mutiple_use"]={
		[c]="the context ... \'B\' was used already in the same \'omp declare variant\' directive; ... ignored [-Wopenmp-clauses]",
		[f]={"the context ",{cd,Zc,db}," \'B\' was used already in the same \'omp declare variant\' directive; ",{cd,Zc,db}," ignored"},
		[b]=g,
		[a]=h
	},
	["warn_omp_declare_variant_ctx_not_a_property"]={
		[c]="\'A\' is not a valid context property for the context selector \'B\' and the context set \'C\'; property ignored [-Wopenmp-clauses]",
		[f]="\'A\' is not a valid context property for the context selector \'B\' and the context set \'C\'; property ignored",
		[b]=g,
		[a]=h
	},
	["warn_omp_declare_variant_ctx_not_a_selector"]={
		[c]="\'A\' is not a valid context selector for the context set \'B\'; selector ignored [-Wopenmp-clauses]",
		[f]="\'A\' is not a valid context selector for the context set \'B\'; selector ignored",
		[b]=g,
		[a]=h
	},
	["warn_omp_declare_variant_ctx_not_a_set"]={
		[c]="\'A\' is not a valid context set in a `declare variant`; set ignored [-Wopenmp-clauses]",
		[f]="\'A\' is not a valid context set in a `declare variant`; set ignored",
		[b]=g,
		[a]=h
	},
	["warn_omp_declare_variant_expected"]={
		[c]="expected \'A\' after the B; \'A\' assumed [-Wopenmp-clauses]",
		[f]="expected \'A\' after the B; \'A\' assumed",
		[b]=g,
		[a]=h
	},
	["warn_omp_declare_variant_marked_as_declare_variant"]={
		[c]="variant function in \'#pragma omp declare variant\' is itself marked as \'#pragma omp declare variant\' [-Wsource-uses-openmp]",
		[f]="variant function in \'#pragma omp declare variant\' is itself marked as \'#pragma omp declare variant\'",
		[b]=g,
		[a]=h
	},
	["warn_omp_declare_variant_score_not_constant"]={
		[c]="score expressions in the OpenMP context selector need to be constant; A is not and will be ignored [-Wsource-uses-openmp]",
		[f]="score expressions in the OpenMP context selector need to be constant; A is not and will be ignored",
		[b]=g,
		[a]=h
	},
	["warn_omp_declare_variant_string_literal_or_identifier"]={
		[c]="expected identifier or string literal describing a context ...; ... skipped [-Wopenmp-clauses]",
		[f]={"expected identifier or string literal describing a context ",{cd,Zc,db},"; ",{cd,Zc,db}," skipped"},
		[b]=g,
		[a]=h
	},
	["warn_omp_depend_in_ordered_deprecated"]={
		[c]="\'depend\' clause for \'ordered\' is deprecated; use \'doacross\' instead [-Wdeprecated]",
		[f]="\'depend\' clause for \'ordered\' is deprecated; use \'doacross\' instead",
		[b]=g,
		[a]=h
	},
	["warn_omp_extra_tokens_at_eol"]={
		[c]="extra tokens at the end of \'#pragma omp A\' are ignored [-Wextra-tokens]",
		[f]="extra tokens at the end of \'#pragma omp A\' are ignored",
		[b]=g,
		[a]=h
	},
	["warn_omp_linear_step_zero"]={
		[c]="zero linear step (A ...should probably be const) [-Wopenmp-clauses]",
		[f]={"zero linear step (A ",{l,"and other variables in clause "},"should probably be const)"},
		[b]=g,
		[a]=h
	},
	["warn_omp_loop_64_bit_var"]={
		[c]="OpenMP loop iteration variable cannot have more than 64 bits size and will be narrowed [-Wopenmp-loop-form]",
		[f]="OpenMP loop iteration variable cannot have more than 64 bits size and will be narrowed",
		[b]=g,
		[a]=h
	},
	["warn_omp_minus_in_reduction_deprecated"]={
		[c]="minus(-) operator for reductions is deprecated; use + or user defined reduction instead [-Wdeprecated]",
		[f]="minus(-) operator for reductions is deprecated; use + or user defined reduction instead",
		[b]=g,
		[a]=h
	},
	["warn_omp_more_one_device_type_clause"]={
		[c]="more than one \'device_type\' clause is specified [-Wopenmp-clauses]",
		[f]="more than one \'device_type\' clause is specified",
		[b]=g,
		[a]=h
	},
	["warn_omp_more_one_interop_type"]={
		[c]="interop type \'A\' cannot be specified more than once [-Wopenmp-clauses]",
		[f]="interop type \'A\' cannot be specified more than once",
		[b]=g,
		[a]=h
	},
	["warn_omp_more_one_omp_all_memory"]={
		[c]="reserved locator \'omp_all_memory\' cannot be specified more than once [-Wopenmp-clauses]",
		[f]="reserved locator \'omp_all_memory\' cannot be specified more than once",
		[b]=g,
		[a]=h
	},
	["warn_omp_nesting_simd"]={
		[c]="OpenMP only allows an ordered construct with the simd clause nested in a simd construct [-Wsource-uses-openmp]",
		[f]="OpenMP only allows an ordered construct with the simd clause nested in a simd construct",
		[b]=g,
		[a]=h
	},
	["warn_omp_non_trivial_type_mapped"]={
		[c]="Type A is not trivially copyable and not guaranteed to be mapped correctly [-Wopenmp-mapping]",
		[f]="Type A is not trivially copyable and not guaranteed to be mapped correctly",
		[b]=g,
		[a]=h
	},
	["warn_omp_not_in_target_context"]={
		[c]="declaration is not declared in any declare target region [-Wopenmp-target]",
		[f]="declaration is not declared in any declare target region",
		[b]=g,
		[a]=h
	},
	["warn_omp_section_is_char"]={
		[c]="array section ... is of type \'char\' [-Wchar-subscripts]",
		[f]={"array section ",{"lower bound","length"}," is of type \'char\'"},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_omp_unknown_assumption_clause_missing_id"]={
		[c]="valid A clauses start with B; ... will be ignored [-Wopenmp-clauses]",
		[f]={"valid A clauses start with B; ",{"token","tokens"}," will be ignored"},
		[b]=g,
		[a]=h
	},
	["warn_omp_unknown_assumption_clause_without_args"]={
		[c]="A clause should not be followed by arguments; tokens will be ignored [-Wopenmp-clauses]",
		[f]="A clause should not be followed by arguments; tokens will be ignored",
		[b]=g,
		[a]=h
	},
	["warn_omp_unterminated_declare_target"]={
		[c]="expected \'#pragma omp end declare target\' at end of file to match \'#pragma omp A\' [-Wsource-uses-openmp]",
		[f]="expected \'#pragma omp end declare target\' at end of file to match \'#pragma omp A\'",
		[b]=g,
		[a]=h
	},
	["warn_omp_used_different_allocator"]={
		[c]="allocate directive specifies ... allocator while previously used ... [-Wopenmp-clauses]",
		[f]={"allocate directive specifies ",{jd,Sb}," allocator while previously used ",{jd,"\'D\'"}},
		[b]=g,
		[a]=h
	},
	["warn_on_superclass_use"]={
		[c]="class implementation may not have super class",
		[b]=g,
		[a]=h
	},
	["warn_opencl_attr_deprecated_ignored"]={
		[c]="A attribute is deprecated and ignored in B [-Wignored-attributes]",
		[f]="A attribute is deprecated and ignored in B",
		[b]=g,
		[a]=h
	},
	["warn_opencl_generic_address_space_arg"]={
		[c]="passing non-generic address space pointer to A may cause dynamic conversion affecting performance [-Wconversion]",
		[f]="passing non-generic address space pointer to A may cause dynamic conversion affecting performance",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_opencl_unsupported_core_feature"]={
		[c]="A is a core feature in ... version C but not supported on this target [-Wpedantic-core-features]",
		[f]={"A is a core feature in ",{"OpenCL C","C++ for OpenCL"}," version C but not supported on this target"},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_operator_new_returns_null"]={
		[c]="A should not return a null pointer unless it is declared \'throw()\'... [-Wnew-returns-null]",
		[f]={"A should not return a null pointer unless it is declared \'throw()\'",{l," or \'noexcept\'"}},
		[b]=g,
		[a]=h
	},
	["warn_option_invalid_ocl_version"]={
		[c]="A does not support the option \'B\' [-Wdeprecated]",
		[f]="A does not support the option \'B\'",
		[b]=g,
		[a]=h
	},
	["warn_os_log_format_narg"]={
		[c]="os_log() \'%n\' format specifier is not allowed",
		[b]=d,
		[a]=e
	},
	["warn_out_of_range_compare"]={
		[c]="result of comparison of ... with ... is always E [-Wtautological-constant-out-of-range-compare]",
		[f]={"result of comparison of ",{"constant A",Tb,Vb},Gd,{"expression of type C","boolean expression"}," is always E"},
		[b]=g,
		[a]=h
	},
	["warn_overaligned_type"]={
		[c]="type A requires B bytes of alignment and the default allocator only guarantees C bytes [-Wover-aligned]",
		[f]="type A requires B bytes of alignment and the default allocator only guarantees C bytes",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_overloaded_shift_in_comparison"]={
		[c]="overloaded operator ... has higher precedence than comparison operator [-Woverloaded-shift-op-parentheses]",
		[f]={"overloaded operator ",{">>","<<"}," has higher precedence than comparison operator"},
		[b]=g,
		[a]=h
	},
	["warn_overloaded_virtual"]={
		[c]="A hides overloaded virtual ... [-Woverloaded-virtual]",
		[f]={"A hides overloaded virtual ",{m,vd}},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_overriding_method_missing_noescape"]={
		[c]="parameter of overriding method should be annotated with __attribute__((noescape)) [-Wmissing-noescape]",
		[f]="parameter of overriding method should be annotated with __attribute__((noescape))",
		[b]=g,
		[a]=h
	},
	["warn_padded_struct_anon_field"]={
		[c]="padding ... B with C ...C to align anonymous bit-field [-Wpadded]",
		[f]={"padding ",{r,B,o}," B with C ",{"byte","bit"},"C to align anonymous bit-field"},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_padded_struct_field"]={
		[c]="padding ... B with C ...C to align E [-Wpadded]",
		[f]={"padding ",{r,B,o}," B with C ",{"byte","bit"},"C to align E"},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_padded_struct_size"]={
		[c]="padding size of A with B ...B to alignment boundary [-Wpadded]",
		[f]={"padding size of A with B ",{"byte","bit"},"B to alignment boundary"},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_param_mismatched_alignment"]={
		[c]="passing A-byte aligned argument to B-byte aligned parameter C... may result in an unaligned pointer access [-Walign-mismatch]",
		[f]={"passing A-byte aligned argument to B-byte aligned parameter C",{l," of E"}," may result in an unaligned pointer access"},
		[b]=g,
		[a]=h
	},
	["warn_param_return_typestate_mismatch"]={
		[c]="parameter \'A\' not in expected state when the function returns: expected \'B\', observed \'C\' [-Wconsumed]",
		[f]="parameter \'A\' not in expected state when the function returns: expected \'B\', observed \'C\'",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_param_typestate_mismatch"]={
		[c]="argument not in expected state; expected \'A\', observed \'B\' [-Wconsumed]",
		[f]="argument not in expected state; expected \'A\', observed \'B\'",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_parameter_size"]={
		[c]="A is a large (B bytes) pass-by-value argument; pass it by reference instead ? [-Wlarge-by-value-copy]",
		[f]="A is a large (B bytes) pass-by-value argument; pass it by reference instead ?",
		[b]=g,
		[a]=h
	},
	["warn_parens_disambiguated_as_function_declaration"]={
		[c]="parentheses were disambiguated as a function declaration [-Wvexing-parse]",
		[f]="parentheses were disambiguated as a function declaration",
		[b]=g,
		[a]=h
	},
	["warn_parens_disambiguated_as_variable_declaration"]={
		[c]="parentheses were disambiguated as redundant parentheses around declaration of variable named A [-Wvexing-parse]",
		[f]="parentheses were disambiguated as redundant parentheses around declaration of variable named A",
		[b]=g,
		[a]=h
	},
	["warn_pass_class_arg_to_vararg"]={
		[c]="passing object of class type A through variadic ...... [-Wclass-varargs]",
		[f]={"passing object of class type A through variadic ",{m,y,u,n},{l,"; did you mean to call \'D\'?"}},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_pessimizing_move_on_initialization"]={
		[c]="moving a temporary object prevents copy elision [-Wpessimizing-move]",
		[f]="moving a temporary object prevents copy elision",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_pessimizing_move_on_return"]={
		[c]="moving a local object in a return statement prevents copy elision [-Wpessimizing-move]",
		[f]="moving a local object in a return statement prevents copy elision",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_pointer_abs"]={
		[c]="taking the absolute value of ... type B is suspicious [-Wabsolute-value]",
		[f]={"taking the absolute value of ",{W,m,rc}," type B is suspicious"},
		[b]=g,
		[a]=h
	},
	["warn_pointer_arith_null_ptr"]={
		[c]="performing pointer arithmetic on a null pointer has undefined behavior... [-Wnull-pointer-arithmetic]",
		[f]={"performing pointer arithmetic on a null pointer has undefined behavior",{l," if the offset is nonzero"}},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_pointer_compare"]={
		[c]="comparing a pointer to a null character constant; did you mean to compare to ...? [-Wpointer-compare]",
		[f]={"comparing a pointer to a null character constant; did you mean to compare to ",{"NULL","(void *)0"},"?"},
		[b]=g,
		[a]=h
	},
	["warn_pointer_indirection_from_incompatible_type"]={
		[c]="dereference of type B that was reinterpret_cast from type A has undefined behavior [-Wundefined-reinterpret-cast]",
		[f]="dereference of type B that was reinterpret_cast from type A has undefined behavior",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_pointer_sub_null_ptr"]={
		[c]="performing pointer subtraction with a null pointer ... undefined behavior [-Wnull-pointer-subtraction]",
		[f]={"performing pointer subtraction with a null pointer ",{"has","may have"}," undefined behavior"},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_pointer_to_enum_cast"]={
		[c]="cast to smaller integer type B from A [-Wpointer-to-enum-cast]",
		[f]="cast to smaller integer type B from A",
		[b]=g,
		[a]=h
	},
	["warn_pointer_to_int_cast"]={
		[c]="cast to smaller integer type B from A [-Wpointer-to-int-cast]",
		[f]="cast to smaller integer type B from A",
		[b]=g,
		[a]=h
	},
	["warn_poison_system_directories"]={
		[c]="include location \'A\' is unsafe for cross-compilation [-Wpoison-system-directories]",
		[f]="include location \'A\' is unsafe for cross-compilation",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_potentially_direct_selector_expression"]={
		[c]="@selector expression formed with potentially direct selector A [-Wpotentially-direct-selector]",
		[f]="@selector expression formed with potentially direct selector A",
		[b]=g,
		[a]=h
	},
	["warn_pp_ambiguous_macro"]={
		[c]="ambiguous expansion of macro A [-Wambiguous-macro]",
		[f]="ambiguous expansion of macro A",
		[b]=g,
		[a]=h
	},
	["warn_pp_convert_to_positive"]={
		[c]="... side of operator converted from negative value to unsigned: B",
		[f]={{"left","right"}," side of operator converted from negative value to unsigned: B"},
		[b]=g,
		[a]=h
	},
	["warn_pp_date_time"]={
		[c]="expansion of date or time macro is not reproducible [-Wdate-time]",
		[f]="expansion of date or time macro is not reproducible",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_pp_expr_overflow"]={
		[c]="integer overflow in preprocessor expression",
		[b]=g,
		[a]=h
	},
	["warn_pp_hdrstop_filename_ignored"]={
		[c]="#pragma hdrstop filename not supported, /Fp can be used to specify precompiled header filename [-Wclang-cl-pch]",
		[f]="#pragma hdrstop filename not supported, /Fp can be used to specify precompiled header filename",
		[b]=g,
		[a]=h
	},
	["warn_pp_invalid_directive"]={
		[c]="invalid preprocessing directive... [-Wunknown-directives]",
		[f]={"invalid preprocessing directive",{l,", did you mean \'#B\'?"}},
		[b]=g,
		[a]=h
	},
	["warn_pp_line_decimal"]={
		[c]="... directive interprets number as decimal, not octal",
		[f]={{"#line","GNU line marker"}," directive interprets number as decimal, not octal"},
		[b]=g,
		[a]=h
	},
	["warn_pp_macro_def_mismatch_with_pch"]={
		[c]="definition of macro A does not match definition in precompiled header [-Wclang-cl-pch]",
		[f]="definition of macro A does not match definition in precompiled header",
		[b]=g,
		[a]=h
	},
	["warn_pp_macro_hides_keyword"]={
		[c]="keyword is hidden by macro definition [-Wkeyword-macro]",
		[f]="keyword is hidden by macro definition",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_pp_macro_is_reserved_id"]={
		[c]="macro name is a reserved identifier [-Wreserved-macro-identifier]",
		[f]="macro name is a reserved identifier",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_pp_objc_macro_redef_ignored"]={
		[c]="ignoring redefinition of Objective-C qualifier macro [-Wobjc-macro-redefinition]",
		[f]="ignoring redefinition of Objective-C qualifier macro",
		[b]=g,
		[a]=h
	},
	["warn_pp_undef_identifier"]={
		[c]="A is not defined, evaluates to 0 [-Wundef]",
		[f]="A is not defined, evaluates to 0",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_pp_undef_prefix"]={
		[c]="A is not defined, evaluates to 0 [-Wundef-prefix]",
		[f]="A is not defined, evaluates to 0",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_pragma_align_expected_equal"]={
		[c]="expected \'=\' following \'#pragma ...\' - ignored [-Wignored-pragmas]",
		[f]={"expected \'=\' following \'#pragma ",{"align","options align"},"\' - ignored"},
		[b]=g,
		[a]=h
	},
	["warn_pragma_align_invalid_option"]={
		[c]="invalid alignment option in \'#pragma ...\' - ignored [-Wignored-pragmas]",
		[f]={"invalid alignment option in \'#pragma ",{"align","options align"},"\' - ignored"},
		[b]=g,
		[a]=h
	},
	["warn_pragma_align_not_xl_compatible"]={
		[c]="#pragma align(packed) may not be compatible with objects generated with AIX XL C/C++ [-Waix-compat]",
		[f]="#pragma align(packed) may not be compatible with objects generated with AIX XL C/C++",
		[b]=g,
		[a]=h
	},
	["warn_pragma_attribute_unused"]={
		[c]="unused attribute A in \'#pragma clang attribute push\' region [-Wpragma-clang-attribute]",
		[f]="unused attribute A in \'#pragma clang attribute push\' region",
		[b]=g,
		[a]=h
	},
	["warn_pragma_comment_ignored"]={
		[c]="\'#pragma comment A\' ignored [-Wignored-pragmas]",
		[f]="\'#pragma comment A\' ignored",
		[b]=g,
		[a]=h
	},
	["warn_pragma_debug_dependent_argument"]={
		[c]="...-dependent expression passed as an argument to debug command [-Wignored-pragmas]",
		[f]={{"value",a},"-dependent expression passed as an argument to debug command"},
		[b]=g,
		[a]=h
	},
	["warn_pragma_debug_missing_argument"]={
		[c]="missing argument to debug command \'A\' [-Wignored-pragmas]",
		[f]="missing argument to debug command \'A\'",
		[b]=g,
		[a]=h
	},
	["warn_pragma_debug_missing_command"]={
		[c]="missing debug command [-Wignored-pragmas]",
		[f]="missing debug command",
		[b]=g,
		[a]=h
	},
	["warn_pragma_debug_unexpected_argument"]={
		[c]="unexpected argument to debug command [-Wignored-pragmas]",
		[f]="unexpected argument to debug command",
		[b]=g,
		[a]=h
	},
	["warn_pragma_debug_unexpected_command"]={
		[c]="unexpected debug command \'A\' [-Wignored-pragmas]",
		[f]="unexpected debug command \'A\'",
		[b]=g,
		[a]=h
	},
	["warn_pragma_debug_unknown_module"]={
		[c]="unknown module \'A\' [-Wignored-pragmas]",
		[f]="unknown module \'A\'",
		[b]=g,
		[a]=h
	},
	["warn_pragma_deprecated_macro_use"]={
		[c]="macro A has been marked as deprecated... [-Wdeprecated-pragma]",
		[f]={"macro A has been marked as deprecated",{l,": C"}},
		[b]=g,
		[a]=h
	},
	["warn_pragma_diagnostic_cannot_pop"]={
		[c]="pragma diagnostic pop could not pop, no matching push [-Wunknown-pragmas]",
		[f]="pragma diagnostic pop could not pop, no matching push",
		[b]=g,
		[a]=h
	},
	["warn_pragma_diagnostic_invalid"]={
		[c]="pragma diagnostic expected \'error\', \'warning\', \'ignored\', \'fatal\', \'push\', or \'pop\' [-Wunknown-pragmas]",
		[f]="pragma diagnostic expected \'error\', \'warning\', \'ignored\', \'fatal\', \'push\', or \'pop\'",
		[b]=g,
		[a]=h
	},
	["warn_pragma_diagnostic_invalid_option"]={
		[c]="pragma diagnostic expected option name (e.g. \"-Wundef\") [-Wunknown-pragmas]",
		[f]="pragma diagnostic expected option name (e.g. \"-Wundef\")",
		[b]=g,
		[a]=h
	},
	["warn_pragma_diagnostic_invalid_token"]={
		[c]="unexpected token in pragma diagnostic [-Wunknown-pragmas]",
		[f]="unexpected token in pragma diagnostic",
		[b]=g,
		[a]=h
	},
	["warn_pragma_diagnostic_unknown_warning"]={
		[c]="unknown warning group \'A\', ignored [-Wunknown-warning-option]",
		[f]="unknown warning group \'A\', ignored",
		[b]=g,
		[a]=h
	},
	["warn_pragma_exec_charset_expected"]={
		[c]="#pragma execution_character_set expected \'A\' [-Wunknown-pragmas]",
		[f]="#pragma execution_character_set expected \'A\'",
		[b]=g,
		[a]=h
	},
	["warn_pragma_exec_charset_push_invalid"]={
		[c]="#pragma execution_character_set invalid value \'A\', only \'UTF-8\' is supported [-Wunknown-pragmas]",
		[f]="#pragma execution_character_set invalid value \'A\', only \'UTF-8\' is supported",
		[b]=g,
		[a]=h
	},
	["warn_pragma_exec_charset_spec_invalid"]={
		[c]="#pragma execution_character_set expected \'push\' or \'pop\' [-Wunknown-pragmas]",
		[f]="#pragma execution_character_set expected \'push\' or \'pop\'",
		[b]=g,
		[a]=h
	},
	["warn_pragma_expected_action_or_r_paren"]={
		[c]="expected action or \')\' in \'#pragma A\' - ignored [-Wignored-pragmas]",
		[f]="expected action or \')\' in \'#pragma A\' - ignored",
		[b]=g,
		[a]=h
	},
	["warn_pragma_expected_colon"]={
		[c]="missing \':\' after A - ignoring [-Wignored-pragmas]",
		[f]="missing \':\' after A - ignoring",
		[b]=g,
		[a]=h
	},
	["warn_pragma_expected_colon_r_paren"]={
		[c]="missing \':\' or \')\' after A - ignoring [-Wignored-pragmas]",
		[f]="missing \':\' or \')\' after A - ignoring",
		[b]=g,
		[a]=h
	},
	["warn_pragma_expected_comma"]={
		[c]="expected \',\' in \'#pragma A\' [-Wignored-pragmas]",
		[f]="expected \',\' in \'#pragma A\'",
		[b]=g,
		[a]=h
	},
	["warn_pragma_expected_identifier"]={
		[c]="expected identifier in \'#pragma A\' - ignored [-Wignored-pragmas]",
		[f]="expected identifier in \'#pragma A\' - ignored",
		[b]=g,
		[a]=h
	},
	["warn_pragma_expected_init_seg"]={
		[c]="expected \'compiler\', \'lib\', \'user\', or a string literal for the section name in \'#pragma A\' - ignored [-Wignored-pragmas]",
		[f]="expected \'compiler\', \'lib\', \'user\', or a string literal for the section name in \'#pragma A\' - ignored",
		[b]=g,
		[a]=h
	},
	["warn_pragma_expected_integer"]={
		[c]="expected integer between A and B inclusive in \'#pragma C\' - ignored [-Wignored-pragmas]",
		[f]="expected integer between A and B inclusive in \'#pragma C\' - ignored",
		[b]=g,
		[a]=h
	},
	["warn_pragma_expected_lparen"]={
		[c]="missing \'(\' after \'#pragma A\' - ignoring [-Wignored-pragmas]",
		[f]="missing \'(\' after \'#pragma A\' - ignoring",
		[b]=g,
		[a]=h
	},
	["warn_pragma_expected_non_wide_string"]={
		[c]="expected non-wide string literal in \'#pragma A\' [-Wignored-pragmas]",
		[f]="expected non-wide string literal in \'#pragma A\'",
		[b]=g,
		[a]=h
	},
	["warn_pragma_expected_predicate"]={
		[c]="expected ... - ignoring [-Wignored-pragmas]",
		[f]={Md,{"\'enable\', \'disable\', \'begin\' or \'end\'","\'disable\'"}," - ignoring"},
		[b]=g,
		[a]=h
	},
	["warn_pragma_expected_punc"]={
		[c]="expected \')\' or \',\' in \'#pragma A\' [-Wignored-pragmas]",
		[f]="expected \')\' or \',\' in \'#pragma A\'",
		[b]=g,
		[a]=h
	},
	["warn_pragma_expected_rparen"]={
		[c]="missing \')\' after \'#pragma A\' - ignoring [-Wignored-pragmas]",
		[f]="missing \')\' after \'#pragma A\' - ignoring",
		[b]=g,
		[a]=h
	},
	["warn_pragma_expected_section_label_or_name"]={
		[c]="expected a stack label or a string literal for the section name in \'#pragma A\' - ignored [-Wignored-pragmas]",
		[f]="expected a stack label or a string literal for the section name in \'#pragma A\' - ignored",
		[b]=g,
		[a]=h
	},
	["warn_pragma_expected_section_name"]={
		[c]="expected a string literal for the section name in \'#pragma A\' - ignored [-Wignored-pragmas]",
		[f]="expected a string literal for the section name in \'#pragma A\' - ignored",
		[b]=g,
		[a]=h
	},
	["warn_pragma_expected_section_push_pop_or_name"]={
		[c]="expected push, pop or a string literal for the section name in \'#pragma A\' - ignored [-Wignored-pragmas]",
		[f]="expected push, pop or a string literal for the section name in \'#pragma A\' - ignored",
		[b]=g,
		[a]=h
	},
	["warn_pragma_expected_string"]={
		[c]="expected string literal in \'#pragma A\' - ignoring [-Wignored-pragmas]",
		[f]="expected string literal in \'#pragma A\' - ignoring",
		[b]=g,
		[a]=h
	},
	["warn_pragma_extension_is_core"]={
		[c]="OpenCL extension A is core feature or supported optional core feature - ignoring [-Wpedantic-core-features]",
		[f]="OpenCL extension A is core feature or supported optional core feature - ignoring",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_pragma_extra_tokens_at_eol"]={
		[c]="extra tokens at end of \'#pragma A\' - ignored [-Wignored-pragmas]",
		[f]="extra tokens at end of \'#pragma A\' - ignored",
		[b]=g,
		[a]=h
	},
	["warn_pragma_final_macro"]={
		[c]="macro A has been marked as final and should not be ... [-Wfinal-macro]",
		[f]={"macro A has been marked as final and should not be ",{"undefined","redefined"}},
		[b]=g,
		[a]=h
	},
	["warn_pragma_force_cuda_host_device_bad_arg"]={
		[c]="incorrect use of #pragma clang force_cuda_host_device begin|end [-Wignored-pragmas]",
		[f]="incorrect use of #pragma clang force_cuda_host_device begin|end",
		[b]=g,
		[a]=h
	},
	["warn_pragma_fp_ignored"]={
		[c]="\'#pragma A\' is not supported on this target - ignored [-Wignored-pragmas]",
		[f]="\'#pragma A\' is not supported on this target - ignored",
		[b]=g,
		[a]=h
	},
	["warn_pragma_ignored"]={
		[c]="unknown pragma ignored [-Wunknown-pragmas]",
		[f]="unknown pragma ignored",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_pragma_include_alias_expected"]={
		[c]="pragma include_alias expected \'A\' [-Wunknown-pragmas]",
		[f]="pragma include_alias expected \'A\'",
		[b]=g,
		[a]=h
	},
	["warn_pragma_include_alias_expected_filename"]={
		[c]="pragma include_alias expected include filename [-Wunknown-pragmas]",
		[f]="pragma include_alias expected include filename",
		[b]=g,
		[a]=h
	},
	["warn_pragma_include_alias_mismatch_angle"]={
		[c]="angle-bracketed include <A> cannot be aliased to double-quoted include \"B\" [-Wunknown-pragmas]",
		[f]="angle-bracketed include <A> cannot be aliased to double-quoted include \"B\"",
		[b]=g,
		[a]=h
	},
	["warn_pragma_include_alias_mismatch_quote"]={
		[c]="double-quoted include \"A\" cannot be aliased to angle-bracketed include <B> [-Wunknown-pragmas]",
		[f]="double-quoted include \"A\" cannot be aliased to angle-bracketed include <B>",
		[b]=g,
		[a]=h
	},
	["warn_pragma_init_seg_unsupported_target"]={
		[c]="\'#pragma init_seg\' is only supported when targeting a Microsoft environment [-Wignored-pragmas]",
		[f]="\'#pragma init_seg\' is only supported when targeting a Microsoft environment",
		[b]=g,
		[a]=h
	},
	["warn_pragma_intrinsic_builtin"]={
		[c]="A is not a recognized builtin... [-Wignored-pragma-intrinsic]",
		[f]={"A is not a recognized builtin",{l,"; consider including <intrin.h> to access non-builtin intrinsics"}},
		[b]=g,
		[a]=h
	},
	["warn_pragma_invalid_action"]={
		[c]="unknown action for \'#pragma A\' - ignored [-Wignored-pragmas]",
		[f]="unknown action for \'#pragma A\' - ignored",
		[b]=g,
		[a]=h
	},
	["warn_pragma_invalid_argument"]={
		[c]="unexpected argument \'A\' to \'#pragma B\'... [-Wignored-pragmas]",
		[f]={"unexpected argument \'A\' to \'#pragma B\'",{l,"; expected D"}},
		[b]=g,
		[a]=h
	},
	["warn_pragma_invalid_specific_action"]={
		[c]="unknown action \'B\' for \'#pragma A\' - ignored [-Wignored-pragmas]",
		[f]="unknown action \'B\' for \'#pragma A\' - ignored",
		[b]=g,
		[a]=h
	},
	["warn_pragma_message"]={
		[c]="A [-W#pragma-messages]",
		[f]=J,
		[b]=g,
		[a]=h
	},
	["warn_pragma_missing_argument"]={
		[c]="missing argument to \'#pragma A\'... [-Wignored-pragmas]",
		[f]={"missing argument to \'#pragma A\'",{l,"; expected C"}},
		[b]=g,
		[a]=h
	},
	["warn_pragma_ms_fenv_access"]={
		[c]="incorrect use of \'#pragma fenv_access (on|off)\' - ignored [-Wignored-pragmas]",
		[f]="incorrect use of \'#pragma fenv_access (on|off)\' - ignored",
		[b]=g,
		[a]=h
	},
	["warn_pragma_ms_struct"]={
		[c]="incorrect use of \'#pragma ms_struct on|off\' - ignored [-Wignored-pragmas]",
		[f]="incorrect use of \'#pragma ms_struct on|off\' - ignored",
		[b]=g,
		[a]=h
	},
	["warn_pragma_omp_ignored"]={
		[c]="unexpected \'#pragma omp ...\' in program [-Wsource-uses-openmp]",
		[f]="unexpected \'#pragma omp ...\' in program",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_pragma_options_align_reset_failed"]={
		[c]="#pragma options align=reset failed: A [-Wignored-pragmas]",
		[f]="#pragma options align=reset failed: A",
		[b]=g,
		[a]=h
	},
	["warn_pragma_options_expected_align"]={
		[c]="expected \'align\' following \'#pragma options\' - ignored [-Wignored-pragmas]",
		[f]="expected \'align\' following \'#pragma options\' - ignored",
		[b]=g,
		[a]=h
	},
	["warn_pragma_pack_invalid_alignment"]={
		[c]="expected #pragma pack parameter to be \'1\', \'2\', \'4\', \'8\', or \'16\' [-Wignored-pragmas]",
		[f]="expected #pragma pack parameter to be \'1\', \'2\', \'4\', \'8\', or \'16\'",
		[b]=g,
		[a]=h
	},
	["warn_pragma_pack_malformed"]={
		[c]="expected integer or identifier in \'#pragma pack\' - ignored [-Wignored-pragmas]",
		[f]="expected integer or identifier in \'#pragma pack\' - ignored",
		[b]=g,
		[a]=h
	},
	["warn_pragma_pack_modified_after_include"]={
		[c]="the current #pragma pack alignment value is modified in the included file [-Wpragma-pack]",
		[f]="the current #pragma pack alignment value is modified in the included file",
		[b]=g,
		[a]=h
	},
	["warn_pragma_pack_no_pop_eof"]={
		[c]="unterminated \'#pragma pack (push, ...)\' at end of file [-Wpragma-pack]",
		[f]="unterminated \'#pragma pack (push, ...)\' at end of file",
		[b]=g,
		[a]=h
	},
	["warn_pragma_pack_non_default_at_include"]={
		[c]="non-default #pragma pack value changes the alignment of struct or union members in the included file [-Wpragma-pack-suspicious-include]",
		[f]="non-default #pragma pack value changes the alignment of struct or union members in the included file",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_pragma_pack_pop_identifier_and_alignment"]={
		[c]="specifying both a name and alignment to \'pop\' is undefined",
		[b]=g,
		[a]=h
	},
	["warn_pragma_pack_show"]={
		[c]="value of #pragma pack(show) == A",
		[b]=g,
		[a]=h
	},
	["warn_pragma_pop_failed"]={
		[c]="#pragma A(pop, ...) failed: B [-Wignored-pragmas]",
		[f]="#pragma A(pop, ...) failed: B",
		[b]=g,
		[a]=h
	},
	["warn_pragma_pop_macro_no_push"]={
		[c]="pragma pop_macro could not pop \'A\', no matching push_macro [-Wignored-pragmas]",
		[f]="pragma pop_macro could not pop \'A\', no matching push_macro",
		[b]=g,
		[a]=h
	},
	["warn_pragma_restrict_expansion_macro_use"]={
		[c]="macro A has been marked as unsafe for use in headers... [-Wrestrict-expansion]",
		[f]={"macro A has been marked as unsafe for use in headers",{l,": C"}},
		[b]=g,
		[a]=h
	},
	["warn_pragma_unknown_extension"]={
		[c]="OpenCL extension A unknown or does not require pragma - ignoring [-Wignored-pragmas]",
		[f]="OpenCL extension A unknown or does not require pragma - ignoring",
		[b]=g,
		[a]=h
	},
	["warn_pragma_unroll_cuda_value_in_parens"]={
		[c]="argument to \'#pragma unroll\' should not be in parentheses in CUDA C/C++ [-Wcuda-compat]",
		[f]="argument to \'#pragma unroll\' should not be in parentheses in CUDA C/C++",
		[b]=g,
		[a]=h
	},
	["warn_pragma_unsupported_action"]={
		[c]="known but unsupported action \'B\' for \'#pragma A\' - ignored [-Wignored-pragmas]",
		[f]="known but unsupported action \'B\' for \'#pragma A\' - ignored",
		[b]=g,
		[a]=h
	},
	["warn_pragma_unsupported_extension"]={
		[c]="unsupported OpenCL extension A - ignoring [-Wignored-pragmas]",
		[f]="unsupported OpenCL extension A - ignoring",
		[b]=g,
		[a]=h
	},
	["warn_pragma_unused_expected_var"]={
		[c]="expected \'#pragma unused\' argument to be a variable name [-Wignored-pragmas]",
		[f]="expected \'#pragma unused\' argument to be a variable name",
		[b]=g,
		[a]=h
	},
	["warn_pragma_unused_expected_var_arg"]={
		[c]="only variables can be arguments to \'#pragma unused\' [-Wignored-pragmas]",
		[f]="only variables can be arguments to \'#pragma unused\'",
		[b]=g,
		[a]=h
	},
	["warn_pragma_unused_undeclared_var"]={
		[c]="undeclared variable A used as an argument for \'#pragma unused\' [-Wignored-pragmas]",
		[f]="undeclared variable A used as an argument for \'#pragma unused\'",
		[b]=g,
		[a]=h
	},
	["warn_pragma_warning_expected"]={
		[c]="#pragma warning expected \'A\' [-Wunknown-pragmas]",
		[f]="#pragma warning expected \'A\'",
		[b]=g,
		[a]=h
	},
	["warn_pragma_warning_expected_number"]={
		[c]="#pragma warning expected a warning number [-Wunknown-pragmas]",
		[f]="#pragma warning expected a warning number",
		[b]=g,
		[a]=h
	},
	["warn_pragma_warning_push_level"]={
		[c]="#pragma warning(push, level) requires a level between 0 and 4 [-Wunknown-pragmas]",
		[f]="#pragma warning(push, level) requires a level between 0 and 4",
		[b]=g,
		[a]=h
	},
	["warn_pragma_warning_spec_invalid"]={
		[c]="#pragma warning expected \'push\', \'pop\', \'default\', \'disable\', \'error\', \'once\', \'suppress\', 1, 2, 3, or 4 [-Wunknown-pragmas]",
		[f]="#pragma warning expected \'push\', \'pop\', \'default\', \'disable\', \'error\', \'once\', \'suppress\', 1, 2, 3, or 4",
		[b]=g,
		[a]=h
	},
	["warn_pre_c2x_compat_attributes"]={
		[c]="[[]] attributes are incompatible with C standards before C2x [-Wpre-c2x-compat]",
		[f]="[[]] attributes are incompatible with C standards before C2x",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_precedence_bitwise_conditional"]={
		[c]="operator \'?:\' has lower precedence than \'A\'; \'A\' will be evaluated first [-Wbitwise-conditional-parentheses]",
		[f]="operator \'?:\' has lower precedence than \'A\'; \'A\' will be evaluated first",
		[b]=g,
		[a]=h
	},
	["warn_precedence_bitwise_rel"]={
		[c]="A has lower precedence than B; B will be evaluated first [-Wparentheses]",
		[f]="A has lower precedence than B; B will be evaluated first",
		[b]=g,
		[a]=h
	},
	["warn_precedence_conditional"]={
		[c]="operator \'?:\' has lower precedence than \'A\'; \'A\' will be evaluated first [-Wparentheses]",
		[f]="operator \'?:\' has lower precedence than \'A\'; \'A\' will be evaluated first",
		[b]=g,
		[a]=h
	},
	["warn_printf_ObjCflags_without_ObjCConversion"]={
		[c]="object format flags cannot be used with \'A\' conversion specifier [-Wformat]",
		[f]="object format flags cannot be used with \'A\' conversion specifier",
		[b]=g,
		[a]=h
	},
	["warn_printf_asterisk_missing_arg"]={
		[c]="\'...\' specified field ... is missing a matching \'int\' argument [-Wformat]",
		[f]={x,{"*",".*"},"\' specified field ",{"width","precision"}," is missing a matching \'int\' argument"},
		[b]=g,
		[a]=h
	},
	["warn_printf_asterisk_wrong_type"]={
		[c]="field ... should have type B, but argument has type C [-Wformat]",
		[f]={"field ",{"width","precision"}," should have type B, but argument has type C"},
		[b]=g,
		[a]=h
	},
	["warn_printf_data_arg_not_used"]={
		[c]="data argument not used by format string [-Wformat-extra-args]",
		[f]="data argument not used by format string",
		[b]=g,
		[a]=h
	},
	["warn_printf_empty_objc_flag"]={
		[c]="missing object format flag [-Wformat]",
		[f]="missing object format flag",
		[b]=g,
		[a]=h
	},
	["warn_printf_format_string_contains_null_char"]={
		[c]="format string contains \'\\0\' within the string body [-Wformat]",
		[f]="format string contains \'\\0\' within the string body",
		[b]=g,
		[a]=h
	},
	["warn_printf_format_string_not_null_terminated"]={
		[c]="format string is not null-terminated [-Wformat]",
		[f]="format string is not null-terminated",
		[b]=g,
		[a]=h
	},
	["warn_printf_ignored_flag"]={
		[c]="flag \'A\' is ignored when flag \'B\' is present [-Wformat]",
		[f]="flag \'A\' is ignored when flag \'B\' is present",
		[b]=g,
		[a]=h
	},
	["warn_printf_incomplete_specifier"]={
		[c]="incomplete format specifier [-Wformat]",
		[f]="incomplete format specifier",
		[b]=g,
		[a]=h
	},
	["warn_printf_insufficient_data_args"]={
		[c]="more \'%\' conversions than data arguments [-Wformat-insufficient-args]",
		[f]="more \'%\' conversions than data arguments",
		[b]=g,
		[a]=h
	},
	["warn_printf_invalid_objc_flag"]={
		[c]="\'A\' is not a valid object format flag [-Wformat]",
		[f]="\'A\' is not a valid object format flag",
		[b]=g,
		[a]=h
	},
	["warn_printf_narg_not_supported"]={
		[c]="\'%n\' specifier not supported on this platform [-Wformat]",
		[f]="\'%n\' specifier not supported on this platform",
		[b]=g,
		[a]=h
	},
	["warn_printf_nonsensical_flag"]={
		[c]="flag \'A\' results in undefined behavior with \'B\' conversion specifier [-Wformat]",
		[f]="flag \'A\' results in undefined behavior with \'B\' conversion specifier",
		[b]=g,
		[a]=h
	},
	["warn_printf_nonsensical_optional_amount"]={
		[c]="... used with \'B\' conversion specifier, resulting in undefined behavior [-Wformat]",
		[f]={{"field width","precision"}," used with \'B\' conversion specifier, resulting in undefined behavior"},
		[b]=g,
		[a]=h
	},
	["warn_printf_positional_arg_exceeds_data_args"]={
		[c]="data argument position \'A\' exceeds the number of data arguments (B) [-Wformat]",
		[f]="data argument position \'A\' exceeds the number of data arguments (B)",
		[b]=g,
		[a]=h
	},
	["warn_private_extern"]={
		[c]="use of __private_extern__ on a declaration may not produce external symbol private to the linkage unit and is deprecated [-Wprivate-extern]",
		[f]="use of __private_extern__ on a declaration may not produce external symbol private to the linkage unit and is deprecated",
		[b]=g,
		[a]=h
	},
	["warn_profile_data_misexpect"]={
		[c]="Potential performance regression from use of __builtin_expect(): Annotation was correct on A of profiled executions. [-Wmisexpect]",
		[f]="Potential performance regression from use of __builtin_expect(): Annotation was correct on A of profiled executions.",
		[b]=g,
		[a]=h
	},
	["warn_profile_data_missing"]={
		[c]="profile data may be incomplete: of A functionA, B has no data [-Wprofile-instr-missing]",
		[f]={"profile data may be incomplete: of A functionA, B ",{"has","have"}," no data"},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_profile_data_out_of_date"]={
		[c]="profile data may be out of date: of A functionA, B has mismatched data that will be ignored [-Wprofile-instr-out-of-date]",
		[f]={"profile data may be out of date: of A functionA, B ",{"has","have"}," mismatched data that will be ignored"},
		[b]=g,
		[a]=h
	},
	["warn_profile_data_unprofiled"]={
		[c]="no profile data available for file \"A\" [-Wprofile-instr-unprofiled]",
		[f]="no profile data available for file \"A\"",
		[b]=g,
		[a]=h
	},
	["warn_property_access_suggest"]={
		[c]="property A not found on object of type B; did you mean to access property C? [-Wproperty-access-dot-syntax]",
		[f]="property A not found on object of type B; did you mean to access property C?",
		[b]=g,
		[a]=h
	},
	["warn_property_attr_mismatch"]={
		[c]="property attribute in class extension does not match the primary class [-Wproperty-attribute-mismatch]",
		[f]="property attribute in class extension does not match the primary class",
		[b]=g,
		[a]=h
	},
	["warn_property_attribute"]={
		[c]="\'B\' attribute on property A does not match the property inherited from C [-Wproperty-attribute-mismatch]",
		[f]="\'B\' attribute on property A does not match the property inherited from C",
		[b]=g,
		[a]=h
	},
	["warn_property_getter_owning_mismatch"]={
		[c]="property declared as returning non-retained objects; getter returning retained objects",
		[b]=g,
		[a]=h
	},
	["warn_property_implicitly_mismatched"]={
		[c]="primary property declaration is implicitly strong while redeclaration in class extension is weak [-Wobjc-property-implicit-mismatch]",
		[f]="primary property declaration is implicitly strong while redeclaration in class extension is weak",
		[b]=g,
		[a]=h
	},
	["warn_property_method_deprecated"]={
		[c]="property access is using A method which is deprecated [-Wdeprecated-declarations]",
		[f]="property access is using A method which is deprecated",
		[b]=g,
		[a]=h
	},
	["warn_property_redecl_getter_mismatch"]={
		[c]="getter name mismatch between property redeclaration (B) and its original declaration (A) [-Wproperty-attribute-mismatch]",
		[f]="getter name mismatch between property redeclaration (B) and its original declaration (A)",
		[b]=g,
		[a]=h
	},
	["warn_property_types_are_incompatible"]={
		[c]="property type A is incompatible with type B inherited from C [-Wincompatible-property-type]",
		[f]="property type A is incompatible with type B inherited from C",
		[b]=g,
		[a]=h
	},
	["warn_protocol_property_mismatch"]={
		[c]="property ... was selected for synthesis [-Wprotocol-property-synthesis-ambiguity]",
		[f]={"property ",{"of type B","with attribute \'B\'","without attribute \'B\'","with getter B","with setter B"}," was selected for synthesis"},
		[b]=g,
		[a]=h
	},
	["warn_pt_guarded_pass_by_reference"]={
		[c]="passing the value that B points to by reference requires holding A ... [-Wthread-safety-reference]",
		[f]={"passing the value that B points to by reference requires holding A ",{bd,od}},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_ptr_arith_exceeds_bounds"]={
		[c]="the pointer incremented by A refers past the end of the array (that has type B) [-Warray-bounds-pointer-arithmetic]",
		[f]="the pointer incremented by A refers past the end of the array (that has type B)",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_ptr_arith_exceeds_max_addressable_bounds"]={
		[c]="the pointer incremented by A refers past the last possible element for an array in B-bit address space containing C-bit (D-byte) elements (max possible E elementF) [-Warray-bounds]",
		[f]="the pointer incremented by A refers past the last possible element for an array in B-bit address space containing C-bit (D-byte) elements (max possible E elementF)",
		[b]=g,
		[a]=h
	},
	["warn_ptr_arith_precedes_bounds"]={
		[c]="the pointer decremented by A refers before the beginning of the array [-Warray-bounds-pointer-arithmetic]",
		[f]="the pointer decremented by A refers before the beginning of the array",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_ptr_independentclass_attribute"]={
		[c]="\'objc_independent_class\' attribute may be put on Objective-C object pointer type only; attribute is ignored [-WIndependentClass-attribute]",
		[f]="\'objc_independent_class\' attribute may be put on Objective-C object pointer type only; attribute is ignored",
		[b]=g,
		[a]=h
	},
	["warn_qual_return_type"]={
		[c]="\'A\' type qualifierB on return type has no effect [-Wignored-qualifiers]",
		[f]={"\'A\' type qualifierB on return type ",{"has","have"}," no effect"},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_quoted_include_in_framework_header"]={
		[c]="double-quoted include \"A\" in framework header, expected angle-bracketed instead [-Wquoted-include-in-framework-header]",
		[f]="double-quoted include \"A\" in framework header, expected angle-bracketed instead",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_reading_std_cxx_module_by_implicit_paths"]={
		[c]="it is deprecated to read module \'A\' implicitly; it is going to be removed in clang 18; consider to specify the dependencies explicitly [-Wread-modules-implicitly]",
		[f]="it is deprecated to read module \'A\' implicitly; it is going to be removed in clang 18; consider to specify the dependencies explicitly",
		[b]=g,
		[a]=h
	},
	["warn_readonly_property"]={
		[c]="attribute \'readonly\' of property A restricts attribute \'readwrite\' of property inherited from B [-Wproperty-attribute-mismatch]",
		[f]="attribute \'readonly\' of property A restricts attribute \'readwrite\' of property inherited from B",
		[b]=g,
		[a]=h
	},
	["warn_receiver_forward_class"]={
		[c]="receiver A is a forward class and corresponding @interface may not exist [-Wreceiver-forward-class]",
		[f]="receiver A is a forward class and corresponding @interface may not exist",
		[b]=g,
		[a]=h
	},
	["warn_receiver_forward_instance"]={
		[c]="receiver type A for instance message is a forward declaration [-Wreceiver-forward-class]",
		[f]="receiver type A for instance message is a forward declaration",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_redecl_library_builtin"]={
		[c]="incompatible redeclaration of library function A [-Wincompatible-library-redeclaration]",
		[f]="incompatible redeclaration of library function A",
		[b]=g,
		[a]=h
	},
	["warn_redeclaration_without_attribute_prev_attribute_ignored"]={
		[c]="A redeclared without B attribute: previous B ignored [-Winconsistent-dllimport]",
		[f]="A redeclared without B attribute: previous B ignored",
		[b]=g,
		[a]=h
	},
	["warn_redeclaration_without_import_attribute"]={
		[c]="A redeclared without \'dllimport\' attribute: \'dllexport\' attribute added [-Winconsistent-dllimport]",
		[f]="A redeclared without \'dllimport\' attribute: \'dllexport\' attribute added",
		[b]=g,
		[a]=h
	},
	["warn_redefine_extname_not_applied"]={
		[c]="#pragma redefine_extname is applicable to external C declarations only; not applied to ... B [-Wpragmas]",
		[f]={"#pragma redefine_extname is applicable to external C declarations only; not applied to ",{m,z},X},
		[b]=g,
		[a]=h
	},
	["warn_redefinition_in_param_list"]={
		[c]="redefinition of A will not be visible outside of this function [-Wvisibility]",
		[f]="redefinition of A will not be visible outside of this function",
		[b]=g,
		[a]=h
	},
	["warn_redundant_loop_iteration"]={
		[c]="variable A is ... both in the loop header and in the loop body [-Wfor-loop-analysis]",
		[f]={"variable A is ",{"decremented","incremented"}," both in the loop header and in the loop body"},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_redundant_move_on_return"]={
		[c]="redundant move in return statement [-Wredundant-move]",
		[f]="redundant move in return statement",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_redundant_parens_around_declarator"]={
		[c]="redundant parentheses surrounding declarator [-Wredundant-parens]",
		[f]="redundant parentheses surrounding declarator",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_reference_field_is_uninit"]={
		[c]="reference A is not yet bound to a value when used here [-Wuninitialized]",
		[f]="reference A is not yet bound to a value when used here",
		[b]=g,
		[a]=h
	},
	["warn_register_objc_catch_parm"]={
		[c]="\'register\' storage specifier on @catch parameter will be ignored",
		[b]=g,
		[a]=h
	},
	["warn_reinterpret_different_from_static"]={
		[c]="\'reinterpret_cast\' ... class A ... its ... B behaves differently from \'static_cast\' [-Wreinterpret-base-class]",
		[f]={"\'reinterpret_cast\' ",{Ed,"to"}," class A ",{"to",Ed}," its ",{"virtual base","base at non-zero offset"}," B behaves differently from \'static_cast\'"},
		[b]=g,
		[a]=h
	},
	["warn_related_result_type_compatibility_class"]={
		[c]="method is expected to return an instance of its class type A, but is declared to return B",
		[f]={"method is expected to return an instance of its class type ",{"A, but is declared to return B",", but is declared to return different type"}},
		[b]=g,
		[a]=h
	},
	["warn_related_result_type_compatibility_protocol"]={
		[c]="protocol method is expected to return an instance of the implementing class, but is declared to return A",
		[b]=g,
		[a]=h
	},
	["warn_remainder_division_by_zero"]={
		[c]="... by zero is undefined [-Wdivision-by-zero]",
		[f]={{"remainder","division"}," by zero is undefined"},
		[b]=g,
		[a]=h
	},
	["warn_require_const_init_added_too_late"]={
		[c]="\'require_constant_initialization\' attribute added after initialization of variable [-Wignored-attributes]",
		[f]="\'require_constant_initialization\' attribute added after initialization of variable",
		[b]=g,
		[a]=h
	},
	["warn_reserved_extern_symbol"]={
		[c]="identifier A is reserved because ... [-Wreserved-identifier]",
		[f]={"identifier A is reserved because ",{"it starts with \'_\' at global scope","it starts with \'_\' and has C language linkage","it starts with \'__\'","it starts with \'_\' followed by a capital letter","it contains \'__\'"}},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_reserved_module_name"]={
		[c]="A is a reserved name for a module [-Wreserved-module-identifier]",
		[f]="A is a reserved name for a module",
		[b]=g,
		[a]=h
	},
	["warn_ret_addr_label"]={
		[c]="returning address of label, which is local [-Wreturn-stack-address]",
		[f]="returning address of label, which is local",
		[b]=g,
		[a]=h
	},
	["warn_ret_local_temp_addr_ref"]={
		[c]="returning ... local temporary object [-Wreturn-stack-address]",
		[f]={"returning ",{"address of","reference to"}," local temporary object"},
		[b]=g,
		[a]=h
	},
	["warn_ret_stack_addr_ref"]={
		[c]="... stack memory associated with ... B returned [-Wreturn-stack-address]",
		[f]={{"address of","reference to"}," stack memory associated with ",{"local variable",ac}," B returned"},
		[b]=g,
		[a]=h
	},
	["warn_return_missing_expr"]={
		[c]="non-void ... A should return a value [-Wreturn-type]",
		[f]={"non-void ",{m,u}," A should return a value"},
		[b]=d,
		[a]=q
	},
	["warn_return_typestate_for_unconsumable_type"]={
		[c]="return state set for an unconsumable type \'A\' [-Wconsumed]",
		[f]="return state set for an unconsumable type \'A\'",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_return_typestate_mismatch"]={
		[c]="return value not in expected state; expected \'A\', observed \'B\' [-Wconsumed]",
		[f]="return value not in expected state; expected \'A\', observed \'B\'",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_return_value_size"]={
		[c]="return value of A is a large (B bytes) pass-by-value object; pass it by reference instead ? [-Wlarge-by-value-copy]",
		[f]="return value of A is a large (B bytes) pass-by-value object; pass it by reference instead ?",
		[b]=g,
		[a]=h
	},
	["warn_return_value_udt"]={
		[c]="A has C-linkage specified, but returns user-defined type B which is incompatible with C [-Wreturn-type-c-linkage]",
		[f]="A has C-linkage specified, but returns user-defined type B which is incompatible with C",
		[b]=g,
		[a]=h
	},
	["warn_return_value_udt_incomplete"]={
		[c]="A has C-linkage specified, but returns incomplete type B which could be incompatible with C [-Wreturn-type-c-linkage]",
		[f]="A has C-linkage specified, but returns incomplete type B which could be incompatible with C",
		[b]=g,
		[a]=h
	},
	["warn_riscv_repeated_interrupt_attribute"]={
		[c]="repeated RISC-V \'interrupt\' attribute [-Wignored-attributes]",
		[f]="repeated RISC-V \'interrupt\' attribute",
		[b]=g,
		[a]=h
	},
	["warn_root_inst_method_not_found"]={
		[c]="instance method A is being used on \'Class\' which is not in the root class [-Wobjc-method-access]",
		[f]="instance method A is being used on \'Class\' which is not in the root class",
		[b]=g,
		[a]=h
	},
	["warn_sampler_initializer_invalid_bits"]={
		[c]="sampler initializer has invalid A bits [-Wspir-compat]",
		[f]="sampler initializer has invalid A bits",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_scanf_nonzero_width"]={
		[c]="zero field width in scanf format string is unused [-Wformat]",
		[f]="zero field width in scanf format string is unused",
		[b]=g,
		[a]=h
	},
	["warn_scanf_scanlist_incomplete"]={
		[c]="no closing \']\' for \'%[\' in scanf format string [-Wformat]",
		[f]="no closing \']\' for \'%[\' in scanf format string",
		[b]=g,
		[a]=h
	},
	["warn_second_arg_of_va_start_not_last_named_param"]={
		[c]="second argument to \'va_start\' is not the last named parameter [-Wvarargs]",
		[f]="second argument to \'va_start\' is not the last named parameter",
		[b]=g,
		[a]=h
	},
	["warn_second_parameter_to_va_arg_never_compatible"]={
		[c]="second argument to \'va_arg\' is of promotable type A; this va_arg has undefined behavior because arguments will be promoted to B [-Wvarargs]",
		[f]="second argument to \'va_arg\' is of promotable type A; this va_arg has undefined behavior because arguments will be promoted to B",
		[b]=g,
		[a]=h
	},
	["warn_second_parameter_to_va_arg_not_pod"]={
		[c]="second argument to \'va_arg\' is of non-POD type A [-Wnon-pod-varargs]",
		[f]="second argument to \'va_arg\' is of non-POD type A",
		[b]=d,
		[a]=q
	},
	["warn_second_parameter_to_va_arg_ownership_qualified"]={
		[c]="second argument to \'va_arg\' is of ARC ownership-qualified type A [-Wnon-pod-varargs]",
		[f]="second argument to \'va_arg\' is of ARC ownership-qualified type A",
		[b]=d,
		[a]=q
	},
	["warn_self_assignment_builtin"]={
		[c]="explicitly assigning value of variable of type A to itself... [-Wself-assign]",
		[f]={"explicitly assigning value of variable of type A to itself",{l,"; did you mean to assign to member C?"}},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_self_assignment_overloaded"]={
		[c]="explicitly assigning value of variable of type A to itself... [-Wself-assign-overloaded]",
		[f]={"explicitly assigning value of variable of type A to itself",{l,"; did you mean to assign to member C?"}},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_self_move"]={
		[c]="explicitly moving variable of type A to itself... [-Wself-move]",
		[f]={"explicitly moving variable of type A to itself",{l,"; did you mean to move to member C?"}},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_semicolon_before_method_body"]={
		[c]="semicolon before method body is ignored [-Wsemicolon-before-method-body]",
		[f]="semicolon before method body is ignored",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_setter_getter_impl_required"]={
		[c]="property A requires method B to be defined - use @synthesize, @dynamic or provide a method implementation in this class implementation [-Wobjc-property-implementation]",
		[f]="property A requires method B to be defined - use @synthesize, @dynamic or provide a method implementation in this class implementation",
		[b]=g,
		[a]=h
	},
	["warn_setter_getter_impl_required_in_category"]={
		[c]="property A requires method B to be defined - use @dynamic or provide a method implementation in this category [-Wobjc-property-implementation]",
		[f]="property A requires method B to be defined - use @dynamic or provide a method implementation in this category",
		[b]=g,
		[a]=h
	},
	["warn_shadow_field"]={
		[c]="... A ...shadows member inherited from type C [-Wshadow-field]",
		[f]={{ac,"non-static data member"}," A ",{l,"of B "},"shadows member inherited from type C"},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_shift_gt_typewidth"]={
		[c]="shift count >= width of type [-Wshift-count-overflow]",
		[f]="shift count >= width of type",
		[b]=g,
		[a]=h
	},
	["warn_shift_lhs_negative"]={
		[c]="shifting a negative signed value is undefined [-Wshift-negative-value]",
		[f]="shifting a negative signed value is undefined",
		[b]=g,
		[a]=h
	},
	["warn_shift_negative"]={
		[c]="shift count is negative [-Wshift-count-negative]",
		[f]="shift count is negative",
		[b]=g,
		[a]=h
	},
	["warn_shift_result_gt_typewidth"]={
		[c]="signed shift result (A) requires B bits to represent, but C only has D bits [-Wshift-overflow]",
		[f]="signed shift result (A) requires B bits to represent, but C only has D bits",
		[b]=g,
		[a]=h
	},
	["warn_shift_result_sets_sign_bit"]={
		[c]="signed shift result (A) sets the sign bit of the shift expression\'s type (B) and becomes negative [-Wshift-sign-overflow]",
		[f]="signed shift result (A) sets the sign bit of the shift expression\'s type (B) and becomes negative",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_side_effects_typeid"]={
		[c]="expression with side effects will be evaluated despite being used as an operand to \'typeid\' [-Wpotentially-evaluated-expression]",
		[f]="expression with side effects will be evaluated despite being used as an operand to \'typeid\'",
		[b]=g,
		[a]=h
	},
	["warn_side_effects_unevaluated_context"]={
		[c]="expression with side effects has no effect in an unevaluated context [-Wunevaluated-expression]",
		[f]="expression with side effects has no effect in an unevaluated context",
		[b]=g,
		[a]=h
	},
	["warn_signed_bitfield_enum_conversion"]={
		[c]="signed bit-field A needs an extra bit to represent the largest positive enumerators of B [-Wbitfield-enum-conversion]",
		[f]="signed bit-field A needs an extra bit to represent the largest positive enumerators of B",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_sizeof_array_decay"]={
		[c]="sizeof on pointer operation will return size of A instead of B [-Wsizeof-array-decay]",
		[f]="sizeof on pointer operation will return size of A instead of B",
		[b]=g,
		[a]=h
	},
	["warn_sizeof_array_param"]={
		[c]="sizeof on array function parameter will return size of A instead of B [-Wsizeof-array-argument]",
		[f]="sizeof on array function parameter will return size of A instead of B",
		[b]=g,
		[a]=h
	},
	["warn_sizeof_pointer_expr_memaccess"]={
		[c]="\'A\' call operates on objects of type B while the size is based on a different type C [-Wsizeof-pointer-memaccess]",
		[f]="\'A\' call operates on objects of type B while the size is based on a different type C",
		[b]=g,
		[a]=h
	},
	["warn_sizeof_pointer_expr_memaccess_note"]={
		[c]="did you mean to ...?",
		[f]={"did you mean to ",{"dereference the argument to \'sizeof\' (and multiply it by the number of elements)","remove the addressof in the argument to \'sizeof\' (and multiply it by the number of elements)","provide an explicit length"},"?"},
		[b]=i,
		[a]=j
	},
	["warn_sizeof_pointer_type_memaccess"]={
		[c]="argument to \'sizeof\' in A call is the same pointer type B as the ...; expected D or an explicit length [-Wsizeof-pointer-memaccess]",
		[f]={"argument to \'sizeof\' in A call is the same pointer type B as the ",{"destination","source"},"; expected D or an explicit length"},
		[b]=g,
		[a]=h
	},
	["warn_slash_u_filename"]={
		[c]="\'/UA\' treated as the \'/U\' option [-Wslash-u-filename]",
		[f]="\'/UA\' treated as the \'/U\' option",
		[b]=g,
		[a]=h
	},
	["warn_slh_does_not_support_asm_goto"]={
		[c]="speculative load hardening does not protect functions with asm goto [-Wslh-asm-goto]",
		[f]="speculative load hardening does not protect functions with asm goto",
		[b]=g,
		[a]=h
	},
	["warn_some_initializers_out_of_order"]={
		[c]="initializer order does not match the declaration order [-Wreorder-ctor]",
		[f]="initializer order does not match the declaration order",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_sometimes_uninit_var"]={
		[c]="variable A is ... uninitialized whenever ... [-Wsometimes-uninitialized]",
		[f]={"variable A is ",{"used","captured"}," uninitialized whenever ",{{"\'D\' condition is ",{Tb,Vb}},{"\'D\' loop ",{"is entered","exits because its condition is false"}},{"\'D\' loop ",{"condition is true","exits because its condition is false"}},"switch D is taken","its declaration is reached","D is called"}},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_splice_in_doxygen_comment"]={
		[c]="line splicing in Doxygen comments are not supported [-Wdocumentation]",
		[f]="line splicing in Doxygen comments are not supported",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_stack_clash_protection_inline_asm"]={
		[c]="unable to protect inline asm that clobbers stack pointer against stack clash [-Wstack-protector]",
		[f]="unable to protect inline asm that clobbers stack pointer against stack clash",
		[b]=g,
		[a]=h
	},
	["warn_stack_exhausted"]={
		[c]="stack nearly exhausted; compilation time may suffer, and crashes due to stack overflow are likely [-Wstack-exhausted]",
		[f]="stack nearly exhausted; compilation time may suffer, and crashes due to stack overflow are likely",
		[b]=g,
		[a]=h
	},
	["warn_standalone_specifier"]={
		[c]="\'A\' ignored on this declaration [-Wmissing-declarations]",
		[f]="\'A\' ignored on this declaration",
		[b]=g,
		[a]=h
	},
	["warn_static_array_too_small"]={
		[c]="array argument is too small; ..., callee requires at least B [-Warray-bounds]",
		[f]={"array argument is too small; ",{"contains A elements","is of size A"},", callee requires at least B"},
		[b]=g,
		[a]=h
	},
	["warn_static_assert_message_constexpr"]={
		[c]="the message in this static assertion is not a constant expression [-Winvalid-static-assert-message]",
		[f]="the message in this static assertion is not a constant expression",
		[b]=d,
		[a]=q
	},
	["warn_static_inline_explicit_inst_ignored"]={
		[c]="ignoring \'...\' keyword on explicit template instantiation [-Wstatic-inline-explicit-instantiation]",
		[f]={"ignoring \'",{Vc,"inline"},"\' keyword on explicit template instantiation"},
		[b]=g,
		[a]=h
	},
	["warn_static_local_in_extern_inline"]={
		[c]="non-constant static local variable in inline function may be different in different files [-Wstatic-local-in-inline]",
		[f]="non-constant static local variable in inline function may be different in different files",
		[b]=g,
		[a]=h
	},
	["warn_static_main"]={
		[c]="\'main\' should not be declared static [-Wmain]",
		[f]="\'main\' should not be declared static",
		[b]=g,
		[a]=h
	},
	["warn_static_self_reference_in_init"]={
		[c]="static variable A is suspiciously used within its own initialization [-Wstatic-self-init]",
		[f]="static variable A is suspiciously used within its own initialization",
		[b]=g,
		[a]=h
	},
	["warn_stdc_fenv_round_not_supported"]={
		[c]="pragma STDC FENV_ROUND is not supported [-Wunknown-pragmas]",
		[f]="pragma STDC FENV_ROUND is not supported",
		[b]=g,
		[a]=h
	},
	["warn_stdc_unknown_rounding_mode"]={
		[c]="invalid or unsupported rounding mode in \'#pragma STDC FENV_ROUND\' - ignored [-Wignored-pragmas]",
		[f]="invalid or unsupported rounding mode in \'#pragma STDC FENV_ROUND\' - ignored",
		[b]=g,
		[a]=h
	},
	["warn_strict_multiple_method_decl"]={
		[c]="multiple methods named A found [-Wstrict-selector-match]",
		[f]="multiple methods named A found",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_strict_potentially_direct_selector_expression"]={
		[c]="@selector expression formed with potentially direct selector A [-Wstrict-potentially-direct-selector]",
		[f]="@selector expression formed with potentially direct selector A",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_strict_prototypes"]={
		[c]="a ... declaration without a prototype is deprecated ... [-Wstrict-prototypes]",
		[f]={"a ",{m,y}," declaration without a prototype is deprecated ",{"in all versions of C",l}},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_strict_uses_without_prototype"]={
		[c]="passing arguments to ... without a prototype is deprecated in all versions of C and is not supported in C2x [-Wdeprecated-non-prototype]",
		[f]={"passing arguments to ",{"a function",fd}," without a prototype is deprecated in all versions of C and is not supported in C2x"},
		[b]=g,
		[a]=h
	},
	["warn_string_plus_char"]={
		[c]="adding A to a string pointer does not append to the string [-Wstring-plus-char]",
		[f]="adding A to a string pointer does not append to the string",
		[b]=g,
		[a]=h
	},
	["warn_string_plus_int"]={
		[c]="adding A to a string does not append to the string [-Wstring-plus-int]",
		[f]="adding A to a string does not append to the string",
		[b]=g,
		[a]=h
	},
	["warn_stringcompare"]={
		[c]="result of comparison against ... is unspecified (use an explicit string comparison function instead) [-Wstring-compare]",
		[f]={"result of comparison against ",{"a string literal","@encode"}," is unspecified (use an explicit string comparison function instead)"},
		[b]=g,
		[a]=h
	},
	["warn_strlcpycat_wrong_size"]={
		[c]="size argument in A call appears to be size of the source; expected the size of the destination [-Wstrlcpy-strlcat-size]",
		[f]="size argument in A call appears to be size of the source; expected the size of the destination",
		[b]=g,
		[a]=h
	},
	["warn_strncat_large_size"]={
		[c]="the value of the size argument in \'strncat\' is too large, might lead to a buffer overflow [-Wstrncat-size]",
		[f]="the value of the size argument in \'strncat\' is too large, might lead to a buffer overflow",
		[b]=g,
		[a]=h
	},
	["warn_strncat_src_size"]={
		[c]="size argument in \'strncat\' call appears to be size of the source [-Wstrncat-size]",
		[f]="size argument in \'strncat\' call appears to be size of the source",
		[b]=g,
		[a]=h
	},
	["warn_strncat_wrong_size"]={
		[c]="the value of the size argument to \'strncat\' is wrong [-Wstrncat-size]",
		[f]="the value of the size argument to \'strncat\' is wrong",
		[b]=g,
		[a]=h
	},
	["warn_struct_class_previous_tag_mismatch"]={
		[c]="C defined as ...... here but previously declared as ......; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]",
		[f]={"C defined as ",{"a struct","an interface","a class"},{l,U}," here but previously declared as ",{"a struct","an interface","a class"},{l,U},"; this is valid, but may result in linker errors under the Microsoft C++ ABI"},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_struct_class_tag_mismatch"]={
		[c]="...... C was previously declared as a ......; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags]",
		[f]={{r,B,o},{l,U}," C was previously declared as a ",{r,B,o},{l,U},"; this is valid, but may result in linker errors under the Microsoft C++ ABI"},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_sub_ptr_zero_size_types"]={
		[c]="subtraction of pointers to type A of zero size has undefined behavior [-Wpointer-arith]",
		[f]="subtraction of pointers to type A of zero size has undefined behavior",
		[b]=g,
		[a]=h
	},
	["warn_subscript_is_char"]={
		[c]="array subscript is of type \'char\' [-Wchar-subscripts]",
		[f]="array subscript is of type \'char\'",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_suggest_destructor_marked_not_override_overriding"]={
		[c]="A overrides a destructor but is not marked \'override\' [-Wsuggest-destructor-override]",
		[f]="A overrides a destructor but is not marked \'override\'",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_suggest_function_marked_not_override_overriding"]={
		[c]="A overrides a member function but is not marked \'override\' [-Wsuggest-override]",
		[f]="A overrides a member function but is not marked \'override\'",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_suggest_noreturn_block"]={
		[c]="block could be declared with attribute \'noreturn\' [-Wmissing-noreturn]",
		[f]="block could be declared with attribute \'noreturn\'",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_suggest_noreturn_function"]={
		[c]="... B could be declared with attribute \'noreturn\' [-Wmissing-noreturn]",
		[f]={{m,u}," B could be declared with attribute \'noreturn\'"},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_superclass_variable_sized_type_not_at_end"]={
		[c]="field A can overwrite instance variable B with variable sized type C in superclass D [-Wobjc-flexible-array]",
		[f]="field A can overwrite instance variable B with variable sized type C in superclass D",
		[b]=g,
		[a]=h
	},
	["warn_suspicious_bzero_size"]={
		[c]="\'size\' argument to bzero is \'0\' [-Wsuspicious-bzero]",
		[f]="\'size\' argument to bzero is \'0\'",
		[b]=g,
		[a]=h
	},
	["warn_suspicious_sizeof_memset"]={
		[c]="...; did you mean to transpose the last two arguments? [-Wmemset-transposed-args]",
		[f]={{"\'size\' argument to memset is \'0\'","setting buffer to a \'sizeof\' expression"},"; did you mean to transpose the last two arguments?"},
		[b]=g,
		[a]=h
	},
	["warn_sycl_kernel_invalid_template_param_type"]={
		[c]="template parameter of a function template with the \'sycl_kernel\' attribute cannot be a non-type template parameter [-Wignored-attributes]",
		[f]="template parameter of a function template with the \'sycl_kernel\' attribute cannot be a non-type template parameter",
		[b]=g,
		[a]=h
	},
	["warn_sycl_kernel_num_of_function_params"]={
		[c]="function template with \'sycl_kernel\' attribute must have a single parameter [-Wignored-attributes]",
		[f]="function template with \'sycl_kernel\' attribute must have a single parameter",
		[b]=g,
		[a]=h
	},
	["warn_sycl_kernel_num_of_template_params"]={
		[c]="\'sycl_kernel\' attribute only applies to a function template with at least two template parameters [-Wignored-attributes]",
		[f]="\'sycl_kernel\' attribute only applies to a function template with at least two template parameters",
		[b]=g,
		[a]=h
	},
	["warn_sycl_kernel_return_type"]={
		[c]="function template with \'sycl_kernel\' attribute must have a \'void\' return type [-Wignored-attributes]",
		[f]="function template with \'sycl_kernel\' attribute must have a \'void\' return type",
		[b]=g,
		[a]=h
	},
	["warn_sync_fetch_and_nand_semantics_change"]={
		[c]="the semantics of this intrinsic changed with GCC version 4.4 - the newer semantics are provided here [-Wsync-fetch-and-nand-semantics-changed]",
		[f]="the semantics of this intrinsic changed with GCC version 4.4 - the newer semantics are provided here",
		[b]=g,
		[a]=h
	},
	["warn_sync_op_misaligned"]={
		[c]="__sync builtin operation MUST have natural alignment (consider using __atomic). [-Wsync-alignment]",
		[f]="__sync builtin operation MUST have natural alignment (consider using __atomic).",
		[b]=g,
		[a]=h
	},
	["warn_taking_address_of_packed_member"]={
		[c]="taking address of packed member A of class or structure B may result in an unaligned pointer value [-Waddress-of-packed-member]",
		[f]="taking address of packed member A of class or structure B may result in an unaligned pointer value",
		[b]=g,
		[a]=h
	},
	["warn_target_clone_duplicate_options"]={
		[c]="version list contains duplicate entries [-Wfunction-multiversion]",
		[f]="version list contains duplicate entries",
		[b]=g,
		[a]=h
	},
	["warn_target_clone_mixed_values"]={
		[c]="mixing \'target_clones\' specifier mechanisms is permitted for GCC compatibility; use a comma separated sequence of string literals, or a string literal containing a comma-separated list of versions [-Wtarget-clones-mixed-specifiers]",
		[f]="mixing \'target_clones\' specifier mechanisms is permitted for GCC compatibility; use a comma separated sequence of string literals, or a string literal containing a comma-separated list of versions",
		[b]=g,
		[a]=h
	},
	["warn_target_clone_no_impact_options"]={
		[c]="version list contains entries that don\'t impact code generation [-Wfunction-multiversion]",
		[f]="version list contains entries that don\'t impact code generation",
		[b]=g,
		[a]=h
	},
	["warn_target_override_arm64ec"]={
		[c]="/arm64EC has been overridden by specified target: A; option ignored [-Woption-ignored]",
		[f]="/arm64EC has been overridden by specified target: A; option ignored",
		[b]=g,
		[a]=h
	},
	["warn_target_unrecognized_env"]={
		[c]="mismatch between architecture and environment in target triple \'A\'; did you mean \'B\'? [-Winvalid-command-line-argument]",
		[f]="mismatch between architecture and environment in target triple \'A\'; did you mean \'B\'?",
		[b]=g,
		[a]=h
	},
	["warn_target_unsupported_abs2008"]={
		[c]="ignoring \'-mabs=2008\' option because the \'A\' architecture does not support it [-Wunsupported-abs]",
		[f]="ignoring \'-mabs=2008\' option because the \'A\' architecture does not support it",
		[b]=g,
		[a]=h
	},
	["warn_target_unsupported_abslegacy"]={
		[c]="ignoring \'-mabs=legacy\' option because the \'A\' architecture does not support it [-Wunsupported-abs]",
		[f]="ignoring \'-mabs=legacy\' option because the \'A\' architecture does not support it",
		[b]=g,
		[a]=h
	},
	["warn_target_unsupported_branch_protection_attribute"]={
		[c]="ignoring the \'branch-protection\' attribute because the \'A\' architecture does not support it [-Wbranch-protection]",
		[f]="ignoring the \'branch-protection\' attribute because the \'A\' architecture does not support it",
		[b]=g,
		[a]=h
	},
	["warn_target_unsupported_compact_branches"]={
		[c]="ignoring \'-mcompact-branches=\' option because the \'A\' architecture does not support it [-Wunsupported-cb]",
		[f]="ignoring \'-mcompact-branches=\' option because the \'A\' architecture does not support it",
		[b]=g,
		[a]=h
	},
	["warn_target_unsupported_extension"]={
		[c]="ignoring extension \'A\' because the \'B\' architecture does not support it [-Winvalid-command-line-argument]",
		[f]="ignoring extension \'A\' because the \'B\' architecture does not support it",
		[b]=g,
		[a]=h
	},
	["warn_target_unsupported_nan2008"]={
		[c]="ignoring \'-mnan=2008\' option because the \'A\' architecture does not support it [-Wunsupported-nan]",
		[f]="ignoring \'-mnan=2008\' option because the \'A\' architecture does not support it",
		[b]=g,
		[a]=h
	},
	["warn_target_unsupported_nanlegacy"]={
		[c]="ignoring \'-mnan=legacy\' option because the \'A\' architecture does not support it [-Wunsupported-nan]",
		[f]="ignoring \'-mnan=legacy\' option because the \'A\' architecture does not support it",
		[b]=g,
		[a]=h
	},
	["warn_tautological_bool_compare"]={
		[c]="result of comparison of ... with ... is always E [-Wtautological-constant-compare]",
		[f]={"result of comparison of ",{"constant A",Tb,Vb},Gd,{"expression of type C","boolean expression"}," is always E"},
		[b]=g,
		[a]=h
	},
	["warn_tautological_compare_objc_bool"]={
		[c]="result of comparison of constant A with expression of type \'BOOL\' is always B, as the only well defined values for \'BOOL\' are YES and NO [-Wtautological-objc-bool-compare]",
		[f]="result of comparison of constant A with expression of type \'BOOL\' is always B, as the only well defined values for \'BOOL\' are YES and NO",
		[b]=g,
		[a]=h
	},
	["warn_tautological_compare_value_range"]={
		[c]="result of comparison of ... D ... is always F [-Wtautological-value-range-compare]",
		[f]={"result of comparison of ",{"E",{"B-bit ",{"signed","unsigned"}," value"}}," D ",{{"B-bit ",{"signed","unsigned"}," value"},"E"}," is always F"},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_tautological_constant_compare"]={
		[c]="result of comparison ... C ... is always E [-Wtautological-type-limit-compare]",
		[f]={"result of comparison ",{hc,fd}," C ",{fd,hc}," is always E"},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_tautological_overlap_comparison"]={
		[c]="overlapping comparisons always evaluate to ... [-Wtautological-overlap-compare]",
		[f]={"overlapping comparisons always evaluate to ",{Vb,Tb}},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_tcb_enforcement_violation"]={
		[c]="calling A is a violation of trusted computing base \'B\' [-Wtcb-enforcement]",
		[f]="calling A is a violation of trusted computing base \'B\'",
		[b]=g,
		[a]=h
	},
	["warn_template_arg_negative"]={
		[c]="non-type template argument with value \'A\' converted to \'B\' for unsigned template parameter of type C [-Wconversion]",
		[f]="non-type template argument with value \'A\' converted to \'B\' for unsigned template parameter of type C",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_template_arg_too_large"]={
		[c]="non-type template argument value \'A\' truncated to \'B\' for template parameter of type C [-Wconversion]",
		[f]="non-type template argument value \'A\' truncated to \'B\' for template parameter of type C",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_template_export_unsupported"]={
		[c]="exported templates are unsupported",
		[b]=g,
		[a]=h
	},
	["warn_template_qualified_friend_ignored"]={
		[c]="dependent nested name specifier \'A\' for friend template declaration is not supported; ignoring this friend declaration [-Wunsupported-friend]",
		[f]="dependent nested name specifier \'A\' for friend template declaration is not supported; ignoring this friend declaration",
		[b]=g,
		[a]=h
	},
	["warn_template_qualified_friend_unsupported"]={
		[c]="dependent nested name specifier \'A\' for friend class declaration is not supported; turning off access control for B [-Wunsupported-friend]",
		[f]="dependent nested name specifier \'A\' for friend class declaration is not supported; turning off access control for B",
		[b]=g,
		[a]=h
	},
	["warn_template_spec_extra_headers"]={
		[c]="extraneous template parameter list in template specialization",
		[b]=g,
		[a]=h
	},
	["warn_tentative_incomplete_array"]={
		[c]="tentative array definition assumed to have one element",
		[b]=g,
		[a]=h
	},
	["warn_this_bool_conversion"]={
		[c]="\'this\' pointer cannot be null in well-defined C++ code; pointer may be assumed to always convert to true [-Wundefined-bool-conversion]",
		[f]="\'this\' pointer cannot be null in well-defined C++ code; pointer may be assumed to always convert to true",
		[b]=g,
		[a]=h
	},
	["warn_this_null_compare"]={
		[c]="\'this\' pointer cannot be null in well-defined C++ code; comparison may be assumed to always evaluate to ... [-Wtautological-undefined-compare]",
		[f]={"\'this\' pointer cannot be null in well-defined C++ code; comparison may be assumed to always evaluate to ",{Tb,Vb}},
		[b]=g,
		[a]=h
	},
	["warn_thread_attribute_argument_not_lockable"]={
		[c]="A attribute requires arguments whose type is annotated with \'capability\' attribute; type here is B [-Wthread-safety-attributes]",
		[f]="A attribute requires arguments whose type is annotated with \'capability\' attribute; type here is B",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_thread_attribute_decl_not_lockable"]={
		[c]="A attribute can only be applied in a context annotated with \'capability\' attribute [-Wthread-safety-attributes]",
		[f]="A attribute can only be applied in a context annotated with \'capability\' attribute",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_thread_attribute_decl_not_pointer"]={
		[c]="A only applies to pointer types; type here is B [-Wthread-safety-attributes]",
		[f]="A only applies to pointer types; type here is B",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_thread_attribute_ignored"]={
		[c]="ignoring A attribute because its argument is invalid [-Wthread-safety-attributes]",
		[f]="ignoring A attribute because its argument is invalid",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_thread_attribute_not_on_capability_member"]={
		[c]="A attribute without capability arguments refers to \'this\', but B isn\'t annotated with \'capability\' or \'scoped_lockable\' attribute [-Wthread-safety-attributes]",
		[f]="A attribute without capability arguments refers to \'this\', but B isn\'t annotated with \'capability\' or \'scoped_lockable\' attribute",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_thread_attribute_not_on_non_static_member"]={
		[c]="A attribute without capability arguments can only be applied to non-static methods of a class [-Wthread-safety-attributes]",
		[f]="A attribute without capability arguments can only be applied to non-static methods of a class",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_thread_safety_beta"]={
		[c]="thread safety beta warning [-Wthread-safety-beta]",
		[f]="thread safety beta warning",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_thread_safety_verbose"]={
		[c]="thread safety verbose warning [-Wthread-safety-verbose]",
		[f]="thread safety verbose warning",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_throw_in_noexcept_func"]={
		[c]="A has a non-throwing exception specification but can still throw [-Wexceptions]",
		[f]="A has a non-throwing exception specification but can still throw",
		[b]=g,
		[a]=h
	},
	["warn_throw_underaligned_obj"]={
		[c]="underaligned exception object thrown [-Wunderaligned-exception-object]",
		[f]="underaligned exception object thrown",
		[b]=g,
		[a]=h
	},
	["warn_transparent_union_attribute_field_size_align"]={
		[c]="... of field B (C bits) does not match the ... of the first field in transparent union; transparent_union attribute ignored [-Wignored-attributes]",
		[f]={{"alignment",Jd}," of field B (C bits) does not match the ",{"alignment",Jd}," of the first field in transparent union; transparent_union attribute ignored"},
		[b]=g,
		[a]=h
	},
	["warn_transparent_union_attribute_floating"]={
		[c]="first field of a transparent union cannot have ... type B; transparent_union attribute ignored [-Wignored-attributes]",
		[f]={"first field of a transparent union cannot have ",{"floating point","vector"}," type B; transparent_union attribute ignored"},
		[b]=g,
		[a]=h
	},
	["warn_transparent_union_attribute_not_definition"]={
		[c]="transparent_union attribute can only be applied to a union definition; attribute ignored [-Wignored-attributes]",
		[f]="transparent_union attribute can only be applied to a union definition; attribute ignored",
		[b]=g,
		[a]=h
	},
	["warn_transparent_union_attribute_zero_fields"]={
		[c]="transparent union definition must contain at least one field; transparent_union attribute ignored [-Wignored-attributes]",
		[f]="transparent union definition must contain at least one field; transparent_union attribute ignored",
		[b]=g,
		[a]=h
	},
	["warn_type_attribute_deprecated_on_decl"]={
		[c]="applying attribute A to a declaration is deprecated; apply it to the type instead [-Wdeprecated-attributes]",
		[f]="applying attribute A to a declaration is deprecated; apply it to the type instead",
		[b]=g,
		[a]=h
	},
	["warn_type_attribute_wrong_type"]={
		[c]="\'A\' only applies to ... types; type here is C [-Wignored-attributes]",
		[f]={"\'A\' only applies to ",{m,W,"Objective-C object or block pointer"}," types; type here is C"},
		[b]=g,
		[a]=h
	},
	["warn_type_safety_null_pointer_required"]={
		[c]="specified A type tag requires a null pointer [-Wtype-safety]",
		[f]="specified A type tag requires a null pointer",
		[b]=g,
		[a]=h
	},
	["warn_type_safety_type_mismatch"]={
		[c]="argument type A doesn\'t match specified B type tag ... [-Wtype-safety]",
		[f]={"argument type A doesn\'t match specified B type tag ",{"that requires D",l}},
		[b]=g,
		[a]=h
	},
	["warn_type_tag_for_datatype_wrong_kind"]={
		[c]="this type tag was not designed to be used with this function [-Wtype-safety]",
		[f]="this type tag was not designed to be used with this function",
		[b]=g,
		[a]=h
	},
	["warn_typecheck_convert_incompatible_function_pointer_strict"]={
		[c]="incompatible function pointer types ...... [-Wincompatible-function-pointer-types-strict]",
		[f]={"incompatible function pointer types ",{{{ab,G}},{{N,S}},{{T,F}},{{P,R}},{{Q,O}},{{M,L}},{{K,I}}},{l,Tc,Pc,ec,fc}},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_typecheck_function_qualifiers_ignored"]={
		[c]="\'A\' qualifier on function type B has no effect [-Wignored-qualifiers]",
		[f]="\'A\' qualifier on function type B has no effect",
		[b]=g,
		[a]=h
	},
	["warn_typecheck_function_qualifiers_unspecified"]={
		[c]="\'A\' qualifier on function type B has unspecified behavior",
		[b]=g,
		[a]=h
	},
	["warn_typecheck_ordered_comparison_of_function_pointers"]={
		[c]="ordered comparison of function pointers (A and B) [-Wordered-compare-function-pointers]",
		[f]="ordered comparison of function pointers (A and B)",
		[b]=g,
		[a]=h
	},
	["warn_typecheck_reference_qualifiers"]={
		[c]="\'A\' qualifier on reference type B has no effect [-Wignored-reference-qualifiers]",
		[f]="\'A\' qualifier on reference type B has no effect",
		[b]=g,
		[a]=h
	},
	["warn_typecheck_vector_element_sizes_not_equal"]={
		[c]="vector operands do not have the same elements sizes (A and B) [-Wvec-elem-size]",
		[f]="vector operands do not have the same elements sizes (A and B)",
		[b]=d,
		[a]=q
	},
	["warn_ucn_escape_incomplete"]={
		[c]="incomplete universal character name; treating as \'\\\' followed by identifier [-Wunicode]",
		[f]="incomplete universal character name; treating as \'\\\' followed by identifier",
		[b]=g,
		[a]=h
	},
	["warn_ucn_escape_no_digits"]={
		[c]="\\A used with no following hex digits; treating as \'\\\' followed by identifier [-Wunicode]",
		[f]="\\A used with no following hex digits; treating as \'\\\' followed by identifier",
		[b]=g,
		[a]=h
	},
	["warn_ucn_escape_surrogate"]={
		[c]="universal character name refers to a surrogate character [-Wunicode]",
		[f]="universal character name refers to a surrogate character",
		[b]=g,
		[a]=h
	},
	["warn_ucn_not_valid_in_c89"]={
		[c]="universal character names are only valid in C99 or C++; treating as \'\\\' followed by identifier [-Wunicode]",
		[f]="universal character names are only valid in C99 or C++; treating as \'\\\' followed by identifier",
		[b]=g,
		[a]=h
	},
	["warn_ucn_not_valid_in_c89_literal"]={
		[c]="universal character names are only valid in C99 or C++ [-Wunicode]",
		[f]="universal character names are only valid in C99 or C++",
		[b]=g,
		[a]=h
	},
	["warn_unaligned_access"]={
		[c]="field B within A is less aligned than C and is usually due to A being packed, which can lead to unaligned accesses [-Wunaligned-access]",
		[f]="field B within A is less aligned than C and is usually due to A being packed, which can lead to unaligned accesses",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_unannotated_fallthrough"]={
		[c]="unannotated fall-through between switch labels [-Wimplicit-fallthrough]",
		[f]="unannotated fall-through between switch labels",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_unannotated_fallthrough_per_function"]={
		[c]="unannotated fall-through between switch labels in partly-annotated function [-Wimplicit-fallthrough-per-function]",
		[f]="unannotated fall-through between switch labels in partly-annotated function",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_unavailable_def"]={
		[c]="implementing unavailable method [-Wdeprecated-implementations]",
		[f]="implementing unavailable method",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_unavailable_fwdclass_message"]={
		[c]="A may be unavailable because the receiver type is unknown [-Wunavailable-declarations]",
		[f]="A may be unavailable because the receiver type is unknown",
		[b]=g,
		[a]=h
	},
	["warn_uncovered_module_header"]={
		[c]="umbrella header for module \'A\' does not include header \'B\' [-Wincomplete-umbrella]",
		[f]="umbrella header for module \'A\' does not include header \'B\'",
		[b]=g,
		[a]=h
	},
	["warn_undeclared_selector"]={
		[c]="undeclared selector A [-Wundeclared-selector]",
		[f]="undeclared selector A",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_undeclared_selector_with_typo"]={
		[c]="undeclared selector A; did you mean B? [-Wundeclared-selector]",
		[f]="undeclared selector A; did you mean B?",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_undef_interface"]={
		[c]="cannot find interface declaration for A",
		[b]=g,
		[a]=h
	},
	["warn_undef_interface_suggest"]={
		[c]="cannot find interface declaration for A; did you mean B?",
		[b]=g,
		[a]=h
	},
	["warn_undef_method_impl"]={
		[c]="method definition for A not found [-Wincomplete-implementation]",
		[f]="method definition for A not found",
		[b]=g,
		[a]=h
	},
	["warn_undef_protocolref"]={
		[c]="cannot find protocol definition for A",
		[b]=g,
		[a]=h
	},
	["warn_undefined_inline"]={
		[c]="inline function A is not defined [-Wundefined-inline]",
		[f]="inline function A is not defined",
		[b]=g,
		[a]=h
	},
	["warn_undefined_internal"]={
		[c]="... B has internal linkage but is not defined [-Wundefined-internal]",
		[f]={{m,z}," B has internal linkage but is not defined"},
		[b]=g,
		[a]=h
	},
	["warn_undefined_reinterpret_cast"]={
		[c]="reinterpret_cast from A to B has undefined behavior [-Wundefined-reinterpret-cast]",
		[f]="reinterpret_cast from A to B has undefined behavior",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_unevaluated_string_prefix"]={
		[c]="encoding prefix \'A\' on an unevaluated string literal has no effect... [-Winvalid-unevaluated-string]",
		[f]={"encoding prefix \'A\' on an unevaluated string literal has no effect",{l," and is incompatible with c++2c"}},
		[b]=g,
		[a]=h
	},
	["warn_unguarded_availability"]={
		[c]="A is only available on B C or newer [-Wunguarded-availability]",
		[f]="A is only available on B C or newer",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_unguarded_availability_new"]={
		[c]="A is only available on B C or newer [-Wunguarded-availability-new]",
		[f]="A is only available on B C or newer",
		[b]=g,
		[a]=h
	},
	["warn_unhandled_ms_attribute_ignored"]={
		[c]="__declspec attribute A is not supported [-Wignored-attributes]",
		[f]="__declspec attribute A is not supported",
		[b]=g,
		[a]=h
	},
	["warn_unimplemented_protocol_method"]={
		[c]="method A in protocol B not implemented [-Wprotocol]",
		[f]="method A in protocol B not implemented",
		[b]=g,
		[a]=h
	},
	["warn_unimplemented_selector"]={
		[c]="no method with selector A is implemented in this translation unit [-Wselector]",
		[f]="no method with selector A is implemented in this translation unit",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_uninit_byref_blockvar_captured_by_block"]={
		[c]="block pointer variable A is ... when captured by block [-Wuninitialized]",
		[f]={"block pointer variable A is ",{"uninitialized","null"}," when captured by block"},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_uninit_const_reference"]={
		[c]="variable A is uninitialized when passed as a const reference argument here [-Wuninitialized-const-reference]",
		[f]="variable A is uninitialized when passed as a const reference argument here",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_uninit_self_reference_in_init"]={
		[c]="variable A is uninitialized when used within its own initialization [-Wuninitialized]",
		[f]="variable A is uninitialized when used within its own initialization",
		[b]=g,
		[a]=h
	},
	["warn_uninit_self_reference_in_reference_init"]={
		[c]="reference A is not yet bound to a value when used within its own initialization [-Wuninitialized]",
		[f]="reference A is not yet bound to a value when used within its own initialization",
		[b]=g,
		[a]=h
	},
	["warn_uninit_var"]={
		[c]="variable A is uninitialized when ... [-Wuninitialized]",
		[f]={"variable A is uninitialized when ",{"used here","captured by block"}},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_unknown_attribute_ignored"]={
		[c]="unknown attribute A ignored [-Wunknown-attributes]",
		[f]="unknown attribute A ignored",
		[b]=g,
		[a]=h
	},
	["warn_unknown_comment_command_name"]={
		[c]="unknown command tag name [-Wdocumentation-unknown-command]",
		[f]="unknown command tag name",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_unknown_declare_variant_isa_trait"]={
		[c]="isa trait \'A\' is not known to the current target; verify the spelling or consider restricting the context selector with the \'arch\' selector further [-Wsource-uses-openmp]",
		[f]="isa trait \'A\' is not known to the current target; verify the spelling or consider restricting the context selector with the \'arch\' selector further",
		[b]=g,
		[a]=h
	},
	["warn_unknown_diag_option"]={
		[c]="unknown ... option \'B\'... [-Wunknown-warning-option]",
		[f]={"unknown ",{"warning","remark"}," option \'B\'",{l,"; did you mean \'D\'?"}},
		[b]=g,
		[a]=h
	},
	["warn_unknown_sanitizer_ignored"]={
		[c]="unknown sanitizer \'A\' ignored [-Wunknown-sanitizers]",
		[f]="unknown sanitizer \'A\' ignored",
		[b]=g,
		[a]=h
	},
	["warn_unknown_warning_specifier"]={
		[c]="unknown A warning specifier: \'B\' [-Wunknown-warning-option]",
		[f]="unknown A warning specifier: \'B\'",
		[b]=g,
		[a]=h
	},
	["warn_unlock_but_no_lock"]={
		[c]="releasing A \'B\' that was not held [-Wthread-safety-analysis]",
		[f]="releasing A \'B\' that was not held",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_unlock_kind_mismatch"]={
		[c]="releasing A \'B\' using ... access, expected ... access [-Wthread-safety-analysis]",
		[f]={"releasing A \'B\' using ",{"shared","exclusive"}," access, expected ",{"shared","exclusive"}," access"},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_unnecessary_packed"]={
		[c]="packed attribute is unnecessary for A [-Wpacked]",
		[f]="packed attribute is unnecessary for A",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_unneeded_internal_decl"]={
		[c]="... B is not needed and will not be emitted [-Wunneeded-internal-declaration]",
		[f]={{m,z}," B is not needed and will not be emitted"},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_unneeded_member_function"]={
		[c]="member function A is not needed and will not be emitted [-Wunneeded-member-function]",
		[f]="member function A is not needed and will not be emitted",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_unneeded_static_internal_decl"]={
		[c]="\'static\' function A declared in header file should be declared \'static inline\' [-Wunneeded-internal-declaration]",
		[f]="\'static\' function A declared in header file should be declared \'static inline\'",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_unofficial_aarch64_simdlen_must_be_power_of_2"]={
		[c]="The value specified in simdlen must be a power of 2 when targeting Advanced SIMD.",
		[b]=g,
		[a]=h
	},
	["warn_unofficial_aarch64_sve_simdlen_constraints"]={
		[c]="The clause simdlen must fit the A-bit lanes in the architectural constraints for SVE (min is 128-bit, max is 2048-bit, by steps of 128-bit)",
		[b]=g,
		[a]=h
	},
	["warn_unofficial_converting_to_boxing_syntax_requires_casting"]={
		[c]="converting to boxing syntax requires casting A to B",
		[b]=g,
		[a]=h
	},
	["warn_unofficial_mips_requires_arch"]={
		[c]="the \'A\' ASE requires B revision C or greater",
		[b]=g,
		[a]=h
	},
	["warn_unofficial_trivial_auto_var_init_stop_after"]={
		[c]="-ftrivial-auto-var-init-stop-after=A has been enabled to limit the number of times ftrivial-auto-var-init=B gets applied.",
		[b]=g,
		[a]=h
	},
	["warn_unpacked_field"]={
		[c]="not packing field A as it is non-POD for the purposes of layout [-Wpacked-non-pod]",
		[f]="not packing field A as it is non-POD for the purposes of layout",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_unqualified_call_to_std_cast_function"]={
		[c]="unqualified call to \'A\' [-Wunqualified-std-cast-call]",
		[f]="unqualified call to \'A\'",
		[b]=g,
		[a]=h
	},
	["warn_unreachable"]={
		[c]="code will never be executed [-Wunreachable-code]",
		[f]="code will never be executed",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_unreachable_association"]={
		[c]="due to lvalue conversion of the controlling expression, association of type A will never be selected because it is ... [-Wunreachable-code-generic-assoc]",
		[f]={"due to lvalue conversion of the controlling expression, association of type A will never be selected because it is ",{"of array type","qualified"}},
		[b]=g,
		[a]=h
	},
	["warn_unreachable_break"]={
		[c]="\'break\' will never be executed [-Wunreachable-code-break]",
		[f]="\'break\' will never be executed",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_unreachable_default"]={
		[c]="default label in switch which covers all enumeration values [-Wcovered-switch-default]",
		[f]="default label in switch which covers all enumeration values",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_unreachable_fallthrough_attr"]={
		[c]="fallthrough annotation in unreachable code [-Wunreachable-code-fallthrough]",
		[f]="fallthrough annotation in unreachable code",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_unreachable_loop_increment"]={
		[c]="loop will run at most once (loop increment never executed) [-Wunreachable-code-loop-increment]",
		[f]="loop will run at most once (loop increment never executed)",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_unreachable_return"]={
		[c]="\'return\' will never be executed [-Wunreachable-code-return]",
		[f]="\'return\' will never be executed",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_unsafe_buffer_operation"]={
		[c]="... [-Wunsafe-buffer-usage]",
		[f]={{"unsafe pointer operation","unsafe pointer arithmetic","unsafe buffer access","function introduces unsafe buffer manipulation"}},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_unsafe_buffer_variable"]={
		[c]="A is an ... [-Wunsafe-buffer-usage]",
		[f]={"A is an ",{"unsafe pointer used for buffer access","unsafe buffer that does not perform bounds checks"}},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_unsequenced_mod_mod"]={
		[c]="multiple unsequenced modifications to A [-Wunsequenced]",
		[f]="multiple unsequenced modifications to A",
		[b]=g,
		[a]=h
	},
	["warn_unsequenced_mod_use"]={
		[c]="unsequenced modification and access to A [-Wunsequenced]",
		[f]="unsequenced modification and access to A",
		[b]=g,
		[a]=h
	},
	["warn_unsigned_abs"]={
		[c]="taking the absolute value of unsigned type A has no effect [-Wabsolute-value]",
		[f]="taking the absolute value of unsigned type A has no effect",
		[b]=g,
		[a]=h
	},
	["warn_unsigned_always_true_comparison"]={
		[c]="result of comparison of ... C ... is always E [-Wtautological-unsigned-zero-compare]",
		[f]={"result of comparison of ",{hc,"unsigned expression"}," C ",{"unsigned expression",hc}," is always E"},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_unsigned_bitfield_assigned_signed_enum"]={
		[c]="assigning value of signed enum type B to unsigned bit-field A; negative enumerators of enum B will be converted to positive values [-Wbitfield-enum-conversion]",
		[f]="assigning value of signed enum type B to unsigned bit-field A; negative enumerators of enum B will be converted to positive values",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_unsigned_char_always_true_comparison"]={
		[c]="result of comparison of ... C ... is always E, since char is interpreted as unsigned [-Wtautological-unsigned-char-zero-compare]",
		[f]={"result of comparison of ",{hc,"char expression"}," C ",{"char expression",hc}," is always E, since char is interpreted as unsigned"},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_unsigned_enum_always_true_comparison"]={
		[c]="result of comparison of ... C ... is always E [-Wtautological-unsigned-enum-zero-compare]",
		[f]={"result of comparison of ",{hc,"unsigned enum expression"}," C ",{"unsigned enum expression",hc}," is always E"},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_unsupported_branch_protection"]={
		[c]="invalid branch protection option \'A\' in \'B\' [-Wbranch-protection]",
		[f]="invalid branch protection option \'A\' in \'B\'",
		[b]=g,
		[a]=h
	},
	["warn_unsupported_branch_protection_spec"]={
		[c]="unsupported branch protection specification \'A\' [-Wbranch-protection]",
		[f]="unsupported branch protection specification \'A\'",
		[b]=g,
		[a]=h
	},
	["warn_unsupported_lifetime_extension"]={
		[c]="sorry, lifetime extension of ... created by aggregate initialization using default member initializer is not supported; lifetime of ... will end at the end of the full-expression [-Wdangling]",
		[f]={"sorry, lifetime extension of ",{"temporary","backing array of initializer list"}," created by aggregate initialization using default member initializer is not supported; lifetime of ",{"temporary","backing array"}," will end at the end of the full-expression"},
		[b]=g,
		[a]=h
	},
	["warn_unsupported_target_attribute"]={
		[c]="...... \'C\' in the \'...\' attribute string; \'...\' attribute ignored [-Wignored-attributes]",
		[f]={{"unsupported","duplicate","unknown"},{l," CPU"," tune CPU"}," \'C\' in the \'",{"target","target_clones","target_version"},"\' attribute string; \'",{"target","target_clones","target_version"},"\' attribute ignored"},
		[b]=g,
		[a]=h
	},
	["warn_unused_but_set_parameter"]={
		[c]="parameter A set but not used [-Wunused-but-set-parameter]",
		[f]="parameter A set but not used",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_unused_but_set_variable"]={
		[c]="variable A set but not used [-Wunused-but-set-variable]",
		[f]="variable A set but not used",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_unused_call"]={
		[c]="ignoring return value of function declared with A attribute [-Wunused-value]",
		[f]="ignoring return value of function declared with A attribute",
		[b]=g,
		[a]=h
	},
	["warn_unused_comma_left_operand"]={
		[c]="left operand of comma operator has no effect [-Wunused-value]",
		[f]="left operand of comma operator has no effect",
		[b]=g,
		[a]=h
	},
	["warn_unused_comparison"]={
		[c]="... comparison result unused [-Wunused-comparison]",
		[f]={{A,"inequality",Jb,Fb}," comparison result unused"},
		[b]=g,
		[a]=h
	},
	["warn_unused_const_variable"]={
		[c]="unused variable A [-Wunused-const-variable]",
		[f]="unused variable A",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_unused_constructor"]={
		[c]="ignoring temporary created by a constructor declared with A attribute [-Wunused-value]",
		[f]="ignoring temporary created by a constructor declared with A attribute",
		[b]=g,
		[a]=h
	},
	["warn_unused_constructor_msg"]={
		[c]="ignoring temporary created by a constructor declared with A attribute: B [-Wunused-value]",
		[f]="ignoring temporary created by a constructor declared with A attribute: B",
		[b]=g,
		[a]=h
	},
	["warn_unused_container_subscript_expr"]={
		[c]="container access result unused - container access should not be used for side effects [-Wunused-value]",
		[f]="container access result unused - container access should not be used for side effects",
		[b]=g,
		[a]=h
	},
	["warn_unused_exception_param"]={
		[c]="unused exception parameter A [-Wunused-exception-parameter]",
		[f]="unused exception parameter A",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_unused_expr"]={
		[c]="expression result unused [-Wunused-value]",
		[f]="expression result unused",
		[b]=g,
		[a]=h
	},
	["warn_unused_function"]={
		[c]="unused function A [-Wunused-function]",
		[f]="unused function A",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_unused_label"]={
		[c]="unused label A [-Wunused-label]",
		[f]="unused label A",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_unused_lambda_capture"]={
		[c]="lambda capture A is not ... [-Wunused-lambda-capture]",
		[f]={"lambda capture A is not ",{"used","required to be captured for this use"}},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_unused_local_typedef"]={
		[c]="unused ... B [-Wunused-local-typedef]",
		[f]={"unused ",{eb,Db},X},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_unused_member_function"]={
		[c]="unused member function A [-Wunused-member-function]",
		[f]="unused member function A",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_unused_parameter"]={
		[c]="unused parameter A [-Wunused-parameter]",
		[f]="unused parameter A",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_unused_private_field"]={
		[c]="private field A is not used [-Wunused-private-field]",
		[f]="private field A is not used",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_unused_property_backing_ivar"]={
		[c]="ivar A which backs the property is not referenced in this property\'s accessor [-Wunused-property-ivar]",
		[f]="ivar A which backs the property is not referenced in this property\'s accessor",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_unused_property_expr"]={
		[c]="property access result unused - getters should not be used for side effects [-Wunused-getter-return-value]",
		[f]="property access result unused - getters should not be used for side effects",
		[b]=g,
		[a]=h
	},
	["warn_unused_result"]={
		[c]="ignoring return value of function declared with A attribute [-Wunused-result]",
		[f]="ignoring return value of function declared with A attribute",
		[b]=g,
		[a]=h
	},
	["warn_unused_result_msg"]={
		[c]="ignoring return value of function declared with A attribute: B [-Wunused-result]",
		[f]="ignoring return value of function declared with A attribute: B",
		[b]=g,
		[a]=h
	},
	["warn_unused_result_typedef_unsupported_spelling"]={
		[c]="\'[[...]]\' attribute ignored when applied to a typedef; consider using \'__attribute__((warn_unused_result))\' or \'[[clang::warn_unused_result]]\' instead [-Wignored-attributes]",
		[f]={"\'[[",{"nodiscard","gnu::warn_unused_result"},"]]\' attribute ignored when applied to a typedef; consider using \'__attribute__((warn_unused_result))\' or \'[[clang::warn_unused_result]]\' instead"},
		[b]=g,
		[a]=h
	},
	["warn_unused_template"]={
		[c]="unused ... template B [-Wunused-template]",
		[f]={"unused ",{m,z}," template B"},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_unused_variable"]={
		[c]="unused variable A [-Wunused-variable]",
		[f]="unused variable A",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_unused_voidptr"]={
		[c]="expression result unused; should this cast be to \'void\'? [-Wunused-value]",
		[f]="expression result unused; should this cast be to \'void\'?",
		[b]=g,
		[a]=h
	},
	["warn_unused_volatile"]={
		[c]="expression result unused; assign into a variable to force a volatile load [-Wunused-volatile-lvalue]",
		[f]="expression result unused; assign into a variable to force a volatile load",
		[b]=g,
		[a]=h
	},
	["warn_use_in_invalid_state"]={
		[c]="invalid invocation of method \'A\' on object \'B\' while it is in the \'C\' state [-Wconsumed]",
		[f]="invalid invocation of method \'A\' on object \'B\' while it is in the \'C\' state",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_use_of_private_header_outside_module"]={
		[c]="use of private header from outside its module: \'A\' [-Wprivate-header]",
		[f]="use of private header from outside its module: \'A\'",
		[b]=d,
		[a]=q
	},
	["warn_use_of_temp_in_invalid_state"]={
		[c]="invalid invocation of method \'A\' on a temporary object while it is in the \'B\' state [-Wconsumed]",
		[f]="invalid invocation of method \'A\' on a temporary object while it is in the \'B\' state",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_used_but_marked_unused"]={
		[c]="A was marked unused but was used [-Wused-but-marked-unused]",
		[f]="A was marked unused but was used",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_user_literal_reserved"]={
		[c]="user-defined literal suffixes ... are reserved... [-Wuser-defined-literals]",
		[f]={"user-defined literal suffixes ",{"not starting with \'_\'","containing \'__\'"}," are reserved",{"; no literal will invoke this operator",l}},
		[b]=g,
		[a]=h
	},
	["warn_using_directive_in_header"]={
		[c]="using namespace directive in global context in header [-Wheader-hygiene]",
		[f]="using namespace directive in global context in header",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_utf8_symbol_homoglyph"]={
		[c]="treating Unicode character <U+A> as an identifier character rather than as \'B\' symbol [-Wunicode-homoglyph]",
		[f]="treating Unicode character <U+A> as an identifier character rather than as \'B\' symbol",
		[b]=g,
		[a]=h
	},
	["warn_utf8_symbol_zero_width"]={
		[c]="identifier contains Unicode character <U+A> that is invisible in some environments [-Wunicode-zero-width]",
		[f]="identifier contains Unicode character <U+A> that is invisible in some environments",
		[b]=g,
		[a]=h
	},
	["warn_va_start_type_is_undefined"]={
		[c]="passing ... to \'va_start\' has undefined behavior [-Wvarargs]",
		[f]={"passing ",{"an object that undergoes default argument promotion","an object of reference type","a parameter declared with the \'register\' keyword"}," to \'va_start\' has undefined behavior"},
		[b]=g,
		[a]=h
	},
	["warn_var_decl_not_read_only"]={
		[c]="object of type A cannot be placed in read-only memory [-Wread-only-types]",
		[f]="object of type A cannot be placed in read-only memory",
		[b]=g,
		[a]=h
	},
	["warn_var_deref_requires_any_lock"]={
		[c]="... the value pointed to by A requires holding ... [-Wthread-safety-analysis]",
		[f]={{"reading","writing"}," the value pointed to by A requires holding ",{"any mutex","any mutex exclusively"}},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_var_deref_requires_lock"]={
		[c]="... the value pointed to by B requires holding A ... [-Wthread-safety-analysis]",
		[f]={{"reading","writing"}," the value pointed to by B requires holding A ",{bd,od}},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_var_deref_requires_lock_precise"]={
		[c]="... the value pointed to by B requires holding A ... [-Wthread-safety-precise]",
		[f]={{"reading","writing"}," the value pointed to by B requires holding A ",{bd,od}},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_var_template_missing"]={
		[c]="instantiation of variable A required here, but no definition is available [-Wundefined-var-template]",
		[f]="instantiation of variable A required here, but no definition is available",
		[b]=g,
		[a]=h
	},
	["warn_variable_requires_any_lock"]={
		[c]="... variable A requires holding ... [-Wthread-safety-analysis]",
		[f]={{"reading","writing"}," variable A requires holding ",{"any mutex","any mutex exclusively"}},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_variable_requires_lock"]={
		[c]="... variable B requires holding A ... [-Wthread-safety-analysis]",
		[f]={{"reading","writing"}," variable B requires holding A ",{bd,od}},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_variable_requires_lock_precise"]={
		[c]="... variable B requires holding A ... [-Wthread-safety-precise]",
		[f]={{"reading","writing"}," variable B requires holding A ",{bd,od}},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_variable_sized_ivar_visibility"]={
		[c]="field A with variable sized type B is not visible to subclasses and can conflict with their instance variables [-Wobjc-flexible-array]",
		[f]="field A with variable sized type B is not visible to subclasses and can conflict with their instance variables",
		[b]=g,
		[a]=h
	},
	["warn_variables_not_in_loop_body"]={
		[c]="variable... used in loop condition not modified in loop body [-Wfor-loop-analysis]",
		[f]={z,{cb,X,"s B and C","s B, C, and D","s B, C, D, and E"}," used in loop condition not modified in loop body"},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_vbase_moved_multiple_times"]={
		[c]="defaulted move assignment operator of A will move assign virtual base class B multiple times [-Wmultiple-move-vbase]",
		[f]="defaulted move assignment operator of A will move assign virtual base class B multiple times",
		[b]=g,
		[a]=h
	},
	["warn_vector_long_decl_spec_combination"]={
		[c]="Use of \'long\' with \'__vector\' is deprecated [-Wdeprecated]",
		[f]="Use of \'long\' with \'__vector\' is deprecated",
		[b]=g,
		[a]=h
	},
	["warn_vector_mode_deprecated"]={
		[c]="specifying vector types with the \'mode\' attribute is deprecated; use the \'vector_size\' attribute instead [-Wdeprecated-attributes]",
		[f]="specifying vector types with the \'mode\' attribute is deprecated; use the \'vector_size\' attribute instead",
		[b]=g,
		[a]=h
	},
	["warn_verbatim_block_end_without_start"]={
		[c]="\'...B\' command does not terminate a verbatim text block [-Wdocumentation]",
		[f]={x,{Nb,Qb},"B\' command does not terminate a verbatim text block"},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_vla_used"]={
		[c]="variable length array used [-Wvla]",
		[f]="variable length array used",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_void_pointer_to_enum_cast"]={
		[c]="cast to smaller integer type B from A [-Wvoid-pointer-to-enum-cast]",
		[f]="cast to smaller integer type B from A",
		[b]=g,
		[a]=h
	},
	["warn_void_pointer_to_int_cast"]={
		[c]="cast to smaller integer type B from A [-Wvoid-pointer-to-int-cast]",
		[f]="cast to smaller integer type B from A",
		[b]=g,
		[a]=h
	},
	["warn_wasm_dynamic_exception_spec_ignored"]={
		[c]="dynamic exception specifications with types are currently ignored in wasm [-Wwasm-exception-spec]",
		[f]="dynamic exception specifications with types are currently ignored in wasm",
		[b]=g,
		[a]=h
	},
	["warn_weak_identifier_undeclared"]={
		[c]="weak identifier A never declared",
		[b]=g,
		[a]=h
	},
	["warn_weak_import"]={
		[c]="an already-declared variable is made a weak_import declaration A",
		[b]=g,
		[a]=h
	},
	["warn_weak_template_vtable"]={
		[c]="this warning is no longer in use and will be removed in the next release [-Wweak-template-vtables]",
		[f]="this warning is no longer in use and will be removed in the next release",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_weak_vtable"]={
		[c]="A has no out-of-line virtual method definitions; its vtable will be emitted in every translation unit [-Wweak-vtables]",
		[f]="A has no out-of-line virtual method definitions; its vtable will be emitted in every translation unit",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_wrong_absolute_value_type"]={
		[c]="using ... absolute value function A when argument is of ... type [-Wabsolute-value]",
		[f]={"using ",{Ac,"floating point","complex"}," absolute value function A when argument is of ",{Ac,"floating point","complex"}," type"},
		[b]=g,
		[a]=h
	},
	["warn_wrong_clang_attr_namespace"]={
		[c]="\'__clang__\' is a predefined macro name, not an attribute scope specifier; did you mean \'_Clang\' instead? [-Wignored-attributes]",
		[f]="\'__clang__\' is a predefined macro name, not an attribute scope specifier; did you mean \'_Clang\' instead?",
		[b]=g,
		[a]=h
	},
	["warn_xor_used_as_pow"]={
		[c]="result of \'A\' is B; did you mean exponentiation? [-Wxor-used-as-pow]",
		[f]="result of \'A\' is B; did you mean exponentiation?",
		[b]=g,
		[a]=h
	},
	["warn_xor_used_as_pow_base"]={
		[c]="result of \'A\' is B; did you mean \'C\'? [-Wxor-used-as-pow]",
		[f]="result of \'A\' is B; did you mean \'C\'?",
		[b]=g,
		[a]=h
	},
	["warn_xor_used_as_pow_base_extra"]={
		[c]="result of \'A\' is B; did you mean \'C\' (D)? [-Wxor-used-as-pow]",
		[f]="result of \'A\' is B; did you mean \'C\' (D)?",
		[b]=g,
		[a]=h
	},
	["warn_zero_as_null_pointer_constant"]={
		[c]="zero as null pointer constant [-Wzero-as-null-pointer-constant]",
		[f]="zero as null pointer constant",
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_zero_size_struct_union_compat"]={
		[c]="...... has size 0 in C, ... in C++ [-Wc++-compat]",
		[f]={{l,"empty "},{r,v}," has size 0 in C, ",{"size 1","non-zero size"}," in C++"},
		[b]=g,
		[a]=h,
		[k]=false
	},
	["warn_zero_size_struct_union_in_extern_c"]={
		[c]="...... has size 0 in C, ... in C++ [-Wextern-c-compat]",
		[f]={{l,"empty "},{r,v}," has size 0 in C, ",{"size 1","non-zero size"}," in C++"},
		[b]=g,
		[a]=h
	}
};