llvm/tools/clang/include/clang/Basic/DiagnosticASTKinds.inc

#ifdef ASTSTART
__ASTSTART,
#undef ASTSTART
#endif

DIAG(err_asm_empty_symbolic_operand_name, CLASS_ERROR, (unsigned)diag::Severity::Error, "empty symbolic operand name in inline assembly string", 0, SFINAE_SubstitutionFailure, false, true, true, false, 13)
DIAG(err_asm_invalid_escape, CLASS_ERROR, (unsigned)diag::Severity::Error, "invalid %% escape in inline assembly string", 0, SFINAE_SubstitutionFailure, false, true, true, false, 13)
DIAG(err_asm_invalid_operand_number, CLASS_ERROR, (unsigned)diag::Severity::Error, "invalid operand number in inline asm string", 0, SFINAE_SubstitutionFailure, false, true, true, false, 13)
DIAG(err_asm_unknown_symbolic_operand_name, CLASS_ERROR, (unsigned)diag::Severity::Error, "unknown symbolic operand name in inline assembly string", 0, SFINAE_SubstitutionFailure, false, true, true, false, 13)
DIAG(err_asm_unterminated_symbolic_operand_name, CLASS_ERROR, (unsigned)diag::Severity::Error, "unterminated symbolic operand name in inline assembly string", 0, SFINAE_SubstitutionFailure, false, true, true, false, 13)
DIAG(err_experimental_clang_interp_failed, CLASS_ERROR, (unsigned)diag::Severity::Error, "the experimental clang interpreter failed to evaluate an expression", 0, SFINAE_SubstitutionFailure, false, true, true, false, 0)
DIAG(err_invalid_is_within_lifetime, CLASS_NOTE, (unsigned)diag::Severity::Fatal, "'%0' cannot be called with %select{a null pointer|a one-past-the-end pointer|a pointer to an object whose lifetime has not yet begun}1", 0, SFINAE_Suppress, false, false, true, false, 0)
DIAG(err_module_odr_violation_definition_data, CLASS_ERROR, (unsigned)diag::Severity::Error, "%q0 has different definitions in different modules; first difference is %select{definition in module '%2'|defined here}1 found %select{%4 base %plural{1:class|:classes}4|%4 virtual base %plural{1:class|:classes}4|%ordinal4 base class with type %5|%ordinal4 %select{non-virtual|virtual}5 base class %6|%ordinal4 base class %5 with %select{public|protected|private|no}6 access specifier}3", 0, SFINAE_SubstitutionFailure, false, true, true, false, 0)
DIAG(err_module_odr_violation_different_definitions, CLASS_ERROR, (unsigned)diag::Severity::Error, "%q0 has different definitions in different modules; %select{definition in module '%2' is here|defined here}1", 0, SFINAE_SubstitutionFailure, false, true, true, false, 0)
DIAG(err_module_odr_violation_enum, CLASS_ERROR, (unsigned)diag::Severity::Error, "%q0 has different definitions in different modules; %select{definition in module '%2'|defined here}1 first difference is %select{enum that is %select{not scoped|scoped}4|enum scoped with keyword %select{struct|class}4|enum %select{without|with}4 specified type|enum with specified type %4|enum with %4 element%s4|%ordinal4 element has name %5|%ordinal4 element %5 %select{has|does not have}6 an initializer|%ordinal4 element %5 has an initializer|}3", 0, SFINAE_SubstitutionFailure, false, true, true, false, 0)
DIAG(err_module_odr_violation_field, CLASS_ERROR, (unsigned)diag::Severity::Error, "%q0 has different definitions in different modules; first difference is %select{definition in module '%2'|defined here}1 found %select{field %4|field %4 with type %5|%select{non-|}5bitfield %4|bitfield %4 with one width expression|%select{non-|}5mutable field %4|field %4 with %select{no|an}5 initializer|field %4 with an initializer}3", 0, SFINAE_SubstitutionFailure, false, true, true, false, 0)
DIAG(err_module_odr_violation_function, CLASS_ERROR, (unsigned)diag::Severity::Error, "%q0 has different definitions in different modules; %select{definition in module '%2'|defined here}1 first difference is %select{return type is %4|%ordinal4 parameter with name %5|%ordinal4 parameter with type %5%select{| decayed from %7}6|%ordinal4 parameter with%select{out|}5 a default argument|%ordinal4 parameter with a default argument|function body}3", 0, SFINAE_SubstitutionFailure, false, true, true, false, 0)
DIAG(err_module_odr_violation_method_params, CLASS_ERROR, (unsigned)diag::Severity::Error, "%q0 has different definitions in different modules; first difference is %select{definition in module '%2'|defined here}1 found %select{%select{method %5|constructor|destructor}4 that has %6 parameter%s6|%select{method %5|constructor|destructor}4 with %ordinal6 parameter of type %7%select{| decayed from %9}8|%select{method %5|constructor|destructor}4 with %ordinal6 parameter named %7}3", 0, SFINAE_SubstitutionFailure, false, true, true, false, 0)
DIAG(err_module_odr_violation_mismatch_decl, CLASS_ERROR, (unsigned)diag::Severity::Error, "%q0 has different definitions in different modules; first difference is %select{definition in module '%2'|defined here}1 found %select{end of class|public access specifier|private access specifier|protected access specifier|static assert|field|method|type alias|typedef|data member|friend declaration|function template|method|instance variable|property}3", 0, SFINAE_SubstitutionFailure, false, true, true, false, 0)
DIAG(err_module_odr_violation_mismatch_decl_unknown, CLASS_ERROR, (unsigned)diag::Severity::Error, "%q0 %select{with definition in module '%2'|defined here}1 has different definitions in different modules; first difference is this %select{||||static assert|field|method|type alias|typedef|data member|friend declaration|function template|method|instance variable|property|unexpected decl}3", 0, SFINAE_SubstitutionFailure, false, true, true, false, 0)
DIAG(err_module_odr_violation_objc_interface, CLASS_ERROR, (unsigned)diag::Severity::Error, "%0 has different definitions in different modules; first difference is %select{definition in module '%2'|defined here}1 found %select{%select{no super class|super class with type %5}4|instance variable '%4' access control is %select{|@private|@protected|@public|@package}5}3", 0, SFINAE_SubstitutionFailure, false, true, true, false, 0)
DIAG(err_module_odr_violation_objc_method, CLASS_ERROR, (unsigned)diag::Severity::Error, "%q0 has different definitions in different modules; first difference is %select{definition in module '%2'|defined here}1 found %select{method %4 with return type %5|%select{class|instance}5 method %4|%select{no|'required'|'optional'}4 method control|method %4 with %select{no designated initializer|designated initializer}5|%select{regular|direct}5 method %4|method %4}3", 0, SFINAE_SubstitutionFailure, false, true, true, false, 0)
DIAG(err_module_odr_violation_objc_property, CLASS_ERROR, (unsigned)diag::Severity::Error, "%q0 has different definitions in different modules; first difference is %select{definition in module '%2'|defined here}1 found %select{property %4|property %4 with type %5|%select{no|'required'|'optional'}4 property control|property %4 with %select{default |}6'%select{none|readonly|getter|assign|readwrite|retain|copy|nonatomic|setter|atomic|weak|strong|unsafe_unretained|nullability|null_resettable|class|direct}5' attribute}3", 0, SFINAE_SubstitutionFailure, false, true, true, false, 0)
DIAG(err_module_odr_violation_record, CLASS_ERROR, (unsigned)diag::Severity::Error, "%q0 has different definitions in different modules; first difference is %select{definition in module '%2'|defined here}1 found %select{static assert with condition|static assert with message|static assert with %select{|no }4message|%select{method %5|constructor|destructor}4|%select{method %5|constructor|destructor}4 is %select{not deleted|deleted}6|%select{method %5|constructor|destructor}4 is %select{not defaulted|defaulted}6|%select{method %5|constructor|destructor}4 is %select{|pure }6%select{not virtual|virtual}7|%select{method %5|constructor|destructor}4 is %select{not static|static}6|%select{method %5|constructor|destructor}4 is %select{not volatile|volatile}6|%select{method %5|constructor|destructor}4 is %select{not const|const}6|%select{method %5|constructor|destructor}4 is %select{not inline|inline}6|%select{method %5|constructor|destructor}4 with %ordinal6 parameter with%select{out|}7 a default argument|%select{method %5|constructor|destructor}4 with %ordinal6 parameter with a default argument|%select{method %5|constructor|destructor}4 with %select{no |}6template arguments|%select{method %5|constructor|destructor}4 with %6 template argument%s6|%select{method %5|constructor|destructor}4 with %6 for %ordinal7 template argument|%select{method %5|constructor|destructor}4 with %select{no body|body}6|%select{method %5|constructor|destructor}4 with body|friend %select{class|function}4|friend %4|friend function %4|function template %4 with %5 template parameter%s5|function template %4 with %ordinal5 template parameter being a %select{type|non-type|template}6 template parameter|function template %4 with %ordinal5 template parameter %select{with no name|named %7}6|function template %4 with %ordinal5 template parameter with %select{no |}6default argument|function template %4 with %ordinal5 template parameter with default argument %6|function template %4 with %ordinal5 template parameter with one type|function template %4 with %ordinal5 template parameter %select{not |}6being a template parameter pack|}3", 0, SFINAE_SubstitutionFailure, false, true, true, false, 0)
DIAG(err_module_odr_violation_referenced_protocols, CLASS_ERROR, (unsigned)diag::Severity::Error, "%q0 has different definitions in different modules; first difference is %select{definition in module '%2'|defined here}1 found %select{%4 referenced %plural{1:protocol|:protocols}4|%ordinal4 referenced protocol with name %5}3", 0, SFINAE_SubstitutionFailure, false, true, true, false, 0)
DIAG(err_module_odr_violation_template_parameter, CLASS_ERROR, (unsigned)diag::Severity::Error, "%q0 has different definitions in different modules; first difference is %select{definition in module '%2'|defined here}1 found %select{unnamed template parameter|template parameter %5|template parameter with %select{no |}4default argument|template parameter with default argument}3", 0, SFINAE_SubstitutionFailure, false, true, true, false, 0)
DIAG(err_module_odr_violation_typedef, CLASS_ERROR, (unsigned)diag::Severity::Error, "%q0 has different definitions in different modules; first difference is %select{definition in module '%2'|defined here}1 found %select{%select{typedef|type alias}4 name %5|%select{typedef|type alias}4 %5 with underlying type %6}3", 0, SFINAE_SubstitutionFailure, false, true, true, false, 0)
DIAG(err_module_odr_violation_variable, CLASS_ERROR, (unsigned)diag::Severity::Error, "%q0 has different definitions in different modules; first difference is %select{definition in module '%2'|defined here}1 found %select{data member with name %4|data member %4 with type %5|data member %4 with%select{out|}5 an initializer|data member %4 with an initializer|data member %4 %select{is constexpr|is not constexpr}5}3", 0, SFINAE_SubstitutionFailure, false, true, true, false, 0)
DIAG(err_odr_different_num_template_parameters, CLASS_ERROR, (unsigned)diag::Severity::Error, "template parameter lists have a different number of parameters (%0 vs %1)", 0, SFINAE_SubstitutionFailure, false, true, true, false, 0)
DIAG(err_odr_different_template_parameter_kind, CLASS_ERROR, (unsigned)diag::Severity::Error, "template parameter has different kinds in different translation units", 0, SFINAE_SubstitutionFailure, false, true, true, false, 0)
DIAG(err_odr_field_type_inconsistent, CLASS_ERROR, (unsigned)diag::Severity::Error, "field %0 declared with incompatible types in different translation units (%1 vs. %2)", 0, SFINAE_SubstitutionFailure, false, true, true, false, 0)
DIAG(err_odr_function_type_inconsistent, CLASS_ERROR, (unsigned)diag::Severity::Error, "external function %0 declared with incompatible types in different translation units (%1 vs. %2)", 0, SFINAE_SubstitutionFailure, false, true, true, false, 0)
DIAG(err_odr_ivar_type_inconsistent, CLASS_ERROR, (unsigned)diag::Severity::Error, "instance variable %0 declared with incompatible types in different translation units (%1 vs. %2)", 0, SFINAE_SubstitutionFailure, false, true, true, false, 0)
DIAG(err_odr_non_type_parameter_type_inconsistent, CLASS_ERROR, (unsigned)diag::Severity::Error, "non-type template parameter declared with incompatible types in different translation units (%0 vs. %1)", 0, SFINAE_SubstitutionFailure, false, true, true, false, 0)
DIAG(err_odr_objc_method_num_params_inconsistent, CLASS_ERROR, (unsigned)diag::Severity::Error, "%select{class|instance}0 method %1 has a different number of parameters in different translation units (%2 vs. %3)", 0, SFINAE_SubstitutionFailure, false, true, true, false, 0)
DIAG(err_odr_objc_method_param_type_inconsistent, CLASS_ERROR, (unsigned)diag::Severity::Error, "%select{class|instance}0 method %1 has a parameter with a different types in different translation units (%2 vs. %3)", 0, SFINAE_SubstitutionFailure, false, true, true, false, 0)
DIAG(err_odr_objc_method_result_type_inconsistent, CLASS_ERROR, (unsigned)diag::Severity::Error, "%select{class|instance}0 method %1 has incompatible result types in different translation units (%2 vs. %3)", 0, SFINAE_SubstitutionFailure, false, true, true, false, 0)
DIAG(err_odr_objc_method_variadic_inconsistent, CLASS_ERROR, (unsigned)diag::Severity::Error, "%select{class|instance}0 method %1 is variadic in one translation unit and not variadic in another", 0, SFINAE_SubstitutionFailure, false, true, true, false, 0)
DIAG(err_odr_objc_property_impl_kind_inconsistent, CLASS_ERROR, (unsigned)diag::Severity::Error, "property %0 is implemented with %select{@synthesize|@dynamic}1 in one translation but %select{@dynamic|@synthesize}1 in another translation unit", 0, SFINAE_SubstitutionFailure, false, true, true, false, 0)
DIAG(err_odr_objc_property_type_inconsistent, CLASS_ERROR, (unsigned)diag::Severity::Error, "property %0 declared with incompatible types in different translation units (%1 vs. %2)", 0, SFINAE_SubstitutionFailure, false, true, true, false, 0)
DIAG(err_odr_objc_superclass_inconsistent, CLASS_ERROR, (unsigned)diag::Severity::Error, "class %0 has incompatible superclasses", 0, SFINAE_SubstitutionFailure, false, true, true, false, 0)
DIAG(err_odr_objc_synthesize_ivar_inconsistent, CLASS_ERROR, (unsigned)diag::Severity::Error, "property %0 is synthesized to different ivars in different translation units (%1 vs. %2)", 0, SFINAE_SubstitutionFailure, false, true, true, false, 0)
DIAG(err_odr_parameter_pack_non_pack, CLASS_ERROR, (unsigned)diag::Severity::Error, "parameter kind mismatch; parameter is %select{not a|a}0 parameter pack", 0, SFINAE_SubstitutionFailure, false, true, true, false, 0)
DIAG(err_odr_tag_type_inconsistent, CLASS_ERROR, (unsigned)diag::Severity::Error, "type %0 has incompatible definitions in different translation units", 0, SFINAE_SubstitutionFailure, false, true, true, false, 0)
DIAG(err_odr_variable_multiple_def, CLASS_ERROR, (unsigned)diag::Severity::Error, "external variable %0 defined in multiple translation units", 0, SFINAE_SubstitutionFailure, false, true, true, false, 0)
DIAG(err_odr_variable_type_inconsistent, CLASS_ERROR, (unsigned)diag::Severity::Error, "external variable %0 declared with incompatible types in different translation units (%1 vs. %2)", 0, SFINAE_SubstitutionFailure, false, true, true, false, 0)
DIAG(err_unsupported_ast_node, CLASS_ERROR, (unsigned)diag::Severity::Error, "cannot import unsupported AST node %0", 0, SFINAE_SubstitutionFailure, false, true, true, false, 0)
DIAG(err_vftable_ambiguous_component, CLASS_ERROR, (unsigned)diag::Severity::Error, "ambiguous vftable component for %0 introduced via covariant thunks; this is an inherent limitation of the ABI", 0, SFINAE_SubstitutionFailure, false, true, true, false, 30)
DIAG(note_consteval_address_accessible, CLASS_NOTE, (unsigned)diag::Severity::Fatal, "%select{pointer|reference}0 to a consteval declaration is not a constant expression", 0, SFINAE_Suppress, false, false, true, false, 0)
DIAG(note_constexpr_access_deleted_object, CLASS_NOTE, (unsigned)diag::Severity::Fatal, "%select{read of|read of|assignment to|increment of|decrement of|member call on|dynamic_cast of|typeid applied to|construction of|destruction of|read of}0 heap allocated object that has been deleted", 0, SFINAE_Suppress, false, false, true, false, 0)
DIAG(note_constexpr_access_inactive_union_member, CLASS_NOTE, (unsigned)diag::Severity::Fatal, "%select{read of|read of|assignment to|increment of|decrement of|member call on|dynamic_cast of|typeid applied to|construction of subobject of|destruction of|read of}0 member %1 of union with %select{active member %3|no active member}2 is not allowed in a constant expression", 0, SFINAE_Suppress, false, false, true, false, 0)
DIAG(note_constexpr_access_mutable, CLASS_NOTE, (unsigned)diag::Severity::Fatal, "%select{read of|read of|assignment to|increment of|decrement of|member call on|dynamic_cast of|typeid applied to|construction of|destruction of|read of}0 mutable member %1 is not allowed in a constant expression", 0, SFINAE_Suppress, false, false, true, false, 0)
DIAG(note_constexpr_access_null, CLASS_NOTE, (unsigned)diag::Severity::Fatal, "%select{read of|read of|assignment to|increment of|decrement of|member call on|dynamic_cast of|typeid applied to|construction of|destruction of|read of}0 dereferenced null pointer is not allowed in a constant expression", 0, SFINAE_Suppress, false, false, true, false, 0)
DIAG(note_constexpr_access_past_end, CLASS_NOTE, (unsigned)diag::Severity::Fatal, "%select{read of|read of|assignment to|increment of|decrement of|member call on|dynamic_cast of|typeid applied to|construction of|destruction of|read of}0 dereferenced one-past-the-end pointer is not allowed in a constant expression", 0, SFINAE_Suppress, false, false, true, false, 0)
DIAG(note_constexpr_access_static_temporary, CLASS_NOTE, (unsigned)diag::Severity::Fatal, "%select{read of|read of|assignment to|increment of|decrement of|member call on|dynamic_cast of|typeid applied to|construction of|destruction of|read of}0 temporary is not allowed in a constant expression outside the expression that created the temporary", 0, SFINAE_Suppress, false, false, true, false, 0)
DIAG(note_constexpr_access_uninit, CLASS_NOTE, (unsigned)diag::Severity::Fatal, "%select{read of|read of|assignment to|increment of|decrement of|member call on|dynamic_cast of|typeid applied to|construction of subobject of|destruction of|read of}0 %select{object outside its lifetime|uninitialized object}1 is not allowed in a constant expression", 0, SFINAE_Suppress, false, false, true, false, 0)
DIAG(note_constexpr_access_unreadable_object, CLASS_NOTE, (unsigned)diag::Severity::Fatal, "%select{read of|read of|assignment to|increment of|decrement of|member call on|dynamic_cast of|typeid applied to|construction of|destruction of|read of}0 object '%1' whose value is not known", 0, SFINAE_Suppress, false, false, true, false, 0)
DIAG(note_constexpr_access_unsized_array, CLASS_NOTE, (unsigned)diag::Severity::Fatal, "%select{read of|read of|assignment to|increment of|decrement of|member call on|dynamic_cast of|typeid applied to|construction of|destruction of|read of}0 element of array without known bound is not allowed in a constant expression", 0, SFINAE_Suppress, false, false, true, false, 0)
DIAG(note_constexpr_access_volatile_obj, CLASS_NOTE, (unsigned)diag::Severity::Fatal, "%select{read of|read of|assignment to|increment of|decrement of|<ERROR>|<ERROR>|<ERROR>|<ERROR>|<ERROR>|<ERROR>}0 volatile %select{temporary|object %2|member %2}1 is not allowed in a constant expression", 0, SFINAE_Suppress, false, false, true, false, 0)
DIAG(note_constexpr_access_volatile_type, CLASS_NOTE, (unsigned)diag::Severity::Fatal, "%select{read of|read of|assignment to|increment of|decrement of|<ERROR>|<ERROR>|<ERROR>|<ERROR>|<ERROR>|<ERROR>}0 volatile-qualified type %1 is not allowed in a constant expression", 0, SFINAE_Suppress, false, false, true, false, 0)
DIAG(note_constexpr_alignment_adjust, CLASS_NOTE, (unsigned)diag::Severity::Fatal, "cannot constant evaluate the result of adjusting alignment to %0", 0, SFINAE_Suppress, false, false, true, false, 0)
DIAG(note_constexpr_alignment_compute, CLASS_NOTE, (unsigned)diag::Severity::Fatal, "cannot constant evaluate whether run-time alignment is at least %0", 0, SFINAE_Suppress, false, false, true, false, 0)
DIAG(note_constexpr_alignment_too_big, CLASS_NOTE, (unsigned)diag::Severity::Fatal, "requested alignment must be %0 or less for type %1; %2 is invalid", 0, SFINAE_Suppress, false, false, true, false, 0)
DIAG(note_constexpr_array_index, CLASS_NOTE, (unsigned)diag::Severity::Fatal, "cannot refer to element %0 of %select{array of %2 element%plural{1:|:s}2|non-array object}1 in a constant expression", 0, SFINAE_Suppress, false, false, true, false, 0)
DIAG(note_constexpr_assumption_failed, CLASS_NOTE, (unsigned)diag::Severity::Fatal, "assumption evaluated to false", 0, SFINAE_Suppress, false, false, true, false, 0)
DIAG(note_constexpr_baa_insufficient_alignment, CLASS_NOTE, (unsigned)diag::Severity::Fatal, "%select{alignment of|offset of the aligned pointer from}0 the base pointee object (%1 %plural{1:byte|:bytes}1) is %select{less than|not a multiple of}0 the asserted %2 %plural{1:byte|:bytes}2", 0, SFINAE_Suppress, false, false, true, false, 0)
DIAG(note_constexpr_baa_value_insufficient_alignment, CLASS_NOTE, (unsigned)diag::Severity::Fatal, "value of the aligned pointer (%0) is not a multiple of the asserted %1 %plural{1:byte|:bytes}1", 0, SFINAE_Suppress, false, false, true, false, 0)
DIAG(note_constexpr_bit_cast_indet_dest, CLASS_NOTE, (unsigned)diag::Severity::Fatal, "indeterminate value can only initialize an object of type 'unsigned char'%select{, 'char',|}1 or 'std::byte'; %0 is invalid", 0, SFINAE_Suppress, false, false, true, false, 0)
DIAG(note_constexpr_bit_cast_invalid_subtype, CLASS_NOTE, (unsigned)diag::Severity::Fatal, "invalid type %0 is a %select{member|base}1 of %2", 0, SFINAE_Suppress, false, false, true, false, 0)
DIAG(note_constexpr_bit_cast_invalid_type, CLASS_NOTE, (unsigned)diag::Severity::Fatal, "bit_cast %select{from|to}0 a %select{|type with a }1%select{union|pointer|member pointer|volatile|reference}2 %select{type|member}1 is not allowed in a constant expression", 0, SFINAE_Suppress, false, false, true, false, 0)
DIAG(note_constexpr_bit_cast_invalid_vector, CLASS_NOTE, (unsigned)diag::Severity::Fatal, "bit_cast involving type %0 is not allowed in a constant expression; element size %1 * element count %2 is not a multiple of the byte size %3", 0, SFINAE_Suppress, false, false, true, false, 0)
DIAG(note_constexpr_bit_cast_unrepresentable_value, CLASS_NOTE, (unsigned)diag::Severity::Fatal, "value %1 cannot be represented in type %0", 0, SFINAE_Suppress, false, false, true, false, 0)
DIAG(note_constexpr_bit_cast_unsupported_bitfield, CLASS_NOTE, (unsigned)diag::Severity::Fatal, "constexpr bit_cast involving bit-field is not yet supported", 0, SFINAE_Suppress, false, false, true, false, 0)
DIAG(note_constexpr_bit_cast_unsupported_type, CLASS_NOTE, (unsigned)diag::Severity::Fatal, "constexpr bit cast involving type %0 is not yet supported", 0, SFINAE_Suppress, false, false, true, false, 0)
DIAG(note_constexpr_call_here, CLASS_NOTE, (unsigned)diag::Severity::Fatal, "in call to '%0'", 0, SFINAE_Suppress, false, false, true, false, 0)
DIAG(note_constexpr_call_limit_exceeded, CLASS_NOTE, (unsigned)diag::Severity::Fatal, "constexpr evaluation hit maximum call limit", 0, SFINAE_Suppress, false, false, true, false, 0)
DIAG(note_constexpr_calls_suppressed, CLASS_NOTE, (unsigned)diag::Severity::Fatal, "(skipping %0 call%s0 in backtrace; use -fconstexpr-backtrace-limit=0 to see all)", 0, SFINAE_Suppress, false, false, true, false, 0)
DIAG(note_constexpr_compare_virtual_mem_ptr, CLASS_NOTE, (unsigned)diag::Severity::Fatal, "comparison of pointer to virtual member function %0 has unspecified value", 0, SFINAE_Suppress, false, false, true, false, 0)
DIAG(note_constexpr_conditional_never_const, CLASS_NOTE, (unsigned)diag::Severity::Fatal, "both arms of conditional operator are unable to produce a constant expression", 0, SFINAE_Suppress, false, false, true, false, 0)
DIAG(note_constexpr_construct_complex_elem, CLASS_NOTE, (unsigned)diag::Severity::Fatal, "construction of individual component of complex number is not yet supported in constant expressions", 0, SFINAE_Suppress, false, false, true, false, 0)
DIAG(note_constexpr_deallocate_null, CLASS_NOTE, (unsigned)diag::Severity::Fatal, "'std::allocator<...>::deallocate' used to delete a null pointer", 0, SFINAE_Suppress, false, false, true, false, 0)
DIAG(note_constexpr_delete_base_nonvirt_dtor, CLASS_NOTE, (unsigned)diag::Severity::Fatal, "delete of object with dynamic type %1 through pointer to base class type %0 with non-virtual destructor", 0, SFINAE_Suppress, false, false, true, false, 0)
DIAG(note_constexpr_delete_not_heap_alloc, CLASS_NOTE, (unsigned)diag::Severity::Fatal, "delete of pointer '%0' that does not point to a heap-allocated object", 0, SFINAE_Suppress, false, false, true, false, 0)
DIAG(note_constexpr_delete_subobject, CLASS_NOTE, (unsigned)diag::Severity::Fatal, "delete of pointer%select{ to subobject|}1 '%0' %select{|that does not point to complete object}1", 0, SFINAE_Suppress, false, false, true, false, 0)
DIAG(note_constexpr_depth_limit_exceeded, CLASS_NOTE, (unsigned)diag::Severity::Fatal, "constexpr evaluation exceeded maximum depth of %0 calls", 0, SFINAE_Suppress, false, false, true, false, 0)
DIAG(note_constexpr_destroy_complex_elem, CLASS_NOTE, (unsigned)diag::Severity::Fatal, "destruction of individual component of complex number is not yet supported in constant expressions", 0, SFINAE_Suppress, false, false, true, false, 0)
DIAG(note_constexpr_destroy_out_of_lifetime, CLASS_NOTE, (unsigned)diag::Severity::Fatal, "destroying object '%0' whose lifetime has already ended", 0, SFINAE_Suppress, false, false, true, false, 0)
DIAG(note_constexpr_double_delete, CLASS_NOTE, (unsigned)diag::Severity::Fatal, "delete of pointer that has already been deleted", 0, SFINAE_Suppress, false, false, true, false, 0)
DIAG(note_constexpr_double_destroy, CLASS_NOTE, (unsigned)diag::Severity::Fatal, "destruction of object that is already being destroyed", 0, SFINAE_Suppress, false, false, true, false, 0)
DIAG(note_constexpr_dynamic_alloc, CLASS_NOTE, (unsigned)diag::Severity::Fatal, "%select{pointer|reference}0 to %select{|subobject of }1heap-allocated object is not a constant expression", 0, SFINAE_Suppress, false, false, true, false, 0)
DIAG(note_constexpr_dynamic_alloc_here, CLASS_NOTE, (unsigned)diag::Severity::Fatal, "heap allocation performed here", 0, SFINAE_Suppress, false, false, true, false, 0)
DIAG(note_constexpr_dynamic_cast_to_reference_failed, CLASS_NOTE, (unsigned)diag::Severity::Fatal, "reference dynamic_cast failed: %select{static type %1 of operand is a non-public base class of dynamic type %2|dynamic type %2 of operand does not have a base class of type %3|%3 is an ambiguous base class of dynamic type %2 of operand|%3 is a non-public base class of dynamic type %2 of operand}0", 0, SFINAE_Suppress, false, false, true, false, 0)
DIAG(note_constexpr_dynamic_rounding, CLASS_NOTE, (unsigned)diag::Severity::Fatal, "cannot evaluate this expression if rounding mode is dynamic", 0, SFINAE_Suppress, false, false, true, false, 0)
DIAG(note_constexpr_float_arithmetic, CLASS_NOTE, (unsigned)diag::Severity::Fatal, "floating point arithmetic produces %select{an infinity|a NaN}0", 0, SFINAE_Suppress, false, false, true, false, 0)
DIAG(note_constexpr_float_arithmetic_strict, CLASS_NOTE, (unsigned)diag::Severity::Fatal, "compile time floating point arithmetic suppressed in strict evaluation modes", 0, SFINAE_Suppress, false, false, true, false, 0)
DIAG(note_constexpr_function_param_value_unknown, CLASS_NOTE, (unsigned)diag::Severity::Fatal, "function parameter %0 with unknown value cannot be used in a constant expression", 0, SFINAE_Suppress, false, false, true, false, 0)
DIAG(note_constexpr_heap_alloc_limit_exceeded, CLASS_NOTE, (unsigned)diag::Severity::Fatal, "constexpr evaluation hit maximum heap allocation limit", 0, SFINAE_Suppress, false, false, true, false, 0)
DIAG(note_constexpr_inherited_ctor_call_here, CLASS_NOTE, (unsigned)diag::Severity::Fatal, "in implicit initialization for inherited constructor of %0", 0, SFINAE_Suppress, false, false, true, false, 0)
DIAG(note_constexpr_invalid_alignment, CLASS_NOTE, (unsigned)diag::Severity::Fatal, "requested alignment %0 is not a positive power of two", 0, SFINAE_Suppress, false, false, true, false, 0)
DIAG(note_constexpr_invalid_cast, CLASS_NOTE, (unsigned)diag::Severity::Fatal, "%select{reinterpret_cast|dynamic_cast|%select{this conversion|cast that performs the conversions of a reinterpret_cast}1|cast from %1}0 is not allowed in a constant expression%select{| in C++ standards before C++20||}0", 0, SFINAE_Suppress, false, false, true, false, 0)
DIAG(note_constexpr_invalid_downcast, CLASS_NOTE, (unsigned)diag::Severity::Fatal, "cannot cast object of dynamic type %0 to type %1", 0, SFINAE_Suppress, false, false, true, false, 0)
DIAG(note_constexpr_invalid_function, CLASS_NOTE, (unsigned)diag::Severity::Fatal, "%select{non-constexpr|undefined}0 %select{function|constructor}1 %2 cannot be used in a constant expression", 0, SFINAE_Suppress, false, false, true, false, 0)
DIAG(note_constexpr_invalid_inhctor, CLASS_NOTE, (unsigned)diag::Severity::Fatal, "constructor inherited from base class %0 cannot be used in a constant expression; derived class cannot be implicitly initialized", 0, SFINAE_Suppress, false, false, true, false, 0)
DIAG(note_constexpr_invalid_void_star_cast, CLASS_NOTE, (unsigned)diag::Severity::Fatal, "cast from %0 is not allowed in a constant expression %select{in C++ standards before C++2c|because the pointed object type %2 is not similar to the target type %3}1", 0, SFINAE_Suppress, false, false, true, false, 0)
DIAG(note_constexpr_large_shift, CLASS_NOTE, (unsigned)diag::Severity::Fatal, "shift count %0 >= width of type %1 (%2 bit%s2)", 0, SFINAE_Suppress, false, false, true, false, 0)
DIAG(note_constexpr_lifetime_ended, CLASS_NOTE, (unsigned)diag::Severity::Fatal, "%select{read of|read of|assignment to|increment of|decrement of|member call on|dynamic_cast of|typeid applied to|construction of|destruction of|read of}0 %select{temporary|variable}1 whose %plural{8:storage duration|:lifetime}0 has ended", 0, SFINAE_Suppress, false, false, true, false, 0)
DIAG(note_constexpr_literal_comparison, CLASS_NOTE, (unsigned)diag::Severity::Fatal, "comparison of addresses of literals has unspecified value", 0, SFINAE_Suppress, false, false, true, false, 0)
DIAG(note_constexpr_lshift_discards, CLASS_NOTE, (unsigned)diag::Severity::Fatal, "signed left shift discards bits", 0, SFINAE_Suppress, false, false, true, false, 0)
DIAG(note_constexpr_lshift_of_negative, CLASS_NOTE, (unsigned)diag::Severity::Fatal, "left shift of negative value %0", 0, SFINAE_Suppress, false, false, true, false, 0)
DIAG(note_constexpr_ltor_incomplete_type, CLASS_NOTE, (unsigned)diag::Severity::Fatal, "read of incomplete type %0 is not allowed in a constant expression", 0, SFINAE_Suppress, false, false, true, false, 0)
DIAG(note_constexpr_ltor_non_const_int, CLASS_NOTE, (unsigned)diag::Severity::Fatal, "read of non-const variable %0 is not allowed in a constant expression", 0, SFINAE_Suppress, false, false, true, false, 0)
DIAG(note_constexpr_ltor_non_constexpr, CLASS_NOTE, (unsigned)diag::Severity::Fatal, "read of non-constexpr variable %0 is not allowed in a constant expression", 0, SFINAE_Suppress, false, false, true, false, 0)
DIAG(note_constexpr_ltor_non_integral, CLASS_NOTE, (unsigned)diag::Severity::Fatal, "read of variable %0 of non-integral, non-enumeration type %1 is not allowed in a constant expression", 0, SFINAE_Suppress, false, false, true, false, 0)
DIAG(note_constexpr_mem_pointer_weak_comparison, CLASS_NOTE, (unsigned)diag::Severity::Fatal, "comparison against pointer to weak member %q0 can only be performed at runtime", 0, SFINAE_Suppress, false, false, true, false, 0)
DIAG(note_constexpr_memchr_unsupported, CLASS_NOTE, (unsigned)diag::Severity::Fatal, "constant evaluation of %0 on array of type %1 is not supported; only arrays of narrow character types can be searched", 0, SFINAE_Suppress, false, false, true, false, 0)
DIAG(note_constexpr_memcmp_unsupported, CLASS_NOTE, (unsigned)diag::Severity::Fatal, "constant evaluation of %0 between arrays of types %1 and %2 is not supported; only arrays of narrow character types can be compared", 0, SFINAE_Suppress, false, false, true, false, 0)
DIAG(note_constexpr_memcpy_incomplete_type, CLASS_NOTE, (unsigned)diag::Severity::Fatal, "cannot constant evaluate '%select{memcpy|memmove}0' between objects of incomplete type %1", 0, SFINAE_Suppress, false, false, true, false, 0)
DIAG(note_constexpr_memcpy_nontrivial, CLASS_NOTE, (unsigned)diag::Severity::Fatal, "cannot constant evaluate '%select{memcpy|memmove}0' between objects of non-trivially-copyable type %1", 0, SFINAE_Suppress, false, false, true, false, 0)
DIAG(note_constexpr_memcpy_null, CLASS_NOTE, (unsigned)diag::Severity::Fatal, "%select{source|destination}2 of '%select{%select{memcpy|wmemcpy}1|%select{memmove|wmemmove}1}0' is %3", 0, SFINAE_Suppress, false, false, true, false, 0)
DIAG(note_constexpr_memcpy_overlap, CLASS_NOTE, (unsigned)diag::Severity::Fatal, "'%select{memcpy|wmemcpy}0' between overlapping memory regions", 0, SFINAE_Suppress, false, false, true, false, 0)
DIAG(note_constexpr_memcpy_type_pun, CLASS_NOTE, (unsigned)diag::Severity::Fatal, "cannot constant evaluate '%select{memcpy|memmove}0' from object of type %1 to object of type %2", 0, SFINAE_Suppress, false, false, true, false, 0)
DIAG(note_constexpr_memcpy_unsupported, CLASS_NOTE, (unsigned)diag::Severity::Fatal, "'%select{%select{memcpy|wmemcpy}1|%select{memmove|wmemmove}1}0' not supported: %select{size to copy (%4) is not a multiple of size of element type %3 (%5)|source is not a contiguous array of at least %4 elements of type %3|destination is not a contiguous array of at least %4 elements of type %3}2", 0, SFINAE_Suppress, false, false, true, false, 0)
DIAG(note_constexpr_memory_leak, CLASS_NOTE, (unsigned)diag::Severity::Fatal, "allocation performed here was not deallocated%plural{0:|: (along with %0 other memory leak%s0)}0", 0, SFINAE_Suppress, false, false, true, false, 0)
DIAG(note_constexpr_modify_const_type, CLASS_NOTE, (unsigned)diag::Severity::Fatal, "modification of object of const-qualified type %0 is not allowed in a constant expression", 0, SFINAE_Suppress, false, false, true, false, 0)
DIAG(note_constexpr_modify_global, CLASS_NOTE, (unsigned)diag::Severity::Fatal, "a constant expression cannot modify an object that is visible outside that expression", 0, SFINAE_Suppress, false, false, true, false, 0)
DIAG(note_constexpr_negative_shift, CLASS_NOTE, (unsigned)diag::Severity::Fatal, "negative shift count %0", 0, SFINAE_Suppress, false, false, true, false, 0)
DIAG(note_constexpr_new, CLASS_NOTE, (unsigned)diag::Severity::Fatal, "dynamic memory allocation is not permitted in constant expressions until C++20", 0, SFINAE_Suppress, false, false, true, false, 0)
DIAG(note_constexpr_new_delete_mismatch, CLASS_NOTE, (unsigned)diag::Severity::Fatal, "%plural{2:'delete' used to delete pointer to object allocated with 'std::allocator<...>::allocate'|:%select{non-array delete|array delete|'std::allocator<...>::deallocate'}0 used to delete pointer to %select{array object of type %2|non-array object of type %2|object allocated with 'new'}0}1", 0, SFINAE_Suppress, false, false, true, false, 0)
DIAG(note_constexpr_new_exceeds_limits, CLASS_NOTE, (unsigned)diag::Severity::Fatal, "cannot allocate array; evaluated array bound %0 exceeds the limit (%1); use '-fconstexpr-steps' to increase this limit", 0, SFINAE_Suppress, false, false, true, false, 0)
DIAG(note_constexpr_new_negative, CLASS_NOTE, (unsigned)diag::Severity::Fatal, "cannot allocate array; evaluated array bound %0 is negative", 0, SFINAE_Suppress, false, false, true, false, 0)
DIAG(note_constexpr_new_non_replaceable, CLASS_NOTE, (unsigned)diag::Severity::Fatal, "call to %select{placement|class-specific}0 %1", 0, SFINAE_Suppress, false, false, true, false, 0)
DIAG(note_constexpr_new_not_complete_object_type, CLASS_NOTE, (unsigned)diag::Severity::Fatal, "cannot allocate memory of %select{incomplete|function}0 type %1", 0, SFINAE_Suppress, false, false, true, false, 0)
DIAG