###############################################################################
#                                                             \  ___  /       #
#                                                               /   \         #
# Edison Design Group C++/C Front End                        - | \^/ | -      #
#                                                               \   /         #
# Proprietary information of Edison Design Group Inc.         /  | |  \       #
# Copyright 1988-2026 Edison Design Group Inc.                   [_]          #
#                                                                             #
###############################################################################
#
# This file defines the diagnostic messages generated by the front end.
# This file is processed by mk_errinfo to generate the err_codes.h
# and err_data.h include files.
#
# Each line should be formatted as:
#
#   error_code;tag;"text"
#
# The error code is the enumeration element name that is used by the front end.
# The file must be specified in enumeration order.  To preserve the numbering
# of error codes, errors may not be inserted in the middle of the file,
# nor may lines be removed.  If an error message is no longer in use,
# the line on which it is defined should be prefixed with the string
# "REMOVED;".  This will retain its sequence number but eliminate it from
# the generated tables.
#
# The tag is an alias for a given error code to be used by the end-user
# to name that error in the command-line options that change the severities
# of diagnostics.  If no tag is specified, the error code (with the "ec_"
# removed) is used as the tag.
#
# Some messages are used as part of the message formatting process.  These
# messages should have a tag of INTERNAL.  This stops the message from
# being entered in the tag table and also prevents the message from appearing
# in the automatically generated documentation file.
#
# Any quote characters within the text string must be escaped.
#
# The text string includes markers indicating the location of fill-ins
# in the message (e.g., %t for a type).  The supported fill-ins are:
#
#  d#		- signed integer numeric insertion.
#  u#		- unsigned integer numeric insertion.
#  s[q]#	- user provided string insertion.
#  t#		- type insertion in double quotes.
#  m#		- module unit identification insertion.
#  n[f|o|a|t][d|T]#
#		- symbol name insertion in double quotes.
#  T		- template argument list enclosed in angle brackets
#  r		- reflection description
#  p#		- insert a source position.
#  %		- insert a percent sign.
#  [label]	- choose one of two fill-ins depending on the value
#			  of a variable (e.g., "%[C++/CLI]" might display as
#			  "C++/CLI" or "C++/CX").
#
# where "#" is an optional number in the range of 1 to N (defaulted to 1) that
# indicates which of multiple substitutions of given kind should be used.
# The upper limit is based on the number of fill-ins of that kind actually
# required by the message.
#
# String inserts may have an optional "q" modifier which specifies that the
# string is to be enclosed in quotes.
#
# Symbol name expansions may have one of the mutually exclusive optional
# modifiers:
#
#	f	- full object, complete type and object name.
#	o	- name or qualified name only.
#	a	- name or qualified name followed by template argument list
#
# Symbol name expansions may have a declaration position modifier "d" which
# requests that the declaration position of the symbol be added at the end
# of the expansion.  They may also have a "T" modifier which indicates
# that the translation unit of the symbol should be displayed if the
# current translation unit is not the primary translation unit, or the
# symbol is not from the current translation unit.
#
# The sequence \='something' following a fill-in code indicates specific
# text to be used for that fill-in when the message is shown in the error
# messages appendix of the internal documentation.
#
# Lines that begin with a "#", and blank lines, are ignored by mk_errinfo.
#

ec_no_error;;"unknown error"
ec_last_line_incomplete;;"last line of file ends without a newline"
ec_last_line_backslash;;"last line of file ends with a backslash"
ec_include_recursion;;"#include file %sq includes itself"
ec_out_of_memory;;"out of memory"
REMOVED;ec_source_file_could_not_be_opened;;"could not open source file %sq"
ec_comment_unclosed_at_eof;;"comment unclosed at end of file"
ec_bad_token;;"unrecognized token"
ec_unclosed_string;;"missing closing quote"
ec_nested_comment;;"nested comment is not allowed"
ec_bad_use_of_sharp;;"\"#\" not expected here"
ec_bad_pp_directive_keyword;;"unrecognized preprocessing directive"
ec_end_of_flush;;"parsing restarts here after previous syntax error"
ec_exp_file_name;;"expected a file name"
ec_extra_text_in_pp_directive;;"extra text after expected end of preprocessing directive"
REMOVED;ec_source_file_has_bad_format;;"%sq is not a file containing source text"
REMOVED;ec_illegal_source_file_name;;"%sq is not a valid source file name"
ec_exp_rbracket;;"expected a \"]\""
ec_exp_rparen;;"expected a \")\""
ec_extra_chars_on_number;;"extra text after expected end of number"
ec_undefined_identifier;;"identifier %sq is undefined"
ec_useless_type_qualifiers;;"type qualifiers are meaningless in this declaration"
ec_bad_hex_digit;;"invalid hexadecimal number"
ec_integer_too_large;;"integer constant is too large"
ec_bad_octal_digit;;"invalid octal digit"
ec_zero_length_string;;"quoted string should contain at least one character"
ec_too_many_characters;;"too many characters in character constant"
ec_bad_character_value;;"character value is out of range"
ec_expr_not_constant;;"expression must have a constant value"
ec_exp_primary_expr;;"expected an expression"
ec_bad_float_value;;"floating constant is out of range"
ec_expr_not_integral;;"expression must have integral type"
ec_expr_not_arithmetic;;"expression must have arithmetic type"
ec_exp_line_number;;"expected a line number"
ec_bad_line_number;;"invalid line number"
ec_error_directive;;"#error directive: %s"
ec_missing_pp_if;;"the #if for this directive is missing"
ec_missing_endif;;"the #endif for this directive is missing"
ec_pp_else_already_appeared;;"directive is not allowed -- an #else has already appeared"
ec_divide_by_zero;;"division by zero"
ec_exp_identifier;;"expected an identifier"
ec_expr_not_scalar;;"expression must have arithmetic or pointer type"
ec_incompatible_operands;;"operand types are incompatible (%t1 and %t2)"
REMOVED;ec_expr_not_integral_or_pointer;;"expression must have integral or pointer type"
ec_expr_not_pointer;;"expression must have pointer type"
ec_cannot_undef_predef_macro;;"#undef may not be used on this predefined name"
ec_cannot_redef_predef_macro;;"%no is predefined; attempted redefinition ignored"
ec_bad_macro_redef;;"incompatible redefinition of macro %nod"
REMOVED;ec_mixed_function_object_pointers;;"cast between pointer-to-object and pointer-to-function"
ec_duplicate_macro_param_name;;"duplicate macro parameter name"
ec_paste_cannot_be_first;;"\"##\" may not be first in a macro definition"
ec_paste_cannot_be_last;;"\"##\" may not be last in a macro definition"
ec_exp_macro_param;;"expected a macro parameter name"
ec_exp_colon;;"expected a \":\""
ec_too_few_macro_args;;"too few arguments in invocation of %n"
ec_too_many_macro_args;;"too many arguments in invocation of %n"
ec_sizeof_function;;"operand of sizeof may not be a function"
ec_bad_constant_operator;;"this operator is not allowed in a constant expression"
ec_bad_pp_operator;;"this operator is not allowed in a preprocessing expression"
ec_bad_constant_function_call;;"function call is not allowed in a constant expression"
ec_bad_integral_operator;;"this operator is not allowed in an integral constant expression"
ec_integer_overflow;;"integer operation result is out of range"
ec_negative_shift_count;;"shift count is negative"
ec_shift_count_too_large;;"shift count is too large"
ec_useless_decl;;"declaration does not declare anything"
ec_exp_semicolon;;"expected a \";\""
ec_enum_value_out_of_int_range;;"enumeration value is out of \"int\" range"
ec_exp_rbrace;;"expected a \"}\""
ec_integer_sign_change;;"integer conversion resulted in a change of sign"
ec_integer_truncated;;"integer conversion resulted in truncation"
ec_incomplete_type_not_allowed;;"incomplete type %t is not allowed"
ec_sizeof_bit_field;;"operand of sizeof may not be a bit field"
REMOVED;ec_address_of_constant;;"operand of \"&\" may not be a constant"
REMOVED;ec_init_constant_address_of_non_static;;"operand of \"&\" in an initializer must be static"
REMOVED;ec_bad_address_of_operand;;"invalid operand of \"&\""
ec_bad_indirection_operand;;"operand of \"*\" must be a pointer but has type %t"
ec_empty_macro_argument;;"argument to macro is empty"
ec_missing_decl_specifiers;;"this declaration has no storage class or type specifier"
ec_initializer_in_param;;"a parameter declaration may not have an initializer"
ec_exp_type_specifier;;"expected a type specifier"
ec_storage_class_not_allowed;;"a storage class may not be specified here"
ec_mult_storage_classes;;"more than one storage class may not be specified"
ec_storage_class_not_first;;"storage class is not first"
ec_dupl_type_qualifier;;"type qualifier specified more than once"
ec_bad_combination_of_type_specifiers;;"invalid combination of type specifiers"
ec_bad_param_storage_class;;"invalid storage class for a parameter"
ec_bad_function_storage_class;;"invalid storage class for a function"
ec_type_specifier_not_allowed;;"a type specifier may not be used here"
ec_array_of_function;;"array of functions is not allowed"
ec_array_of_void;;"array of void is not allowed"
ec_function_returning_function;;"function returning function is not allowed"
ec_function_returning_array;;"function returning array is not allowed"
ec_param_id_list_needs_function_def;;"identifier-list parameters may only be used in a function definition"
ec_function_type_must_come_from_declarator;;"function type may not come from a typedef"
ec_array_size_must_be_positive;;"the size of an array must be greater than zero"
ec_array_size_too_large;;"array is too large"
ec_empty_translation_unit;;"a translation unit must contain at least one declaration"
ec_bad_function_return_type;;"a function may not return a value of this type"
ec_bad_array_element_type;;"an array may not have elements of this type"
ec_decl_should_be_of_param;;"a declaration here must declare a parameter"
ec_dupl_param_name;;"duplicate parameter name"
ec_id_already_declared;;"%sq has already been declared in the current scope"
ec_nonstd_forward_decl_enum;;"forward declaration of enum type is nonstandard"
ec_class_too_large;;"class is too large"
ec_struct_too_large;;"struct or union is too large"
ec_bad_bit_field_size;;"invalid size for bit field"
ec_bad_bit_field_type;;"invalid type for a bit field"
ec_zero_length_bit_field_must_be_unnamed;;"zero-length bit field must be unnamed"
ec_signed_one_bit_field;;"signed bit field of length 1"
ec_expr_not_ptr_to_function;;"expression preceding parentheses of apparent call must have (pointer-to-) function type"
ec_exp_definition_of_tag;;"expected either a definition or a tag name"
ec_code_is_unreachable;;"statement is unreachable"
ec_exp_while;;"expected \"while\""
REMOVED;ec_nonstd_default_arg;;"this use of a default argument is nonstandard"
ec_never_defined;;"%n was referenced but not defined"
ec_continue_must_be_in_loop;;"a continue statement may only be used within a loop"
ec_break_must_be_in_loop_or_switch;;"a break statement may only be used within a loop or switch"
ec_no_value_returned_in_non_void_function;;"non-void %n should return a value"
ec_value_returned_in_void_function;;"a void function may not return a value"
ec_cast_to_bad_type;;"cast to type %t is not allowed"
ec_bad_return_value_type;;"return value type does not match the function type"
ec_case_label_must_be_in_switch;;"a case label may only be used within a switch"
ec_default_label_must_be_in_switch;;"a default label may only be used within a switch"
REMOVED;ec_case_label_appears_more_than_once;;"case label value has already appeared in this switch"
ec_default_label_appears_more_than_once;;"default label has already appeared in this switch"
ec_exp_lparen;;"expected a \"(\""
ec_expr_not_an_lvalue;;"expression must be an lvalue"
ec_exp_statement;;"expected a statement"
ec_loop_not_reachable;;"loop is not reachable"
ec_block_scope_function_must_be_extern;;"a block-scope function may only have extern storage class"
ec_exp_lbrace;;"expected a \"{\""
ec_expr_not_ptr_to_class;;"expression must have pointer-to-class type but it has type %t"
ec_expr_not_ptr_to_struct_or_union;;"expression must have pointer-to-struct-or-union type but it has type %t"
ec_exp_member_name;;"expected a member name"
ec_exp_field_name;;"expected a field name"
ec_not_a_member;;"%n has no member %sq"
ec_not_a_field;;"%n has no field %sq"
ec_expr_not_a_modifiable_lvalue;;"expression must be a modifiable lvalue"
ec_address_of_register_variable;;"taking the address of a register variable is not allowed"
ec_address_of_bit_field;;"taking the address of a bit field is not allowed"
ec_too_many_arguments;;"too many arguments in function call"
ec_all_proto_params_must_be_named;;"unnamed prototyped parameters not allowed when body is present"
ec_expr_not_pointer_to_object;;"expression must have pointer-to-object type but it has type %t"
ec_program_too_large;;"program too large or complicated to compile"
ec_bad_initializer_type;;"a value of type %t1 cannot be used to initialize an entity of type %t2"
ec_cannot_initialize;;"%n may not be initialized"
ec_too_many_initializer_values;;"too many initializer values"
ec_not_compatible_with_previous_decl;;"declaration is incompatible with %nfd"
ec_already_initialized;;"%n has already been initialized"
ec_bad_file_scope_storage_class;;"a global-scope declaration may not have this storage class"
ec_type_cannot_be_param_name;;"a type name may not be redeclared as a parameter"
ec_typedef_cannot_be_param_name;;"a typedef name may not be redeclared as a parameter"
ec_non_zero_int_conv_to_pointer;;"conversion of nonzero integer to pointer"
ec_expr_not_class;;"expression must have class type but it has type %t"
ec_expr_not_struct_or_union;;"expression must have struct or union type but it has type %t"
ec_old_fashioned_assignment_operator;;"old-fashioned assignment operator"
ec_old_fashioned_initializer;;"old-fashioned initializer"
ec_expr_not_integral_constant;;"expression must be an integral constant expression"
ec_expr_not_an_lvalue_or_function_designator;;"expression must be an lvalue or a function designator"
ec_decl_incompatible_with_previous_use;;"declaration is incompatible with previous %nod"
ec_external_name_clash;;"external name conflicts with external name of %nd"
ec_unrecognized_pragma;;"unrecognized #pragma"
REMOVED;ec_expr_not_scalar_or_void;;"expression must have arithmetic, pointer, or void type"
ec_cannot_open_temp_file_reason;;"could not open temporary file %sq: %s2"
REMOVED;ec_temp_file_dir_name_too_long;;"name of directory for temporary files is too long (%sq)"
ec_too_few_arguments;;"too few arguments in function call"
ec_bad_float_constant;;"invalid floating constant"
ec_incompatible_param;;"argument of type %t1 is incompatible with parameter of type %t2"
ec_function_type_not_allowed;;"a function type is not allowed here"
ec_exp_declaration;;"expected a declaration"
ec_pointer_outside_base_object;;"pointer points outside of underlying object"
ec_bad_cast;;"invalid type conversion"
ec_linkage_conflict;;"external/internal linkage conflict with previous declaration %p"
ec_float_to_integer_conversion;;"floating-point value does not fit in required integral type"
ec_expr_has_no_effect;;"expression has no effect"
ec_subscript_out_of_range;;"subscript out of range"
REMOVED;ec_constant_string_subscript_out_of_range;;"constant string subscript out of range"
ec_declared_but_not_referenced;;"%n was declared but never referenced"
ec_pcc_address_of_array;;"\"&\" applied to an array has no effect"
ec_mod_by_zero;;"right operand of \"%%\" is zero"
ec_old_style_incompatible_param;;"argument is incompatible with formal parameter"
ec_printf_arg_mismatch;;"argument is incompatible with corresponding format string conversion (expected type %t1 but argument has type %t2)"
ec_empty_include_search_path;;"could not open source file %sq (no directories in search list)"
ec_cast_not_integral;;"type of cast must be integral"
ec_cast_not_scalar;;"type of cast must be arithmetic or pointer"
ec_initialization_not_reachable;;"dynamic initialization in unreachable code"
ec_unsigned_compare_with_zero;;"pointless comparison of unsigned integer with zero"
ec_assign_where_compare_meant;;"use of \"=\" where \"==\" may have been intended"
ec_mixed_enum_type;;"enumerated type mixed with another type"
ec_file_write_error;;"error while writing %s file"
ec_bad_il_file;;"invalid intermediate language file"
ec_cast_to_qualified_type;;"type qualifier is meaningless on cast type"
ec_unrecognized_char_escape;;"unrecognized character escape sequence"
ec_undefined_preproc_id;;"zero used for undefined preprocessing identifier %sq"
ec_exp_asm_string;;"expected an asm string"
ec_asm_func_must_be_prototyped;;"an asm function must be prototyped"
ec_bad_asm_func_ellipsis;;"an asm function may not have an ellipsis"
REMOVED;ec_asm_with_non_function;;"asm may only be used to declare a function"
REMOVED;ec_asm_func_has_storage_class;;"an asm function may not have a storage class"
REMOVED;ec_bad_asm_func_return_size;;"asm return value size does not match function return type"
REMOVED;ec_bad_asm_func_param_size;;"asm parameter size does not match function parameter size"
REMOVED;ec_exp_percent;;"expected a \"%\""
REMOVED;ec_asm_specifier_conflicts_with_prev;;"invalid combination of asm control specifiers"
REMOVED;ec_extra_text_on_asm_control_line;;"extra text after expected end of asm control line"
REMOVED;ec_exp_asm_control_specifier;;"expected an asm control specifier"
REMOVED;ec_asm_name_already_defined;;"this asm name is already defined"
REMOVED;ec_bad_asm_reg_name;;"invalid register name"
REMOVED;ec_asm_param_may_not_be_void;;"an asm parameter may not have void type"
REMOVED;ec_exp_asm_type;;"expected an asm type specification"
REMOVED;ec_bad_asm_type_specification;;"invalid asm type specification"
REMOVED;ec_bad_asm_type_width;;"invalid asm type width"
REMOVED;ec_bad_asm_constant;;"invalid asm constant"
REMOVED;ec_bad_asm_temp_type;;"an asm temporary may not have this type"
REMOVED;ec_cannot_ref_untyped_asm_param;;"this parameter may not be referenced because it has no type"
REMOVED;ec_cannot_ref_void_asm_return;;"the return value may not be referenced because its type is void"
REMOVED;ec_bad_asm_reg_spec;;"invalid register specifier"
REMOVED;ec_asm_leaf_has_no_expansion_lines;;"an expansion leaf must have at least one expansion line"
REMOVED;ec_cannot_ref_untyped_asm_return;;"the return value may not be referenced because it has no type"
REMOVED;ec_bad_asm_return_type;;"the return value may not have this asm type"
ec_file_delete_error_reason;;"error while deleting file %sq: %s2"
ec_integer_to_float_conversion;;"integral value does not fit in required floating-point type"
ec_float_to_float_conversion;;"floating-point value does not fit in required floating-point type"
ec_bad_float_operation_result;;"floating-point operation result is out of range"
ec_implicit_func_decl;;"function %sq declared implicitly"
ec_too_few_printf_args;;"the format string requires additional arguments"
ec_too_many_printf_args;;"the format string ends before this argument"
ec_bad_printf_format_string;;"invalid format string conversion"
ec_macro_recursion;;"macro recursion"
ec_nonstd_extra_comma;;"trailing comma is nonstandard"
ec_enum_bit_field_too_small;;"bit field cannot contain all values of the enumerated type"
ec_nonstd_bit_field_type;;"nonstandard type for a bit field"
ec_decl_in_prototype_scope;;"declaration is not visible outside of function"
ec_decl_of_void_ignored;;"old-fashioned typedef of \"void\" ignored"
ec_old_fashioned_field_selection;;"left operand is not a struct or union containing this field"
ec_old_fashioned_ptr_field_selection;;"pointer does not point to struct or union containing this field"
ec_var_retained_incomp_type;;"variable %sq was declared with a never-completed type"
ec_boolean_controlling_expr_is_constant;;"controlling expression is constant"
ec_switch_selector_expr_is_constant;;"selector expression is constant"
ec_bad_param_specifier;;"invalid specifier on a parameter"
ec_bad_specifier_outside_class_decl;;"invalid specifier outside a class declaration"
ec_dupl_decl_specifier;;"duplicate specifier in declaration"
ec_base_class_not_allowed_for_union;;"a union is not allowed to have a base class"
ec_access_already_specified;;"multiple access control specifiers are not allowed"
ec_missing_class_definition;;"class or struct definition is missing"
ec_name_not_member_of_class_or_base_classes;;"qualified name is not a member of class %t or its base classes"
ec_member_ref_requires_object;;"a nonstatic member reference must be relative to a specific object"
ec_nonstatic_member_def_not_allowed;;"a nonstatic data member may not be defined outside its class"
ec_already_defined;;"%n has already been defined"
ec_pointer_to_reference;;"pointer to reference is not allowed"
ec_reference_to_reference;;"reference to reference is not allowed"
ec_reference_to_void;;"reference to void is not allowed"
ec_array_of_reference;;"array of reference is not allowed"
ec_missing_initializer_on_reference;;"reference %n requires an initializer"
ec_exp_comma;;"expected a \",\""
ec_type_identifier_not_allowed;;"type name is not allowed"
ec_type_definition_not_allowed;;"type definition is not allowed"
ec_bad_type_name_redeclaration;;"invalid redeclaration of type name %nod"
ec_missing_initializer_on_const;;"const %n requires an initializer"
ec_this_used_incorrectly;;"\"this\" may only be used inside a nonstatic member function"
ec_constant_value_not_known;;"constant value is not known"
ec_missing_type_specifier;;"explicit type is missing (\"int\" assumed)"
ec_missing_access_specifier;;"access control not specified (%sq by default)"
ec_not_a_class_or_struct_name;;"not a class or struct name"
ec_dupl_base_class_name;;"duplicate base class name"
ec_bad_base_class;;"invalid base class"
ec_no_access_to_name;;"%nd is inaccessible"
ec_ambiguous_name;;"%no is ambiguous"
ec_old_style_parameter_list;;"old-style parameter list (anachronism)"
ec_declaration_after_statements;;"declaration may not appear after executable statement in block"
ec_inaccessible_base_class;;"conversion to inaccessible base class %t is not allowed"
REMOVED;ec_not_a_base_class_member;;"name is not a member of a base class of %sq"
REMOVED;ec_access_adjustment_in_private_section;;"access adjustment in a \"private\" section is not allowed"
REMOVED;ec_increasing_access_not_allowed;;"increasing an inherited member's access is not allowed"
REMOVED;ec_restricting_access_not_allowed;;"restricting an inherited member's access is not allowed"
ec_improperly_terminated_macro_call;;"improperly terminated macro invocation"
REMOVED;ec_bad_access_decl_name_is_hidden;;"invalid access declaration -- %no1 is hidden by %no2"
ec_id_must_be_class_or_namespace_name;;"name followed by \"::\" must be a class or namespace name"
ec_bad_friend_decl;;"invalid friend declaration"
ec_value_returned_in_constructor;;"a constructor or destructor may not return a value"
ec_bad_destructor_decl;;"invalid destructor declaration"
ec_class_and_member_name_conflict;;"declaration of a member with the same name as its class"
ec_global_qualifier_not_allowed;;"global-scope qualifier (leading \"::\") is not allowed"
ec_name_not_found_in_file_scope;;"the global scope has no %sq"
ec_qualified_name_not_allowed;;"qualified name is not allowed"
ec_null_reference;;"NULL reference is not allowed"
ec_brace_initialization_not_allowed;;"initialization with \"{...}\" is not allowed for object of type %t"
ec_ambiguous_base_class;;"base class %t is ambiguous"
ec_ambiguous_derived_class;;"derived class %t1 contains more than one instance of class %t2"
ec_derived_class_from_virtual_base;;"cannot convert pointer to base class %t2 to pointer to derived class %t1 -- base class is virtual"
ec_no_matching_constructor;;"no instance of constructor %no matches the argument list"
ec_ambiguous_copy_constructor;;"copy constructor for class %t is ambiguous"
ec_no_default_constructor;;"no default constructor exists for class %t"
ec_not_a_field_or_base_class;;"%sq is not a nonstatic data member or base class of class %t"
ec_indirect_nonvirtual_base_class_not_allowed;;"indirect nonvirtual base class is not allowed"
ec_bad_union_field;;"invalid union member -- class %t has a disallowed member function"
REMOVED;ec_overloaded_function_types_too_similar;;"cannot overload functions -- parameter types are too similar"
ec_bad_rvalue_array;;"invalid use of non-lvalue array"
ec_exp_operator;;"expected an operator"
ec_inherited_member_not_allowed;;"inherited member is not allowed"
ec_indeterminate_overloaded_function;;"cannot determine which instance of %n is intended"
ec_bound_function_must_be_called;;"a pointer to a bound function may only be used to call the function"
ec_duplicate_typedef;;"typedef name has already been declared (with same type)"
REMOVED;ec_function_redefinition;;"%n has already been defined"
REMOVED;ec_overloaded_function_incompatible_type;;"type does not match any instance of %n"
ec_no_matching_function;;"no instance of %n matches the argument list"
ec_type_def_not_allowed_in_func_type_decl;;"type definition is not allowed in function return type declaration"
ec_default_arg_not_at_end;;"default argument not at end of parameter list"
ec_default_arg_already_defined;;"redefinition of default argument"
ec_ambiguous_overloaded_function;;"more than one instance of %n matches the argument list:"
ec_ambiguous_constructor;;"more than one instance of constructor %no matches the argument list:"
ec_bad_default_arg_type;;"default argument of type %t1 is incompatible with parameter of type %t2"
ec_return_type_cannot_distinguish_functions;;"cannot overload functions distinguished by return type alone"
ec_no_user_defined_conversion;;"no suitable user-defined conversion from %t1 to %t2 exists"
REMOVED;ec_function_qualifier_not_allowed;;"type qualifier is not allowed on this function"
ec_virtual_static_not_allowed;;"only nonstatic member functions may be virtual"
ec_unqual_function_with_qual_object;;"the object has type qualifiers that are not compatible with the member function"
ec_too_many_virtual_functions;;"program too large to compile (too many virtual functions)"
ec_bad_return_type_on_virtual_function_override;;"return type is not identical to nor covariant with return type %t of overridden virtual function %no"
ec_ambiguous_virtual_function_override;;"override of virtual %n is ambiguous"
ec_pure_specifier_on_nonvirtual_function;;"pure specifier (\"= 0\") allowed only on virtual functions"
ec_bad_pure_specifier;;"badly-formed pure specifier (only \"= 0\" is allowed)"
ec_bad_data_member_initialization;;"data member initializer is not allowed"
ec_abstract_class_object_not_allowed;;"object of abstract class type %t is not allowed:"
ec_function_returning_abstract_class;;"function returning abstract class %t is not allowed:"
ec_duplicate_friend_decl;;"duplicate friend declaration"
ec_inline_and_nonfunction;;"inline specifier allowed on function declarations only"
ec_inline_not_allowed;;"\"inline\" is not allowed"
ec_bad_storage_class_with_inline;;"invalid storage class for an inline function"
ec_bad_member_storage_class;;"invalid storage class for a class member"
ec_local_class_function_def_missing;;"local class member %n requires a definition"
ec_inaccessible_special_function;;"%nfd is inaccessible"
REMOVED;ec_direct_derivation_less_accessible;;"direct path to base class %t gives less access than indirect path"
ec_missing_const_copy_constructor;;"class %t has no copy constructor to copy a const object"
ec_definition_of_implicitly_declared_function;;"defining an implicitly declared member function is not allowed"
ec_no_suitable_copy_constructor;;"class %t has no suitable copy constructor"
ec_linkage_specifier_not_allowed;;"linkage specification is not allowed"
ec_bad_linkage_specifier;;"unknown external linkage specification"
ec_incompatible_linkage_specifier;;"linkage specification is incompatible with previous %nod"
ec_overloaded_function_linkage;;"more than one instance of overloaded function %no has \"C\" linkage"
ec_ambiguous_default_constructor;;"class %t has more than one default constructor"
ec_temp_used_for_ref_init;;"value copied to temporary, reference to temporary used"
ec_nonmember_operator_not_allowed;;"\"operator%s\" must be a member function"
ec_static_member_operator_not_allowed;;"operator may not be a static member function"
ec_too_many_args_for_conversion;;"no arguments allowed on user-defined conversion"
ec_too_many_args_for_operator;;"too many parameters for this operator function"
ec_too_few_args_for_operator;;"too few parameters for this operator function"
ec_no_params_with_class_type;;"nonmember operator requires a parameter with class type"
ec_default_arg_expr_not_allowed;;"default argument is not allowed"
ec_ambiguous_user_defined_conversion;;"more than one user-defined conversion from %t1 to %t2 applies:"
ec_no_matching_operator_function;;"no operator %sq matches these operands"
ec_ambiguous_operator_function;;"more than one operator %sq matches these operands:"
ec_bad_arg_type_for_operator_new;;"first parameter of allocation function must be of type \"size_t\""
ec_bad_return_type_for_op_new;;"allocation function requires \"void *\" return type"
ec_bad_return_type_for_op_delete;;"deallocation function requires \"void\" return type"
ec_bad_first_arg_type_for_operator_delete;;"first parameter of deallocation function must be of type \"void *\""
REMOVED;ec_bad_second_arg_type_for_operator_delete;;"second parameter of deallocation function must be of type \"size_t\""
ec_type_must_be_object_type;;"type must be an object type"
ec_base_class_already_initialized;;"base class %t has already been initialized"
ec_base_class_init_anachronism;;"base class name required -- %t assumed (anachronism)"
ec_member_already_initialized;;"%n has already been initialized"
ec_missing_base_class_or_member_name;;"name of member or base class is missing"
ec_assignment_to_this;;"assignment to \"this\" (anachronism)"
ec_overload_anachronism;;"\"overload\" keyword used (anachronism)"
ec_anon_union_member_access;;"invalid anonymous union -- nonpublic member is not allowed"
ec_anon_union_member_function;;"invalid anonymous union -- member function is not allowed"
ec_anon_union_storage_class;;"anonymous union at global or namespace scope must be declared static"
ec_missing_initializer_on_fields;;"%nf provides no initializer for:"
ec_cannot_initialize_fields;;"implicitly generated constructor for class %t cannot initialize:"
ec_no_ctor_but_const_or_ref_member;;"%n defines no constructor to initialize the following:"
ec_var_with_uninitialized_member;;"%n has an uninitialized const or reference member"
ec_var_with_uninitialized_field;;"%n has an uninitialized const field"
ec_missing_const_assignment_operator;;"class %t has no assignment operator to copy a const object"
ec_no_suitable_assignment_operator;;"class %t has no suitable assignment operator"
ec_ambiguous_assignment_operator;;"ambiguous assignment operator for class %t"
REMOVED;ec_const_volatile_not_allowed;;"const or volatile qualifier is not allowed"
ec_missing_typedef_name;;"declaration requires a typedef name"
REMOVED;ec_missing_object_name;;"unknown error"
ec_virtual_not_allowed;;"\"virtual\" is not allowed"
ec_static_not_allowed;;"\"static\" is not allowed"
ec_bound_function_cast_anachronism;;"cast of bound function to normal function pointer (anachronism)"
ec_expr_not_ptr_to_member;;"expression must have pointer-to-member type"
ec_extra_semicolon;;"extra \";\" ignored"
ec_nonstd_const_member;;"in-class initializer for nonstatic member is nonstandard"
REMOVED;ec_delete_of_const_pointer;;"a pointer to const may not be deleted"
ec_no_matching_new_function;;"no instance of overloaded %no matches the argument list"
REMOVED;ec_delete_already_declared;;"operator delete() may not be overloaded"
ec_no_match_for_addr_of_overloaded_function;;"no instance of %n matches the required type"
ec_delete_count_anachronism;;"delete array size expression used (anachronism)"
REMOVED;ec_bad_return_type_for_op_arrow;;"\"operator->\" for class %t1 returns invalid type %t2"
ec_cast_to_abstract_class;;"a cast to abstract class %t is not allowed:"
ec_bad_use_of_main;;"function \"main\" may not be called or have its address taken"
ec_initializer_not_allowed_on_array_new;;"a new-initializer may not be specified for an array"
ec_member_function_redecl_outside_class;;"member function %no may not be redeclared outside its class"
REMOVED;ec_ptr_to_incomplete_class_type_not_allowed;;"pointer to incomplete class type %t is not allowed"
ec_ref_to_nested_function_var;;"reference to local variable of enclosing function is not allowed"
ec_single_arg_postfix_incr_decr_anachronism;;"single-argument function used for postfix %sq (anachronism)"
REMOVED;ec_bad_access_adjustment_with_overloading;;"access adjustment is not allowed -- mixed accessibility for %n"
ec_bad_default_assignment;;"implicitly generated assignment operator cannot copy:"
ec_nonstd_array_cast;;"cast to array type is nonstandard (treated as cast to %t)"
ec_class_with_op_new_but_no_op_delete;;"%n has an operator new%s() but no default operator delete%s()"
ec_class_with_op_delete_but_no_op_new;;"%n has a default operator delete%s() but no operator new%s()"
ec_base_class_with_nonvirtual_dtor;;"destructor for base class %nod is not virtual"
REMOVED;ec_no_access_to_constructors;;"%n has no accessible constructors"
ec_member_function_redeclaration;;"invalid redeclaration of member %npd"
ec_inline_main;;"function \"main\" may not be declared inline"
ec_class_and_member_function_name_conflict;;"member function with the same name as its class must be a constructor"
ec_nested_class_anachronism;;"using nested %n (anachronism)"
ec_too_many_params_for_destructor;;"a destructor may not have parameters"
ec_bad_constructor_param;;"copy constructor for class %t may not have a parameter of type %t"
ec_incomplete_function_return_type;;"%n returns incomplete type %t"
ec_protected_access_problem;;"protected %nd is not accessible through a %t pointer or object"
ec_param_not_allowed;;"a parameter is not allowed"
ec_asm_decl_not_allowed;;"an \"asm\" declaration is not allowed here"
ec_no_conversion_function;;"no suitable conversion function from %t1 to %t2 exists"
ec_delete_of_incomplete_class;;"delete of pointer to incomplete class"
ec_no_constructor_for_conversion;;"no suitable constructor exists to convert from %t1 to %t2"
ec_ambiguous_constructor_for_conversion;;"more than one constructor applies to convert from %t1 to %t2:"
ec_ambiguous_conversion_function;;"more than one conversion function from %t1 to %t2 applies:"
ec_ambiguous_conversion_to_builtin;;"more than one conversion function from %t to a built-in type applies:"
ec_const_member;INTERNAL;"const %n"
ec_reference_member;INTERNAL;"reference %n"
ec_ambiguous_function_add_on;INTERNAL;"%npTd"
ec_builtin_operator_add_on;INTERNAL;"built-in operator %sq"
ec_ambiguous_by_inheritance_add_on;INTERNAL;"%nod, ambiguous by inheritance"
ec_addr_of_constructor_or_destructor;;"a constructor or destructor may not have its address taken"
REMOVED;ec_dollar_used_in_identifier;;"dollar sign (\"$\") used in identifier"
ec_nonconst_ref_init_anachronism;;"temporary used for initial value of reference to non-const (anachronism)"
ec_qualifier_in_member_declaration;;"qualified name is not allowed in member declaration"
ec_mixed_enum_type_anachronism;;"enumerated type mixed with another type (anachronism)"
ec_new_array_size_must_be_nonnegative;;"the size of an array in \"new\" must be non-negative"
ec_return_ref_init_requires_temp;;"returning reference to local temporary"
REMOVED;ec_cfront_nonconst_ref_init;;"const qualifier dropped in initializing reference to non-const"
ec_enum_not_allowed;;"\"enum\" declaration is not allowed"
ec_qualifier_dropped_in_ref_init;;"qualifiers dropped in binding reference of type %t1 to initializer of type %t2"
ec_bad_nonconst_ref_init;;"a reference of type %t1 (not const-qualified) cannot be initialized with a value of type %t2"
ec_delete_of_function_pointer;;"a pointer to function may not be deleted"
ec_bad_conversion_function_decl;;"conversion function must be a nonstatic member function"
ec_bad_template_declaration_scope;;"a template declaration is not allowed here"
ec_exp_lt;;"expected a \"<\""
ec_exp_gt;;"expected a \">\""
ec_missing_template_param;;"template parameter declaration is missing"
ec_missing_template_arg_list;;"argument list for %nf is missing"
ec_too_few_template_args;;"too few arguments for %nf"
ec_too_many_template_args;;"too many arguments for %nf"
REMOVED;ec_not_a_type_arg;;"template parameter for a function template must be a type"
ec_not_used_in_template_function_params;;"%n1 is not used in declaring the parameter types of %n2"
ec_cfront_multiple_nested_types;;"two nested types have the same name: %no1 and %nod2 (cfront compatibility)"
ec_cfront_global_defined_after_nested_type;;"global %no1 was declared after nested %nod2 (cfront compatibility)"
REMOVED;ec_template_param_declared_but_not_referenced;;"template parameter %no was declared but never referenced"
ec_ambiguous_ptr_to_overloaded_function;;"more than one instance of %n matches the required type"
ec_nonstd_long_long;;"the type \"long long\" is nonstandard"
ec_nonstd_friend_decl;;"omission of %sq is nonstandard"
ec_return_type_on_conversion_function;;"return type may not be specified on a conversion function"
ec_template_detected_during_header;INTERNAL;"detected during:"
ec_template_instantiation_context;INTERNAL;"instantiation of %nt %p"
ec_compiler_generated_function_context;INTERNAL;"implicit generation of %nt %p"
ec_runaway_recursive_instantiation;;"excessive recursion at instantiation of %n"
ec_bad_template_declaration;;"%sq is not a function or static data member"
ec_bad_nontype_template_arg;;"argument of type %t1 is incompatible with template parameter of type %t2"
ec_init_needing_temp_not_allowed;;"initialization requiring a temporary or conversion is not allowed"
ec_decl_hides_function_parameter;;"declaration of %sq hides function parameter"
ec_nonconst_ref_init_from_rvalue;;"initial value of reference to non-const must be an lvalue"
ec_implicit_static_data_member_definition;INTERNAL;"implicit definition of %nt %p"
ec_template_not_allowed;;"\"template\" is not allowed"
ec_not_a_class_template;;"%t is not a class template"
REMOVED;ec_static_data_member_anon_union;;"static data member may not be an anonymous union"
ec_function_template_named_main;;"\"main\" is not a valid name for a function template"
ec_union_nonunion_mismatch;;"invalid reference to %n (union/nonunion mismatch)"
ec_local_type_in_template_arg;;"a template argument may not reference a local type"
ec_tag_kind_incompatible_with_declaration;;"tag kind of %s is incompatible with declaration of %nfd"
ec_name_not_tag_in_file_scope;;"the global scope has no tag named %sq"
ec_not_a_tag_member;;"%n has no tag member named %sq"
ec_ptr_to_member_typedef;;"member function typedef (allowed for cfront compatibility)"
ec_bad_use_of_member_function_typedef;;"%n may be used only in pointer-to-member declaration"
REMOVED;ec_empty_initializer_list;;"unknown error"
ec_nonexternal_entity_in_template_arg;;"a template argument may not reference a non-external entity"
ec_id_must_be_class_or_type_name;;"name followed by \"::~\" must be a class name or a type name"
REMOVED;ec_destructor_name_mismatch;;"destructor name does not match name of class %t"
ec_destructor_type_mismatch;;"type used as destructor name does not match type %t"
ec_called_function_redeclared_inline;;"%n redeclared \"inline\" after being called"
REMOVED;ec_vacuous_destructor_name_mismatch;;"destructor name does not match left operand of \"->\" or \".\""
ec_bad_storage_class_on_template_decl;;"invalid storage class for a template declaration"
ec_no_access_to_type_cfront_mode;;"%nd is an inaccessible type (allowed for cfront compatibility)"
REMOVED;ec_return_type_not_allowed;;"a return type is not allowed"
ec_invalid_instantiation_argument;;"invalid explicit instantiation declaration"
ec_not_instantiatable_entity;;"%nf is not an entity that can be instantiated"
ec_compiler_generated_function_cannot_be_instantiated;;"compiler generated %n cannot be explicitly instantiated"
ec_inline_function_cannot_be_instantiated;;"inline %n cannot be explicitly instantiated"
REMOVED;ec_pure_virtual_function_cannot_be_instantiated;;"pure virtual %n cannot be explicitly instantiated"
ec_instantiation_requested_no_definition_supplied;;"%n cannot be instantiated -- no template definition was supplied"
ec_instantiation_requested_and_specialized;;"%n cannot be instantiated -- it has been explicitly specialized"
REMOVED;ec_no_constructor;;"class %t has no constructor"
REMOVED;ec_template_param_only_used_in_default_args;;"%n1 must be used in a parameter without a default value in %n2"
ec_no_match_for_type_of_overloaded_function;;"no instance of %n matches the specified type"
ec_nonstd_void_param_list;;"declaring a void parameter list with a typedef is nonstandard"
ec_cfront_name_lookup_bug;;"global %n1 used instead of %n2 (cfront compatibility)"
ec_redeclaration_of_template_param_name;;"template parameter %sq may not be redeclared in this scope"
ec_decl_hides_template_parameter;;"declaration of %sq hides template parameter"
ec_must_be_prototype_instantiation;;"template argument list must match the parameter list"
REMOVED;ec_conversion_to_type_not_allowed;;"conversion function to convert from %t1 to %t2 is not allowed"
ec_bad_extra_arg_for_postfix_operator;;"extra parameter of postfix \"operator%s\" must be of type \"int\""
ec_function_type_required;;"an operator name must be declared as a function"
ec_operator_name_not_allowed;;"operator name is not allowed"
ec_bad_scope_for_specialization;;"%n cannot be specialized in the current scope"
ec_nonstd_member_function_address;;"nonstandard form for taking the address of a member function"
ec_too_few_template_params;;"too few template parameters -- does not match previous declaration (declared %p)"
ec_too_many_template_params;;"too many template parameters -- does not match previous declaration (declared %p)"
ec_template_operator_delete;;"function template for operator delete(void *) is not allowed"
ec_class_template_same_name_as_templ_param;;"class template and template parameter may not have the same name"
REMOVED;ec_bad_constructor_name;;"%no2 cannot be used to designate constructor for %n2"
ec_unnamed_type_in_template_arg;;"a template argument may not reference an unnamed type"
ec_enum_type_not_allowed;;"this operation on an enumerated type requires an applicable user-defined operator function"
ec_qualified_reference_type;;"type qualifier on a reference type is not allowed"
ec_incompatible_assignment_operands;;"a value of type %t1 cannot be assigned to an entity of type %t2"
ec_unsigned_compare_with_negative;;"pointless comparison of unsigned integer with a negative constant"
ec_converting_to_incomplete_class;;"cannot convert to incomplete class %t"
ec_missing_initializer_on_unnamed_const;;"const object requires an initializer"
ec_unnamed_object_with_uninitialized_field;;"object has an uninitialized const or reference member"
ec_nonstd_pp_directive;;"nonstandard preprocessing directive"
ec_unexpected_template_arg_list;;"%n may not have a template argument list"
ec_missing_initializer_list;;"initialization with \"{...}\" expected for aggregate object"
ec_incompatible_ptr_to_member_selection_operands;;"pointer-to-member selection class types are incompatible (%t1 and %t2)"
ec_self_friendship;;"pointless friend declaration"
ec_period_used_as_qualifier;;"\".\" used in place of \"::\" to form a qualified name"
ec_const_function_anachronism;;"non-const function called for const object (anachronism)"
ec_dependent_stmt_is_declaration;;"a dependent statement may not be a declaration"
ec_void_param_not_allowed;;"a parameter may not have void type"
ec_template_function_declaration_context;INTERNAL;"instantiation of %na %p"
ec_template_class_argument_list_context;INTERNAL;"processing of template argument list for %na %p"
ec_bad_templ_arg_expr_operator;;"this operator is not allowed in a template argument expression"
ec_missing_handler;;"try block requires at least one handler"
ec_missing_exception_declaration;;"handler requires an exception declaration"
ec_masked_by_default_handler;;"handler is masked by default handler"
ec_masked_by_handler;;"handler is potentially masked by previous handler for type %t"
ec_local_type_used_in_exception;;"use of a local type to specify an exception"
ec_redundant_exception_specification_type;;"redundant type in exception specification"
ec_incompatible_exception_specification;;"exception specification is incompatible with that of previous %nd%s\=':'"
ec_previous_exception_specification_was_empty;INTERNAL;"previously specified: no exceptions will be thrown"
ec_omitted_in_previous_exception_specification;INTERNAL;"previously omitted: %t"
ec_included_in_previous_exception_specification;INTERNAL;"previously specified but omitted here: %t"
ec_no_exception_support;;"support for exception handling is disabled"
ec_omitted_exception_specification;;"allowing all exceptions is incompatible with previous %nd"
ec_cannot_create_instantiation_request_file;;"could not create instantiation request file %sq"
ec_non_arith_operation_in_templ_arg;;"non-arithmetic operation not allowed in nontype template argument"
ec_local_type_in_nonlocal_var;;"use of a local type to declare a nonlocal variable"
ec_local_type_in_function;;"use of a local type to declare a function"
ec_branch_past_initialization;;"transfer of control bypasses initialization of:"
ec_name_at_decl_position;INTERNAL;"%nd"
ec_branch_into_handler;;"transfer of control into an exception handler"
ec_used_before_set;;"%n is used before its value is set"
ec_set_but_not_used;;"%n was set but never used"
ec_bad_scope_for_definition;;"%n cannot be defined in the current scope"
ec_exception_specification_not_allowed;;"exception specification is not allowed"
ec_template_and_instance_linkage_conflict;;"external/internal linkage conflict for %nfd"
ec_conversion_function_not_usable;;"%nf will not be called for implicit or explicit conversions"
ec_tag_kind_incompatible_with_template_parameter;;"tag kind of %s is incompatible with template parameter of type %t"
ec_template_operator_new;;"function template for operator new(size_t) is not allowed"
REMOVED;ec_bad_access_decl_ambiguous_name;;"invalid access declaration -- inherited name %sq is ambiguous"
ec_bad_member_type_in_ptr_to_member;;"pointer to member of type %t is not allowed"
ec_ellipsis_on_operator_function;;"ellipsis is not allowed in operator function parameter list"
ec_unimplemented_keyword;;"%no is reserved for future use as a keyword"
ec_cl_invalid_macro_definition;;"invalid macro definition: %s"
ec_cl_invalid_macro_undefinition;;"invalid macro undefinition: %s"
REMOVED;ec_cl_invalid_preprocessor_output_file;;"invalid preprocessor output file "
REMOVED;ec_cl_cannot_open_preprocessor_output_file;;"cannot open preprocessor output file "
ec_cl_il_file_must_be_specified;;"IL file name must be specified if input is "
REMOVED;ec_cl_invalid_il_output_file;;"invalid IL output file "
REMOVED;ec_cl_cannot_open_il_output_file;;"cannot open IL output file "
REMOVED;ec_cl_invalid_C_output_file;;"invalid C output file "
REMOVED;ec_cl_cannot_open_C_output_file;;"cannot open C output file "
ec_cl_error_in_debug_option_argument;;"error in debug option argument"
ec_cl_invalid_option;;"invalid option: %s"
ec_cl_back_end_requires_il_file;;"back end requires name of IL file"
ec_cl_could_not_open_il_file;;"could not open IL file %s"
ec_cl_invalid_number;;"invalid number: %s"
ec_cl_incorrect_host_id;;"incorrect host CPU id"
ec_cl_invalid_instantiation_mode;;"invalid instantiation mode: %s"
REMOVED;ec_cl_missing_include_directory;;"missing include file directory name"
ec_cl_invalid_error_limit;;"invalid error limit: %s"
REMOVED;ec_cl_invalid_raw_listing_output_file;;"invalid raw-listing output file "
REMOVED;ec_cl_cannot_open_raw_listing_output_file;;"cannot open raw-listing output file "
REMOVED;ec_cl_invalid_xref_output_file;;"invalid cross-reference output file "
REMOVED;ec_cl_cannot_open_xref_output_file;;"cannot open cross-reference output file "
REMOVED;ec_cl_invalid_error_output_file;;"invalid error output file "
REMOVED;ec_cl_cannot_open_error_output_file;;"cannot open error output file "
ec_cl_vtbl_option_only_in_cplusplus;;"virtual function tables can only be suppressed when compiling C++"
ec_cl_anachronism_option_only_in_cplusplus;;"anachronism option can be used only when compiling C++"
ec_cl_instantiation_option_only_in_cplusplus;;"instantiation mode option can be used only when compiling C++"
ec_cl_auto_instantiation_option_only_in_cplusplus;;"automatic instantiation mode can be used only when compiling C++"
ec_cl_implicit_inclusion_option_only_in_cplusplus;;"implicit template inclusion mode can be used only when compiling C++"
ec_cl_exceptions_option_only_in_cplusplus;;"exception handling option can be used only when compiling C++"
ec_cl_strict_mode_incompatible_with_pcc;;"strict mode is incompatible with K&R mode"
ec_cl_strict_mode_incompatible_with_cfront;;"strict mode is incompatible with cfront mode"
ec_cl_missing_source_file_name;;"missing source file name"
ec_cl_output_file_incompatible_with_multiple_inputs;;"output files may not be specified when compiling several input files"
ec_cl_too_many_arguments;;"too many arguments on command line"
ec_cl_no_output_file_needed;;"an output file was specified, but none is needed"
ec_cl_il_display_requires_il_file_name;;"IL display requires name of IL file"
ec_void_template_parameter;;"a template parameter may not have void type"
ec_too_many_unused_instantiations;;"excessive recursive instantiation of %n due to instantiate-all mode"
ec_cl_strict_mode_incompatible_with_anachronisms;;"strict mode is incompatible with allowing anachronisms"
ec_void_throw;;"a throw expression may not have void type"
ec_cl_tim_local_conflicts_with_auto_instantiation;;"local instantiation mode is incompatible with automatic instantiation"
ec_abstract_class_param_type;;"parameter of abstract class type %t is not allowed:"
ec_array_of_abstract_class;;"array of abstract class %t is not allowed:"
ec_float_template_parameter;;"floating-point template parameter is nonstandard"
ec_pragma_must_precede_declaration;;"this pragma must immediately precede a declaration"
ec_pragma_must_precede_statement;;"this pragma must immediately precede a statement"
ec_pragma_must_precede_decl_or_stmt;;"this pragma must immediately precede a declaration or statement"
ec_pragma_may_not_be_used_here;;"this kind of pragma may not be used here"
REMOVED;ec_nonoverriding_function_decl;;"%nf1 does not match %no2 -- virtual function override intended?"
ec_partial_override;;"overloaded virtual function %no1 is only partially overridden in %n2"
ec_specialization_of_called_inline_template_function;;"specific definition of inline template function must precede its first use"
ec_cl_invalid_error_tag;;"invalid error tag in diagnostic control option: %s"
ec_cl_invalid_error_number;;"invalid error number in diagnostic control option: %s"
REMOVED;ec_param_type_ptr_to_array_of_unknown_bound;;"parameter type involves pointer to array of unknown bound"
REMOVED;ec_param_type_ref_array_of_unknown_bound;;"parameter type involves reference to array of unknown bound"
ec_ptr_to_member_cast_to_ptr_to_function;;"pointer-to-member-function cast to pointer to function"
ec_no_named_fields;;"struct or union declares no named members"
ec_nonstd_unnamed_field;;"nonstandard unnamed field"
ec_nonstd_unnamed_member;;"nonstandard unnamed member"
REMOVED;ec_function_type_in_template_arg;;"a function type cannot be used as a template argument"
REMOVED;ec_cl_invalid_pch_output_file;;"invalid precompiled header output file "
REMOVED;ec_cl_cannot_open_pch_output_file;;"cannot open precompiled header output file "
ec_not_a_type_name;;"%sq is not a type name"
ec_cannot_open_pch_input_file_reason;;"cannot open precompiled header input file %sq: %s2"
ec_invalid_pch_file;;"precompiled header file %sq is either invalid or not generated by this version of the compiler"
ec_pch_curr_directory_changed;;"precompiled header file %sq was not generated in this directory"
ec_pch_header_files_have_changed;;"header files used to generate precompiled header file %sq have changed"
ec_pch_cmd_line_option_mismatch;;"the command line options do not match those used when precompiled header file %sq was created"
ec_pch_file_prefix_mismatch;;"the initial sequence of preprocessing directives is not compatible with those of precompiled header file %sq"
ec_unable_to_get_mapped_memory;;"unable to obtain mapped memory"
ec_using_pch;;"\"%s\": using precompiled header file \"%s\""
ec_creating_pch;;"\"%s\": creating precompiled header file \"%s\""
ec_memory_mismatch;;"memory usage conflict with precompiled header file %sq"
ec_cl_invalid_pch_size;;"invalid PCH memory size: %s "
ec_cl_pch_must_be_first;;"PCH options must appear first in the command line"
ec_out_of_memory_during_pch_allocation;;"insufficient memory for PCH memory allocation"
ec_cl_pch_incompatible_with_multiple_inputs;;"precompiled header files may not be used when compiling several input files"
ec_not_enough_preallocated_memory;;"insufficient preallocated memory for generation of precompiled header file (%s bytes required)"
ec_program_entity_too_large_for_pch;;"very large entity in program prevents generation of precompiled header file"
ec_cannot_chdir;;"%sq is not a valid directory"
ec_cannot_build_temp_file_name;;"cannot build temporary file name"
ec_restrict_not_allowed;;"\"restrict\" is not allowed"
ec_restrict_pointer_to_function;;"a pointer or reference to function type may not be qualified by \"restrict\""
REMOVED;ec_bad_declspec_modifier;;"%sq is an unrecognized __declspec attribute"
ec_calling_convention_not_allowed;;"a calling convention modifier may not be specified here"
ec_conflicting_calling_conventions;;"conflicting calling convention modifiers"
ec_cl_strict_mode_incompatible_with_microsoft;;"strict mode is incompatible with Microsoft mode"
ec_cl_cfront_incompatible_with_microsoft;;"cfront mode is incompatible with Microsoft mode"
ec_calling_convention_ignored;;"calling convention specified here is ignored"
ec_calling_convention_may_not_precede_nested_declarator;;"a calling convention may not be followed by a nested declarator"
ec_calling_convention_ignored_for_type;;"calling convention is ignored for this type"
REMOVED;ec_calling_convention_not_allowed_for_type;;"calling conventions may only be applied to function types"
ec_decl_modifiers_incompatible_with_previous_decl;;"declaration modifiers are incompatible with previous declaration"
ec_decl_modifiers_invalid_for_this_decl;;"the modifier %sq is not allowed on this declaration"
ec_branch_into_try_block;;"transfer of control into a try block"
ec_incompatible_inline_specifier_on_specific_decl;;"inline specification is incompatible with previous %nod"
ec_template_missing_closing_brace;;"closing brace of template definition not found"
ec_cl_wchar_t_option_only_in_cplusplus;;"wchar_t keyword option can be used only when compiling C++"
ec_bad_pack_alignment;;"invalid packing alignment value"
ec_exp_int_constant;;"expected an integer constant"
ec_call_of_pure_virtual;;"call of pure virtual function"
ec_bad_ident_string;;"invalid source file identifier string"
ec_template_friend_definition_not_allowed;;"a class template cannot be defined in a friend declaration"
ec_asm_not_allowed;;"\"asm\" is not allowed"
ec_bad_asm_function_def;;"\"asm\" must be used with a function definition"
ec_nonstd_asm_function;;"\"asm\" function is nonstandard"
ec_nonstd_ellipsis_only_param;;"ellipsis with no explicit parameters is nonstandard"
ec_nonstd_address_of_ellipsis;;"\"&...\" is nonstandard"
ec_bad_address_of_ellipsis;;"invalid use of \"&...\""
REMOVED;ec_cl_alternative_token_option_only_in_cplusplus;;"alternative token option can be used only when compiling C++"
ec_const_volatile_ref_init_anachronism;;"temporary used for initial value of reference to const volatile (anachronism)"
ec_bad_const_volatile_ref_init;;"a reference of type %t1 cannot be initialized with a value of type %t2"
ec_const_volatile_ref_init_from_rvalue;;"initial value of reference to const volatile must be an lvalue"
ec_cl_SVR4_C_option_only_in_ansi_C;;"SVR4 C compatibility option can be used only when compiling ANSI C"
ec_using_out_of_scope_declaration;;"using out-of-scope declaration of %nd"
ec_cl_strict_mode_incompatible_with_SVR4;;"strict mode is incompatible with SVR4 C mode"
ec_cannot_inline_call;;"call of %nd cannot be inlined"
ec_cannot_inline;;"%n cannot be inlined"
ec_cl_invalid_pch_directory;;"invalid PCH directory: %s"
ec_exp_except_or_finally;;"expected __except or __finally"
ec_leave_must_be_in_try;;"a __leave statement may only be used within a __try"
ec_det_during_template_instantiation_context;INTERNAL;"detected during instantiation of %nt %p"
ec_det_during_compiler_generated_function_context;INTERNAL;"detected during implicit generation of %nt %p"
ec_det_during_template_function_declaration_context;INTERNAL;"detected during instantiation of %na %p"
ec_det_during_template_class_argument_list_context;INTERNAL;"detected during processing of template argument list for %na %p"
ec_det_during_implicit_static_data_member_definition;INTERNAL;"detected during implicit definition of %nt %p"
ec_not_found_on_pack_alignment_stack;;"%sq not found on pack alignment stack"
ec_empty_pack_alignment_stack;;"empty pack alignment stack"
ec_cl_rtti_option_only_in_cplusplus;;"RTTI option can be used only when compiling C++"
ec_inaccessible_elided_cctor;;"%nfd, required for copy that was eliminated, is inaccessible"
ec_uncallable_elided_cctor;;"%nf, required for copy that was eliminated, is not callable because reference parameter cannot be bound to rvalue"
ec_typeid_needs_typeinfo;;"<typeinfo> must be included before typeid is used"
ec_cannot_cast_away_const;;"%s cannot cast away const or other type qualifiers"
ec_bad_dynamic_cast_type;;"the type in a dynamic_cast must be a pointer or reference to a complete class type, or void *"
ec_bad_ptr_dynamic_cast_operand;;"the operand of a pointer dynamic_cast must be a pointer to a complete class type"
ec_bad_ref_dynamic_cast_operand;;"the operand of a reference dynamic_cast must be an lvalue of a complete class type"
ec_dynamic_cast_operand_must_be_polymorphic;;"the operand of a runtime dynamic_cast must have a polymorphic class type"
ec_cl_bool_option_only_in_cplusplus;;"bool option can be used only when compiling C++"
REMOVED;ec_bad_storage_class_on_condition_decl;;"invalid storage class for condition declaration"
ec_array_type_not_allowed;;"an array type is not allowed here"
ec_exp_assign;;"expected an \"=\""
REMOVED;ec_exp_declarator_in_condition_decl;;"expected a declarator in condition declaration"
ec_redeclaration_of_condition_decl_name;;"%sq, declared in condition, may not be redeclared in this scope"
ec_default_template_arg_not_allowed;;"default template arguments are not allowed for function templates"
ec_exp_comma_or_gt;;"expected a \",\" or \">\""
ec_missing_template_param_list;;"expected a template parameter list"
ec_incr_of_bool_deprecated;;"incrementing a bool value is deprecated"
ec_bool_type_not_allowed;;"bool type is not allowed"
ec_base_class_offset_too_large;;"offset of base class %no1 within class %no2 is too large"
ec_expr_not_bool;;"expression must have bool type (or be convertible to bool)"
ec_cl_array_new_and_delete_option_only_in_cplusplus;;"array new and delete option can be used only when compiling C++"
ec_based_requires_variable_name;;"%n is not a variable name"
ec_based_not_allowed_here;;"__based modifier is not allowed here"
ec_based_not_followed_by_star;;"__based does not precede a pointer operator, __based ignored"
ec_based_var_must_be_ptr;;"variable in __based modifier must have pointer type"
ec_bad_const_cast_type;;"the type in a const_cast must be a pointer, reference, or pointer to member to an object type"
ec_bad_const_cast;;"a const_cast can only adjust type qualifiers; it cannot change the underlying type"
ec_mutable_not_allowed;;"mutable is not allowed"
ec_cannot_change_access;;"redeclaration of %n is not allowed to alter its access"
REMOVED;ec_nonstd_printf_format_string;;"nonstandard format string conversion"
ec_probable_inadvertent_lbracket_digraph;;"use of alternative token \"<:\" appears to be unintended"
ec_probable_inadvertent_sharp_digraph;;"use of alternative token \"%%:\" appears to be unintended"
ec_namespace_def_not_allowed;;"namespace definition is not allowed"
ec_missing_namespace_name;;"name must be a namespace name"
ec_namespace_alias_def_not_allowed;;"namespace alias definition is not allowed"
ec_namespace_qualified_name_required;;"namespace-qualified name is required"
ec_namespace_name_not_allowed;;"a namespace name is not allowed"
ec_bad_combination_of_dll_attributes;;"invalid combination of DLL attributes"
ec_sym_not_a_class_template;;"%n is not a class template"
ec_array_of_incomplete_type;;"array with incomplete element type is nonstandard"
ec_allocation_operator_in_namespace;;"allocation operator may not be declared in a namespace"
ec_deallocation_operator_in_namespace;;"deallocation operator may not be declared in a namespace"
ec_conflicts_with_using_decl;;"%np1 conflicts with using-declaration of %np2"
ec_using_decl_conflicts_with_prev_decl;;"using-declaration of %np1 conflicts with %npd2"
ec_cl_namespaces_option_only_in_cplusplus;;"namespaces option can be used only when compiling C++"
ec_useless_using_declaration;;"using-declaration ignored -- it refers to the current namespace"
ec_class_qualified_name_required;;"a class-qualified name is required"
ec_argument_list_types_add_on;INTERNAL;"argument types are: (%s)"
ec_operand_types_add_on;INTERNAL;"operand types are: %s"
REMOVED;ec_using_declaration_ignored;;"using-declaration of %n ignored"
ec_not_an_actual_member;;"%n has no actual member %sq"
REMOVED;ec_nonstd_global_qualifier_on_friend_decl;;"global-scope qualifier (leading \"::\") on friend declaration is nonstandard"
ec_mem_attrib_incompatible;;"incompatible memory attributes specified"
ec_mem_attrib_ignored;;"memory attribute ignored"
ec_mem_attrib_may_not_precede_nested_declarator;;"memory attribute may not be followed by a nested declarator"
ec_dupl_mem_attrib;;"memory attribute specified more than once"
ec_dupl_calling_convention;;"calling convention specified more than once"
ec_type_qualifier_not_allowed;;"a type qualifier is not allowed"
ec_template_instance_already_used;;"%npd1 was used before its template was declared"
ec_static_nonstatic_with_same_param_types;;"static and nonstatic member functions with same parameter types cannot be overloaded"
ec_no_prior_declaration;;"no prior declaration of %np"
ec_template_id_not_allowed;;"a template-id is not allowed"
ec_class_qualified_name_not_allowed;;"a class-qualified name is not allowed"
ec_bad_scope_for_redeclaration;;"%n may not be redeclared in the current scope"
ec_qualifier_in_namespace_member_decl;;"qualified name is not allowed in namespace member declaration"
ec_sym_not_a_type_name;;"%n is not a type name"
ec_explicit_instantiation_not_in_namespace_scope;;"explicit instantiation is not allowed in the current scope"
ec_bad_scope_for_explicit_instantiation;;"%n cannot be explicitly instantiated in the current scope"
ec_multiple_explicit_instantiations;;"%n explicitly instantiated more than once"
ec_typename_not_in_template;;"typename may only be used within a template"
ec_cl_special_subscript_cost_option_only_in_cplusplus;;"special_subscript_cost option can be used only when compiling C++"
ec_cl_typename_option_only_in_cplusplus;;"typename option can be used only when compiling C++"
ec_cl_implicit_typename_option_only_in_cplusplus;;"implicit typename option can be used only when compiling C++"
ec_nonstd_character_at_start_of_macro_def;;"nonstandard character at start of object-like macro definition"
ec_exception_spec_override_incompat;;"exception specification for virtual %n1 is incompatible with that of overridden %n2"
ec_pointer_conversion_loses_bits;;"conversion from pointer to smaller integer"
ec_generated_exception_spec_override_incompat;;"exception specification for implicitly declared virtual %n1 is incompatible with that of overridden %n2"
ec_implicit_call_of_ambiguous_name;;"%no1, implicitly called from %np2, is ambiguous"
ec_cl_explicit_option_only_in_cplusplus;;"option \"explicit\" can be used only when compiling C++"
ec_explicit_not_allowed;;"\"explicit\" is not allowed"
ec_conflicts_with_predeclared_type_info;;"declaration conflicts with %sq (reserved class name)"
ec_array_member_initialization;;"only \"()\" is allowed as initializer for array %n"
ec_virtual_function_template;;"\"virtual\" is not allowed in a function template declaration"
ec_anon_union_class_member_template;;"invalid anonymous union -- class member template is not allowed"
ec_template_depth_mismatch;;"template nesting depth does not match the previous declaration of %n"
ec_multiple_template_decls_not_allowed;;"this declaration cannot have multiple \"template <...>\" clauses"
ec_cl_old_for_init_option_only_in_cplusplus;;"option to control the for-init scope can be used only when compiling C++"
ec_redeclaration_of_for_init_decl_name;;"%sq, declared in for-loop initialization, may not be redeclared in this scope"
ec_hidden_by_old_for_init;;"reference is to %nd1 -- under old for-init scoping rules it would have been %nd2"
ec_cl_for_init_diff_warning_option_only_in_cplusplus;;"option to control warnings on for-init differences can be used only when compiling C++"
ec_unnamed_class_virtual_function_def_missing;;"definition of virtual %n is required here"
ec_svr4_token_pasting_comment;;"empty comment interpreted as token-pasting operator \"##\""
ec_storage_class_in_friend_decl;;"a storage class is not allowed in a friend declaration"
ec_templ_param_list_not_allowed;;"template parameter list for %no is not allowed in this declaration"
ec_bad_member_template_sym;;"%n is not a valid class member template"
ec_bad_member_template_decl;;"not a valid member class or function template declaration"
ec_specialization_follows_param_list;;"a template declaration containing a template parameter list may not be followed by an explicit specialization declaration"
ec_specialization_of_referenced_template;;"explicit specialization of %n1 must precede the first use of %n2"
ec_explicit_specialization_not_in_namespace_scope;;"explicit specialization is not allowed in the current scope"
ec_partial_specialization_not_allowed;;"partial specialization of %n is not allowed"
ec_entity_cannot_be_specialized;;"%nf is not an entity that can be explicitly specialized"
ec_specialization_of_referenced_entity;;"explicit specialization of %n must precede its first use"
ec_template_param_in_elab_type;;"template parameter %sq may not be used in an elaborated type specifier"
ec_old_specialization_not_allowed;;"specializing %n requires \"template<>\" syntax"
REMOVED;ec_bad_member_template_friend_decl;;"\"template<>\" syntax is required when declaring a member function template instance as a friend"
REMOVED;ec_nonstd_asm_decl_within_template;;"nonstandard \"asm\" declaration is not supported inside a template"
ec_cl_old_specializations_option_only_in_cplusplus;;"option \"old_specializations\" can be used only when compiling C++"
ec_nonstd_old_specialization;;"specializing %n without \"template<>\" syntax is nonstandard"
ec_bad_linkage_for_decl;;"this declaration may not have extern \"C\" linkage"
ec_not_a_template_name;;"%sq is not a class or function template name in the current scope"
ec_nonstd_default_arg_on_function_template_redecl;;"specifying a default argument when redeclaring an unreferenced function template is nonstandard"
ec_default_arg_on_function_template_not_allowed;;"specifying a default argument when redeclaring an already referenced function template is not allowed"
ec_pm_derived_class_from_virtual_base;;"cannot convert pointer to member of base class %t2 to pointer to member of derived class %t1 -- base class is virtual"
ec_bad_exception_specification_for_specialization;;"exception specification is incompatible with that of %nd%s\=':'"
ec_omitted_exception_specification_on_specialization;;"allowing all exceptions is incompatible with %nd"
ec_unexpected_end_of_default_arg;;"unexpected end of default argument expression"
ec_default_init_of_reference;;"default-initialization of reference is not allowed"
ec_uninitialized_field_with_const_member;;"uninitialized %n has a const member"
ec_uninitialized_base_class_with_const_member;;"uninitialized base class %t has a const member"
ec_missing_default_constructor_on_const;;"const %n requires an initializer -- class %t has no user-provided default constructor"
ec_missing_default_constructor_on_unnamed_const;;"const object requires an initializer -- class %t has no user-provided default constructor"
ec_cl_impl_extern_c_conv_option_only_in_cplusplus;;"option \"implicit_extern_c_type_conversion\" can be used only when compiling C++"
ec_cl_strict_mode_incompatible_with_long_preserving;;"strict mode is incompatible with long preserving rules"
ec_useless_type_qualifier_on_return_type;;"type qualifier on return type is meaningless"
ec_type_qualifier_on_void_return_type;;"in a function definition a type qualifier on a \"void\" return type is not allowed"
ec_static_data_member_not_allowed;;"static data member declaration is not allowed in this class"
ec_invalid_declaration;;"template instantiation resulted in an invalid function declaration"
ec_ellipsis_not_allowed;;"\"...\" is not allowed"
ec_cl_extern_inline_option_only_in_cplusplus;;"option \"extern_inline\" can be used only when compiling C++"
ec_extern_inline_never_defined;;"extern inline %n was referenced but not defined"
ec_invalid_destructor_name;;"invalid destructor name for type %t"
REMOVED;ec_nonstandard_destructor_reference;;"use of %n in a destructor call is nonstandard"
ec_ambiguous_destructor;;"destructor reference is ambiguous -- both %n1 and %n2 could be used"
ec_virtual_inline_never_defined;;"virtual inline %n was never defined"
ec_unreferenced_function_param;;"%n was never referenced"
ec_union_already_initialized;;"only one member of a union may be specified in a constructor initializer list"
ec_no_array_new_and_delete_support;;"support for \"new[]\" and \"delete[]\" is disabled"
ec_double_for_long_double;;"\"double\" used for \"long double\" in generated C code"
ec_no_corresponding_delete;;"%n has no corresponding operator delete%s (to be called if an exception is thrown during initialization of an allocated object)"
ec_useless_placement_delete;;"support for placement delete is disabled"
ec_no_appropriate_delete;;"no appropriate operator delete is visible"
ec_ptr_or_ref_to_incomplete_type;;"pointer or reference to incomplete type %t is not allowed"
ec_bad_partial_specialization;;"invalid partial specialization -- %n is already fully specialized"
ec_incompatible_exception_specs;;"incompatible exception specifications"
ec_returning_ref_to_local_variable;;"returning reference to local variable"
ec_nonstd_implicit_int;;"omission of explicit type is nonstandard (\"int\" assumed)"
ec_ambiguous_partial_spec;;"more than one partial specialization matches the template argument list of %n"
ec_ambiguous_partial_spec_add_on;INTERNAL;"%nod"
ec_partial_spec_is_primary_template;;"a template argument list is not allowed in a declaration of a primary template"
ec_default_not_allowed_on_partial_spec;;"partial specializations may not have default template arguments"
ec_not_used_in_partial_spec_arg_list;;"%n1 is not used in or cannot be deduced from the template argument list of %n2"
REMOVED;ec_partial_spec_param_depends_on_templ_param;;"the type of partial specialization template parameter %n depends on another template parameter"
ec_partial_spec_arg_depends_on_templ_param;;"the template argument list of the partial specialization includes a nontype argument whose type depends on a template parameter"
ec_partial_spec_after_instantiation;;"this partial specialization would have been used to instantiate %n"
ec_partial_spec_after_instantiation_ambiguous;;"this partial specialization would have made the instantiation of %n ambiguous"
ec_expr_not_integral_or_enum;;"expression must have integral or enum type"
ec_expr_not_arithmetic_or_enum;;"expression must have arithmetic or enum type"
ec_expr_not_arithmetic_or_enum_or_pointer;;"expression must have arithmetic, enum, or pointer type"
ec_cast_not_integral_or_enum;;"type of cast must be integral or enum"
ec_cast_not_arithmetic_or_enum_or_pointer;;"type of cast must be arithmetic, enum, or pointer"
ec_expr_not_object_pointer;;"expression must be a pointer to a complete object type"
REMOVED;ec_member_partial_spec_not_in_class;;"a partial specialization of a member class template must be declared in the class of which it is a member"
REMOVED;ec_partial_spec_nontype_expr;;"a partial specialization nontype argument must be the name of a nontype parameter or a constant"
ec_different_return_type_on_virtual_function_override;;"return type is not identical to return type %t of overridden virtual function %no"
ec_cl_guiding_decls_option_only_in_cplusplus;;"option \"guiding_decls\" can be used only when compiling C++"
ec_member_partial_spec_not_in_namespace;;"a partial specialization of a class template must be declared in the namespace of which it is a member"
ec_pure_virtual_function;;"%n is a pure virtual function"
ec_no_overrider_for_pure_virtual_function;;"pure virtual %n has no overrider"
ec_decl_modifiers_ignored;;"__declspec attributes ignored"
ec_invalid_char;;"invalid character in input line"
ec_incomplete_return_type;;"function returns incomplete type %t"
ec_local_pragma_pack;;"effect of this \"#pragma pack\" directive is local to %n"
ec_not_a_template;;"%s is not a template"
ec_friend_partial_specialization;;"a friend declaration may not declare a partial specialization"
ec_exception_specification_ignored;;"exception specification ignored"
ec_unexpected_type_for_size_t;;"declaration of \"size_t\" does not match the expected type %t"
ec_exp_gt_not_shift_right;;"space required between adjacent \">\" delimiters of nested template argument lists (\">>\" is the right shift operator)"
ec_bad_multibyte_char_locale;;"could not set locale %sq to allow processing of multibyte characters"
ec_bad_multibyte_char;;"invalid multibyte character sequence"
ec_bad_type_from_instantiation;;"template instantiation resulted in unexpected function type of %t1 (the meaning of a name may have changed since the template declaration -- the type of the template is %t2)"
ec_ambiguous_guiding_decl;;"ambiguous guiding declaration -- more than one function template %no matches type %t"
ec_non_integral_operation_in_templ_arg;;"non-integral operation not allowed in nontype template argument"
ec_cl_embedded_cplusplus_option_only_in_cplusplus;;"option \"embedded_c++\" can be used only when compiling C++"
ec_templates_in_embedded_cplusplus;;"Embedded C++ does not support templates"
ec_exceptions_in_embedded_cplusplus;;"Embedded C++ does not support exception handling"
ec_namespaces_in_embedded_cplusplus;;"Embedded C++ does not support namespaces"
ec_rtti_in_embedded_cplusplus;;"Embedded C++ does not support run-time type information"
ec_new_cast_in_embedded_cplusplus;;"Embedded C++ does not support the new cast syntax"
ec_using_decl_in_embedded_cplusplus;;"Embedded C++ does not support using-declarations"
ec_mutable_in_embedded_cplusplus;;"Embedded C++ does not support \"mutable\""
ec_multiple_inheritance_in_embedded_cplusplus;;"Embedded C++ does not support multiple or virtual inheritance"
ec_cl_invalid_microsoft_version;;"invalid Microsoft version number: %s"
ec_inheritance_kind_already_set;;"pointer-to-member representation %sq has already been set for %n"
ec_bad_constructor_type;;"%t1 cannot be used to designate constructor for %t2"
ec_bad_suffix;;"invalid suffix on integral constant"
ec_uuidof_requires_uuid_class_type;;"operand of __uuidof must have a class or enum type for which __declspec(uuid(\"...\")) has been specified"
ec_bad_uuid_string;;"invalid GUID string in __declspec(uuid(\"...\"))"
ec_cl_vla_option_only_in_C;;"option \"vla\" can be used only when compiling C"
ec_vla_with_unspecified_bound_not_allowed;;"variable length array with unspecified bound is not allowed"
ec_explicit_template_args_not_allowed;;"an explicit template argument list is not allowed on this declaration"
ec_variably_modified_type_not_allowed;;"an entity with linkage cannot have a type involving a variable length array"
ec_vla_is_not_auto;;"a variable length array cannot have static storage duration"
ec_sym_not_a_template;;"%n is not a template"
ec_vla_at_decl_pos;INTERNAL;"variable length array dimension (declared %p)"
ec_expected_template_arg;;"expected a template argument"
REMOVED;ec_explicit_template_args_in_expr;;"explicit function template argument lists are not supported yet in expression contexts"
ec_no_params_with_class_or_enum_type;;"nonmember operator requires a parameter with class or enum type"
ec_cl_enum_overloading_option_only_in_cplusplus;;"option \"enum_overloading\" can be used only when compiling C++"
REMOVED;ec_using_declaration_not_allowed;;"using-declaration of %n is not allowed"
ec_destructor_qualifier_type_mismatch;;"qualifier of destructor name %t1 does not match type %t2"
ec_type_qualifier_ignored;;"type qualifier ignored"
ec_cl_nonstandard_qualifier_deduction_option_only_in_cplusplus;;"option \"nonstd_qualifier_deduction\" can be used only when compiling C++"
ec_cannot_define_dllimport_function;;"a function declared \"dllimport\" may not be defined"
ec_bad_declspec_property;;"incorrect property specification; correct form is __declspec(property(get=name1,put=name2))"
ec_dupl_get_or_put;;"property has already been specified"
ec_declspec_property_not_allowed;;"__declspec(property) is not allowed on this declaration"
ec_no_get_property;;"member is declared with __declspec(property), but no \"get\" function was specified"
ec_get_property_function_missing;;"the __declspec(property) \"get\" function %sq is missing"
ec_no_put_property;;"member is declared with __declspec(property), but no \"put\" function was specified"
ec_put_property_function_missing;;"the __declspec(property) \"put\" function %sq is missing"
ec_dual_lookup_ambiguous_name;;"ambiguous class member reference -- %nd1 used in preference to %nd2"
REMOVED;ec_bad_allocate_segname;;"missing or invalid segment name in __declspec(allocate(\"...\"))"
REMOVED;ec_declspec_allocate_not_allowed;;"__declspec(allocate) is not allowed on this declaration"
REMOVED;ec_dupl_allocate_segname;;"a segment name has already been specified"
ec_pm_virtual_base_from_derived_class;;"cannot convert pointer to member of derived class %t1 to pointer to member of base class %t2 -- base class is virtual"
ec_cl_invalid_instantiation_directory;;"invalid directory for instantiation files: %s"
ec_cl_one_instantiation_per_object_option_only_in_cplusplus;;"option \"one_instantiation_per_object\" can be used only when compiling C++"
REMOVED;ec_invalid_output_file;;"invalid output file: %sq"
REMOVED;ec_cannot_open_output_file;;"cannot open output file: %sq"
ec_cl_ii_file_name_incompatible_with_multiple_inputs;;"an instantiation information file name may not be specified when compiling several input files"
ec_cl_one_instantiation_per_object_incompatible_with_multiple_inputs;;"option \"one_instantiation_per_object\" may not be used when compiling several input files"
ec_cl_ambiguous_option;;"more than one command line option matches the abbreviation \"--%s\":"
ec_cl_ambiguous_fill_in;INTERNAL;"--%s"
ec_cv_qualified_function_type;;"type qualifiers on function types are ignored"
REMOVED;ec_cannot_open_definition_list_file;;"cannot open definition list file: %sq"
ec_cl_late_tiebreaker_option_only_in_cplusplus;;"late/early tiebreaker option can be used only when compiling C++"
ec_bad_va_start;;"incorrect use of va_start"
ec_bad_va_arg;;"incorrect use of va_arg"
ec_bad_va_end;;"incorrect use of va_end"
ec_cl_pending_instantiations_option_only_in_cplusplus;;"pending instantiations option can be used only when compiling C++"
ec_cl_invalid_import_directory;;"invalid directory for #import files: %s"
ec_cl_import_only_in_microsoft;;"an import directory can be specified only in Microsoft mode"
ec_ref_not_allowed_in_union;;"a member with reference type is not allowed in a union"
ec_typedef_not_allowed;;"\"typedef\" may not be specified here"
ec_redecl_changes_access;;"redeclaration of %n alters its access"
ec_qualified_name_required;;"a class or namespace qualified name is required"
ec_implicit_int_on_main;;"return type \"int\" omitted in declaration of function \"main\""
ec_invalid_inheritance_kind_for_class;;"pointer-to-member representation %sq is too restrictive for %n"
ec_implicit_return_from_non_void_function;;"missing return statement at end of non-void %n"
ec_duplicate_using_decl;;"duplicate using-declaration of %no ignored"
ec_unsigned_enum_bit_field_with_signed_enumerator;;"enum bit fields are always unsigned, but enum %t includes negative enumerator"
ec_cl_class_name_injection_option_only_in_cplusplus;;"option \"class_name_injection\" can be used only when compiling C++"
ec_cl_arg_dependent_lookup_option_only_in_cplusplus;;"option \"arg_dep_lookup\" can be used only when compiling C++"
ec_cl_friend_injection_option_only_in_cplusplus;;"option \"friend_injection\" can be used only when compiling C++"
ec_invalid_name_after_template;;"name following \"template\" must be a template"
REMOVED;ec_name_after_template_not_template_id;;"name following \"template\" must have a template argument list"
ec_local_class_friend_requires_prior_decl;;"nonstandard local-class friend declaration -- no prior declaration in the enclosing scope"
ec_nonstd_default_arg;;"specifying a default argument on this declaration is nonstandard"
ec_cl_nonstd_using_decl_option_only_in_cplusplus;;"option \"nonstd_using_decl\" can be used only when compiling C++"
ec_bad_return_type_on_main;;"return type of function \"main\" must be \"int\""
ec_template_parameter_has_class_type;;"a nontype template parameter may not have class type"
ec_default_arg_on_member_decl;;"a default template argument cannot be specified on the definition of a member of a class template outside the template"
ec_return_from_ctor_function_try_block_handler;;"a return statement is not allowed in a handler of a function try block of a constructor"
ec_no_ordinary_and_extended_designators;;"ordinary and extended designators cannot be combined in an initializer designation"
ec_no_negative_designator_range;;"the second subscript must not be smaller than the first"
REMOVED;ec_cl_designators_option_only_in_C;;"option \"designators\" can be used only when compiling C"
ec_cl_extended_designators_option_only_in_C;;"option \"extended_designators\" can be used only when compiling C"
ec_extra_bits_ignored;;"declared size for bit field is larger than the size of the bit field type; truncated to %s bits"
ec_constructor_type_mismatch;;"type used as constructor name does not match type %t"
ec_type_with_no_linkage_in_var_with_linkage;;"use of a type with no linkage to declare a variable with linkage"
ec_type_with_no_linkage_in_function;;"use of a type with no linkage to declare a function"
ec_return_type_on_constructor;;"return type may not be specified on a constructor"
ec_return_type_on_destructor;;"return type may not be specified on a destructor"
ec_malformed_universal_character;;"incorrectly formed universal character name"
ec_invalid_UCN;;"universal character name specifies an invalid character"
ec_UCN_names_basic_char;;"a universal character name cannot designate a character in the basic character set"
ec_invalid_identifier_UCN;;"this universal character is not allowed in an identifier"
ec_VA_ARGS_not_allowed;;"the identifier __VA_ARGS__ can only appear in the replacement lists of variadic macros"
ec_friend_qualification_ignored;;"the qualifier on this friend declaration is ignored"
ec_no_range_designator_with_dynamic_init;;"array range designators cannot be applied to dynamic initializers"
ec_property_name_not_allowed;;"property name cannot appear here"
ec_inline_qualifier_ignored;;"\"inline\" used as a function qualifier is ignored"
ec_cl_compound_literals_option_only_in_C;;"option \"compound_literals\" can be used only when compiling C"
ec_vla_not_allowed;;"a variable-length array type is not allowed"
ec_bad_integral_compound_literal;;"a compound literal is not allowed in an integral constant expression"
ec_bad_compound_literal_type;;"a compound literal of type %t is not allowed"
ec_friend_template_in_local_class;;"a template friend declaration cannot be declared in a local class"
ec_ambiguous_question_operator;;"ambiguous \"?\" operation: second operand of type %t1 can be converted to third operand type %t2, and vice versa"
ec_bad_call_of_class_object;;"call of an object of a class type without appropriate operator() or conversion functions to pointer-to-function type"
ec_surrogate_func_add_on;INTERNAL;"surrogate function from conversion %np"
ec_ambiguous_class_call;;"there is more than one way an object of type %t can be called for the argument list:"
ec_similar_typedef;;"typedef name has already been declared (with similar type)"
ec_no_internal_linkage_for_new_or_delete;;"operator new and operator delete cannot be given internal linkage"
ec_no_mutable_allowed_on_anonymous_union;;"storage class \"mutable\" is not allowed for anonymous unions"
ec_bad_pch_file;;"invalid precompiled header file"
ec_abstract_class_catch_type;;"abstract class type %t is not allowed as catch type:"
ec_bad_qualified_function_type;;"a qualified function type cannot be used to declare a nonmember function or a static member function"
ec_bad_qualified_function_type_parameter;;"a qualified function type cannot be used to declare a parameter"
ec_ptr_or_ref_to_qualified_function_type;;"cannot create a pointer or reference to qualified function type"
ec_nonstd_braces;;"extra braces are nonstandard"
ec_bad_cmd_line_macro;;"invalid macro definition: %s"
ec_nonstandard_ptr_minus_ptr;;"subtraction of pointer types %t1 and %t2 is nonstandard"
ec_empty_template_param_list;;"an empty template parameter list is not allowed in a template template parameter declaration"
ec_exp_class;;"expected \"class\""
ec_struct_not_allowed;;"the \"struct\" keyword may not be used when declaring a template template parameter"
ec_virtual_function_decl_hidden;;"%np2 is hidden by %no1 -- virtual function override intended?"
ec_no_qualified_friend_definition;;"a qualified name is not allowed for a friend declaration that is a function definition"
ec_not_compatible_with_templ_templ_param;;"%n1 is not compatible with %n2"
ec_storage_class_requires_function_or_variable;;"a storage class may not be specified here"
ec_member_using_must_be_visible_in_direct_base;;"class member designated by a using-declaration must be visible in a direct base class"
REMOVED;ec_cl_sun_incompatible_with_microsoft;;"Sun mode is incompatible with Microsoft mode"
ec_cl_sun_incompatible_with_cfront;;"Sun mode is incompatible with cfront mode"
ec_cl_strict_mode_incompatible_with_sun;;"strict mode is incompatible with Sun mode"
ec_cl_sun_mode_only_in_cplusplus;;"Sun mode is only allowed when compiling C++"
ec_template_template_param_same_name_as_templ_param;;"a template template parameter cannot have the same name as one of its template parameters"
ec_recursive_def_arg_instantiation;;"recursive instantiation of default argument"
REMOVED;ec_dependent_type_in_templ_templ_param;;"a parameter of a template template parameter cannot depend on the type of another template parameter"
ec_bad_template_name;;"%n is not an entity that can be defined"
ec_destructor_name_must_be_qualified;;"destructor name must be qualified"
ec_no_typename_in_friend_class_decl;;"friend class name may not be introduced with \"typename\""
ec_no_ctor_or_dtor_using_declaration;;"a using-declaration may not name a constructor or destructor"
ec_friend_is_nonreal_template;;"a qualified friend template declaration must refer to a specific previously declared template"
ec_bad_class_template_decl;;"invalid specifier in class template declaration"
ec_simple_incompatible_param;;"argument is incompatible with formal parameter"
ec_cl_dep_name_option_only_in_cplusplus;;"option \"dep_name\" can be used only when compiling C++"
ec_op_arrow_loop;;"loop in sequence of \"operator->\" functions starting at class %t1"
ec_not_a_member_class;;"%n has no member class %sq"
ec_name_not_class_in_file_scope;;"the global scope has no class named %sq"
ec_recursive_inst_of_templ_default_arg;;"recursive instantiation of template default argument"
ec_no_access_or_using_decl_in_union;;"access declarations and using-declarations cannot appear in unions"
ec_not_class_member;;"%no is not a class member"
ec_nonstd_const_member_decl_not_allowed;;"nonstandard member constant declaration is not allowed"
ec_cl_ignore_std_option_only_in_cplusplus;;"option \"ignore_std\" can be used only when compiling C++"
ec_cl_parse_nonclass_templates_option_only_in_cplusplus;;"option \"parse_templates\" can be used only when compiling C++"
ec_cl_dep_name_requires_parse_nonclass_templates;;"option \"dep_name\" cannot be used with \"no_parse_templates\""
ec_cl_incompatible_language_modes;;"language modes specified are incompatible"
ec_invalid_nested_class_redecl;;"invalid redeclaration of nested class"
ec_flexible_array_member_not_allowed;;"type containing an unknown-size array is not allowed"
ec_static_variable_in_inline_function;;"a variable with static storage duration cannot be defined within an inline function"
ec_bad_linkage_of_ref_within_inline_function;;"an entity with internal linkage cannot be referenced within an inline function with external linkage"
ec_type_generic_function_mismatch;;"argument type %t does not match this type-generic function macro"
ec_vla_name_at_decl_position;INTERNAL;"variable length array %nod"
ec_friend_cannot_add_default_arguments;;"friend declaration cannot add default arguments to previous declaration"
ec_cannot_be_declared_in_scope;;"%n cannot be declared in this scope"
ec_id_can_only_appear_in_function;;"the reserved identifier %sq may only be used inside a function"
ec_invalid_identifier_start_UCN;;"this universal character cannot begin an identifier"
ec_exp_string_literal;;"expected a string literal"
ec_unrecognized_stdc_pragma;;"unrecognized STDC pragma"
ec_bad_stdc_pragma_arg;;"expected \"ON\", \"OFF\", or \"DEFAULT\""
ec_stdc_pragma_not_allowed_here;;"a STDC pragma may only appear between declarations in the global scope or before any statements or declarations in a block scope"
ec_bad_va_copy;;"incorrect use of va_copy"
ec_only_applies_to_float_types;;"%s can only be used with floating-point types"
ec_complex_type_not_allowed;;"complex type is not allowed"
ec_invalid_designator_kind;;"invalid designator kind"
ec_inexact_fp_conversion;;"floating-point value cannot be represented exactly"
ec_bad_complex_operation_result;;"complex floating-point operation result is out of range"
ec_real_imaginary_conversion;;"conversion between real and imaginary yields zero"
ec_cannot_initialize_flexible_array_member;;"an initializer cannot be specified for a flexible array member"
ec_imaginary_times_assign;;"imaginary *= imaginary sets the left-hand operand to zero"
ec_undeclared_parameter;;"standard requires that %n be given a type by a subsequent declaration (\"int\" assumed)"
ec_inline_never_defined;;"a definition is required for inline %n"
ec_conversion_to_pointer_loses_bits;;"conversion from integer to smaller pointer"
ec_missing_floating_point_type;;"a floating-point type must be included in the type specifier for a _Complex or _Imaginary type"
ec_type_decl_in_anon_union;;"types cannot be declared in anonymous unions"
ec_returning_ptr_to_local_variable;;"returning pointer to local variable"
ec_returning_ptr_to_local_temp;;"returning pointer to local temporary"
ec_cl_export_template_option_only_in_cplusplus;;"option \"export\" can be used only when compiling C++"
ec_cl_export_template_requires_dep_name;;"option \"export\" cannot be used with \"no_dep_name\""
ec_cl_export_template_requires_no_implicit_include;;"option \"export\" cannot be used with \"implicit_include\""
ec_corresp_decl_incompatible;;"declaration of %n is incompatible with a declaration in another translation unit"
ec_corresp_decl_at;;"the other declaration is %p"
ec_det_during_compilation_of_secondary_trans_unit;INTERNAL;"detected during compilation of secondary translation unit %sq"
ec_compilation_of_secondary_trans_unit_context;INTERNAL;"compilation of secondary translation unit %sq"
ec_field_cannot_involve_vla_type;;"a field declaration cannot have a type involving a variable length array"
ec_entity_differs_in_other_trans_unit;;"declaration of %n had a different meaning during compilation of %sq"
ec_exp_template;;"expected \"template\""
ec_export_on_instantiation;;"\"export\" cannot be used on an explicit instantiation"
ec_bad_decl_for_export;;"\"export\" cannot be used on this declaration"
ec_exported_in_unnamed_namespace;;"a member of an unnamed namespace cannot be declared \"export\""
ec_export_after_definition;;"a template cannot be declared \"export\" after it has been defined"
ec_labeled_declaration;;"a declaration cannot have a label"
ec_no_export_support;;"support for exported templates is disabled"
REMOVED;ec_cannot_open_exported_template_file;;"cannot open exported template file: %sq"
ec_entity_defined_in_other_trans_unit;;"%n already defined during compilation of %sq"
ec_entity_defined_twice;;"%n already defined in another translation unit"
ec_based_var_cannot_be_local;;"a nonstatic local variable may not be used in a __based specification"
ec_cl_list_make_dependencies_incompatible_with_multiple_trans_units;;"the option to list makefile dependencies may not be specified when compiling more than one translation unit"
REMOVED;ec_cl_list_includes_incompatible_with_multiple_trans_units;;"the option to list included files may not be specified when compiling more than one translation unit"
ec_cl_pp_output_incompatible_with_multiple_trans_units;;"the option to generate preprocessed output may not be specified when compiling more than one translation unit"
ec_field_name_conflicts_with_class;;"a field with the same name as its class cannot be declared in a class with a user-declared constructor"
ec_cl_implicit_include_incompatible_with_multiple_trans_units;;"\"implicit_include\" cannot be used when compiling more than one translation unit"
ec_corrupted_export_template_file;;"exported template file %sq is corrupted"
ec_exported_instantiation_and_specialized;;"%n cannot be instantiated -- it has been explicitly specialized in the translation unit containing the exported definition"
ec_object_type_add_on;INTERNAL;"object type is: %s"
ec_unqual_named_function_with_qual_object;;"the object has type qualifiers that are not compatible with the member %n"
ec_no_matching_function_due_to_selector;;"no instance of %n matches the argument list and object (the object has type qualifiers that prevent a match)"
ec_mode_incompatible_with_type;;"an attribute specifies a mode incompatible with %t"
ec_no_type_of_specified_width;;"there is no type with the width specified"
ec_bad_attribute_alignment;;"invalid alignment value specified by attribute"
ec_attribute_does_not_apply_to_type;;"invalid attribute for %t"
REMOVED;ec_attribute_does_not_apply;;"invalid attribute for %n"
REMOVED;ec_attribute_does_not_apply_to_param;;"invalid attribute for parameter"
ec_arguments_provided_for_attribute;;"attribute %sq does not take arguments"
REMOVED;ec_arguments_required_for_attribute;;"attribute %sq requires arguments"
ec_exp_attribute_name;;"expected an attribute name"
ec_unrecognized_attribute;;"unknown attribute %sq"
ec_attribute_not_allowed;;"attributes may not appear here"
ec_invalid_argument_to_attribute;;"invalid argument to attribute %sq"
REMOVED;ec_packed_attribute_ignored_in_typedef;;"the \"packed\" attribute is ignored in a typedef"
ec_assigned_goto_requires_void_ptr;;"in \"goto *expr\", expr must have type \"void *\""
ec_nonstd_assigned_goto;;"\"goto *expr\" is nonstandard"
ec_nonstd_address_of_label;;"taking the address of a label is nonstandard"
ec_cl_duplicate_file_name;;"file name specified more than once: %s"
ec_warning_directive;;"#warning directive: %s"
REMOVED;ec_attribute_only_in_func_def;;"attribute %sq is only allowed in a function definition"
ec_transparent_type_is_not_union;;"the \"transparent_union\" attribute only applies to unions, and %t is not a union"
ec_transparent_attribute_ignored;;"the \"transparent_union\" attribute is ignored on incomplete types"
ec_union_cannot_be_transparent_sym;;"%t cannot be transparent because %n does not have the same size as the first field"
ec_union_cannot_be_transparent;;"%t1 cannot be transparent because it has a field of type %t2 which is not the same size as the first field"
REMOVED;ec_transparent_variable;;"only parameters can be transparent"
ec_attribute_does_not_apply_to_local_variable;;"attribute %sq does not apply to local variables"
ec_attributes_in_rout_defn;;"attributes are not permitted in a function definition"
REMOVED;ec_local_labels_only_in_statement_expressions;;"declarations of local labels should only appear at the start of statement expressions"
ec_invalid_case_range;;"the second constant in a case range must be larger than the first"
ec_asm_name_in_rout_defn;;"an asm name is not permitted in a function definition"
ec_asm_name_in_typedef;;"an asm name is ignored in a typedef"
ec_bad_reg_name;;"unknown register name \"%s\""
REMOVED;ec_asm_modifier_ignored;;"modifier letter '%s' ignored in asm operand"
ec_bad_asm_constraint_modifier;;"unknown asm constraint modifier '%s'"
ec_bad_asm_constraint_letter;;"unknown asm constraint letter '%s'"
ec_missing_constraint_letter;;"asm operand has no constraint letter"
ec_asm_output_must_have_output_mod;;"an asm output operand must have one of the '=' or '+' modifiers"
ec_asm_input_must_not_have_output_mod;;"an asm input operand may not have the '=' or '+' modifiers"
REMOVED;ec_too_many_asm_operands;;"too many operands to asm statement (maximum is 30; '+' modifier adds an implicit operand)"
REMOVED;ec_too_many_asm_colons;;"too many colons in asm statement"
ec_register_used_twice;;"register \"%s\" used more than once"
ec_register_used_and_clobbered;;"register \"%s\" is both used and clobbered"
ec_register_clobbered_twice;;"register \"%s\" clobbered more than once"
ec_fixed_register_used;;"register \"%s\" has a fixed purpose and may not be used in an asm statement"
ec_fixed_register_clobbered;;"register \"%s\" has a fixed purpose and may not be clobbered in an asm statement"
ec_empty_clobbers_list;;"an empty clobbers list must be omitted entirely"
ec_exp_asm_operand;;"expected an asm operand"
ec_exp_asm_clobber;;"expected a register to clobber"
ec_format_rout_not_varargs;;"\"format\" attribute requires an ellipsis parameter or parameter pack"
ec_subst_arg_is_not_variable;;"first substitution argument is not the first variable argument"
ec_fmt_arg_does_not_exist;;"format argument index is greater than number of parameters"
ec_fmt_arg_is_not_string;;"format argument does not have string type"
ec_template_not_in_template;;"the \"template\" keyword used for syntactic disambiguation may only be used within a template"
ec_db_option_required_on_cmd_line;INTERNAL;"a debug option must be specified on the command-line for the db_opt pragma to be used"
REMOVED;ec_cl_more_than_one_preinclude;;"more than one preinclude option specified"
ec_attr_requires_func_type;;"attribute %sq does not apply to non-function type %t"
ec_nonobject_pointer_arithmetic;;"arithmetic on pointer to void or function type"
ec_invalid_storage_class_in_for_init;;"storage class must be auto or register"
ec_va_arg_would_have_been_promoted;;"%t1 would have been promoted to %t2 when passed through the ellipsis parameter; use the latter type instead"
ec_not_a_base_class_member;;"%sq is not a base class member"
ec_super_after_scope;;"__super cannot appear after \"::\""
ec_super_not_in_class;;"__super may only be used in a class scope"
ec_unqualified_super;;"__super must be followed by \"::\""
ec_context_lines_skipped;INTERNAL;"[ %d instantiation contexts not shown ]"
ec_mangled_name_too_long;;"mangled name is too long"
ec_aliased_name_undeclared;;"declaration aliased to undefined entity %sq"
ec_aliased_name_bad_kind;;"declaration does not match its alias %n"
ec_alias_cannot_have_definition;;"entity declared as alias cannot have definition"
ec_vla_size_ignored;;"variable-length array field type will be treated as zero-length array field type"
ec_gcc_lvalue_cast_ignored;;"nonstandard cast on lvalue ignored"
ec_cl_invalid_flag_name;;"unrecognized flag name: %s"
ec_qualified_void_return_type;;"void return type cannot be qualified"
ec_auto_ignored;;"the auto specifier is ignored here (invalid in standard C/C++)"
ec_alignment_reduction_ignored;;"a reduction in alignment without the \"packed\" attribute is ignored"
ec_corresp_member_template_is_different_kind;;"a member template corresponding to %no is declared as a template of a different kind in another translation unit"
ec_excess_initializers_ignored;;"excess initializers are ignored"
ec_va_start_requires_ellipsis_function;;"va_start can appear only in a function with an ellipsis parameter"
ec_cl_short_enums_requires_gcc_mode;;"the \"short_enums\" option is only valid in GNU C and GNU C++ modes"
ec_bad_export_info_file;;"invalid export information file %sq1 at line number %s2"
ec_statement_expression_in_function_only;;"statement expressions are only allowed in block scope"
ec_from_trans_unit;INTERNAL;"from translation unit "
ec_asm_name_on_auto_variable;;"an asm name is ignored on a non-register automatic variable"
REMOVED;ec_ignoring_inline_definition_because_of_alias;;"inline function also declared as an alias; definition ignored"
ec_unrecognized_upc_pragma;;"unrecognized UPC pragma"
ec_mismatched_shared_block_size;;"shared block size does not match one previously specified"
ec_ambiguous_block_size_spec;;"bracketed expression is assumed to be a block size specification rather than an array dimension"
ec_shared_block_size_must_be_positive;;"the block size of a shared array must be greater than zero"
ec_multiple_block_sizes;;"multiple block sizes not allowed"
ec_nonshared_strict_relaxed;;"strict or relaxed requires shared"
ec_threads_constant_not_allowed;;"THREADS not allowed in this context"
ec_shared_block_size_too_large;;"block size specified exceeds the maximum value of %s"
ec_function_returning_shared;;"function returning shared is not allowed"
REMOVED;ec_nonshared_threads_dim;;"only arrays of a shared type can be dimensioned to a multiple of THREADS"
ec_shared_nonthreads_dim;;"one dimension of an array of a shared type must be a multiple of THREADS when the number of threads is nonconstant"
ec_shared_inside_struct;;"shared type inside a struct or union is not allowed"
ec_shared_parameter;;"parameters may not have shared types"
ec_threads_dimension_requires_definite_block_size;;"a dynamic THREADS dimension requires a definite block size"
ec_bad_shared_storage_class;;"shared variables must be static or extern"
ec_nonshared_blocksizeof;;"argument of upc_blocksizeof is a pointer to a shared type (not shared type itself)"
ec_nested_upc_forall;;"affinity expression ignored in nested upc_forall"
ec_exit_forall;;"branching into or out of a upc_forall loop is not allowed"
ec_bad_affinity;;"affinity expression must have a shared type or point to a shared type"
ec_shared_affinity_type;;"affinity has shared type (not pointer to shared)"
ec_upc_shared_void_comparison;;"shared void* types can only be compared for equality"
ec_cl_upc_requires_ansi_c_dialect;;"UPC mode is incompatible with C++ and K&R modes"
ec_null_char_ignored;;"null (zero) character in input line ignored"
ec_null_char_in_string;;"null (zero) character in string or character constant"
ec_null_char_in_header_name;;"null (zero) character in header name"
ec_for_init_hides_declaration;;"declaration in for-initializer hides a declaration in the surrounding scope"
ec_for_init_hidden_declaration;;"the hidden declaration is %p"
ec_prototype_lost;;"the prototype declaration of %nfd is ignored after this unprototyped redeclaration"
REMOVED;ec_attribute_ignored_on_typedef;;"attribute ignored on typedef of class or enum types"
ec_bad_linkage_for_redefine_extname;;"%npd must have external C linkage"
ec_declaration_hides_for_init;;"variable declaration hides declaration in for-initializer"
ec_typedef_in_elab_type;;"typedef %sq may not be used in an elaborated type specifier"
ec_call_of_zero;;"call of zero constant ignored"
ec_handler_redeclares_parameter;;"parameter %sq may not be redeclared in a catch clause of function try block"
ec_specialization_out_of_namespace;;"the initial explicit specialization of %n must be declared in the namespace containing the template"
ec_cc_clobber_ignored;;"\"cc\" clobber ignored"
ec_invalid_token_after_template;;"\"template\" must be followed by an identifier"
ec_mythread_constant_not_allowed;;"MYTHREAD not allowed in this context"
ec_bad_upc_shared_pointer_layout_qualifier;;"layout qualifier cannot qualify pointer to shared"
ec_bad_upc_shared_array_layout_qualifier;;"layout qualifier cannot qualify an incomplete array"
ec_decl_hides_catch_parameter;;"declaration of %sq hides handler parameter"
ec_nonstd_ignored_array_cast;;"nonstandard cast to array type ignored"
ec_invalid_pragma_operator;;"this pragma cannot be used in a _Pragma operator (a #pragma directive must be used)"
ec_field_uses_tail_padding;;"field uses tail padding of a base class"
ec_gnu_may_use_bit_padding;;"GNU C++ compilers may use bit field padding"
ec_deprecated_entity;;"%n was declared deprecated"
ec_field_with_asm_name_not_allowed;;"an asm name is not allowed on a nonstatic member declaration"
ec_unrecognized_format_function_type;;"unrecognized format function type %sq ignored"
ec_base_uses_tail_padding;;"base class %no1 uses tail padding of base class %no2"
ec_bad_variable_for_init_priority;;"the \"init_priority\" attribute can only be used for definitions of static data members and namespace scope variables of class types"
ec_init_priority_reserved;;"requested initialization priority is reserved for internal use"
ec_hidden_anonymous_union_field;;"this anonymous union/struct field is hidden by %nd"
ec_invalid_error_number;;"invalid error number"
ec_invalid_error_tag;;"invalid error tag"
ec_exp_error_argument;;"expected an error number or error tag"
ec_size_affected_by_tail_padding;;"size of class is affected by tail padding"
ec_nonlocal_label_reference;;"labels can be referenced only in function definitions"
ec_branch_into_statement_expr;;"transfer of control into a statement expression is not allowed"
REMOVED;ec_branch_out_of_statement_expr;;"transfer of control out of a statement expression is not allowed"
ec_bad_statement_in_statement_expr;;"this statement is not allowed inside of a statement expression"
ec_class_def_in_statement_expr;;"a class that is not trivially copyable cannot be defined inside a statement expression"
REMOVED;ec_destr_in_statement_expr;;"destructible entities are not allowed inside of a statement expression"
ec_dyn_local_static_in_statement_expr;;"a dynamically-initialized local static variable is not allowed inside of a statement expression"
ec_vla_in_statement_expr;;"a variable-length array is not allowed inside of a statement expression"
ec_statement_expr_in_default_arg;;"a statement expression is not allowed inside of a default argument"
ec_ptr_func_ptr_data_conv;;"nonstandard conversion between pointer to function and pointer to data"
ec_interface_cannot_have_virtual_base;;"interface types cannot have virtual base classes"
ec_interface_cannot_have_private_or_protected;;"interface types cannot specify \"private\" or \"protected\""
ec_interface_must_derive_from_interface;;"interface types can only derive from other interface types"
ec_type_is_interface;;"%t is an interface type"
ec_interface_cannot_have_typedef;;"interface types cannot have typedef members"
ec_interface_cannot_have_ctor_or_dtor;;"interface types cannot have user-declared constructors or destructors"
ec_interface_cannot_have_operator;;"interface types cannot have user-declared member operators"
ec_interface_cannot_be_local;;"interface types cannot be declared in functions"
REMOVED;ec_interface_cannot_be_template;;"cannot declare interface templates"
ec_interface_cannot_have_data_member;;"interface types cannot have data members"
ec_interface_cannot_have_friend;;"interface types cannot contain friend declarations"
REMOVED;ec_interface_cannot_have_nested_class;;"interface types cannot have nested classes"
ec_interface_cannot_be_nested_class;;"interface types cannot be nested class types"
ec_interface_cannot_have_member_templates;;"interface types cannot have member templates"
ec_interface_cannot_have_static_members;;"interface types cannot have static member functions"
ec_invalid_microsoft_pragma_operator;;"this pragma cannot be used in a __pragma operator (a #pragma directive must be used)"
ec_qualifier_must_be_base_class;;"qualifier must be base class of %t"
ec_invalid_selective_overrider_declaration;;"declaration must correspond to a pure virtual member function in the indicated base class"
ec_integer_overflow_class_internal;;"integer overflow in internal computation due to size or complexity of %t"
ec_integer_overflow_internal;;"integer overflow in internal computation"
ec_invalid_type_for_w64;;"__w64 can only be specified on int, long, and pointer types"
ec_ilp64_will_narrow;;"potentially narrowing conversion when compiled in an environment where int, long, or pointer types are 64 bits wide"
ec_value_of_pragma_pack_show;;"current value of pragma pack is %s"
ec_pragma_pack_show_args_ignored;;"arguments for pragma pack(show) are ignored"
REMOVED;ec_bad_alignment_specifier;;"invalid alignment specifier value"
REMOVED;ec_exp_int_literal;;"expected an integer literal"
ec_multiple_declspec_align;;"earlier __declspec(align(...)) ignored"
ec_exp_ms_attr_enum_value;;"expected an argument value for the %sq attribute parameter"
ec_invalid_ms_attr_enum_value;;"invalid argument value for the %sq attribute parameter"
ec_exp_ms_attr_bool_value;;"expected a boolean value for the %sq attribute parameter"
ec_positional_after_named;;"a positional argument cannot follow a named argument in an attribute"
ec_invalid_ms_attr_name;;"attribute %sq1 has no parameter named %sq2"
ec_exp_ms_attr_arg_list;;"expected an argument list for the %sq attribute"
ec_exp_comma_or_rbracket;;"expected a \",\" or \"]\""
ec_duplicate_ms_attr_arg;;"attribute argument %sq has already been given a value"
ec_cannot_assign_to_ms_attr;;"a value cannot be assigned to the %sq attribute"
ec_ptr_incomplete_throw;;"a throw expression may not have pointer-to-incomplete type"
ec_alignof_incomplete_type;;"alignment-of operator applied to incomplete type"
ec_invalid_use_of_standalone_ms_attr;;"%sq may only be used as a standalone attribute"
ec_invalid_use_of_ms_attr;;"%sq attribute cannot be used here"
REMOVED;ec_unrecognized_ms_attr;;"unrecognized attribute %sq"
ec_ms_attr_not_allowed;;"attributes are not allowed here"
ec_invalid_ms_attr_uuid_value;;"invalid argument value for the %sq attribute parameter"
ec_too_many_ms_attr_args;;"too many attribute arguments"
ec_conv_from_inaccessible_base_class;;"conversion from inaccessible base class %t is not allowed"
ec_cl_export_template_requires_distinct_templ_sigs;;"option \"export\" requires distinct template signatures"
ec_mixed_string_concatenation;;"string literals with different character kinds cannot be concatenated"
ec_no_gnu_virtual_base_gap;;"GNU layout bug not emulated because it places virtual base %no1 outside %no2 object boundaries"
ec_gnu_virtual_base_gap;;"virtual base %no1 placed outside %no2 object boundaries"
ec_nonstd_qualifier_in_namespace_member_decl;;"nonstandard qualified name in namespace member declaration"
ec_declspec_align_reduction_ignored;;"reduction in alignment ignored"
ec_const_ignored;;"const qualifier ignored"
REMOVED;ec_return_in_function_marked_with_noreturn;;"return statement in function marked with \"noreturn\""
ec_invalid_asm_qualifiers;;"invalid GNU asm qualifiers"
ec_non_pod_passed_to_ellipsis;;"a class type that is not trivially copyable passed through ellipsis"
ec_non_pod_va_arg;;"a class type that cannot be trivially copied cannot be fetched by va_arg"
ec_nonstd_fixed_point_suffix;;"the 'u' or 'U' suffix must appear before the 'l' or 'L' suffix in a fixed-point literal"
ec_cl_fixed_point_option_only_in_C;;"option \"fixed_point\" can be used only when compiling C"
ec_integer_may_not_fit_in_fixed_point_result;;"integer operand may cause fixed-point overflow"
ec_bad_fixed_point_value;;"fixed-point constant is out of range"
ec_inexact_fxp_conversion;;"fixed-point value cannot be represented exactly"
ec_c99_constant_in_unsigned_long_long_range;;"constant is too large for long long; given unsigned long long type (nonstandard)"
ec_bad_upc_shared_void_pointer_layout_qualifier;;"layout qualifier cannot qualify pointer to shared void"
ec_duplicate_threads_dim;;"duplicate THREADS in multidimensional array type"
ec_bad_strong_using_scope;;"a strong using-directive may only appear in a namespace scope"
ec_probable_guiding_friend;;"%nf declares a non-template function -- add <> to refer to a template instance"
ec_operation_may_not_fit_in_fixed_point_result;;"operation may cause fixed-point overflow"
ec_expr_not_integral_or_enum_or_fixed_point;;"expression must have integral, enum, or fixed-point type"
ec_expr_not_integral_or_fixed_point;;"expression must have integral or fixed-point type"
ec_noreturn_function_does_return;;"function declared with \"noreturn\" does return"
ec_asm_name_conflict;;"asm name ignored because it conflicts with a previous declaration"
ec_duplicate_typedef_in_class;;"class member typedef may not be redeclared"
ec_taking_address_of_temporary;;"taking the address of a temporary"
ec_attribute_ignored_on_incomplete_class_decl;;"attributes are ignored on a class declaration that is not also a definition"
ec_implicit_fixed_point_to_floating_point_conversion;;"fixed-point value implicitly converted to floating-point type"
ec_no_classification_for_fixed_point_type;;"fixed-point types have no classification"
ec_fixed_template_parameter;;"a template parameter may not have fixed-point type"
ec_hex_fp_constant;;"hexadecimal floating-point constants are not allowed"
ec_cl_named_address_spaces_option_only_in_C;;"option \"named_address_spaces\" can be used only when compiling C"
ec_float_to_fixed_conversion;;"floating-point value does not fit in required fixed-point type"
ec_inexact_fixed_conversion;;"value cannot be converted to fixed-point value exactly"
ec_fixed_sign_change;;"fixed-point conversion resulted in a change of sign"
ec_integer_to_fixed_conversion;;"integer value does not fit in required fixed-point type"
ec_bad_fixed_operation_result;;"fixed-point operation result is out of range"
ec_multiple_named_address_spaces;;"multiple named address spaces"
ec_bad_storage_class_for_named_address_space_variable;;"variable with automatic storage duration cannot be stored in a named address space"
ec_type_with_named_address_space_not_allowed;;"type cannot be qualified with named address space"
ec_named_address_space_on_function_type;;"function type cannot be qualified with named address space"
ec_field_type_cannot_be_qualified_with_named_address_space;;"field type cannot be qualified with named address space"
ec_fixed_to_float_conversion;;"fixed-point value does not fit in required floating-point type"
ec_fixed_to_integer_conversion;;"fixed-point value does not fit in required integer type"
ec_fixed_to_fixed_conversion;;"value does not fit in required fixed-point type"
ec_cl_named_registers_option_only_in_C;;"option \"named_registers\" can be used only when compiling C"
ec_named_register_not_allowed;;"a named-register storage class is not allowed here"
ec_register_storage_class_conflict;;"%nd redeclared with incompatible named-register storage class"
ec_aliased_variable_cannot_have_register_storage_class;;"named-register storage class cannot be specified for aliased variable"
ec_register_in_use;;"named-register storage specifier is already in use"
ec_embedded_c_option_incompatible_with_individual_feature_options;;"option \"embedded_c\" cannot be combined with options to control individual Embedded C features"
ec_cl_invalid_edg_base_directory;;"invalid EDG_BASE directory: %s"
REMOVED;ec_cannot_open_predef_macro_file;;"cannot open predefined macro file: %sq"
ec_bad_predef_macro_line;;"invalid predefined macro entry at line %s: %s2"
ec_bad_macro_mode_name;;"invalid macro mode name %sq"
ec_bad_predef_macro_redef;;"incompatible redefinition of predefined macro %sq"
ec_missing_named_register_storage_class;;"redeclaration of %nd is missing a named-register storage class"
ec_register_too_small;;"named register is too small for the type of the variable"
ec_no_named_register_for_array;;"arrays cannot be declared with named-register storage class"
ec_enum_const_cast;;"const_cast to enum type is nonstandard"
ec_cl_embedded_c_option_only_in_C;;"option \"embedded_c\" can be used only when compiling C"
ec_named_address_space_not_allowed;;"a named address space qualifier is not allowed here"
ec_bad_initializer_for_array_with_unspecified_bound;;"an empty initializer is invalid for an array with unspecified bound"
ec_incomplete_class_return_type;;"function returns incomplete class type %t"
ec_out_of_class_initializer_ignored;;"%n has already been initialized; the out-of-class initializer will be ignored"
ec_local_variable_hidden;;"declaration hides %nd"
ec_named_address_space_for_parameter;;"a parameter cannot be allocated in a named address space"
ec_bad_float_or_fixed_suffix;;"invalid suffix on fixed-point or floating-point constant"
ec_register_in_address_space;;"a register variable cannot be allocated in a named address space"
ec_bad_stdc_fx_overflow_pragma_arg;;"expected \"SAT\" or \"DEFAULT\""
ec_no_corresponding_member_delete;;"%n has no corresponding member operator delete%s (to be called if an exception is thrown during initialization of an allocated object)"
ec_dll_thread_conflict;;"a thread-local variable cannot be declared with \"dllimport\" or \"dllexport\""
ec_function_returning_named_address_space;;"a function return type cannot be qualified with a named address space"
ec_cannot_initialize_destructible_flexible_array;;"an initializer cannot be specified for a flexible array member whose elements have a nontrivial destructor"
ec_cannot_initialize_indirect_flexible_array;;"an initializer cannot be specified for an indirect flexible array member"
ec_cl_invalid_gnu_version;;"invalid GNU version number: %s"
ec_attribute_after_parenthesized_initializer;;"variable attributes appearing after a parenthesized initializer are ignored"
ec_gcc_use_of_cast_as_lvalue;;"the result of this cast cannot be used as an lvalue"
ec_unsigned_fixed_point_negation;;"negation of an unsigned fixed-point value"
REMOVED;ec_operator_not_allowed;;"this operator is not allowed at this point; use parentheses"
REMOVED;ec_nonconstant_flexible_array_member_init;;"flexible array member initializer must be constant"
ec_register_name_on_nonregister;;"register names can only be used for register variables"
ec_void_named_register;;"named-register variables cannot have void type"
REMOVED;ec_declspec_invalid;;"__declspec modifiers not valid for this declaration"
ec_parameter_with_link_scope_specifier;;"parameters cannot have link scope specifiers"
ec_multiple_link_scope_specifiers;;"multiple link scope specifiers"
ec_link_scope_requires_external_linkage;;"link scope specifiers can only appear on functions and variables with external linkage"
ec_link_scope_relaxation;;"a redeclaration cannot weaken a link scope"
ec_invalid_link_scope;;"link scope specifier not allowed on this declaration"
ec_nonstd_qualifier_in_global_scope_decl;;"nonstandard qualified name in global scope declaration"
ec_impl_narrowing_64_bit_int;;"implicit conversion of a 64-bit integral type to a smaller integral type (potential portability problem)"
ec_expl_narrowing_64_bit_int;;"explicit conversion of a 64-bit integral type to a smaller integral type (potential portability problem)"
ec_pointer_conversion_to_same_size_int;;"conversion from pointer to same-sized integral type (potential portability problem)"
REMOVED;ec_cl_sun_linker_scope_requires_sun_mode;;"the \"sun_linker_scope\" option is only valid in Sun mode"
ec_friend_specifier_ignored;;"friend specifier is not allowed in a class definition; friend specifier is ignored"
ec_cannot_use_thread_local_storage;;"only static and extern variables can use thread-local storage"
ec_multiple_thread_local_storage_specifiers;;"multiple thread-local storage specifiers"
ec_virtual_function_never_defined;;"virtual %n was not defined (and cannot be defined elsewhere because it is a member of an unnamed namespace)"
ec_stray_carriage_return;;"carriage return character in source line outside of comment or character/string literal"
ec_expr_not_fixed_point;;"expression must have fixed-point type"
ec_invalid_access_specifier;;"invalid use of access specifier is ignored"
ec_ptr_conv_to_bool;;"pointer converted to bool"
ec_ptr_to_member_conv_to_bool;;"pointer-to-member converted to bool"
ec_storage_specifier_ignored;;"storage specifier ignored"
ec_dll_interface_ignored_on_class_template;;"dllexport and dllimport are ignored on class templates"
ec_base_class_has_different_dll_interface;;"base class dllexport/dllimport specification differs from that of the derived class"
ec_redeclaration_adds_dll_interface;;"redeclaration cannot add dllexport/dllimport to %nod"
ec_dll_interface_conflict_dllexport_assumed;;"dllexport/dllimport conflict with %nod; dllexport assumed"
ec_dllimport_defined;;"cannot define dllimport entity"
ec_dll_interface_requires_external_linkage;;"dllexport/dllimport requires external linkage"
ec_class_and_member_have_dll_interface;;"a member of a class declared with dllexport/dllimport cannot itself be declared with such a specifier"
ec_field_without_dll_interface;;"field of class type without a DLL interface used in a class with a DLL interface"
ec_microsoft_parenthesized_member;;"parenthesized member declaration is nonstandard"
ec_white_space_inside_splice;;"white space between backslash and newline in line splice ignored"
ec_dll_interface_conflict_none_assumed;;"dllexport/dllimport conflict with %nod; dllimport/dllexport dropped"
ec_bad_nonstd_anonymous_union_field;;"invalid member for anonymous member class -- class %t has a disallowed member function"
ec_nonstd_reinterpret_cast;;"nonstandard reinterpret_cast"
ec_positional_format_specifier_zero;;"positional format specifier cannot be zero"
ec_nonlocal_vla_not_allowed;;"a local class cannot reference a variable-length array type from an enclosing function"
ec_class_and_inherited_member_instance_have_dll_interface;;"member %nd already has an explicit dllexport/dllimport specifier"
ec_vla_in_return_type;;"a variable-length array is not allowed in a function return type"
ec_ptr_to_member_of_vla_type;;"variable-length array type is not allowed in pointer to member of type %t"
ec_statement_expr_with_vla_type;;"the result of a statement expression cannot have a type involving a variable-length array"
ec_trigraph_ignored;;"support for trigraphs is disabled"
ec_attribute_requires_external_linkage;;"the %sq attribute can only appear on functions and variables with external linkage"
ec_cl_strict_mode_incompatible_with_ignore_std;;"strict mode is incompatible with treating namespace std as an alias for the global namespace"
ec_in_expansion_of_macro;INTERNAL;"in expansion of macro \"%s\" %p"
ec_name_of_unknown_macro;INTERNAL;"<UNKNOWN>"
REMOVED;ec_in_expansion_of_macro_last;INTERNAL;"in expansion of macro \"%s\" %p%s2"
ec_macro_context_lines_skipped;INTERNAL;"[ %d macro expansions not shown ]"
ec_in_macro_expansion_at;INTERNAL;"in macro expansion at %p"
ec_invalid_symbolic_asm_operand_name;;"invalid symbolic operand name %sq"
ec_match_limit_for_symbolic_asm_operand;;"a symbolic match constraint must refer to one of the first ten operands"
ec_if_exists_not_allowed;;"use of __if_exists is not supported in this context"
ec_if_exists_not_closed;;"__if_exists block not closed in the same scope in which it was opened"
ec_bad_init_for_thread_local;;"thread-local variable cannot be dynamically initialized" 
ec_unaligned_qualifier_dropped;;"conversion drops \"__unaligned\" qualifier"
ec_insufficient_enum_range;;"some enumerator values cannot be represented by the integral type underlying the enum type"
ec_friend_class_template_default_arg_not_allowed;;"default argument is not allowed on a friend class template declaration"
ec_multi_char_literal;;"multicharacter character literal (potential portability problem)"
ec_exp_class_type;;"expected a class, struct, or union type"
ec_offsetof_nonfield;;"second operand of offsetof must be a field"
ec_offsetof_bit_field;;"second operand of offsetof may not be a bit field"
ec_offsetof_virtual_base_member;;"cannot apply offsetof to a member of a virtual base"
ec_offset_in_non_POD_nonstandard;;"offsetof applied to a type other than a standard-layout class"
ec_default_arg_on_member_friend;;"default arguments are not allowed on a friend declaration of a member function"
ec_default_arg_requires_friend_to_be_definition;;"default arguments are not allowed on friend declarations that are not definitions"
ec_redeclaration_of_friend_with_default_args;;"redeclaration of %nd previously declared as a friend with default arguments is not allowed"
ec_bad_qualifier_for_nested_class_decl;;"invalid qualifier for %t (a derived class is not allowed here)"
ec_bad_qualifier_for_delayed_class_definition;;"invalid qualifier for definition of class %t"
ec_no_prior_push_macro;;"no prior push_macro for %sq"
ec_wide_string_not_allowed;;"wide string literal not allowed"
REMOVED;ec_feature_requires_cplusplus;;"%sq is only allowed in C++"
ec_feature_requires_c;;"%sq is only allowed in C"
ec_microsoft_ptr_width_must_follow_star;;"__ptr32 and __ptr64 must follow a \"*\""
ec_microsoft_ptr_width_conflict;;"__ptr32 and __ptr64 cannot both apply"
ec_name_must_be_prototype_instantiation;;"template argument list of %sq must match the parameter list"
ec_incomplete_class_type;;"an incomplete class type is not allowed"
ec_complex_integral_type;;"complex integral types are not supported"
ec_real_and_imag_require_complex_argument;;"__real and __imag can only be applied to complex values"
ec_real_and_imag_applied_to_real_value;;"__real/__imag applied to real value"
ec_deprecated_entity_with_custom_message;;"%n was declared deprecated (%sq)"
REMOVED;ec_redefinition;;"invalid redefinition of %nd"
ec_dll_interface_in_unnamed_namespace;;"dllimport/dllexport applied to a member of an unnamed namespace"
ec_thiscall_requires_nonstatic_member;;"__thiscall can only appear on nonstatic member function declarations"
ec_vararg_thiscall;;"__thiscall not allowed on function with ellipsis parameter"
ec_specialization_of_referenced_entity_pos;;"explicit specialization of %n must precede its first use (%p)"
ec_sealed_base_class;;"a sealed class type cannot be used as a base class"
ec_duplicate_class_modifier;;"duplicate class modifier"
ec_function_modifiers_abstract_and_sealed;;"a member function cannot have both the \"abstract\" and \"sealed\" modifiers"
ec_pure_specifier_on_sealed_member;;"a sealed member cannot be pure virtual"
ec_function_modifier_requires_virtual_function;;"nonvirtual function cannot be declared with \"abstract\" or \"sealed\" modifier"
ec_override_member_does_not_override;;"member function declared with \"override\" does not override a base class member"
ec_override_of_sealed_function;;"cannot override sealed %nd"
ec_type_is_declared_abstract;;"%nd was declared with the class modifier \"abstract\""
ec_at_line;INTERNAL;"at line "
ec_of;INTERNAL;" of "
ec_with;INTERNAL;"with "
ec_keyword;INTERNAL;"keyword"
ec_macro;INTERNAL;"macro"
ec_label;INTERNAL;"label"
ec_template_parameter;INTERNAL;"template parameter"
ec_type;INTERNAL;"type"
ec_union;INTERNAL;"union"
ec_class;INTERNAL;"class"
ec_struct;INTERNAL;"struct"
ec_template_template_parameter;INTERNAL;"template template parameter"
ec_template;INTERNAL;"template"
ec_class_template;INTERNAL;"class template"
ec_enum;INTERNAL;"enum"
ec_parameter;INTERNAL;"parameter"
ec_handler_parameter;INTERNAL;"handler parameter"
ec_variable;INTERNAL;"variable"
ec_nontype;INTERNAL;"nontype"
ec_constant;INTERNAL;"constant"
ec_function;INTERNAL;"function"
ec_overloaded_function;INTERNAL;"overloaded function"
ec_member;INTERNAL;"member"
ec_field;INTERNAL;"field"
ec_namespace;INTERNAL;"namespace"
ec_named_register;INTERNAL;"named register"
ec_named_address_space;INTERNAL;"named address space"
ec_function_template;INTERNAL;"function template"
ec_based_on_template_argument;INTERNAL;"based on template argument"
ec_based_on_template_arguments;INTERNAL;"based on template arguments"
ec_declared_prefix;INTERNAL;" (declared "
ec_at_end_of_source;INTERNAL;"(at end of source)"
ec_at_end_of_source2;INTERNAL;"At end of source"
ec_Line;INTERNAL;"Line"
ec_line;INTERNAL;"line"
ec_col;INTERNAL;"col."
ec_remark;INTERNAL;"remark"
ec_Remark;INTERNAL;"Remark"
ec_warning;INTERNAL;"warning"
ec_Warning;INTERNAL;"Warning"
ec_error;INTERNAL;"error"
ec_Error;INTERNAL;"Error"
ec_catastrophic_error;INTERNAL;"catastrophic error"
ec_Catastrophic_error;INTERNAL;"Catastrophic error"
ec_command_line_error;INTERNAL;"command-line error"
ec_Command_line_error;INTERNAL;"Command-line error"
ec_internal_error;INTERNAL;"internal error"
ec_Internal_error;INTERNAL;"Internal error"
ec_discretionary_suffix;INTERNAL;"-D"
ec_non_discretionary_suffix;INTERNAL;""
ec_error_limit_reached;INTERNAL;"Error limit reached."
ec_internal_error_loop;INTERNAL;"Internal error loop"
ec_catastrophic_error_loop;INTERNAL;"Loop in catastrophic error processing."
REMOVED;ec_generated_c_output;INTERNAL;"generated C output"
ec_temporary;INTERNAL;"temporary"
ec_preprocessing_output;INTERNAL;"preprocessing output"
ec_raw_listing;INTERNAL;"raw listing"
ec_cross_reference;INTERNAL;"cross-reference"
ec_intermediate_language_1;INTERNAL;"intermediate language (1)"
ec_intermediate_language_2;INTERNAL;"intermediate language (2)"
ec_intermediate_language_3;INTERNAL;"intermediate language (3)"
ec_intermediate_language_4;INTERNAL;"intermediate language (4)"
ec_intermediate_language_5;INTERNAL;"intermediate language (5)"
ec_intermediate_language_6;INTERNAL;"intermediate language (6)"
ec_intermediate_language_7;INTERNAL;"intermediate language (7)"
ec_intermediate_language_8;INTERNAL;"intermediate language (8)"
ec_intermediate_language_9;INTERNAL;"intermediate language (9)"
ec_pch;INTERNAL;"PCH"
REMOVED;ec_template_information_file;INTERNAL;"template information file"
REMOVED;ec_exported_template_file;INTERNAL;"exported template file"
REMOVED;ec_instantiation_request_file;INTERNAL;"instantiation request file"
REMOVED;ec_definition_list_file;INTERNAL;"definition list file"
ec_missing_cannot_redefine_flag;INTERNAL;"missing cannot-redefine flag"
ec_missing_mode_after_comma;INTERNAL;"missing mode after ','"
ec_missing_macro_name;INTERNAL;"missing macro name"
ec_invalid_cannot_redefine_value;INTERNAL;"invalid cannot-redefine value"
ec_duplicate_function_modifier;;"duplicate function modifier"
ec_no_char16_t_representation;;"invalid character for char16_t literal"
REMOVED;ec_lprefix_and_uliteral;;"__LPREFIX cannot be applied to char8_t, char16_t, or char32_t literals"
ec_cl_unrecognized_calling_convention;;"unrecognized calling convention %s, must be one of:"
ec_cl_calling_convention_list;INTERNAL;"%s"
REMOVED;ec_cl_uliterals_option_only_in_C;;"option to control char16_t/char32_t literals can be used only when compiling C"
REMOVED;ec_parameter_attribute_invalid;;"attribute %sq not allowed on parameter declarations"
ec_enum_base_type_must_be_integral;;"underlying type of enum type must be an integral type"
ec_enum_base_type_too_limited;;"some enumerator constants cannot be represented by %t"
ec_feature_not_allowed_in_current_mode;;"%sq not allowed in current mode"
ec_cl_type_traits_helpers_option_only_in_cplusplus;;"type traits helpers option can be used only when compiling C++"
ec_gnu_sentinel_attribute_requires_ellipsis;;"attribute \"sentinel\" requires an ellipsis parameter"
ec_invalid_gnu_sentinel_argument;;"argument must be a constant null pointer value"
ec_no_gnu_sentinel_argument;;"insufficient number of arguments for sentinel value"
ec_gnu_sentinel_must_be_ellipsis_argument;;"sentinel argument must correspond to an ellipsis parameter"
ec_implementation_key_outside_mapping_region;;"__declspec(implementation_key(...) can appear only between #pragma start_map_region and #pragma stop_map_region"
ec_start_map_region_ignored;;"#pragma start_map_region already active: pragma ignored"
ec_stop_map_region_ignored;;"no #pragma start_map_region is currently active: pragma ignored"
ec_var_used_as_destructor;;"%n cannot be used to name a destructor (a type name is required)"
ec_empty_wide_character;;"nonstandard empty wide character literal treated as L'\\0'"
ec_invalid_typename_specifier;;"\"typename\" may not be specified here"
ec_no_default_delete_in_virtual_dtor;;"a non-placement operator delete must be visible in a class with a virtual destructor"
ec_name_linkage_mismatch_for_variable;;"name linkage conflicts with previous declaration of %nd"
ec_alias_loop;;"alias creates cycle of aliased entities"
REMOVED;ec_subscript_must_be_constant;;"subscript must be constant"
ec_register_mapped_variable_cannot_have_initializer;;"a variable with static storage duration allocated in a specific register cannot be declared with an initializer"
ec_register_mapped_variable_must_be_POD;;"a variable allocated in a specific register must be trivially copyable"
ec_predef_macro_redefined;;"predefined meaning of %no discarded"
REMOVED;ec_attribute_requires_internal_linkage;;"the %sq attribute can only appear on functions and variables with internal linkage"
ec_designator_for_non_POD;;"class type not suitable for use with designators"
REMOVED;ec_enum_qualifier_nonstd;;"enum qualified name is nonstandard"
ec_nonstandard_anonymous_union_qualifier;;"anonymous union qualifier is nonstandard"
ec_anonymous_union_qualifier_ignored;;"anonymous union qualifier is ignored"
REMOVED;ec_declspec_missing_declarator;;"__declspec ignored (no variable or function declared)"
ec_struct_declspec_ignored_in_C_mode;;"__declspec(%s) ignored (it has no meaning for a C struct)"
ec_nonstandard_secondary_decl_specifiers;;"specifiers after comma between declarations are nonstandard"
ec_secondary_specifier_ignored;;"nonstandard specifier ignored"
ec_enum_attribute_ignored;;"attributes are ignored on an enum declaration that is not also a definition"
ec_reference_declared_mutable;;"declaring a reference with \"mutable\" is nonstandard"
ec_array_condition_always_true;;"a condition declaration for an array is always true"
ec_static_assert;;"static assertion failed with %sq"
ec_gnu_visibility_conflict;;"visibility attribute ignored because it conflicts with a previous declaration"
ec_pcc_field_ambiguity;;"field name resolves to more than one offset -- see %nod1 and %nod2"
ec_not_a_field_name;;"%sq is not a field name"
ec_case_label_conflict;;"case label value has already appeared in this switch %p"
ec_member_cannot_have_internal_linkage;;"a member function cannot have internal linkage"
ec_builtin_function_hidden;;"declaration hides built-in %n"
ec_builtin_function_overloaded;;"declaration overloads built-in %n"
ec_cl_list_macros_incompatible_with_multiple_trans_units;;"the option to list macro definitions may not be specified when compiling more than one translation unit"
ec_lparen_after_function;;"unexpected parenthesis after declaration of %n (malformed parameter list or invalid initializer?)"
ec_nonstandard_parenthesized_string_initializer;;"parentheses around a string initializer are nonstandard"
ec_microsoft_interface;INTERNAL;"__interface"
ec_auto_variable_in_own_initializer;;"a variable declared with an auto type specifier cannot appear in its own initializer"
ec_cannot_deduce_auto_type;;"cannot deduce \"auto\" type"
ec_auto_brace_initialization_not_allowed;;"initialization with \"{...}\" is not allowed for \"auto\" type"
ec_auto_type_in_array_type;;"\"auto\" type cannot appear in top-level array type"
ec_auto_type_in_function_type;;"\"auto\" type cannot appear in top-level function type"
ec_invalid_member_constant_type;;"a member of type %t cannot have an in-class initializer"
ec_member_constant_not_const;;"a member with an in-class initializer must be const"
ec_auto_type_requires_initializer;;"cannot deduce \"auto\" type (initializer required)"
ec_inconsistent_deduction_of_auto;;"\"auto\" type is %t1 for this entity, but was previously implied to be %t2"
ec_bad_constructor_decl;;"invalid constructor declaration"
ec_bad_type_qualifier;;"invalid use of a type qualifier"
ec_abstract_or_sealed_on_union;;"a union cannot be abstract or sealed"
ec_auto_not_allowed_here;;"\"auto\" is not allowed here"
ec_unfinished_base_class;;"definition of base class type not completed yet"
ec_static_extern_template;;"\"extern template\" cannot refer to a specialization of static %nd"
ec_extern_template_follows_instantiation;;"\"extern template\" cannot follow explicit instantiation of %n"
ec_bad_declspec_restrict_return;;"__declspec(restrict) requires a function returning a pointer type"
ec_cl_report_gnu_extensions_requires_gnu_mode;;"the \"report_gnu_extensions\" option is only valid in GNU C and GNU C++ modes"
ec_vla_is_nonstandard;;"variable-length array types are nonstandard"
ec_designator_is_nonstandard;;"designators are nonstandard"
ec_extended_designator_is_gnu_extension;;"this designator syntax is a GNU extension"
ec_compound_literal_is_nonstandard;;"compound literals are nonstandard"
ec_statement_expression_is_gnu_extension;;"statement expressions are a GNU extension"
ec_asm_name_after_definition;;"asm name ignored for previously defined entity"
ec_attribute_is_gnu_extension;;"attributes are a GNU extension"
ec_asm_operand_spec_is_gnu_extension;;"extended asm syntax is a GNU feature"
ec_volatile_asm_is_gnu_extension;;"volatile asm declarations are a GNU extension"
ec_asm_name_is_gnu_extension;;"asm name specifiers are a GNU extension"
ec_gnu_restrict_is_nonstandard;;"the \"__restrict\" qualifier is nonstandard"
ec_typeof_is_gnu_extension;;"\"typeof\" is a GNU extension"
ec_typedef_modification_is_nonstandard;;"modifying the size or signedness of a typedef is nonstandard"
ec_zero_length_array_is_gnu_extension;;"zero-length arrays are a GNU extension"
ec_flexible_array_is_nonstandard;;"flexible array members are nonstandard"
ec_nonnull_on_nonpointer;;"attribute \"nonnull\" references nonpointer parameter"
ec_nonnull_parameter_number_too_large;;"argument for attribute \"nonnull\" is larger than number of parameters"
ec_no_pointer_parameters;;"no parameter has pointer type"
ec_null_argument_for_nonnull_parameter;;"null argument provided for parameter marked with attribute \"nonnull\""
ec_access_prevents_dtor_generation;;"the destructor for %t1 has been suppressed because the destructor for %t2 is inaccessible"
ec_suppressed_dtor_needed;;"the suppressed destructor for %t is needed"
ec_inline_gnu_noinline_conflict;;"routine is both \"inline\" and \"noinline\""
ec_invalid_cleanup_routine;;"invalid cleanup routine"
ec_attribute_cleanup_requires_automatic_storage;;"attribute \"cleanup\" requires automatic storage duration"
ec_attribute_cleanup_for_parameter;;"attribute \"cleanup\" does not apply to parameters"
ec_bad_type_for_cleanup_routine;;"cleanup routine has invalid type" 
ec_nonstandard_conversion_for_cleanup;;"call of cleanup routine requires suspect conversion"
ec_microsoft_ptr_signedness_must_follow_star;;"__sptr and __uptr must follow a \"*\""
ec_microsoft_ptr_signedness_conflict;;"__sptr and __uptr cannot both be specified"
ec_microsoft_ptr_sign_extension;;"widening pointer conversion from %t1 to %t2 extends sign bit"
ec_microsoft_ptr_signedness_on_ptr_to_member;;"__sptr and __uptr don't apply to pointer-to-member types"
ec_const_mbr_suppresses_copy_asgn_decl;;"the declaration of the copy assignment operator for %t has been suppressed because %n is const"
ec_ref_mbr_suppresses_copy_asgn_decl;;"the declaration of the copy assignment operator for %t has been suppressed because %n has reference type"
ec_subobj_copy_asgn_decl_suppressed;;"the declaration of the copy assignment operator for %t1 has been suppressed because that of %t2 was suppressed"
ec_ambig_suppresses_copy_asgn_decl;;"the declaration of the copy assignment operator for %t1 has been suppressed because that of %t2 is ambiguous"
ec_access_suppresses_copy_asgn_decl;;"the declaration of the copy assignment operator for %t1 has been suppressed because that of %t2 is inaccessible"
ec_subobj_copy_ctor_decl_suppressed;;"the declaration of the copy constructor for %t1 has been suppressed because that of %t2 was suppressed"
ec_ambig_suppresses_copy_ctor_decl;;"the declaration of the copy constructor for %t1 has been suppressed because that of %t2 is ambiguous"
ec_access_suppresses_copy_ctor_decl;;"the declaration of the copy constructor for %t1 has been suppressed because that of %t2 is inaccessible"
ec_inaccessible_dtor_not_invoked;;"the destructor for %t1 will not be called because it is inaccessible and the destructor for %t2 was suppressed"
ec_file_ends_with_unterminated_type_definition;;"definition at end of file not followed by a semicolon or a declarator"
ec_bad_type_for_gnu_sync_function;;"first argument must be a pointer to integer or enum type"
ec_invalid_gnu_sync_size;;"synchronized operations are valid only on objects of size 1, 2, 4, or 8"
ec_extra_arguments_ignored;;"extra arguments ignored"
ec_equals_assumed_in_cmd_line_macro_def;;"'=' assumed following macro name %sq in command-line definition"
ec_white_space_required_after_macro_name;;"white space is required between the macro name %sq and its replacement text"
ec_call_result_should_be_used;;"result of call is not used"
ec_warn_unused_result_with_void_return;;"attribute \"warn_unused_result\" is ignored for void return type"
REMOVED;ec_attr_requires_ptr_to_func_type;;"attribute %sq requires pointer-to-function type"
ec_dll_interface_ignored_on_qualified_declaration;;"dllimport/dllexport is ignored on redeclaration using a qualified name"
ec_leading_character_ignored_in_char_literal;;"too many characters in character literal -- extra leading characters ignored"
ec_first_inline_after_definition;;"%n cannot be declared inline after its definition %p"
REMOVED;ec_statement_expression_in_dependent_typeof;;"a statement expression is not allowed in a template-dependent typeof specifier"
REMOVED;ec_statement_expression_in_decltype;;"a statement expression is not allowed in a decltype specifier"
ec_type_with_no_linkage_in_template_arg;;"a template argument may not reference a type with no name linkage"
ec_virtual_ignored;;"\"virtual\" is ignored here"
ec_vla_type_in_template_arg;;"a template argument may not reference a variable-length array type"
ec_UCN_names_surrogate_code_point;;"a universal character name cannot designate a surrogate code point"
ec_include_next_in_primary_source_file;;"#include_next cannot be used in the primary source file"
ec_bad_template_member_definition;;"%no1 cannot be specified in a template member definition -- %no2 assumed instead"
ec_local_function_attribute_ignored;;"attribute %sq is ignored on local function declaration"
ec_concat_yields_invalid_token;;"concatenation with %sq in %n does not create a valid token"
ec_ambiguous_injected_template_name;;"%no is ambiguous (%n2 assumed)"
ec_function_qualifier_on_static_member;;"a type qualifier is not allowed on a static member function"
ec_function_qualifier_on_ctor_or_dtor;;"a type qualifier is not allowed on a constructor or destructor"
ec_function_qualifier_on_new_or_delete;;"a type qualifier is not allowed on operator new or operator delete"
ec_function_qualifier_on_nonmember;;"a type qualifier is not allowed on a nonmember function"
ec_assume_expression_discarded;;"argument to %s has side-effects but is unevaluated"
ec_cl_unrecognized_unicode_source_kind;;"unrecognized Unicode source kind (must be one of UTF-8, UTF-16, UTF-16LE, UTF-16BE): %s"
ec_bad_unicode_char_in_pp_output;;"Unicode character with hex value %s not representable in preprocessing output"
ec_ctor_dtor_priority_reserved;;"requested constructor/destructor priority is reserved for internal use"
ec_unrecognized_gcc_pragma;;"unrecognized GCC pragma"
ec_unrecognized_gcc_visibility_pragma;;"unrecognized GCC visibility pragma directive"
ec_unrecognized_visibility;;"unrecognized visibility kind"
ec_ELF_visibility_pop_mismatch;;"visibility pragma was still active"
ec_ELF_visibility_stack_empty;;"no matching visibility push"
ec_typeid_of_incomplete_type;;"typeid of incomplete type"
REMOVED;ec_enum_declspec_in_c_mode;;"__declspec attributes are not allowed on enum specifiers in C mode"
ec_array_size_one_assumed;;"array %n assumed to have one element"
ec_vector_size_attribute_requires_integral_floating_or_enum_type;;"vector_size attribute requires an arithmetic or enum type"
ec_vector_size_too_large;;"vector size is too large"
ec_vector_size_must_be_power_of_two;;"the number of elements in a vector must be a power of two"
ec_vector_size_must_be_multiple_of_element_size;;"vector size must be a multiple of the element size"
ec_mixed_vector_scalar_operation;;"mixed vector-scalar operation not allowed"
ec_vectors_must_have_same_size;;"operation requires two vectors of the same size"
ec_dependent_vector_size;;"template-dependent vector size is not allowed"
REMOVED;ec_vector_size_with_dependent_element_type;;"vector_size attribute is not allowed on a template-dependent type"
REMOVED;ec_vector_size_attribute_not_allowed;;"vector_size attribute is not allowed here"
ec_vector_size_attribute_on_complex_type;;"vector_size attribute is not allowed with a complex element type"
REMOVED;ec_vector_size_must_be_integer_constant;;"vector size must be an integer constant"
ec_vector_element_type_mismatch;;"vector operation requires identical element types"
ec_vector_operation_requires_integer_vector;;"vector operation does not apply to vector with non-integral type"
ec_cannot_open_file;;"cannot open %s file %sq2"
ec_cannot_open_file_reason;;"cannot open %s file %sq2: %s3"
ec_precompiled_header;INTERNAL;"precompiled header"
ec_predef_macro;INTERNAL;"predefined macro"
ec_generated_c;INTERNAL;"generated C"
ec_generated_c_plus_plus;INTERNAL;"generated C++"
ec_source;INTERNAL;"source"
ec_file_write_error_errno;;"error while writing %s file: %s2"
ec_not_regular;INTERNAL;"not a regular file"
ec_is_directory;INTERNAL;"is a directory"
ec_illegal_file_name;INTERNAL;"invalid file name"
ec_definition_list;INTERNAL;"definition list"
ec_instantiation_request;INTERNAL;"instantiation request"
ec_exported_template;INTERNAL;"exported template"
ec_export_info;INTERNAL;"export information"
ec_template_information;INTERNAL;"template information"
ec_il_output;;"IL output"
ec_restrict_qualifier_dropped;;"conversion drops \"__restrict\" qualifier"
ec_unable_to_get_mapped_memory_reason;;"unable to obtain mapped memory for %sq: %s2"
ec_restrict_qualifier_ignored;;"restrict qualifier is ignored"
REMOVED;ec_gnu_attributes_ignored;;"attributes ignored here"
ec_nonstandard_array_with_flexible_array_element;;"array of elements containing a flexible array member is nonstandard"
ec_vector_template_parameter;;"a template parameter may not have a vector type"
ec_out_of_order_ctor_init;;"the initialization of %n1 will be done before that of %n2"
REMOVED;ec_inheritance_kind_not_allowed_in_C;;"inheritance kind is not allowed in C"
ec_inheritance_kind_ignored_on_enum;;"inheritance kind is ignored on an enum specifier"
REMOVED;ec_extended_modifier_not_allowed_on_enum;;"modifier is not allowed on an enum specifier"
ec_extended_modifier_ignored_on_enum;;"modifier is ignored on an enum specifier"
ec_non_unicode_char_in_ident;;"identifier character cannot be represented in Unicode"
ec_non_unicode_char_in_header;;"header name contains characters that cannot be represented in Unicode"
ec_invalid_locale;;"%sq is not a valid locale name"
ec_nonstd_template_void_param_list;;"declaring a void parameter list with a template parameter is nonstandard"
ec_cl_lambdas_option_only_in_cplusplus;;"lambdas option can be used only when compiling C++"
ec_capture_mode_matches_default;;"explicit capture matches default"
ec_not_a_variable;;"%n is not a variable"
ec_capture_of_static_duration_variable;;"a variable with static storage duration cannot be captured in a lambda"
ec_cannot_capture_this_by_reference;;"\"this\" cannot be captured by reference"
ec_this_in_lambda;;"\"this\" cannot be used inside the body of this lambda"
ec_anon_union_ref_in_lambda;;"a member of an outer-scope anonymous union cannot be referenced inside the body of a lambda"
ec_not_captured_local_var_in_lambda;;"an enclosing-function local variable cannot be referenced in a lambda body unless it is in the capture list"
ec_bad_local_var_in_lambda;;"invalid reference to an outer-scope local variable in a lambda body"
ec_captured_local_var_not_in_innermost_function;;"a local variable outside the current function scope cannot be captured"
ec_not_captured_this_in_lambda;;"the enclosing-function \"this\" cannot be referenced in a lambda body unless it is in the capture list"
REMOVED;ec_lambda_return_must_be_only_construct;;"the body of a value-returning lambda with no explicit return type must be a single return statement"
ec_captured_var_type_not_copyable;;"lambda captured variable of type %t1 cannot be copied to closure class field of type %t2"
ec_cl_invalid_template_directory;;"invalid template directory: %s"
ec_wrapup_error;INTERNAL;"error"
ec_wrapup_errors;INTERNAL;"errors"
ec_wrapup_catastrophic_error;INTERNAL;"catastrophic error"
ec_wrapup_catastrophic_errors;INTERNAL;"catastrophic errors"
ec_and;INTERNAL;"and"
ec_det_in_compilation_of;INTERNAL;"detected in the compilation of \"%s\"."
ec_det_in_compilation;INTERNAL;"detected in this compilation."
ec_enum_value_out_of_underlying_range;;"enumeration value is outside the range of its underlying type (%t)"
ec_not_a_line_splice;;"\"\\\" followed by white space is not a line splice"
ec_dynamic_cast_without_rtti;;"this dynamic_cast cannot be done without runtime type information, which is disabled"
ec_ambiguous_cast_selects_direct_base;;"conversion to %t is ambiguous; direct base selected"
ec_requested_size_too_large;;"an internal buffer would be too large"
ec_exception_handler_used;;"C++ exception handler used, but exception handling semantics have not been specified"
ec_type_qualifier_ignored_on_constructor;;"type qualifier ignored on constructor"
ec_lambda_capture_involves_variable_length_array;;"a variable captured by a lambda cannot have a type involving a variable-length array"
ec_incompatible_vectors_conversion;;"conversion between incompatible vector types"
ec_missing_lambda_body;;"expected a \"{\" introducing a lambda body"
ec_cl_rvalue_references_option_only_in_cplusplus;;"rvalue references option can be used only when compiling C++"
ec_type_qualifier_on_lambda;;"a type qualifier is not allowed on a lambda"
ec_more_than_one_capture;;"a name cannot appear more than once in a capture-list"
ec_explicit_template_args_ignored;;"explicit template arguments ignored"
ec_bad_constant_lambda;;"a lambda is not allowed in a constant expression"
ec_class_type_required;;"%t is not a class type"
ec_delete_of_array_type;;"\"delete\" applied to a pointer-to-array type treated as delete[]"
ec_delete_of_array_type_nonstandard;;"\"delete\" applied to a pointer-to-array type is nonstandard; treated as delete[]"
ec_function_does_not_match_arguments;;"%n cannot be called with the given argument list"
ec_rvalue_reference_bound_to_lvalue;;"an rvalue reference cannot be bound to an lvalue"
ec_rvalue_ref_template_parameter;;"a nontype template parameter cannot have rvalue reference type"
ec_type_qualifiers_ignored_on_reference;;"type qualifiers are ignored (underlying type is a reference)"
ec_decl_with_local_type_but_not_defined;;"%n, declared using a local type, must be defined in this translation unit"
ec_decl_with_no_linkage_type_but_not_defined;;"%n, declared using a type with no linkage, must be defined in this translation unit"
ec_bad_rvalue_ref_dynamic_cast_operand;;"the operand of an rvalue reference dynamic_cast must have a complete class type"
ec_invalid_function_to_be_defaulted;;"\"= default\" can only appear on default constructors, copy/move constructors, copy/move assignment operators, and destructors"
ec_deleted_function_definition_must_be_first_declaration;;"\"= delete\" can only appear on the first declaration of a function"
ec_deleted_function;;"%npd cannot be referenced -- it is a deleted function"
ec_bad_unevaluated_lambda;;"a lambda is not allowed in an unevaluated expression"
ec_bad_function_for_gnu_va_arg_pack;;"__builtin_va_arg_pack/__builtin_va_arg_pack_len can appear only in an inline function with an ellipsis parameter"
ec_function_defaulted_in_friend_decl;;"\"= default\" cannot be specified on a friend declaration"
ec_exp_cpp_keyword;;"expected a C++ keyword"
REMOVED;ec_cast_to_rvalue_ref_to_incomplete;;"this cast to an rvalue reference type is invalid because the underlying type %t is incomplete"
ec_nonconstant_offsetof;;"offset is not constant"
ec_unrecognized_microsoft_comment_pragma_type;;"unrecognized #pragma comment type %sq"
ec_cl_auto_type_option_only_in_cplusplus;;"option to control whether \"auto\" is a type specifier can be used only when compiling C++"
ec_cl_auto_storage_option_only_in_cplusplus;;"option to control whether \"auto\" is a storage class can be used only when compiling C++"
ec_cl_auto_cannot_be_disabled;;"the type specifier and storage class specifier meanings of \"auto\" cannot both be disabled"
ec_bad_pragma_comment_string;;"invalid string in #pragma comment"
ec_deleted_function_overrides_nondeleted_function;;"deleted function overrides nondeleted %n"
ec_nondeleted_function_overrides_deleted_function;;"nondeleted function overrides deleted %n"
ec_deleted_default_constructor;;"the default constructor of %t cannot be referenced -- it is a deleted function"
ec_rvalue_reference_catch_type;;"an rvalue reference is not allowed as a catch type"
ec_default_args_incompatible;;"default arguments of %n is incompatible with a declaration in another translation unit"
ec_default_arg_differs_in_other_trans_unit;;"default arguments of %n were different during compilation of %sq"
REMOVED;ec_deleted_function_cannot_be_specialized;;"%nd cannot be specialized because it is deleted"
ec_initializers_incompatible;;"initializer for %n is different in another translation unit"
ec_initializer_differs_in_other_trans_unit;;"initializer for %n was different during compilation of %sq"
ec_designator_for_template_dependent_type;;"a designator into a template-dependent type is not allowed"
ec_invalid_pragma_conform_kind;;"unrecognized conformance kind"
ec_exp_on_or_off;;"expected \"on\" or \"off\""
ec_forScope_stack_empty;;"#pragma conform(forScope) stack is empty"
ec_no_matching_forScope_stack_entry;;"no previous #pragma conform(forScope) entry matches %sq"
ec_show_pragma_conform_forScope_is_nonstandard;;"forScope behavior is nonstandard"
ec_show_pragma_conform_forScope_is_standard;;"forScope behavior is standard"
ec_deleted_main;;"function \"main\" cannot be deleted"
ec_useless_type_qualifiers_in_type_name;;"type qualifiers are meaningless here"
ec_invalid_assignment_operator_to_be_defaulted;;"invalid type for defaulted assignment operator"
ec_function_template_cannot_be_defaulted;;"function templates cannot be defaulted"
ec_invalid_constructor_to_be_defaulted;;"invalid type for defaulted constructor"
ec_call_requires_one_argument;;"function call requires one argument"
ec_call_requires_floating_point_argument;;"function call requires a real floating-point argument"
ec_copy_ctor_with_default_arg_cannot_be_defaulted;;"a copy constructor with a default argument cannot be defaulted"
ec_predeclared_function_cannot_be_deleted;;"a predeclared function cannot be deleted"
ec_empty_then_statement;;"empty dependent statement in if-statement"
ec_empty_else_statement;;"empty dependent statement in \"else\" clause of if-statement"
ec_deleted_elided_cctor;;"%nfd, required for copy that was eliminated, cannot be referenced -- it is a deleted function"
ec_main_first_param_not_int;;"nonstandard first parameter %t of \"main\", expected \"int\""
ec_main_wrong_num_params;;"nonstandard number of parameters for \"main\", expected zero or two parameters"
ec_main_second_param_wrong_type;;"nonstandard second parameter %t of \"main\", expected \"char *[]\" or \"char **\""
ec_incl_dir_both_sys_and_nonsys;;"%sq was specified as both a system and non-system include directory -- the non-system entry will be ignored"
ec_cl_rvalue_ctor_is_copy_ctor_option_only_in_cplusplus;;"option to control move constructors and move assignment operators can be used only when compiling C++"
REMOVED;ec_nonpublic_or_explicit_member_defaulted_in_class;;"a nonpublic or explicit member function cannot be defaulted in its parent class definition"
REMOVED;ec_packed_attribute_on_class_with_non_POD_field;;"\"packed\" attribute ignored on class with non-POD %nd"
ec_trailing_return_type_requires_auto;;"a trailing return type requires the \"auto\" type specifier"
ec_trailing_return_type_in_nested_declarator;;"a trailing return type cannot appear in a nested declarator"
ec_trailing_return_type_function_without_simple_auto;;"a function declarator with a trailing return type must be preceded by a simple \"auto\" type specifier"
ec_missing_trailing_return_type;;"\"auto\" function requires a trailing return type"
ec_pure_virtual_member_template;;"a member template cannot have a pure specifier" 
ec_excess_characters_in_literal_ignored;;"string literal too long -- excess characters ignored"
REMOVED;ec_cl_nullptr_option_only_in_cplusplus;;"option to control the nullptr keyword can be used only when compiling C++"
ec_nullptr_conv_to_bool;;"std::nullptr_t converted to bool"
REMOVED;ec_multiple_std_attr_groups;;"multiple standard attribute groups"
REMOVED;ec_attribute_takes_no_arguments;;"attribute %sq takes no arguments"
ec_invalid_empty_attribute_arg_list;;"attribute %sq does not allow an empty argument list"
ec_attr_twice_in_group;;"attribute appears more than once"
ec_wrong_entity_for_attribute;;"attribute %sq does not apply here"
ec_attr_disallows_bit_field;;"attribute %sq does not apply to bit fields"
ec_attr_requires_bit_field;;"attribute %sq requires a bit field"
ec_attr_disallows_member_function;;"attribute %sq does not apply to member functions"
ec_attr_requires_member_function;;"attribute %sq requires a member function"
ec_attr_disallows_virtual_function;;"attribute %sq does not apply to virtual functions"
ec_attr_requires_virtual_function;;"attribute %sq requires a virtual function"
ec_attr_disallows_pure_virtual_function;;"attribute %sq does not apply to pure virtual functions"
ec_attr_requires_pure_virtual_function;;"attribute %sq requires a pure virtual function"
ec_attr_disallows_register_storage;;"attribute %sq does not apply to register variables"
ec_attr_requires_register_storage;;"attribute %sq requires a register variable"
ec_attr_must_also_appear_in_first_declaration;;"attribute %sq did not appear on original declaration"
ec_invalid_attribute_location;;"attributes are not allowed here"
ec_attr_must_appear_in_class_definition;;"attribute %sq must appear in a class definition"
ec_pure_final_virtual;;"\"final\" applied to a pure virtual function"
ec_override_of_final_function;;"cannot override \"final\" %nd"
ec_undefined_static_function_treated_as_extern;;"static %n treated as extern because it was referenced but not defined"
ec_cl_gnu_c89_inlining_option_only_in_C;;"option to enable GNU-C89-style inlining can be used only when compiling C"
ec_first_decl_not_gnu_inline;;"function was previously declared without the \"gnu_inline\" attribute"
ec_gnu_inline_requires_inline;;"the \"gnu_inline\" attribute is ignored on non-inline functions"
ec_carries_dependency_not_on_first_decl;;"%n previously declared without the carries_dependency attribute"
ec_bad_array_member_initialization;;"invalid initializer for array %n"
ec_cl_must_specify_cpp11_mode;;"must specify C++11 or C++14 mode when building runtime library"
ec_attr_disallows_function_type;;"attribute %sq does not apply to function types"
ec_attr_requires_function_type;;"attribute %sq requires a function type"
ec_attribute_ignored_on_nonstatic_member_function;;"attribute %sq does not apply to nonstatic member functions"
ec_attr_disallows_automatic_storage;;"attribute %sq does not apply to automatic variables"
ec_attr_requires_automatic_storage;;"attribute %sq requires an automatic variable"
ec_attr_disallows_external_linkage;;"attribute %sq does not apply to a variable or function with external linkage"
ec_attr_requires_local_variable;;"attribute %sq requires a local variable"
ec_attributes_ignored;;"attributes ignored here"
ec_unattached_attribute;;"attribute does not apply to any entity"
ec_bad_attribute_template_substitution;;"bad attribute argument substitution"
ec_bad_tls_model_attr_arg;;"the argument of the \"tls_model\" attribute must be \"global-dynamic\", \"local-dynamic\", \"initial-exec\", or \"local-exec\""
ec_inconsistent_tls_model_attr_arg;;"the declaration %p specified a different \"tls_model\" argument"
ec_attr_disallows_inline;;"attribute %sq does not apply to inline functions"
ec_attr_requires_inline;;"attribute %sq requires a inline function"
ec_include_kind_mismatch;;"both file names in an include_alias pragma must use the same delimiter characters"
ec_signed_unsigned_comparison;;"comparison between signed and unsigned operands"
ec_attribute_ignored_on_unnamed_type;;"attribute %sq ignored on unnamed type"
ec_attribute_ignored_on_nondefinition;;"attribute %sq ignored because no definition follows"
ec_incompatible_thread_locality;;"thread locality is incompatible with a previous declaration of %nd"
ec_no_implicit_capture_on_enclosing_lambda;;"this enclosing-function local variable cannot be referenced in this lambda body because an enclosing lambda does not allow implicit captures"
ec_unbalanced_attribute_argument;;"this attribute argument contains unmatched parentheses, brackets, or braces"
ec_invalid_builtin_fpclassify_args;;"a call to __builtin_fpclassify requires five integral arguments followed by one floating-point argument"
ec_bad_final_builtin_fpclassify_arg;;"the last argument in a call to __builtin_fpclassify must have a real floating-point type"
ec_invalid_alignment_reducing_attr;;"alignment cannot be set to less than the default alignment"
ec_attribute_on_explicit_instantiation;;"attributes are not allowed on explicit instantiations"
ec_attr_disallows_definition;;"attribute %sq does not apply to a definition"
ec_attr_requires_definition;;"attribute %sq requires a definition"
ec_friend_attribute_requires_definition;;"standard attributes cannot appear on friend declarations that are not definitions"
ec_inconsistent_alignment;;"specified alignment (%s1) is different from alignment (%s2) specified on a previous declaration"
ec_variable_align_attr_not_on_definition;;"alignment attribute must also appear on definition %p"
ec_alias_used_in_type;;"%n may not be used in the type-id of the alias-declaration"
ec_alias_template;INTERNAL;"alias template"
ec_transparent_union_cannot_have_floating_first_field;;"%t cannot be transparent because its first field has a floating-point type"
ec_transparent_union_cannot_have_bit_field_first;;"%t cannot be transparent because its first field is a bit field"
ec_missing_override_attr_in_base_check_class;;"virtual function of a \"base_check\" class overrides a base class member but lacks the \"override\" attribute"
ec_hiding_attr_on_nonhiding_member;;"\"hiding\" attribute specified on a declaration that does not hide a base class declaration"
ec_hiding_attr_on_unhidden_member;;"\"hiding\" attribute specified on a declaration referred to by the using-declaration %p"
ec_hiding_attr_required;;"attribute \"hiding\" is required on a declaration (in a \"base_check\" class) that hides %nd"
ec_undefined_decl_using_local_type;;"%n is not defined in this translation unit but depends on a local type"
ec_undefined_decl_using_no_linkage_type;;"%n is not defined in this translation unit but depends on a type with no linkage"
ec_missing_attribute_in_other_translation_unit;;"attribute %sq is missing in another translation unit"
ec_conflicting_attribute_in_other_translation_unit;;"attribute %sq conflicts with another translation unit"
ec_cl_nonstd_gnu_keywords_requires_gnu_mode;;"the \"nonstd_gnu_keywords\" option is only valid in GNU C and GNU C++ modes"
ec_const_var_in_C_const_expr;;"use of a const variable in a constant expression is nonstandard in C"
ec_cannot_init_auto_flexible_array_member;;"an initializer cannot be specified for a flexible array member with automatic storage duration"
REMOVED;ec_bad_type_for_list_init;;"a list initializer is not allowed for type %t"
ec_final_base_class;;"a \"final\" class type cannot be used as a base class"
ec_export_removed;;"exported templates are no longer in the standard C++ language"
ec_template_dependent_designator;;"a template-dependent designator is not allowed"
ec_offsetof_ref_field;;"second operand of offsetof may not be a field with reference type"
ec_cl_long_lifetime_temps_incompat_with_newer_features;;"long lifetime temporaries are incompatible with other requested newer language features"
ec_wide_deprecation_string;;"wide character string literal will not be quoted in diagnostics"
ec_missing_attribute_arguments;;"missing arguments for attribute %sq"
ec_sfinae_requires_newer_abi_version;;"options \"c++11\" and \"c++11_sfinae\" require a different compiler configuration"
ec_template_param_pack_not_at_end;;"template parameter pack not at end of parameter list"
ec_parameter_pack_decl_not_allowed;;"a parameter pack declaration is not allowed here"
ec_param_pack_cannot_have_default;;"a parameter pack cannot have a default"
ec_cl_cppcli_only_in_microsoft_cplusplus;;"C++/CLI can be enabled only in Microsoft C++ mode"
ec_reserved_enumerator_name;;"\"value__\" cannot be used as the name of an enumerator constant (it is a reserved name in this context)"
ec_cppcli_enumerator_requires_explicit_value;;"an explicit enumerator value is required in an enum type with boolean underlying type"
REMOVED;ec_wchar_t_type_not_allowed;;"wchar_t type is not allowed"
ec_pack_not_expanded;;"parameter pack %sq was referenced but not expanded"
ec_expansion_contains_no_packs;;"pack expansion does not make use of any argument packs"
ec_pack_length_mismatch;;"pack %sq does not have the same number of elements as %sq2"
REMOVED;ec_pack_not_at_end;;"parameter pack must be the final parameter"
ec_vector_size_attribute_on_enum_type;;"vector_size attribute is not allowed with an enum type"
ec_virtual_static_property;;"a property cannot be both static and virtual"
ec_trivial_indexed_property;;"an indexed property cannot be trivial"
ec_invalid_property_accessor_decl;;"this declaration cannot appear in a property definition"
ec_qualified_cli_accessor;;"a qualified function type cannot be used to declare an accessor function"
ec_ellipsis_cli_accessor;;"an accessor function cannot have an ellipsis parameter"
ec_property_get_already_declared;;"a \"get\" accessor was already declared for this property %p"
ec_property_set_already_declared;;"a \"set\" accessor was already declared for this property %p"
ec_property_get_cannot_have_parameter;;"a \"get\" accessor cannot have a parameter"
ec_bad_property_get_return;;"return type of \"get\" accessor does not match property type"
ec_bad_property_set_return;;"return type of \"set\" accessor must be void"
ec_empty_property_indices;;"a property cannot declare an empty list of indices"
ec_void_property_index_type;;"a property index cannot have type void"
ec_property_set_index_type_mismatch;;"index type does not match the corresponding parameter in the \"set\" accessor"
ec_property_get_index_type_mismatch;;"index type does not match the corresponding parameter in the \"get\" accessor"
ec_property_set_index_type_missing;;"index type is missing in the \"set\" accessor"
ec_property_get_index_type_missing;;"index type is missing in the \"get\" accessor"
ec_property_set_missing_value_parameter;;"\"set\" accessor is missing its value parameter"
ec_extra_property_accessor_parameters;;"accessor function has too many parameters"
ec_property_set_value_parameter_mismatch;;"the last parameter of the \"set\" accessor does not match the property type"
ec_cppcli_not_enabled;;"%sq requires C++/CLI mode"
ec_win32_api_error;;"error in Win32 API \"%s\": %s"
ec_using_not_at_file_scope;;"#using may only be used at global scope"
ec_metadata;INTERNAL;"metadata"
ec_member_name_reserved_by_property;;"member name %sq is reserved by %nd"
ec_exp_lbracket;;"expected a \"[\""
ec_cl_microsoft_version_insufficient_for_cppcli;;"%[C++/CLI] mode requires microsoft_version >= 1600"
ec_static_default_indexed_property;;"a default-indexed property cannot be static"
ec_virtual_static_property_accessor;;"a property accessor cannot be both static and virtual"
ec_visibility_specifier_on_nested_type;;"a top-level visibility specifier cannot appear on a nested type declaration"
ec_visibility_specifier_requires_definition;;"a top-level visibility specifier requires a type definition"
ec_trivial_reference_property;;"a trivial property cannot have a reference type"
ec_trivial_const_or_volatile_property;;"a trivial property cannot have a const or volatile type"
ec_incompatible_enum_kinds;;"%nd was previously declared as a different kind of enum type"
ec_lambda_captures_managed_class_type;;"a variable captured by a lambda cannot have a %[managed] class type"
ec_covariant_override_in_managed_class;;"virtual function overriding with a covariant return type is not allowed in a %[managed] class"
ec_array_of_handle;;"array of handles is not allowed"
ec_handle_to_array;;"handle to array is not allowed"
ec_handle_to_function;;"handle to function is not allowed"
ec_handle_to_void;;"handle to void is not allowed"
ec_handle_to_address_type;;"handle to handle, pointer, or reference is not allowed"
ec_tracking_reference_to_function;;"tracking reference to function is not allowed"
REMOVED;ec_handle_field_in_standard_class;;"a field of a non-%[managed] class cannot be a handle"
ec_field_cannot_be_tracking_reference;;"a field cannot be a tracking reference"
ec_invalid_ref_tracking_ref_combination;;"a tracking reference cannot be combined with an ordinary reference in this way"
ec_static_storage_variable_with_ref_class_type;;"a variable with static storage duration cannot have a ref class type"
ec_unnamed_cli_managed_class_type;;"a %[managed] class cannot be unnamed"
ec_local_cli_managed_class_type;;"a %[managed] class cannot be local"
ec_conflicting_cli_class_type_kinds;;"%nd was previously declared as a different kind of class"
ec_conflicting_cli_class_template_kinds;;"%nd was previously declared as a different kind of class template"
ec_literal_requires_managed_class;;"literal data members can only be members of %[managed] classes"
ec_literal_without_initializer;;"a literal data member must be initialized"
ec_invalid_literal_type;;"a literal data member of type %t is not allowed"
ec_literal_const_has_no_effect;;"const has no effect on a literal data member"
ec_initonly_requires_managed_class;;"initonly data members can only be members of %[managed] classes"
ec_initonly_const_has_no_effect;;"const has no effect on an initonly data member"
ec_cli_get_accessor_missing;;"%nd has no \"get\" accessor"
ec_cli_set_accessor_missing;;"%nd has no \"set\" accessor"
ec_static_constructor_with_params;;"a static constructor cannot have parameters"
ec_static_constructor_member_template;;"a static constructor cannot be a member template"
ec_compound_lvalue_as_asm_operand;;"a compound lvalue is not allowed as an asm output operand"
ec_property_requires_managed_class;;"properties can only be members of %[managed] classes"
ec_qualifier_not_allowed_on_managed_member_function;;"a type qualifier is not allowed on a member function of a %[managed] class"
ec_pointer_to_ref_or_interface_class;;"an ordinary pointer to a %[C++/CLI] ref class or interface class is not allowed"
ec_reference_to_ref_or_interface_class;;"an ordinary reference to a %[C++/CLI] ref class or interface class is not allowed"
ec_override_name_must_be_a_base_class_member_function;;"override specifier does not name a base class member function"
ec_override_name_nonvirtual;;"override specifier designates a nonvirtual member %nd"
ec_multiple_overrides;;"member function overrides %nd1 which is already overridden by %nd2"
ec_multiple_visibility_specifiers;;"at most one visibility specifier is allowed"
ec_invalid_delegate_type;;"type %t used for delegate definition is not a function type"
ec_delegate_requires_managed_class;;"delegate member types can only be members of %[managed] classes"
ec_tracking_reference_to_delegate;;"a tracking reference to a delegate type is not allowed"
ec_bad_use_of_delegate_type;;"a delegate type is not allowed here"
ec_empty_pack_expansion;;"this pack expansion produced an empty list of expressions, and an expression is needed here"
ec_virtual_static_event;;"an event cannot be both static and virtual"
ec_event_requires_managed_class;;"events can only be members of %[managed] classes"
ec_invalid_event_accessor_decl;;"this declaration cannot appear in an event definition"
ec_invalid_event_type;;"event type must be a handle-to-delegate type"
ec_event_add_already_declared;;"an \"add\" accessor was already declared for this event %p"
ec_event_remove_already_declared;;"a \"remove\" accessor was already declared for this event %p"
ec_event_raise_already_declared;;"a \"raise\" accessor was already declared for this event %p"
ec_virtual_static_event_accessor;;"an event accessor cannot be both static and virtual"
ec_bad_event_add_or_remove_return;;"return type of \"add\" and \"remove\" accessors must be void"
ec_event_accessor_missing_value_parameter;;"event accessor is missing its value parameter"
ec_extra_event_accessor_parameters;;"accessor function has too many parameters"
ec_event_accessor_value_parameter_mismatch;;"the type %t1 of the parameter of the event accessor does not match the event type (%t2)"
ec_event_raise_type_mismatch;;"the type of the \"raise\" accessor does not match the event's delegate invocation type"
ec_missing_add_or_remove_accessor;;"an event definition must include both \"add\" and \"remove\" accessors"
ec_static_conversion_function_must_have_one_parameter;;"a static conversion function must accept exactly one argument"
ec_bad_parameter_type_for_static_member_operator;;"static operator must have a parameter type T, T&, T%%, or T^ with T = %t"
ec_sizeof_operand_not_parameter_pack;;"the operand of sizeof... must be a parameter pack name"
ec_sizeof_pack_in_non_variadic_context;;"the sizeof... operator can be used only in a variadic template"
ec_event_name_not_allowed;;"event name cannot appear here"
ec_handle_to_standard_class_type;;"a handle to a non-%[managed] class is not allowed"
ec_handle_to_unscoped_enum_type;;"a handle to an unscoped enum type is not allowed"
ec_property_attribute_in_managed_class;;"\"property\" attribute not allowed in %[managed] class"
ec_pure_virtual_definition;;"a pure specifier (\"= 0\") followed by a definition is nonstandard"
ec_managed_nullptr_not_allowed;;"the %[managed] nullptr type cannot be used here"
ec_addr_of_ref_class;;"the \"&\" operator cannot be used to take the address of an object with a ref class type"
ec_array_of_managed_class;;"array of %[managed] class is not allowed"
ec_static_storage_variable_with_handle_or_tracking_ref_type;;"a variable with static storage duration cannot have a handle or tracking reference type"
ec_lambda_captures_handle_or_tracking_ref;;"a variable captured by a lambda cannot be a handle or tracking reference"
ec_invalid_param_array_type;;"a %[C++/CLI] parameter array requires a handle to a one-dimensional %[cli::array] type"
ec_cannot_import_metadata;;"could not import metadata from file %sq"
ec_namespace_cli_cannot_be_extended;;"the cli namespace cannot be extended"
ec_cli_array_invalid_element_type;;"the element type of a %[cli::array] must be a handle or value type"
ec_cli_array_invalid_number_of_dimensions;;"invalid number of dimensions for %[cli::array] type"
ec_invalid_type_pointed_to_for_interior_ptr_or_pin_ptr;;"a cli::interior_ptr/cli::pin_ptr must point to a standard class, a value class, an integer, a handle, or a standard pointer"
ec_type_cannot_be_class_member;;"%t cannot be a class member"
ec_pin_ptr_param_not_allowed;;"a parameter of type cli::pin_ptr is not allowed"
ec_bad_finalizer_decl;;"invalid finalizer declaration"
ec_too_many_params_for_finalizer;;"a finalizer may not have parameters"
ec_function_qualifier_on_finalizer;;"a type qualifier is not allowed on a finalizer"
ec_return_type_on_finalizer;;"a return type may not be specified on a finalizer"
ec_no_finalizer_using_declaration;;"a using-declaration may not name a finalizer"
ec_finalizer_name_must_be_qualified;;"a finalizer name must be qualified"
ec_finalizer_qualifier_type_mismatch;;"qualifier of finalizer name %t1 does not match type %t2"
ec_var_used_as_finalizer;;"%n cannot be used to name a finalizer (a type name is required)"
ec_invalid_finalizer_name;;"invalid finalizer name for type %t"
ec_ambiguous_finalizer;;"finalizer reference is ambiguous -- both %n1 and %n2 could be used"
ec_finalizer_requires_reference_type;;"a finalizer can only be a member of a ref class"
REMOVED;ec_finalizer_name_mismatch;;"finalizer name does not match name of class %t"
ec_finalizer_type_mismatch;;"type used as finalizer name does not match type %t"
ec_finalizer_does_not_exist;;"a finalizer does not exist for this type"
ec_handle_of_non_managed;;"the \"%%\" operator can be used only on an object with a %[managed] class type"
ec_ptr_handle_or_ref_to_interior_ptr;;"a pointer, handle, or reference to a cli::interior_ptr is not allowed"
ec_ptr_handle_or_ref_to_pin_ptr;;"a pointer, handle, or reference to a cli::pin_ptr is not allowed"
ec_ptr_or_ref_to_cli_array;;"a pointer or reference to a %[C++/CLI] array is not allowed"
ec_bad_use_of_cli_array_type;;"a %[C++/CLI] array type is not allowed here"
ec_invalid_ref_class_base;;"a %[C++/CLI] ref class can only derive from another ref class or from interface classes"
ec_invalid_value_class_base;;"a %[C++/CLI] value class can only derive from interface classes"
ec_invalid_interface_class_base;;"a %[C++/CLI] interface class can only derive from interface classes"
ec_ref_class_has_multiple_ref_bases;;"a ref class can have at most one direct ref base class (%t is already such a base)"
ec_managed_base_for_standard_class;;"a standard class cannot derive from a %[managed] class"
ec_virtual_base_for_managed_class;;"a %[managed] class cannot have a virtual base"
ec_managed_class_type_cannot_have_private_or_protected_base;;"a %[managed] class cannot have a \"private\" or \"protected\" base"
ec_override_requires_virtual;;"the \"override\" modifier requires a virtual function declaration with an explicit \"virtual\" keyword"
ec_abstract_requires_virtual;;"the \"abstract\" modifier requires a virtual function declaration with an explicit \"virtual\" keyword"
ec_sealed_requires_virtual;;"the \"sealed\" modifier requires a virtual function declaration with an explicit \"virtual\" keyword"
ec_named_override_requires_virtual;;"a named override specifier requires a virtual function declaration with an explicit \"virtual\" keyword"
ec_pin_ptr_return_type_not_allowed;;"a cli::pin_ptr return type is not allowed"
ec_cppcli_attribute_only;;"attribute %sq applies in %[C++/CLI] mode only"
ec_normal_ref_bound_to_gc_lvalue;;"a simple (non-tracking) reference cannot be bound to an entity on the managed heap"
ec_portable_assembly;INTERNAL;"portable assembly"
ec_cli_entity_not_loaded;;"\"%s\" not loaded from default assemblies"
ec_list_initializer_nonstandard_in_current_mode;;"list initialization syntax is a C++11 feature"
ec_sizeof_ref_or_interface_class;;"operand of sizeof may not be a ref class type or interface class type"
ec_cli_array_invalid_number_of_subscripts;;"invalid number of subscripts for this %[cli::array] type"
ec_ptr_to_member_of_managed_class;;"a pointer-to-member is not valid for a %[managed] class"
ec_private_virtual_member_function_not_sealed;;"private virtual member function of %[managed] class is not \"sealed\""
ec_modifier_not_allowed_on_destructor;;"modifier is not allowed on a destructor"
ec_modifier_not_allowed_on_finalizer;;"modifier is not allowed on a finalizer"
ec_virtual_has_no_effect;;"\"virtual\" has no effect on a destructor of a %[managed] class"
ec_new_or_override_required;;"\"new\" or \"override\" is required because this declaration matches %nd"
ec_new_or_virtual_required;;"\"new\" or \"virtual\" is required because this declaration matches %nd"
ec_override_for_interface_member;;"\"new\" or \"override\" are not valid here because the matching %nd is a member of an interface"
ec_new_requires_matching_base_member;;"\"new\" modifier without a matching base ref class member"
ec_overriding_reduces_accessibility_in_managed_type;;"%nd overridden with reduced access"
ec_bad_tracking_ref_init;;"a reference of type %t1 cannot be initialized with a value of type %t2"
ec_copy_constructor_in_value_class_type;;"a copy constructor cannot be declared in a value class"
ec_default_constructor_in_value_class_type;;"a default constructor cannot be declared in a value class"
ec_destructor_in_value_class_type;;"a destructor cannot be declared in a value class"
ec_assignment_in_value_class_type;;"an assignment operator cannot be declared in a value class"
ec_nonvalue_class_type_cannot_be_value_class_member;;"non-value class %t cannot be the type of a member of a value class"
ec_cppcli_requires_newer_abi_version;;"option \"cppcli\" requires a different compiler configuration"
ec_managed_member_exception_spec;;"exception specifications are not allowed on member functions of %[managed] classes"
ec_managed_class_cannot_have_friend;;"a %[managed] class cannot declare a friend"
REMOVED;ec_standard_array_field_in_managed_class;;"a field of a %[managed] class cannot be a standard array"
REMOVED;ec_nested_class_mixes_standard_and_managed_classes;;"a %[managed] class cannot be nested in a standard class, and vice versa"
ec_local_class_in_managed_member_function;;"a local class definition is not allowed in a member function of a %[managed] class"
ec_local_lambda_in_managed_member_function;;"a local lambda is not allowed in a member function of a %[managed] class"
ec_cli_interface_member_function_definition;;"a member function of a %[C++/CLI] interface class type cannot have a definition"
ec_missing_get_and_set_accessors;;"a property definition must include at least one accessor (\"get\" or \"set\")"
ec_subscript_mechanism_conflict;;"default-indexed property conflicts with %nd"
ec_unusable_pack;;"%n1 cannot be used because it follows a parameter pack and cannot be deduced from the parameters of %n2"
ec_excess_pack_expansion;;"this pack expansion produced more than one expression, and a single expression is needed here"
ec_cli_enum_base_has_no_system_counterpart;;"type must correspond to System::Boolean, System::Byte, System::SByte, System::Int16, System::UInt16, System::Int32, System::UInt32, System::Int64, or System::UInt64"
ec_bad_call_of_handle;;"call of an object of a handle type without appropriate operator() or conversion functions to pointer-to-function type"
ec_abstract_declarator_pack_is_nested;;"an unnamed parameter pack declaration cannot be parenthesized"
ec_cl_variadic_templates_only_in_cplusplus;;"variadic templates can be enabled only when compiling C++"
ec_conflicting_properties;;"property definition conflicts with %nd"
ec_property_set;INTERNAL;"overloaded property"
ec_property;INTERNAL;"property"
ec_generic_param_cannot_have_default;;"a generic parameter cannot have a default"
ec_bad_param_kind_for_generic;;"a generic can only have type parameters"
ec_for_each_missing_function;;"to be used with \"for each\" statements, type %t must provide nonstatic member function %sq"
ec_for_each_static_function;;"\"for each\" cannot use member %n because it is static"
ec_for_each_no_matching_overload;;"in this \"for each\" statement, no instance of %no is callable with an empty argument list"
ec_for_each_invalid_return_type_for_move_next;;"\"for each\" cannot use member function \"MoveNext\" because the return type is invalid"
ec_for_each_incompatible_type;;"a \"for each\" statement cannot operate on an expression of type %t"
ec_for_each_missing_field;;"to be used with \"for each\" statements, type %t must provide a non-indexed property %sq"
REMOVED;ec_for_each_inaccessible_field;;"\"for each\" cannot use %n because it is not public"
ec_for_each_getenumerator_return_type_invalid;;"in this \"for each\" statement, %t2 is not a valid enumerator (returned by \"GetEnumerator\" of %t1)"
ec_exp_in;;"expected \"in\""
ec_no_suitable_synthesis_assignment_operator;;"class %t has no suitable assignment operator (after operator synthesis)"
ec_not_a_generic_param;;"%sq is not a generic parameter"
ec_not_generic_param_of_curr_decl;;"%sq is not a generic parameter of the innermost generic parameter list"
ec_invalid_constraint;;"invalid generic constraint"
ec_invalid_event_use;;"invalid use of event member (only subscription, unsubscription, and invocation are allowed)"
ec_event_without_raise_invoked;;"invoking an event with no \"raise\" accessor is invalid"
ec_bad_event_compound_assignment;;"only \"+=\" and \"-=\" are valid for events"
ec_typeid_of_managed_type;;"typeid of a %[managed] type is not allowed"
ec_cli_typeid_of_managed_pointer;;"typeid of a %[managed] pointer type is not allowed"
ec_name_before_typeid_not_type;;"name followed by \"::typeid\" must be a type name"
ec_reserved_dispose;;"a member %sq of this type is reserved within a %[managed] class -- destructor intended?"
ec_reserved_finalize;;"a member %sq of this type is reserved within a %[managed] class -- finalizer intended?"
ec_invalid_idisposable_dispose;;"%[System]::IDisposable::Dispose is missing or invalid"
ec_invalid_object_finalize;;"%[System]::Object::Finalize is missing or invalid"
ec_finalize_does_not_override_object_finalize;;"%n does not override %[System]::Object::Finalize"
ec_bad_handle_dynamic_cast_operand;;"the operand of a handle dynamic_cast must be a handle to a complete class type"
ec_bad_tracking_ref_dynamic_cast_operand;;"the operand of a tracking-reference dynamic_cast must be an lvalue of a complete class type"
ec_bad_cli_dynamic_cast_type;;"the type in a dynamic_cast to a handle or tracking reference type must refer to a complete class"
ec_cast_interior_ptr_to_ptr;;"an interior pointer cannot be cast to a native pointer"
ec_cppcli_explicit_conversion_only_in_ref_and_value_classes;;"explicit conversion operators can only be declared in ref and value class types"
ec_cppcli_explicit_conversion_is_virtual;;"explicit conversion operator cannot be virtual"
ec_expr_not_arithmetic_or_unscoped_enum;;"expression must have arithmetic or unscoped enum type"
ec_expr_not_arithmetic_or_unscoped_enum_or_pointer;;"expression must have arithmetic, unscoped enum, or pointer type"
ec_expr_not_integral_or_unscoped_enum;;"expression must have integral or unscoped enum type"
ec_expr_not_integral_or_unscoped_enum_or_fixed_point;;"expression must have integral, unscoped enum, or fixed-point type"
ec_scoped_enum_operation_type_mismatch;;"a built-in binary operator applied to a scoped enumeration requires two operands of the same type"
ec_invalid_gcnew_type;;"%[gcnew] cannot allocate an entity of type %t"
ec_gcnew_used_with_placement_syntax;;"placement syntax cannot be used with %[gcnew]"
ec_new_used_on_unsuitable_value_type;;"new can only be used with simple value types"
ec_new_used_on_managed_class_type;;"new cannot be used on a %[managed] class (%[gcnew] should be used instead)"
ec_new_used_on_handle_or_tracking_reference_type;;"new cannot be used on a handle type"
ec_cli_array_must_have_new_or_array_init;;"%[gcnew] for a %[C++/CLI] array must have a new initializer or an array initializer"
ec_gcnew_bad_type_used_with_array_init;;"an array initializer can only be used to initialize a %[C++/CLI] array type"
ec_gcnew_used_with_auto_syntax;;"%[gcnew] does not allow auto"
ec_too_many_array_bounds;;"too many array bounds"
ec_too_few_array_bounds;;"too few array bounds"
ec_too_few_generic_args;;"too few arguments for %nf"
ec_too_many_generic_args;;"too many arguments for %nf"
ec_generic_class;INTERNAL;"generic class"
ec_no_matching_arity;;"no declaration of %nf accepts the number of generic arguments supplied"
ec_bad_function_for_delegate;;"invalid delegate initializer -- must be a function"
ec_ambiguous_function_for_delegate;;"invalid delegate initializer -- more than one function matches the delegate type"
ec_mismatched_function_for_delegate;;"invalid delegate initializer -- function does not match the delegate type"
ec_missing_delegate_object;;"invalid delegate initializer -- an object is needed in addition to a function"
ec_nonmanaged_function_for_delegate;;"invalid delegate initializer -- function is not a member of a %[managed] class"
ec_superfluous_delegate_object;;"invalid delegate initializer -- object is not needed for the specified function"
ec_incompatible_delegate_object;;"invalid delegate initializer -- object has type %t1 but type %t2 is expected"
ec_address_of_managed_member_function;;"taking the address of a member function of a %[managed] class is not allowed"
ec_bad_delegate_init_list;;"invalid delegate initializer -- expected either \"(<function-address>)\" or \"(<object-handle>, <member-address>)\""
ec_interface_not_implemented;;"class fails to implement interface member %nd"
ec_gcnew_of_native_array;;"%[gcnew] cannot be used to allocate a native array"
ec_cli_interface_cannot_have_assignment;;"a %[C++/CLI] interface class cannot declare an assignment operator"
ec_sealed_cli_interface;;"a %[C++/CLI] interface class cannot be sealed"
REMOVED;ec_virtual_required;;"\"virtual\" is required because this declaration matches %nd"
ec_destructor_or_finalizer_with_named_override;;"a destructor or finalizer declaration cannot include a named override specifier"
ec_override_name_is_destructor_or_finalizer;;"an override specifier cannot designate a destructor or finalizer"
ec_named_override_requires_managed_type;;"a named override specifier is allowed only in a %[managed] class"
ec_named_override_type_mismatch;;"no member designated by the named override specifier matches the type of this member"
ec_static_constructor_with_named_override;;"a static constructor declaration cannot include a named override specifier"
ec_unnamed_scoped_enum;;"a scoped enum type must have a name"
ec_branch_into_finally;;"transfer of control into a finally block is not allowed"
ec_return_from_finally;;"return statement inside a finally block is not allowed"
ec_missing_finally;;"try block requires at least one handler or finally clause"
ec_managed_object_not_thrown_by_handle;;"a %[managed] object must be thrown by handle"
ec_managed_object_not_caught_by_handle;;"a %[managed] object must be caught by handle"
ec_break_cannot_be_in_finally_block;;"a break statement cannot be used in a finally block"
ec_continue_cannot_be_in_finally_block;;"a continue statement cannot be used in a finally block"
ec_no_overloaded_subscript_with_offsetof;;"builtin offsetof cannot be used when subscripting is overloaded"
ec_duplicate_constraint;;"duplicate constraint"
ec_multiple_class_constraints;;"more than one class constraint: %t1 and %t2"
ec_multiple_constraint_clauses;;"more than one constraint clause for %n"
ec_initonly_static_data_member_not_initialized;;"initonly static data members must have an initializer or be initialized in a static constructor"
ec_gnu_attr_on_template_redecl;;"GNU attributes on a template redeclaration have no effect"
ec_gnu_attr_on_template_redecl_but_original_kept;;"GNU attributes on a template redeclaration have no effect (the attributes of the original declaration %p apply instead)"
ec_cli_param_array_must_be_last_parameter;;"a %[C++/CLI] parameter array must be the last parameter"
ec_default_arg_used_in_param_array_function;;"a function with a %[C++/CLI] parameter array cannot have default arguments"
ec_ellipsis_after_param_array;;"a %[C++/CLI] parameter array cannot be followed by an ellipsis parameter"
ec_parameter_array_on_operator_function;;"a %[C++/CLI] parameter array is not allowed in an operator function parameter list"
ec_microsoft_inline_not_allowed_here;;"__inline and __forceinline are not allowed here"
ec_data_member_with_interface_type;;"a data member cannot have a %[C++/CLI] interface class type"
ec_variable_with_interface_type;;"a variable cannot have a %[C++/CLI] interface class type"
ec_parameter_with_interface_type;;"a parameter cannot have a %[C++/CLI] interface class type"
ec_return_type_is_interface;;"a function return type cannot be a %[C++/CLI] interface class type"
ec_array_of_generic_param;;"an array of generic parameter type is not allowed"
ec_ptr_handle_or_ref_to_generic_param;;"a pointer, handle, or reference to a generic parameter type is not allowed"
ec_ref_class_initonly_field;;"an initonly field cannot have a ref class type"
ec_ref_bound_to_initonly_field;;"a reference cannot be bound to an initonly field"
ec_address_of_initonly_field;;"taking the address of an initonly field is not allowed"
ec_modification_of_initonly_field;;"an initonly field can only be modified by the instance constructor of its containing class"
ec_modification_of_static_initonly_field;;"a static initonly field can only be modified by the static constructor of its containing class"
ec_member_function_call_on_initonly_field;;"member function will be invoked on a copy of the initonly field"
ec_expr_not_pointer_nor_handle;;"expression must have pointer or handle type but it has type %t"
ec_move_ctor_or_assign_copy_of_lvalue;;"a move constructor or move assignment operator is used to copy an lvalue here, which may destroy the source object"
ec_generic_selection_with_points_to;;"member selection on a %[C++/CLI] generic entity must use the \"->\" syntax, not \".\""
ec_invalid_specific_ref_class_base;;"a ref class type cannot derive from %t"
ec_generic_class_must_be_managed;;"a generic class must be %[managed] (i.e., a ref class, a value class, or an interface class)"
ec_sealed_constraint;;"a sealed class cannot be used as a constraint"
ec_dynamic_cast_to_value_generic;;"the type in a dynamic_cast cannot be a generic type that might be a value type"
ec_UCN_names_invalid_code_point;;"a universal character name must designate a valid code point"
ec_override_with_constraint_mismatch;;"generic constraints do not match those of %nd"
ec_bad_argument_for_underlying_type;;"__underlying_type only applies to enum types"
ec_too_many_cast_operands;;"expected only one operand expression for this cast"
ec_bad_unicode_char_in_string;;"Unicode character with hex value %s not representable in the system default code page"
ec_conv_of_pm_to_func_ptr;;"nonstandard conversion of bound pointer-to-member to a function pointer"
ec_deprecated_access_specifier;;"access specifier %s1 is deprecated -- use %s2 instead"
ec_static_accessor_in_nonstatic_property_or_event;;"a static accessor function is not permitted in a nonstatic property or event definition"
ec_both_ref_and_value_constraints;;"%t has both a value class and ref class constraint"
ec_circular_constraints;;"%t1 and %t2 involve circular naked type constraints"
ec_invalid_type_constraint;;"%t is not a valid type constraint"
ec_pch_file_incomplete;;"precompiled header file %sq not used (because it is incomplete)"
ec_invalid_generic_arg;;"%t is not a valid generic argument"
ec_bad_assembly_info_attribute;;"assembly_info attribute applied to an invalid type"
ec_ref_class_not_satisfied;;"%t1 does not satisfy the ref class constraint of generic parameter %t2"
ec_value_class_not_satisfied;;"%t1 does not satisfy the value class constraint of generic parameter %t2"
ec_gcnew_and_abstract;;"%t1 does not satisfy the %[gcnew] constraint of generic parameter %t2 because it is abstract"
ec_gcnew_and_no_ctor;;"%t1 does not satisfy the %[gcnew] constraint of generic parameter %t2 because it does not have a public default constructor"
ec_gcnew_and_no_gcnew;;"generic parameter %t1 does not satisfy the %[gcnew] constraint of generic parameter %t2 because it does not have the %[gcnew] constraint"
ec_type_not_satisfied;;"%t1 does not satisfy the %t3 type constraint of generic parameter %t2"
ec_constraint_mismatch;;"constraint on generic parameter %t differs from previous declaration (%p)"
ec_standard_array_member_in_managed_class;;"a member of a %[managed] class cannot be a standard array"
ec_handle_member_in_standard_class;;"a member of a non-%[managed] class cannot be a handle"
ec_tracking_reference_member_in_standard_class;;"a member of a non-%[managed] class cannot be a tracking reference"
ec_reinterpret_cast_of_handle;;"unsafe reinterpret_cast of handle"
ec_generic_type_in_template_arg;;"a template argument may not reference a generic type parameter"
ec_comma_operator_in_cli_subscript;;"an expression list is not allowed in this subscript operation (use parentheses around a top-level comma operator)"
ec_expr_not_pointer_or_array_handle;;"expression must have pointer-to-object or handle-to-%[C++/CLI]-array type but it has type %t"
ec_unrecognized_ms_attr;;"unrecognized attribute"
ec_standard_class_member_in_managed_class;;"a member of a %[managed] class cannot be of a non-%[managed] class type"
ec_ref_or_interface_class_member_in_standard_class;;"a member of a non-%[managed] class cannot have a ref class type or interface class type"
ec_in;INTERNAL;"in "
ec_template_delegate;;"a delegate may not be declared as a template"
ec_invalid_generic_specialization;;"a generic cannot be explicitly specialized"
ec_generic_in_template;;"a generic cannot be declared in a class template"
ec_template_in_generic;;"a template cannot be declared in a generic class"
ec_static_literal_field;;"a literal field cannot be declared \"static\""
ec_nonstandard_long_float;;"\"long float\" is a nonstandard extension -- use \"double\" instead"
ec_standard_class_nested_in_managed_class;;"a standard class cannot be nested in a %[managed] class"
ec_clrcall_requires_cppcli;;"__clrcall is valid only in C++/CLI mode"
ec_vararg_clrcall;;"__clrcall not allowed on function with ellipsis parameter"
ec_bad_use_of_function_modifier;;"%sq is not allowed here"
ec_override_with_trivial_property_or_event;;"a trivial property or event cannot be used to override %nd"
ec_exp_id_in_for_each_decl;;"expected an iterator variable name"
ec_missing_notequal_on_for_each_type;;"the iterator type in this \"for each\" statement is %t, which is not a pointer type or an iterator-like class type"
ec_missing_incr_on_for_each_type;;"the iterator type in this \"for each\" statement is %t, which is not a pointer type or an iterator-like class type"
ec_missing_indirect_on_for_each_type;;"the iterator type in this \"for each\" statement is %t, which is not a pointer type or an iterator-like class type"
ec_no_packing_of_non_POD_field;;"packing attribute on the parent type is ignored for this field of class type %t that is not standard-layout"
ec_nonpublic_implicit_interface_match;;"%nd not implemented because this declaration is not public and has no named override specifier"
ec_missing_gnu_inline_attr_on_redeclaration;;"this declaration is missing the gnu_inline attribute specified in the previous declaration %p"
ec_managed_member_function_cannot_have_ellipsis_parameter;;"a member function of a %[managed] class cannot have an ellipsis parameter"
ec_invalid_prev_decl_iterator;;"previously-declared %n invalid as iterator of \"for each\" statement"
ec_generic_parameter_requires_clrcall;;"calling convention ignored because the function type involves a generic parameter; __clrcall used instead"
ec_generic_parameter_does_not_permit_varargs;;"a function type involving a generic parameter cannot have an ellipsis parameter"
ec_virtual_required_for_base_override;;"\"virtual\" is required to override the matching %nd"
ec_virtual_required_for_interface_implementation;;"\"virtual\" is required to implement the matching %nd"
ec_initonly_volatile_not_allowed;;"an initonly data member cannot be volatile"
ec_member_name_reserved_by_cli_operator;;"a member %sq of this type is reserved within a %[managed] class -- %[C++/CLI] operators must be declared using the keyword \"operator\""
ec_tracking_ref_to_constant;;"a tracking reference to non-const cannot be bound to a constant"
ec_attributes_with_no_decl;;"attributes ignored here because they do not apply to a declared entity"
ec_tracking_reference_to_system_string;;"a tracking reference to %[System]::String is not allowed"
ec_use_of_generic_class_with_pending_constraint;;"invalid use of a generic class %t with pending constraints (probably caused by an invalid metadata file)"
ec_invalid_entity_for_pending_constraint;;"a pending constraint clause is only allowed for generic class declarations (but not generic class definitions)"
ec_invalid_empty_initializer_list;;"empty initializer list not allowed here"
ec_template_in_managed_class;;"a template cannot be declared in a %[managed] class"
ec_bad_generic_declaration_scope;;"a generic declaration is not allowed here"
ec_interface_cannot_have_member_generics;;"interface types cannot have member generics"
ec_character_not_latin_1;;"Unicode character not Latin-1, truncated to low-order byte"
ec_range_based_for_missing_function;;"to be used with range-based \"for\" statements, type %t must provide function %sq"
ec_missing_notequal_on_range_based_for_type;;"the iterator type in this range-based \"for\" statement is %t, which is not a pointer type or an iterator-like class type"
ec_missing_incr_on_range_based_for_type;;"the iterator type in this range-based \"for\" statement is %t, which is not a pointer type or an iterator-like class type"
ec_missing_indirect_on_range_based_for_type;;"the iterator type in this range-based \"for\" statement is %t, which is not a pointer type or an iterator-like class type"
ec_range_based_for_incomplete_array_type;;"a range-based \"for\" statement cannot operate on an array of unknown size or incomplete type %t"
ec_begin_end_type_mismatch_in_range_based_for;;"return types for \"begin\" and \"end\" functions used in a range-based \"for\" statement must be the same (\"begin\" return type is %t1, \"end\" return type is %t2)"
ec_inaccessible_elided_dtor;;"%nfd, required to destroy temporary that was eliminated, is inaccessible"
ec_range_based_for_no_matching_overload;;"in this range-based \"for\" statement, no instance of %no matches the argument list"
ec_range_based_for_undefined_identifier;;"this range-based \"for\" statement requires a suitable %sq function and none was found"
ec_for_each_undefined_identifier;;"this \"for each\" statement requires a suitable %sq function and none was found"
ec_class_metadata_not_representable;;"%t has a metadata representation not representable using %[C++/CLI]"
ec_exp_ellipsis;;"expected \"...\""
ec_implements_requires_interface;;"%t in __implements list is not an interface"
ec_implements_must_precede_virtual_functions;;"an __implements list must precede virtual function declarations"
ec_missing_implements_list;;"%t specified \"__implements ...\" in its list of bases, but is missing a matching __implements list"
ec_unused_dereference_of_ref_class;;"the result of dereferencing a handle to a ref or interface class type must be used"
REMOVED;ec_cl_old_for_init_cannot_be_used_with_cpp11;;"old for-init compatibility mode cannot be used with C++11 mode"
ec_exp_rparen_and_pragma_ignored;;"expected a \")\"; pragma ignored"
ec_using_or_access_declaration_in_managed_class;;"a using-declaration or access declaration cannot appear in a managed class"
ec_skipped_inaccessible_function;;"Note: %nd could have been called but was not considered because it is inaccessible"
ec_cli_abstract_member_function_definition;;"an abstract member function of a C++/CLI managed class cannot have a definition"
ec_nonstatic_addressof_operator_in_managed_class;;"declaring this unary \"operator*\" can change the meaning of dereferencing a handle (use static member operators to explicitly indicate applicable types)"
ec_managed;INTERNAL;"managed"
ec_cppcx;INTERNAL;"C++/CX"
ec_cppcli;INTERNAL;"C++/CLI"
ec_cppcx_mapping;INTERNAL;"C++/CX mapping"
ec_default;INTERNAL;"default"
ec_cli_mapping;INTERNAL;"cli mapping"
ec_cli_array;INTERNAL;"cli::array"
ec_platform_array;INTERNAL;"Platform::Array"
ec_cppcli_array;INTERNAL;"C++/CLI array"
ec_cppcx_array;INTERNAL;"C++/CX array"
ec_system;INTERNAL;"System"
ec_platform;INTERNAL;"Platform"
ec_gcnew;INTERNAL;"gcnew"
ec_ref_new;INTERNAL;"ref new"
ec_interface_nonstatic_data_member;;"an interface class cannot contain a nonstatic data member"
ec_pragma_gcc_system_header_in_primary_file;;"#pragma GCC system_header cannot be used in the primary source file"
ec_too_large_to_inline;;"%n is too large to be inlined"
ec_declared_implicitly;INTERNAL;" (declared implicitly)"
ec_cl_gen_move_operations_option_only_in_cplusplus;;"option to control move operations can be used only when compiling C++"
ec_cl_gen_move_operations_and_rvalue_ctor_is_copy_ctor;;"move operations cannot be generated when rvalue constructors are copy constructors"
ec_cl_move_operations_require_rvalue_references;;"option to control move operations cannot be used when rvalue references are disabled"
ec_final_managed_class;;"\"final\" cannot be used for managed classes (use \"sealed\" instead)"
ec_cast_to_cli_interface_class;;"a cast to CLI interface class %t is not allowed -- cast to handle intended?"
ec_new_of_cli_interface_class;;"cannot create an object of a CLI interface class"
ec_enum_type_replacement;;"this declaration hides the nonstandard declaration of %nd because the underlying types are incompatible"
ec_known_comparison_with_null;;"pointer comparison result is constant, because operand can never be null"
ec_value_init_of_incomplete;;"an object of the incomplete type %t cannot be value-initialized"
ec_value_init_of_reference;;"a reference cannot be value-initialized"
ec_exp_lparen_or_brace;;"expected a \"(\" or a \"{\""
ec_explicit_ctor_in_copy_list_init;;"copy-list-initialization cannot use a constructor marked \"explicit\""
ec_ptr_to_member_of_type_void;;"pointer to member of type void is not allowed"
ec_ptr_to_member_of_reference_type;;"pointer to member of reference type is not allowed"
ec_ptr_to_member_of_handle_type;;"pointer to member of handle type is not allowed"
ec_braced_init_list_not_allowed;;"a brace-enclosed list is not allowed here"
ec_arrow_star_operator_in_managed_class;;"an operator->* member is not allowed in a managed class"
ec_bad_assembly_index;;"assembly metadata refers to non-existent assembly"
ec_attribute_conflict;;"attribute %sq2 conflicts with earlier attribute %sq1"
ec_incompatible_enum_base_types;;"%nd was previously declared with a different base type"
ec_invalid_scoped_enum_elaboration;;"\"enum class\" and \"enum struct\" cannot be used here (use plain \"enum\" instead)"
ec_extra_braces_on_simple_init;;"only one level of braces is allowed on an initializer for an object of type %t"
ec_not_an_enum_type_name;;"%nd cannot be used as an enum type name"
REMOVED;ec_lambda_returns_with_diff_types;;"in a lambda with an implicit return type, all return statements must return the same type"
ec_auto_new_with_braced_init;;"a braced-initializer cannot be used with \"new auto\""
ec_missing_initializer_list_ctor;;"the definition of std::initializer_list does not contain the expected constructor"
ec_variable_hides_entity;;"declaration hides %nd"
ec_invalid_std_initializer_list_parameter_list;;"invalid template parameter list for std::initializer_list (it should be one ordinary type parameter with no default)"
ec_braced_list_passed_to_ellipsis;;"a brace-enclosed list cannot be passed for an ellipsis parameter"
ec_initializer_list_not_included;;"an #include <initializer_list> is needed prior to a use of std::initializer_list, including an implicit use"
ec_inline_on_alias;;"the \"inline\" keyword cannot be used on a namespace alias declaration"
ec_prev_ns_not_inline;;"the previous declaration of %n was not declared inline"
ec_prev_ns_inline;;"%n was previously declared inline"
ec_first_arg_must_be_integer_constant;;"the first argument must be an integer constant"
ec_designator_requires_aggregate_type;;"a designator cannot be used with a non-aggregate type %t"
ec_indirect_anon_union_designator;;"a designator for an anonymous union member can only appear within braces corresponding to that anonymous union"
ec_cl_func_prototype_tags_option_only_in_C;;"function prototype tags can only be enabled when compiling C"
ec_cannot_elide_braces;;"braces cannot be omitted for this subobject initializer"
ec_narrowing_conversion;;"invalid narrowing conversion from %t1 to %t2"
ec_constant_narrowing_conversion;;"invalid narrowing conversion from %t1 to %t2: constant value does not fit in destination type"
ec_cast_to_incomplete_array_type;;"cast to incomplete array type %t is not allowed"
ec_constant_narrowing_conversion_to_float;;"invalid narrowing conversion from %t1 to %t2: constant value cannot be represented exactly in destination type"
ec_braced_init_in_paren_init;;"a parenthesized initializer for a non-class entity must be an expression, not a brace-enclosed list"
ec_braced_list_for_implicit_lambda_type;;"a brace-enclosed list does not provide a return type for this lambda"
ec_invalid_explicit_exception_specification;;"the declared exception specification is incompatible with the generated one"
ec_scoped_enum_nonstandard_in_current_mode;;"scoped enum types are a C++11 feature"
ec_value_init_of_function;;"a function type cannot be value-initialized"
ec_list_init_of_incomplete;;"list-initialization of an object type %t is not allowed because the type is incomplete"
ec_std_initializer_list_has_dtor;;"std::initializer_list has a destructor, and is not supposed to -- library is misconfigured"
ec_explicit_enum_base_nonstandard_in_current_mode;;"explicit enum base types are a C++11 feature"
ec_unconvertible_con_expr;;"this constant expression has type %t1 instead of the required %t2 type"
ec_new_of_initializer_list;;"a \"new\" of an std::initializer_list object is unlikely to work as expected because the underlying array will be destroyed at the end of the full expression"
ec_predef_macro_file;INTERNAL;"In predefined macro file"
REMOVED;ec_noexcept_not_on_function_declaration;;"\"noexcept\" is ignored on a function type that is not the type of a function declaration"
ec_defined_always_false;;"\"defined\" is always false in a macro expansion in Microsoft mode"
ec_init_list_element_type_not_complete_object;;"%t cannot be the element type of an initializer list because it is not a complete object type"
ec_invalid_default_arg;;"mismatched delimiters in default argument expression"
ec_conv_of_unbound_pm_to_func_ptr;;"nonstandard conversion of pointer-to-member to a function pointer"
ec_dynamic_exception_specifications_deprecated;;"dynamic exception specifications are deprecated"
ec_bad_scope_for_partial_spec;;"%n cannot be partially specialized in the current scope"
ec_previous_constexpr_decl_conflict;;"%nd was previously declared constexpr"
ec_previous_nonconstexpr_decl_conflict;;"%nd was previously not declared constexpr"
ec_constexpr_variable_decl_must_be_definition;;"missing initializer for constexpr variable"
ec_invalid_constexpr;;"\"constexpr\" is not valid here"
ec_invalid_constexpr_body;;"a constexpr function must contain exactly one return statement"
ec_invalid_statement_in_constexpr_function;;"statement may not appear in a constexpr function"
ec_invalid_statement_in_constexpr_constructor;;"statement may not appear in a constexpr constructor"
ec_constexpr_virtual_combination;;"a function cannot be both constexpr and virtual in this mode"
ec_nonliteral_return_type_in_constexpr_function;;"a constexpr function cannot have a nonliteral return type %t"
ec_nonliteral_param_type_in_constexpr_function;;"a constexpr function cannot have a parameter of nonliteral type %t"
ec_unsequenced_use_of_variable;;"unsequenced uses of %n in expression may produce undefined results"
ec_3rd_arg_of_assume_aligned_must_be_integral;;"the optional third argument of a call to __builtin_assumed_aligned must have integral type"
ec_constexpr_destructor;;"a destructor cannot be constexpr"
ec_invalid_mmap_address;;"address supplied for mmap must be aligned on a page boundary: %s"
ec_constexpr_constructor_with_function_try_block;;"the body of a constexpr constructor cannot be a function try block" 
ec_missing_initializer_on_fields_with_constexpr_ctor;;"constexpr %nf provides no initializer for:"
ec_specific_symbol;INTERNAL;"%n"
ec_default_ctor_call_not_constant;;"calling the default constructor for %t does not produce a constant value"
ec_default_ctor_not_constexpr;;"the default constructor for %t is not constexpr"
ec_constexpr_variable_must_have_literal_type;;"a constexpr variable must have a literal type or a reference type"
ec_constexpr_ctor_with_virtual_base;;"a constructor for a class with virtual bases cannot be constexpr"
ec_bad_cpp11_constant_function_call;;"function call must have a constant value in a constant expression"
ec_constexpr_main;;"function \"main\" may not be declared constexpr"
REMOVED;ec_constexpr_nonstatic_member_func_in_nonliteral_class;;"a constexpr member function is only permitted in a literal class type"
ec_tag_defined_in_constexpr_body;;"a class or enum type definition cannot appear in a constexpr function or constructor body"
ec_only_gnu_attributes_here;;"only GNU-style attributes are permitted here"
ec_auto_used_two_ways;;"nonstandard use of \"auto\" to both deduce the type from an initializer and to announce a trailing return type"
ec_nonstd_qualified_void_param_list;;"declaring a void parameter list with a qualified void type is nonstandard"
ec_qualifier_ignored_on_local_declaration;;"the qualifier on this local declaration is ignored"
ec_bad_conv_constant_expr_type;;"this constant expression has type %t instead of the required %s type"
ec_bad_argument_for_bases;;"an instantiation of __bases or __direct_bases requires a class type"
ec_bad_prototype_argument_for_bases;;"the argument of __bases and __direct_bases must be a type template parameter"
ec_bases_not_in_template;;"%s can only be used in template contexts"
ec_constexpr_return_not_constant;;"constexpr function return is non-constant"
ec_nonconstexpr_call_in_mem_initializer;;"constexpr constructor calls non-constexpr %n"
ec_nonconstant_field_initializer_in_mem_initializer;;"constructor cannot be constexpr because the initializer of %n is not a constant expression"
ec_nonconstant_mem_init_for_constexpr_ctor;;"non-constant initializer for constexpr constructor"
ec_generated_default_constructor_used_in_field_initializer;;"the generated default constructor for %t cannot be used in an initializer for its own data member"
ec_recursive_initializer_instantiation;;"instantiation of initializer of %n depends on its own value"
ec_defaulted_default_ctor_cannot_be_constexpr;;"defaulted default constructor cannot be constexpr because the corresponding implicitly declared default constructor would not be constexpr"
REMOVED;ec_excessive_constexpr_recursion;;"expression not folded to a constant due to excessive constexpr function call nesting (possible infinite recursion)"
ec_bad_binary_digit;;"invalid binary number"
ec_multiple_union_field_initializers;;"a union can have at most one field initializer -- %nd also has an initializer"
REMOVED;ec_incomplete_type_for_constexpr_static_data_member;;"a constexpr static data member cannot be declared with an incomplete type %t"
ec_union_constexpr_constructor_initializes_no_field;;"constexpr constructor of a union must initialize one of its fields"
ec_constexpr_constructor_initializes_no_variant_field;;"constexpr constructor fails to initialize an anonymous union (defined %p)"
ec_constexpr_static_data_member_without_initializer;;"a constexpr static data member declaration requires an in-class initializer"
ec_cl_max_constexpr_option_only_in_cplusplus;;"maximum constexpr depth/count options can be used only when compiling C++"
ec_excessive_constexpr_complexity;;"expression not folded to a constant due to excessive constexpr function call complexity"
ec_cl_unrestricted_unions_option_only_in_cplusplus;;"unrestricted union options can be used only when compiling C++"
ec_constexpr_ctor_does_not_initialize_base;;"constexpr constructor must initialize direct base class %t"
ec_field_initializer_list;;"creation of an std::initializer_list object in a field initializer is unlikely to work as expected because the underlying array will be destroyed at the end of the full expression"
ec_this_not_constant;;"\"this\" cannot be used in a constant expression"
REMOVED;ec_ambiguous_union_value_init;;"an empty initializer is not valid for this union type (which member should be initialized is ambiguous)"
ec_constexpr_explicit_instantiation;;"\"constexpr\" is not allowed on an explicit instantiation directive"
ec_generated_default_ctor_exception_spec_circularity;;"cannot determine the exception specification of the default constructor due to a circular dependency"
ec_anon_union_at_decl_position;;"anonymous union defined %p"
ec_unbounded_constexpr_ctor_init_recursion;;"this constructor uses the initializer of %nd, which would result in unbounded recursion"
REMOVED;ec_cannot_default_initialize_anon_union;;"anonymous union defined %p cannot be default-initialized because it has a deleted default constructor or destructor"
ec_block_extern_initializer_not_allowed;;"an initializer is not allowed on a local declaration of an extern variable"
ec_local_named_register_initializer_not_allowed;;"an initializer is not allowed on a local declaration of a named register variable"
REMOVED;ec_constexpr_dangling_pointer;;"expression is not constant due to a dangling pointer (points to a temporary whose lifetime has ended)"
ec_cl_unrestricted_unions_in_microsoft_mode;;"unrestricted unions cannot be enabled in Microsoft mode"
ec_delegation_loop;;"constructor delegates directly or indirectly to itself"
ec_delegation_init_and_mem_init;;"a delegating constructor cannot have other mem-initializers"
ec_ref_qualifier_not_allowed;;"a ref-qualifier is not allowed here"
ec_same_param_types_with_and_without_ref_qualifiers;;"overloading two member functions with the same parameter types requires that they both have ref-qualifiers or both lack ref-qualifiers"
ec_bad_raw_string_delim_char;;"invalid character in raw string delimiter"
ec_missing_raw_string_delim_lparen;;"parenthesis terminating raw string delimiter not found within 16 characters -- raw string indicator ignored"
ec_missing_raw_string_delimiter;;"ending delimiter for raw string not found"
ec_pack_not_last_arg;;"a parameter pack must be the final template argument in a partial specialization"
ec_pm_call_obj_not_lvalue;;"a pointer-to-member function with type %t can only be used with an lvalue object"
ec_pm_call_obj_not_rvalue;;"a pointer-to-member function with type %t can only be used with an rvalue object"
ec_defaulted_copy_ctor_cannot_have_const_parameter;;"the parameter of this defaulted copy-constructor cannot be const because a base or member copy constructor parameter is non-const"
ec_defaulted_assignment_cannot_have_const_parameter;;"the parameter of this defaulted assignment operator cannot be const because a base or member copy assignment parameter is non-const"
ec_empty_anonymous_union;;"an anonymous union must contain at least one nonstatic data member"
ec_delegating_constructor_requires_newer_abi_version;;"option \"delegating_constructors\" requires a different compiler configuration"
ec_alignment_reduction_unconditionally_ignored;;"a reduction in alignment is ignored"
ec_bad_rvalue_ref_const_cast_operand;;"the operand of a const_cast to an rvalue reference type cannot be a non-class prvalue"
ec_expr_not_a_glvalue;;"expression must be an lvalue or xvalue"
ec_lossy_conversion;;"conversion may change the value"
ec_deprecated_string_conv;;"conversion from a string literal to \"char *\" is deprecated"
ec_deprecated_string_conv_gen;;"conversion from a string literal to pointer-to-character (non-const) is deprecated"
ec_override_and_final_is_cpp11;;"\"override\" and \"final\" are C++11 features"
ec_rvalue_reference_in_exception_specification;;"rvalue references are not allowed as exception specification types"
ec_attr_disallows_handler_param;;"attribute %sq does not apply to handler parameters"
ec_attr_requires_handler_param;;"attribute %sq requires a handler parameter"
ec_wrong_entity_for_alignas;;"alignas does not apply here"
ec_std_alignof_with_expr_arg;;"the standard \"alignof\" operator does not accept an expression argument (use a type instead)"
ec_bad_qualifier_for_member_enum_decl;;"invalid qualifier for %t (a derived class is not allowed here)"
ec_always_inline_requires_inline;;"the \"always_inline\" attribute is ignored on non-inline functions"
ec_inheriting_ctor_not_from_direct_base;;"inheriting constructors must be inherited from a direct base class"
REMOVED;ec_inheriting_ctor_conflict;;"%np already inherited from %t"
ec_exp_asm_label;;"expected a label"
ec_missing_label_operand_number;;"expected an operand number after \"%%l\""
ec_label_operand_number_out_of_range;;"operand number for \"%%l\" does not refer to a valid label argument"
ec_wide_string_invalid_in_asm;;"a wide string is invalid in an \"asm\" statement"
ec_attribute_is_nonstandard;;"attribute is nonstandard"
ec_decltype_is_not_base_class;;"not a base class of class %t"
ec_bad_user_defined_suffix;;"non-identifier character in user-defined literal suffix"
ec_multichar_ud_lit;;"a multicharacter literal cannot be part of a user-defined literal"
ec_ud_string_suffix_mismatch;;"user-defined literal suffix does not match the earlier %sq"
ec_invalid_literal_operator_id;;"invalid literal operator name"
ec_literal_operator_not_found;;"user-defined literal operator not found"
ec_ambig_literal_operator;;"ambiguous literal operators and/or literal operator template:"
ec_udl_cannot_be_class_member;;"a literal operator cannot be a member of a class"
ec_extern_c_literal_operator;;"a literal operator cannot have extern \"C\" name linkage"
ec_no_parameter_for_literal_operator;;"at least one parameter expected for a literal operator"
ec_too_many_parameters_for_literal_operator;;"too many parameters for this literal operator"
ec_invalid_parameter_type_for_literal_operator;;"invalid parameter type %t for literal operator"
ec_invalid_integer_parameter_for_literal_operator;;"invalid integer parameter type (%t) for literal operator; expected a character type or unsigned long long"
ec_invalid_float_parameter_for_literal_operator;;"invalid floating-point parameter type (%t) for literal operator; expected long double"
ec_pointer_to_nonconst_for_literal_operator;;"invalid first parameter type (%t) for literal operator; pointer to non-const type is not allowed"
ec_invalid_second_parameter_type_for_literal_operator;;"invalid second parameter type (%t) for literal operator; must be size_t"
ec_invalid_pointer_parameter_for_literal_operator;;"invalid pointer parameter type (%t) for literal operator; expected a pointer to a character type"
ec_ellipsis_parameter_for_literal_operator;;"a literal operator cannot have an ellipsis parameter"
ec_invalid_parameter_for_literal_operator_template;;"a literal operator template cannot have any parameters"
ec_invalid_template_parameter_for_literal_operator_template;;"a literal operator template must have a template parameter list equivalent to \"<char ...>\""
ec_thread_local_not_allowed;;"thread-local storage class is not valid here"
ec_thread_local_follows_non_thread_local;;"thread-local declaration follows non-thread-local declaration (declared %p)"
ec_non_thread_local_follows_thread_local;;"non-thread-local declaration follows thread-local declaration (declared %p)"
ec_default_arg_for_literal_operator;;"a literal operator cannot have default arguments"
ec_attribute_ignored_for_thread_local;;"attribute is ignored for thread-local variables"
ec_lit_suffix_no_underscore;;"a user-provided literal suffix must begin with \"_\""
ec_rvalue_references_is_cpp11;;"rvalue references are a C++11 feature"
ec_lambdas_is_cpp11;;"lambda expressions are a C++11 feature"
ec_std_attributes_is_cpp11;;"standard attribute syntax is a C++11 feature"
ec_delegating_constructor_is_cpp11;;"delegating constructors are a C++11 feature"
ec_inheriting_constructor_is_cpp11;;"inheriting constructors are a C++11 feature"
ec_field_initializers_is_cpp11;;"field initializers are a C++11 feature"
ec_deleted_functions_is_cpp11;;"deleted functions are a C++11 feature"
ec_defaulted_functions_is_cpp11;;"defaulted functions are a C++11 feature"
ec_storage_class_not_allowed_in_specialization;;"a storage class is not allowed in an explicit specialization"
REMOVED;ec_not_class_or_enum;;"%t is not a class or scoped enumeration"
ec_specialization_of_unscoped_enum;;"an unscoped enumeration must be opaque in order to be specialized"
ec_nonmember_enum_template;;"an enumeration template declaration must refer to a previously declared member of a class template"
ec_operand_must_be_vector;;"expected a vector operand"
ec_incompatible_shuffle_source_operands;;"shuffle source operands have incompatible types %t1 and %t2"
ec_nonintegral_shuffle_mask;;"shuffle mask (type %t) is not a vector of integers"
ec_incompatible_shuffle_mask;;"shuffle mask (type %t1) has a length different from the source operand (type %t2)"
ec_bad_size_for_static_address_init;;"static initialization with an address value requires a destination of the same size as the address"
ec_feature_test_macro_req_id;;"the argument to a feature-test macro must be a simple identifier"
ec_has_include_next_in_primary_source_file;;"__has_include_next cannot be used in the primary source file"
ec_absolute_file_name_in_has_include_next;;"absolute file name used in __has_include_next"
ec_attr_not_applied_to_function_type;;"attribute %sq must be applied to a function type"
REMOVED;ec_nontrivial_statement_expr_result_type;;"a statement expression with a result type (%t) that requires nontrivial copy construction or nontrivial destruction is not permitted"
ec_bad_c11_noreturn;;"_Noreturn is not allowed here"
ec_operand_must_be_real_floating_value;;"expected an operand of real floating-point type (not %t)"
ec_incompatible_builtin_complex_types;;"__builtin_complex requires operands of compatible types (unlike %t1 and %t2)"
ec_default_association_appears_more_than_once;;"a default association already appeared in this _Generic selection"
ec_variably_modified_type_not_allowed_here;;"a type involving a variable length array is not allowed here"
ec_duplicate_type_in_c11_generic;;"duplicate association type (%t) in _Generic selection"
ec_no_match_in_c11_generic;;"no association matches the selector type %t"
ec_incompatible_ifunc_resolver_type;;"the type of %n (%t) is incompatible with an ifunc resolver type"
ec_ifunc_cant_be_alias;;"a function cannot have both ifunc and alias attributes"
ec_ifunc_cant_be_weak;;"a function cannot have both ifunc and weak attributes"
ec_call_requires_string_literal;;"call requires a string literal operand"
ec_duplicate_inheriting_constructor;;"duplicate inheriting constructor declaration (previous %p)"
ec_modified_decltype_auto_type;;"\"decltype(auto)\" must be a placeholder for the complete type of the variable (not for a component of that type)"
ec_decltype_auto_not_allowed_here;;"decltype(auto) is not allowed here"
ec_decltype_auto_type_requires_initializer;;"cannot deduce \"decltype(auto)\" (initializer required)"
ec_cannot_deduce_decltype_auto_type;;"cannot deduce \"decltype(auto)\" type"
ec_thread_local_must_include_static_or_extern;;"a block-scope thread-local declaration must include static or extern"
ec_deduced_return_type_conflict;;"deduced return type %t1 conflicts with previously deduced type %t2"
ec_use_of_undefined_function_with_deduced_return_type;;"cannot deduce the return type of %nd; it has not been defined"
ec_virtual_function_cannot_have_deduced_return_type;;"a virtual function cannot have a deduced return type"
ec_keyword_dropped;;"%n will be treated as a context-sensitive keyword from this point"
ec_global_ns_has_no_actual_member;;"the global namespace has no actual member %sq"
ec_different_enum_comparison;;"comparison between two different enum types (%t1 and %t2)"
ec_unrecognized_target_attribute;;"target attribute not recognized"
ec_gnu_mv_default_missing;;"missing \"default\" target function"
ec_gnu_mv_only_one_arch;;"only one arch= target may be specified"
ec_generic_class_cannot_be_custom_attribute;;"a generic class cannot be a custom attribute"
ec_invalid_ms_attribute_target;;"invalid attribute target %sq"
ec_ambiguous_ms_attribute;;"ambiguous attribute -- both %t1 and %t2 could be used"
ec_cli_attribute_inaccessible_field;;"a named attribute argument can only reference a public nonstatic read/write field or scalar property"
ec_cli_attribute_invalid_field;;"a named attribute argument can only reference a nonstatic field or scalar property of an attribute parameter type"
ec_cli_attribute_invalid_argument;;"invalid attribute argument -- expression must be a constant of an attribute parameter type"
ec_cli_typeid_of_generic_param_in_attribute;;"an attribute argument cannot use generic type parameters"
ec_invalid_use_of_standalone_custom_ms_attr;;"%t may only be used as a standalone attribute"
ec_field_target_on_nontrivial_property_or_event;;"the 'field' attribute target cannot be used on a non-trivial property/event"
ec_invalid_attribute_target_for_standalone_ms_attr;;"invalid attribute target for a standalone attribute"
ec_invalid_attribute_target_for_ms_attr;;"invalid attribute target for this context"
ec_invalid_use_of_custom_ms_attr;;"%t attribute cannot be used here"
ec_cli_param_array_attribute_deprecated;;"%t is deprecated; use '...' to specify a parameter array"
ec_namespace_default_cannot_be_extended;;"the default namespace cannot be extended"
ec_cppcx_box_invalid_type;;"the boxed type must be a value class or enum"
ec_tracking_reference_to_value_class;;"tracking reference to value class is not allowed"
ec_handle_to_value_class;;"handle to value class is not allowed"
ec_tracking_reference_to_enum;;"tracking reference to enum is not allowed"
ec_handle_to_enum;;"handle to enum is not allowed"
ec_cppcx_public_native_type;;"a public native type is not allowed"
ec_public_nested_type_in_cppcx_type;;"a public nested type is not allowed"
ec_cppcx_generic_type_not_allowed;;"generic types are not permitted in C++/CX"
ec_cppcx_generic_method_not_allowed;;"generic methods are not permitted in C++/CX"
ec_cppcx_generic_constraints_not_allowed;;"generic constraints are not allowed"
ec_nonpublic_data_member_in_public_cppcx_value_type;;"non-public data members are not allowed in public C++/CX value types"
ec_public_nondata_member_in_public_cppcx_value_type;;"public non-data members are not allowed in public C++/CX value types"
ec_cppcx_public_value_class_constructor;;"constructors are not allowed in public C++/CX value types"
ec_bad_cppcx_event_add_return;;"the return type of the \"add\" accessor must be Windows::Foundation::EventRegistrationToken"
ec_bad_cppcx_event_remove_return;;"the return type of the \"remove\" accessor must be void"
ec_bad_cppcx_event_remove_parameter;;"the parameter type of the \"remove\" accessor must be Windows::Foundation::EventRegistrationToken"
ec_cppcx_handle_or_ref_to_generic_param;;"a handle or reference to a generic parameter type is not allowed"
ec_public_data_member_in_public_non_value_type;;"public data members are not allowed in non-value types"
ec_cl_cppcx_only_in_microsoft_cplusplus;;"C++/CX can be enabled only in Microsoft C++ mode"
ec_cl_cppcx_and_cppcli;;"C++/CLI and C++/CX modes cannot be combined"
ec_cppcx_not_enabled;;"%sq requires C++/CX mode"
ec_cl_microsoft_version_insufficient_for_cppcx;;"C++/CX mode requires microsoft_version >= 1600"
ec_literal_fields_disallowed_in_cppcx_mode;;"Literal fields are not allowed in C++/CX"
ec_normal_ref_bound_to_cppcx_lvalue;;"a standard reference cannot be bound to a C++/CX type"
ec_cppcx_enum_base_has_no_platform_counterpart;;"type must correspond to Platform::Boolean, default::uint8, default::int8, default::int16, default::uint16, default::int32, default::uint32, default::int64, or default::uint64"
ec_event_in_cppcx_value_type;;"a C++/CX value type cannot have events"
ec_bad_cppcx_dynamic_cast_type;;"a dynamic_cast to a handle type must refer to a complete class type"
ec_cppcx_array_only_one_dimension_allowed;;"Platform::Array can only be one-dimensional"
ec_cppcx_tracking_reference_on_standard_class_type;;"tracking reference to standard class type is not allowed"
ec_cppcx_value_type_deriving_from_interface;;"a C++/CX value type cannot inherit from an interface"
ec_cppcx_value_type_contains_virtual_function;;"a C++/CX value type cannot contain virtual functions"
ec_partial_class_incorrect_type_or_location;;"\"partial\" can only be applied to \"ref class\" or \"ref struct\" at global scope or namespace scope"
ec_cppcx_invalid_array_property_set_value_parameter;;"the parameter of the \"set\" accessor must be of type \"const Platform::Array<T>^\""
ec_cppcx_public_global_type;;"the definition of a public C++/CX type is not allowed at global scope"
ec_cppcx_public_indexed_property;;"an indexed property with a public \"get\" or \"set\" accessor is not allowed"
ec_cppcx_public_nested_delegate;;"a public nested delegate type is not allowed"
ec_cppcx_bad_delegate_init_list;;"invalid delegate initializer -- expected either \"(<function-address or functor-object> [, Platform::CallbackContext])\" or \"(<object handle>, <member-address> [, Platform::CallbackContext [, bool]])\""
ec_cppcx_invalid_delegate_object;;"invalid delegate initializer -- object must be a handle to a %[managed] class"
ec_cppcx_non_const_array_parameter;;"C++/CX does not support 'in/out' arrays -- use \"const Platform::Array<T>^\" for 'in' and \"Platform::WriteOnlyArray<T>^\" or \"Platform::Array<T>^*\" for 'out' on public APIs"
ec_missing_target_attribute;;"missing \"target\" attribute for %nd"
ec_no_matching_target_attribute;;"no declared member function matches \"target\" attributes for %n"
ec_invalid_base_for_ms_attributes;;"Microsoft attributes in this location are only permitted for interface types"
ec_resolver_routine_required;;"GNU function multiversion resolver routine required"
ec_enum_in_managed_class_missing_definition;;"an enum type declared in a managed class must include a definition"
ec_decltype_qualified_declared_name;;"a decltype-qualified name is nonstandard in this declaration context"
ec_final_modifier_requires_virtual_function;;"nonvirtual function cannot be declared with \"final\" modifier"
ec_target_on_special_function;;"\"target\" attribute on special function is not supported"
ec_target_string_must_be_narrow;;"must be a narrow string literal"
ec_target_unmatched_parens;;"unmatched parentheses"
ec_gcc_pragma_nothing_to_pop;;"no corresponding \"push_options\""
ec_pragma_inside_function;;"this pragma is not allowed inside a function"
ec_inline_new_or_delete_operator;;"declaring a new or delete operator \"inline\" is nonstandard"
ec_pack_expansion_for_field_mem_init;;"a mem-initializer for a data member cannot be a pack expansion"
ec_generic_lambda_cannot_capture;;"generic lambda expressions cannot have capture defaults in this mode"
ec_friend_with_def_arg_must_be_definition;;"a default template argument in a friend declaration may only be specified in a definition"
ec_friend_with_def_arg_must_be_only_decl;;"a friend template declaration with a default template argument must be the only declaration (first declared %p)"
ec_non_autonomous_opaque_enum_decl;;"an opaque enum declaration cannot be part of another declaration"
ec_nonstd_opaque_enum_decl_in_type_id;;"an opaque enum declaration is nonstandard in this context"
ec_extended_friends_is_cpp11;;"extended friend syntax is a C++11 feature"
ec_digit_separators_not_enabled;;"digit separators not enabled, apostrophe begins a character literal"
ec_bad_digit_separator_pos;;"digit separator cannot appear here"
ec_constexpr_ignored_on_microsoft_nonstatic_member;;"\"constexpr\" is ignored here in Microsoft mode"
ec_bad_gnu_stmt_return;;"invalid expression for statement expression result"
ec_macro_not_udl_suffix;;"identifier is a macro and not a literal suffix"
ec_cannot_call_named_member_on_lvalue;;"%nd cannot be called on an lvalue"
ec_cannot_call_named_member_on_rvalue;;"%nd cannot be called on an rvalue"
ec_cannot_call_member_on_lvalue;;"member function cannot be called on an lvalue"
ec_cannot_call_member_on_rvalue;;"member function cannot be called on an rvalue"
ec_templ_param_list_too_long;;"the template parameter list is too long"
ec_bad_alias_templ_redecl;;"alias template type %t1 is incompatible with the previous type of %t2 in the redeclaration of %nfd"
ec_field_initializer_is_not_constant;;"the field initializer for %nd is not a constant expression"
ec_constraint_number_mismatch;;"the number of operand constraints must be the same in each constraint string"
ec_too_many_constraints;;"the constraint string contains too many alternative constraints; not all constraints were checked"
REMOVED;ec_call_through_incomplete_class_type;;"call through incomplete class %t will always produce an error when instantiated"
ec_decltype_auto_cannot_be_qualified;;"decltype(auto) cannot have added type qualifiers"
ec_bad_init_capture_capture;;"init-capture %nod cannot be captured here"
ec_invalid_nontype_template_argument;;"invalid nontype template argument of type %t"
ec_abi_tag_ignored_in_C_mode;;"the abi_tag attribute is ignored (it has no meaning in C mode)"
ec_abi_tag_redefinition;;"redeclaration adds abi_tag attribute \"%s\""
ec_abi_tag_ignored;;"abi_tag attribute is ignored (superseded by later abi_tag attribute)"
ec_no_abi_tag_on_declaration;;"previous declaration of %nd had no abi_tag attribute"
ec_abi_tag_prev_declaration;INTERNAL;"(see previous declaration %p)"
ec_abi_tag_ignored_on_specialization;;"abi_tag attribute is ignored on specialization"
ec_decltype_auto_return_must_be_standalone;;"decltype(auto) cannot appear under a pointer, reference, or pointer-to-member construct"
ec_exp_class_or_typename;;"expected \"class\" or \"typename\""
ec_placement_new_refers_to_non_placement_delete;;"placement \"new\" expression refers to non-placement %nd"
ec_cl_must_specify_cpp14_mode;;"must specify C++14 mode when building runtime library"
ec_internal_error_fill_in;INTERNAL;"%s"
ec_command_line_warning;INTERNAL;"command-line warning"
ec_Command_line_warning;INTERNAL;"Command-line warning"
ec_constexpr_not_const;;"constexpr non-static member function will not be implicitly 'const' in C++14"
ec_nonliteral_var_in_constexpr_function;;"variable type %t in constexpr function is not a literal type"
ec_nonautomatic_var_in_constexpr_function;;"variable in constexpr function does not have automatic storage duration"
ec_uninitialized_var_in_constexpr_function;;"variable in constexpr function is uninitialized"
ec_auto_direct_list_init_requires_singleton;;"braced initialization of a variable declared with a placeholder type but without \"=\" requires exactly one element inside the braces"
ec_cl_invalid_target;;"no \"%s\" --target configuration exists"
ec_attribute_not_supported_in_x86_64;;"attribute is supported only in 32-bit x86 configurations"
ec_cl_missing_argument;;"\"%s\" requires an argument"
ec_special_member_coroutine;;"a constructor or destructor cannot be a coroutine"
ec_main_coroutine;;"%n cannot be a coroutine"
ec_yield_in_catch;;"co_yield expressions are not permitted in a catch clause"
REMOVED;ec_yield_in_constexpr_function;;"co_yield expressions are not permitted in a constexpr functions"
REMOVED;ec_await_no_matching_overload;;"in this co_await expression, no instance of %no matches the argument list"
REMOVED;ec_await_undefined_identifier;;"this co_await expression requires a suitable %sq function and none was found"
REMOVED;ec_await_no_eventual_value;;"co_await expression is not allowed here because promise type %t has no member function \"return_value\" or \"return_void\""
ec_special_class_template_not_found;;"class template %sq not found"
ec_typename_needed;;"use the \"typename\" keyword to treat %n as a type in a dependent context"
ec_shufflevector_index_out_of_range;;"argument value must be less than the sum of the vector elements"
ec_not_a_type_member;;"%t has no member %sq"
ec_braced_list_for_implicit_return_type;;"a brace-enclosed list does not provide a return type"
ec_await_not_allowed_outside_function_scope;;"a co_await expression must appear in a function scope"
ec_await_not_allowed_in_catch_clause;;"a co_await expression is not allowed inside a catch clause"
ec_coroutine_with_ellipsis_parameter;;"a coroutine cannot have an ellipsis parameter"
ec_cl_relaxed_constexpr_requires_bool;;"enabling C++14-style constexpr requires support for \"bool\""
ec_constexpr_function_undefined;;"constexpr %nd is not defined"
ec_constexpr_call_not_interpretable;;"this call cannot be evaluated because the target function %nd is not constexpr or not completely defined yet"
ec_more_info;INTERNAL;"note"
ec_More_Info;INTERNAL;"Note"
ec_anon_union_alias_member_template;;"invalid anonymous union -- alias member template is not allowed"
ec_utf8_char_lit_too_long;;"a UTF-8 character literal value cannot occupy more than one code unit"
ec_variable_not_constant_valued;;"the value of %nd cannot be used as a constant"
ec_variable_not_constant_addressed;;"a pointer or reference to %nd cannot be used as a constant"
ec_constexpr_non_array_subscript;;"nonzero subscript for non-array object"
ec_constexpr_out_of_bounds_array_access;;"cannot access position %d1 in array of %d2 elements"
ec_constexpr_called_from;;"called from:"
ec_constexpr_union_field_inactive;;"invalid access to inactive %n1 of union (%n2 is active)"
ec_constexpr_goto;;"'goto' cannot be executed in constexpr contexts"
ec_constexpr_missing_return_value;;"missing return value"
ec_constexpr_null_callee;;"callee is null"
ec_constexpr_null_dereference;;"attempt to dereference a null pointer"
ec_constexpr_access_one_past_array_end;;"attempt to access storage one position past the end of an array of %d elements"
ec_constexpr_access_to_expired_storage;;"attempt to access expired storage"
ec_constexpr_access_to_runtime_storage;;"attempt to access run-time storage"
REMOVED;ec_constexpr_try_block;;"cannot execute a try-block"
ec_constexpr_call_to_nonconstexpr_function;;"cannot call non-constexpr %nd"
ec_constexpr_vla;;"cannot use variable-length array during constexpr evaluation"
ec_constexpr_negative_shift;;"cannot perform a negative shift"
ec_constexpr_shift_excess;;"shift amount (%d) too large"
ec_constexpr_integer_overflow;;"value exceeds range of %t"
ec_constexpr_fp_error;;"floating-point error"
ec_constexpr_null_ptr_to_member_data;;"attempt to dereference a null pointer-to-member (data member)"
ec_comparison_of_pointers_to_void_and_function;;"comparing a pointer to void and a pointer to a function is nonstandard"
ec_ms_metadata_init_failed;;"metadata initialization failed"
ec_constexpr_bad_derived_class_cast;;"invalid base-to-derived cast (actual derived class type is %t)"
ec_constexpr_invalid_pm_access;;"invalid access to %n in object of complete type %t"
ec_bad_gnu_auto_type;;"%sq not allowed here"
ec_gnu_auto_type_with_secondary_declarator;;"%sq does not permit multiple declarators"
ec_auto_type_brace_initialization_not_allowed;;"initialization with \"{...}\" is not allowed for %sq"
ec_modified_auto_type;;"%sq must be a placeholder for the complete type of the variable (not for a component of that type)"
ec_gnu_auto_type_without_initializer;;"a variable declared with %sq requires an initializer"
ec_constant_must_be_positive;;"integer constant must be greater than or equal to zero"
ec_type_must_be_integral;;"type must be an integral type"
ec_constexpr_expression_cannot_be_interpreted;;"expression cannot be interpreted"
ec_constexpr_statement_cannot_be_interpreted;;"statement cannot be interpreted"
ec_constexpr_interpreter_address;;"invalid use of address of interpreter storage"
ec_constexpr_invalid_constant_kind;;"invalid constant kind for constant-expression"
ec_constexpr_type_too_large;;"type %t too large for constant-expression evaluation"
ec_constexpr_type_invalid;;"invalid type %t for constant-expression evaluation"
ec_constexpr_invalid_type_conversion;;"conversion from %t1 to %t2 is invalid in constant-expression evaluation"
ec_constexpr_fp_conversion_failed;;"floating-point conversion failed"
REMOVED;ec_constexpr_invalid_pointer;;"pointer value invalid"
ec_deduced_return_types_is_cpp14;;"deduced return types are a C++14 feature"
ec_constexpr_ctor_with_dtor;;"cannot evaluate a constructor with an associated destructor"
ec_constexpr_missing_initializer_for_field;;"%n not initialized during constexpr evaluation"
ec_constexpr_invalid_pdiff;;"invalid pointer difference in constexpr evaluation"
ec_constexpr_non_array_pointer_arithmetic;;"invalid arithmetic on non-array pointer"
ec_constexpr_pointer_ahead_of_array;;"cannot set pointer before the first array element"
ec_coroutine_with_deduced_return_type;;"a coroutine with a deduced return type is invalid"
ec_await_in_unevaluated_operand;;"expression not allowed in unevaluated context"
REMOVED;ec_invalid_yield_value_type;;"yield_value produces void type"
REMOVED;ec_nonvoid_yield_value_type;;"yield_value produces value (of type %t), which is not permitted in a coroutine with a deduced return type"
ec_return_in_coroutine;;"\"return\" is not permitted in a coroutine (use \"co_return\" instead)"
ec_invalid_co_return;;"\"co_return\" is only allowed in coroutines"
ec_constexpr_fp_values_not_comparable;;"floating-point values cannot be compared"
ec_constexpr_pointers_not_comparable;;"pointer values cannot be compared because they do not point into the same complete object or they point to subobjects with different accessibility"
ec_ignoring_attribute_on_non_inline_namespace;;"ignoring abi_tag attribute on non-inline namespace"
ec_ignoring_attribute_on_anonymous_namespace;;"ignoring abi_tag attribute on anonymous namespace"
ec_complex_template_parameter;;"complex or imaginary template parameter type is nonstandard"
ec_yield_outside_of_function;;"co_yield expression is not permitted outside a function scope"
ec_thread_local_ignored;;"ignoring thread-local indication on anonymous union"
REMOVED;ec_cannot_deduce_coroutine_return_type;;"cannot deduce return type from a coroutine with no co_yield or co_await construct"
ec_variable_template;INTERNAL;"variable template"
ec_object_not_initialized;;"access to uninitialized object"
ec_constexpr_volatile_fetch;;"attempt to read from volatile storage"
ec_constexpr_no_active_union_field;;"invalid access to inactive %n1 of union (no field is active)"
ec_label_in_constexpr_function;;"label definitions cannot appear in constexpr functions"
ec_constexpr_equality_past_the_end_address;;"cannot compare a pointer past the end of an array with a pointer to another complete object"
ec_variable_templ_function_type;;"function type %t is an invalid type for a variable template instantiation"
ec_incomplete_var_type;;"variable cannot have incomplete type %t"
ec_field_subobject_not_initialized;;"access to uninitialized subobject (%n)"
ec_base_subobject_not_initialized;;"access to uninitialized subobject (base class %t)"
ec_constexpr_vacuous_dtor_call;;"a pseudo-destructor call is not permitted in a constant-expression"
ec_constexpr_modifying_const_storage;;"attempt to modify const storage"
REMOVED;ec_constexpr_union_offset;;"address constants pointing to union members are not yet supported in constexpr functions"
REMOVED;ec_constexpr_bad_address;;"address constant cannot be folded for evaluation of constexpr function"
ec_constexpr_access_past_object;;"attempt to access storage one position past an object treated as an array of one element"
ec_constexpr_reinterpret_cast;;"cannot use reinterpret_cast in constant-expression evaluation"
ec_constexpr_invalid_null_ptr_operation;;"operation not allowed on null pointer"
ec_star_this_not_constant_valued;;"the value of *this cannot be used as a constant"
ec_inline_on_nested_namespace;;"the \"inline\" keyword cannot be used on a nested namespace declaration"
ec_carries_dependency_ignored;;"the \"carries_dependency\" attribute is ignored"
ec_event_interface_cannot_have_definition;;"an \"__event __interface\" cannot have a definition here"
ec_invalid_event_handler_type;;"an event handler must have a void or integral return type"
ec_event_interface_must_be_previously_defined;;"an \"__event __interface\" must have been previously defined"
ec_too_many_template_arguments;;"too many template arguments for %n"
ec_enumerator_already_declared;;"enumerator already declared (see %nd)"
ec_microsoft_version_doesnt_support_cpp14_mode;;"the version of Microsoft being emulated must be at least 1903 to use \"--ms_c++14\""
ec_microsoft_version_doesnt_support_cpplatest_mode;;"the version of Microsoft being emulated must be at least 1903 to use \"--ms_c++latest\""
ec_c11_atomic_array_or_function_type;;"type %t cannot be _Atomic because it is an array or function type"
ec_c11_atomic_specifier_with_qualified_type;;"the _Atomic(...) specifier cannot be applied to qualified type %t"
ec_access_to_member_of_c11_atomic_object;;"access to member of _Atomic object"
ec_c11_atomic_bit_field;;"a bit field cannot have an _Atomic type"
REMOVED;ec_c11_atomic_class_types_disabled;;"_Atomic class types are disabled"
ec_nonconstexpr_mem_init_ctor_for_constexpr_ctor;;"constexpr constructor calls non-constexpr constructor for subobject initialization"
ec_terse_static_assert_not_enabled;;"expected a comma (the one-argument version of static_assert is not enabled in this mode)"
ec_terse_static_assert;;"static assertion failed"
ec_conflicting_nullability;;"at most one of the qualifiers _Nullable, _Nonnull, and _Null_unspecified can modify a type"
ec_invalid_type_for_nullability;;"nullability qualifiers are only permitted on pointer and pointer-to-member types"
ec_vector_length_too_large;;"vector length is too large"
ec_invalid_vector_element_type;;"vector element type must be integral, enum, or real floating-point type"
ec_builtin_needs_128_bit_integers;;"builtin function is not available because 128-bit integers are not supported"
ec_builtin_needs_vector_types;;"builtin function is not available because vector types are not supported"
ec_must_introduce_attribute;;"two consecutive left square brackets always introduce an attribute list but an attribute list cannot appear here"
ec_invalid_target_attribute;;"unrecognized \"target\" attribute disqualifies this routine from being used by resolver routine"
ec_vector_type_required;;"%t is not a vector type"
ec_vector_types_differ_in_length;;"vector types %t1 and %t2 must have the same length"
ec_member_special_after_class_definition;;"added default arguments cannot result in declaring a default or copy constructor"
ec_template_arg_cannot_point_to_subobject;;"a nontype template argument of reference type must bind to a function or to a complete object"
ec_type_not_allowed_here;;"%t not allowed here"
ec_register_keyword_disallowed;;"use of the \"register\" storage class specifier is not allowed"
ec_register_keyword_deprecated;;"use of the \"register\" storage class specifier is deprecated"
ec_incr_of_bool_not_allowed;;"incrementing a bool value is not allowed"
ec_redeclaration_of_range_iterator;;"%sq, declared as iterator of range-based \"for\" statement, may not be redeclared in this scope"
ec_namespace_not_allowed;;"an attribute namespace may not be used here (because a \"using\" prefix was specified)"
ec_attribute_namespace_unrecognized;;"attribute namespace %sq is unrecognized"
ec_default_member_init_for_value_class;;"a default member initializer is not permitted in a value class"
ec_cl_implicit_noexcept_requires_noexcept_support;;"\"--implicit_noexcept\" requires a mode that enables noexcept"
ec_constexpr_virtual_base;;"cannot fold operation involving virtual base class (%t)"
ec_initializer_not_constant;;"initialization is not constant"
ec_constexpr_incomplete_type;;"cannot evaluate value of incomplete %t"
ec_nodiscard_routine;;"ignoring return value from routine declared with \"nodiscard\" attribute"
ec_nodiscard_return_type;;"ignoring return value type with \"nodiscard\" attribute"
ec_nodiscard_doesnt_apply;;"the \"nodiscard\" attribute does not apply to destructors or routines with void return type"
ec_fallthrough_applies_to_null_statement;;"the \"fallthrough\" attribute only applies to null statements"
ec_fallthrough_not_in_switch;;"the \"fallthrough\" attribute may only appear in an enclosing switch statement"
ec_fallthrough_must_precede_switch_case;;"fallthrough statement must precede switch case label or default"
ec_constexpr_expiring_temporary;;"reference or pointer to temporary with limited lifetime"
ec_address_of_nontrue_enable_if_function;;"cannot take the address of a function with an \"enable_if\" attribute whose condition is not unconditionally true"
ec_nonconstant_enable_if_attr;;"\"enable_if\" attributes with conditions that are not constant values are not currently supported"
ec_attribute_declared_here;;"attribute was declared here"
ec_has_include_not_in_if;;"__has_include cannot appear outside #if"
ec_coclass_base_requirements_not_met;;"could not add CComCoClass base class"
ec_constexpr_string_not_null_terminated;;"not a null-terminated string"
ec_non_scalar_vacuous_dtor_call;;"non-scalar type %t cannot be used in a pseudo-destructor call"
ec_constexpr_weak_address;;"address of \"weak\" %n is not constant"
ec_excessive_rescan_depth;;"too many recursive substitutions of function template signatures"
ec_invalid_struct_binding_specifier;;"invalid specifier for structured binding declaration"
ec_invalid_struct_binding_syntax;;"invalid structured binding syntax"
ec_missing_initializer;;"missing initializer"
ec_invalid_struct_binding_type;;"type %t has no components to bind to"
ec_too_many_struct_bindings;;"too many identifiers"
ec_missing_bindings;;"there are more elements than there are binding names"
ec_missing_std_tuple_element;;"\"std::tuple_element\" not defined"
ec_missing_std_tuple_element_instance;;"cannot instantiate \"std::tuple_element\" for <%s, %t>"
ec_failed_tuple_container_member_get;;"cannot call member function \"get<%s>()\" for type %t"
ec_tuple_get_no_matching_overload;;"no instance of %no matches the argument list"
ec_struct_binding_undefined_identifier;;"this structured binding requires a suitable %sq function and none was found"
ec_struct_binding_inline;;"a structured binding cannot be declared \"inline\""
ec_struct_binding_constexpr;;"a structured binding cannot be declared \"constexpr\""
ec_struct_binding_storage_class;;"a structured binding cannot declare an explicit storage class"
ec_invalid_tuple_size;;"std::tuple_size<%t>::value is not a valid integral constant-expression"
ec_condition_does_not_declare_a_variable;;"a condition declaration must declare a variable"
ec_condition_decl_must_have_initializer;;"a condition declaration must include an initializer"
ec_parenthesized_init_not_allowed;;"a parenthesized initializer is not permitted for a condition declaration"
ec_condition_with_multiple_declarators;;"a condition declaration can only declare one variable"
ec_struct_binding_lambda;;"structured binding cannot bind to closure type"
ec_struct_binding_private_member;;"cannot bind to non-public %n"
ec_struct_binding_incomplete_type;;"cannot bind to incomplete type %t"
ec_invalid_init_statement;;"this declaration is not valid here"
ec_constexpr_function_with_function_try_block;;"the body of a constexpr function cannot be a function try block" 
ec_branch_into_constexpr_if;;"transfer of control into a constexpr if block is not allowed"
ec_lambda_capture_structured_binding;;"structured binding cannot be captured"
ec_microsoft_version_doesnt_support_cpp17_mode;;"the version of Microsoft being emulated must be at least 1911 to use \"--ms_c++17\""
ec_attempt_to_read_past_end_of_object;;"attempt to read past the end of the object"
ec_constexpr_lambdas_not_enabled;;"constexpr lambdas are not enabled in this mode"
ec_lambda_not_constant_expr;;"a constant expression cannot contain a lambda expression"
ec_template_argument_index_out_of_bounds;;"value exceeds number of template arguments"
ec_fold_expression_operator_mismatch;;"second operator in binary fold expression does not match first"
ec_invalid_fold_expression_operator;;"invalid fold expression operator"
ec_two_packs_in_fold_expression;;"a binary fold expression cannot apply to two parameter packs"
ec_invalid_empty_fold_expression;;"empty expansion not valid for this fold expression"
ec_inline_nonstatic_data_mem;;"a nonstatic data member cannot be declared as inline"
ec_no_pack_in_fold_expression;;"fold expression does not refer to a parameter pack"
ec_same_param_types_with_different_exception_specifications;;"two functions with the same parameter types but different exception specifications cannot be overloaded"
ec_dynamic_exc_spec_not_permitted;;"dynamic exception specifications are not permitted in this mode"
REMOVED;ec_dynamic_exc_spec_ignored;;"dynamic exception specifications ignored (they are not supported in this mode)"
ec_invalid_noexcept_specifier_operand;;"invalid operand for noexcept specifier"
ec_lambda_in_noexcept_specifier;;"lambda expression cannot appear in noexcept specifier of a template"
ec_inaccessible_rvalue_dtor;;"%nfd is inaccessible"
ec_bad_enum_template_decl;;"invalid specifier in enum template declaration"
ec_no_float80;;"80-bit floating-point types are not supported in this configuration"
ec_no_float128;;"128-bit floating-point types are not supported in this configuration"
ec_invalid_enumerator_value;;"invalid enumerator value"
ec_must_be_atomic_qualified_type;;"must be an _Atomic qualified type"
ec_element_type_incomplete;;"type of array element must be complete"
ec_always_inline_suppressed;;"the always_inline attribute has been suppressed for this function"
ec_negative_value;;"a negative value is not permitted here"
ec_integer_pack_element_for_type;;"an integer pack element cannot match %n"
ec_integer_pack_element_for_template;;"an integer pack element cannot match %n"
ec_unexpected_designator;;"unexpected designator"
ec_cannot_evaluate_builtin_offsetof;;"cannot evaluate __builtin_offsetof"
ec_deduction_guide_def;;"deduction guide %t cannot be defined"
ec_bad_deduction_guide_scope;;"deduction guide must be declared in the same scope as %n"
ec_invalid_specifier_for_deduction_guide;;"invalid specifier for deduction guide declaration (only \"explicit\" is permitted)"
ec_constexpr_mutable_field_load;;"mutable %n of a constant cannot be accessed in a constant expression"
ec_member_function_modifier_on_static_member;;"function modifier does not apply to static member declaration"
ec_overloadable_attribute_requires_prototype;;"the \"overloadable\" attribute requires a prototyped function declaration"
ec_cannot_deduce_auto_templ_param;;"cannot deduce \"auto\" template parameter type %t1 from %t2"
ec_modified_class_template_placeholder;;"class template name must be a placeholder for the complete type being initialized (not for a component of that type)"
ec_alias_declaration_is_cpp11;;"alias declarations are a C++11 feature"
ec_alias_template_is_cpp11;;"alias templates are a C++11 feature"
ec_bad_deduction_guide_return_type;;"the return type must directly designate a specialization of the associated class template"
ec_explicit_deduction_guide_in_copy_list_init;;"copy-list-initialization cannot use \"explicit\" %n"
ec_deduction_guide;INTERNAL;"deduction guide"
ec_invalid_udl_value;;"Invalid value for user-defined literal operator"
ec_has_cpp_attrib_not_in_if;;"%s cannot appear outside of preprocessor directives"
ec_bad_deduction_guide_access;;"deduction guide must be declared with the same accessibility as %n"
ec_lambda_not_allowed_here;;"a lambda is not permitted in this context"
ec_align_not_equivalent;;"specified alignment is not equivalent to previous declaration"
ec_no_alignment_on_definition;;"no alignment specified on definition; previous declaration had specified an alignment"
ec_builtin_needs_128_bit_floats;;"builtin function is not available because 128-bit floating-point types are not supported"
ec_constexpr_shift_negative_value;;"left-shifting a negative value has undefined behavior"
ec_no_array_designators_in_cpp_mode;;"array designators are nonstandard in C++"
ec_no_chained_designators_in_cpp_mode;;"chained designators are nonstandard in C++"
ec_no_mixed_init_in_cpp_mode;;"mixing designated and non-designated initializers is nonstandard in C++"
ec_no_out_of_order_init_in_cpp_mode;;"out-of-order initializers are nonstandard in C++"
ec_invalid_string_literal_operator_template;;"a string literal operator template must have a template parameter list equivalent to \"<typename T, T ...>\""
ec_duplicate_designator;;"duplicate designator is not allowed"
ec_likely_unlikely_conflict;;"attribute conflicts with previous likely/unlikely attribute"
ec_implicit_copy_this_capture_deprecated;;"the implicit by-copy capture of \"this\" is deprecated"
ec_empty_lambda_template_param_list;;"an empty template parameter list is not allowed in a lambda expression"
ec_microsoft_version_doesnt_support_cpp20_mode;;"the version of Microsoft being emulated must be at least 1920 to use \"--ms_c++20\""
ec_bad_stdc_pragma_arg_for_mode;;"STDC pragma argument not accepted in this mode"
ec_if_constexpr_is_cpp17;;"constexpr if statements are a C++17 feature"
ec_no_pack_expansion_in_designator;;"pack expansion is not allowed in a designated initializer list"
ec_no_designator_value;;"field designator has no value"
ec_multiple_union_field_initializers_empty;;"a union can have at most one field initializer"
ec_bad_ordering_type;;"no valid std::%s type found (<compare> must be included)"
ec_invalid_spaceship_types;;"invalid types (%t1 and %t2) for built-in operator<=>"
ec_fold_expressions_nonstandard;;"fold expressions are nonstandard in this mode"
ec_selection_initializer_nonstandard;;"C++17-style initializer is nonstandard in this mode"
ec_star_this_capture_nonstandard;;"capturing *this is nonstandard in this mode"
ec_using_attribute_nonstandard;;"C++17-style \"using\" attribute prefix is nonstandard in this mode"
ec_nested_namespace_nonstandard;;"C++17-style nested namespaces are nonstandard in this mode"
ec_constexpr_and_consteval_specifiers;;"only one of \"constexpr\", \"consteval\", and \"constinit\" can appear on a declaration"
ec_consteval_virtual_combination;;"a function cannot be both consteval and virtual in this mode"
ec_consteval_explicit_instantiation;;"\"consteval\" is not allowed on an explicit instantiation directive"
ec_invalid_consteval;;"\"consteval\" is not valid here"
ec_consteval_destructor;;"a destructor cannot be consteval"
ec_consteval_ctor_with_virtual_base;;"a constructor for a class with virtual bases cannot be consteval"
ec_consteval_variable;;"\"consteval\" is not permitted on the declaration of a variable or static data member"
ec_previous_consteval_decl_conflict;;"%nd was previously declared consteval"
ec_previous_nonconsteval_decl_conflict;;"%nd was previously not declared consteval"
ec_consteval_main;;"function \"main\" may not be declared consteval"
ec_consteval_call_nonconstant;;"call to consteval %n did not produce a valid constant expression"
ec_address_of_consteval_function;;"address of consteval %n in constant expression result"
ec_consteval_overrides_nonconsteval;;"consteval member cannot override non-consteval %n"
ec_nonconsteval_overrides_consteval;;"non-consteval member cannot override consteval %n"
ec_struct_binding;INTERNAL;"structured binding"
ec_constexpr_invalid_dynamic_cast;;"dynamic_cast to subobject of type %t1 is invalid (most-derived type is %t2)"
ec_VA_OPT_not_allowed;;"the identifier __VA_OPT__ can only appear in the replacement lists of variadic macros"
ec_nested_VA_OPT;;"__VA_OPT__ cannot appear in a __VA_OPT__ operand"
ec_unclosed_VA_OPT;;"missing closing parenthesis for __VA_OPT__"
ec_missing_VA_OPT_paren;;"__VA_OPT__ must be followed by \"(\""
ec_paste_cannot_be_first_in_VA_OPT;;"\"##\" may not be first in a __VA_OPT__ operand"
ec_paste_cannot_be_last_in_VA_OPT;;"\"##\" may not be last in a __VA_OPT__ operand"
ec_nested_inline_namespace_nonstandard;;"C++20-style nested inline namespaces are nonstandard in this mode"
ec_derived_class_too_far;;"cannot convert pointer to base class %t2 to pointer to derived class %t1 -- attempt to point beyond the most-derived object"
REMOVED;ec_constexpr_non_const_temp;;"temporary object is not constant"
ec_invalid_variable_main;;"\"main\" cannot be used as a global variable name or given C language linkage"
ec_linkage_main;;"function \"main\" cannot be declared in a linkage-specification"
ec_struct_binding_in_condition;;"structured binding is not allowed in a condition"
ec_missing_attr_namespace;;"an attribute namespace identifier is required before \"::\""
ec_multiple_attr_namespaces;;"only one attribute namespace is allowed"
ec_bad_return;;"\"return\" not allowed here"
ec_struct_binding_with_multiple_declarators;;"a structured binding cannot be combined with other declarators"
ec_branch_out_of_constant;;"cannot branch out of a constant-evaluation context"
ec_struct_binding_template;;"structured binding templates are not permitted"
ec_braced_init_in_parens;;"a parenthesized initializer must be an expression, not a brace-enclosed list"
ec_cannot_deduce_class_template_arguments;;"cannot deduce class template arguments"
ec_consteval_new_or_delete_operator;;"a new or delete operator cannot be declared \"consteval\""
ec_address_of_consteval_function_leaked;;"the address of a consteval function cannot be used here"
ec_alignof_function_type;;"the alignment of a function type (%t) is nonstandard"
ec_alignof_incomplete_array;;"the alignment of an array of unspecified bound is nonstandard in C"
ec_cannot_be_common_internal_linkage;;"a variable cannot have both \"common\" and \"internal_linkage\" attributes"
ec_internal_linkage_not_on_prior_declaration;;"the \"internal_linkage\" attribute did not appear on a prior declaration"
ec_no_class_template_guide;;"no viable template argument deduction candidate found for %n"
ec_fully_qualified_constructor_call;;"a fully qualified constructor call is not allowed"
ec_bad_scope_for_defaulted_comparison;;"a defaulted comparison operator must be a member or a friend of the class it applies to"
ec_bad_param_type_for_defaulted_comparison;;"bad type %t for parameter of defaulted comparison operator (must be \"reference to const X\" where X is the enclosing class type)"
ec_return_type_of_default_comparison_must_be_bool;;"return type of defaulted comparison operator must be \"bool\""
ec_nonconst_defaulted_member_comparison;;"a defaulted member comparison operator must be \"const\""
REMOVED;ec_duplicate_defaulted_spaceship;;"more than one defaulted spaceship operator defined in this class"
ec_no_return_value_and_return_void;;"a coroutine's promise type %t cannot have both \"return_void\" and \"return_value\" set"
ec_return_value_at;;"\"return_value\" declared %p"
ec_return_void_at;;"\"return_void\" declared %p"
ec_implicit_co_return_with_no_return_void;;"missing co_return statement while %t has no \"return_void\" at end of %n"
ec_no_nothrow_global_new_for_coroutine;;"no nothrow variant of the global \"operator new\" found for coroutine state allocation"
ec_no_viable_delete_for_coroutine;;"no viable \"operator delete\" found for coroutine state deallocation"
ec_no_constexpr_coroutine;;"a constexpr function cannot be a coroutine"
ec_await_operand_not_a_class;;"the operand to this %s expression resolves to non-class %t"
ec_await_not_allowed_in_static_initializer;;"a co_await expression is not allowed in a static initializer"
ec_final_suspend_cannot_throw;;"the co_await expression calling %n must be non-throwing"
ec_excessive_comparison_rewrites;;"too many recursive comparison rewrite operations"
ec_invalid_placeholder_for_defaulted_spaceship_return;;"a deducible return type for a default operator<=> must be \"auto\""
ec_constexpr_implied_source_nonconstant;;"implicit copy of non-constant source"
ec_struct_binding_restricted_storage_class;;"a structured binding cannot declare an explicit storage class other than static or thread_local"
ec_defaulted_comparison_for_property;;"defaulted comparison operators are not supported for nontrivial Microsoft property fields"
ec_invalid_std_comparison_type;;"standard comparison type (%t) must be a class type with a single nonstatic data member of integral type"
ec_invalid_std_comparison_value;;"no constexpr static data member %sq found in %t"
ec_constexpr_alloc_too_large;;"number of elements (%d) too large for dynamic allocation"
ec_constexpr_allocation_too_large;;"constexpr dynamic allocation request too large"
ec_constexpr_bad_deallocation;;"deallocation of storage that was not dynamically allocated"
ec_constexpr_bad_deallocation_size;;"deallocation size (%d1) does not correspond to size allocated (%d2)"
ec_constexpr_allocation_pos;;"allocation occurred here"
ec_constexpr_bad_deallocation_type;;"deallocation type (%t1) does not correspond to allocation type (%t2)"
ec_constexpr_leftover_allocations;;"some dynamic allocations (total number = %d) were not deallocated"
ec_constexpr_invalid_intrinsic_signature;;"intrinsic %n declared with unexpected signature (type %t)"
ec_constexpr_begin_report;;">> output from std::__report_constexpr_value"
ec_constexpr_end_report;;">> end output from std::__report_constexpr_value"
ec_constexpr_dependent_array_size;;"cannot use array with dependent array size in constexpr evaluation"
ec_nodiscard_routine_with_reason;;"ignoring return value from routine declared with \"nodiscard\" attribute (%sq)"
ec_nodiscard_return_type_with_reason;;"ignoring return value type with \"nodiscard\" attribute (%sq)"
ec_nodiscard_constructor;;"constructor used to create discarded object has \"nodiscard\" attribute"
ec_nodiscard_constructor_with_reason;;"constructor used to create discarded object has \"nodiscard\" attribute (%sq)"
ec_nodiscard_object_type;;"type of discarded object has \"nodiscard\" attribute"
ec_nodiscard_object_type_with_reason;;"type of discarded object has \"nodiscard\" attribute (%sq)"
ec_vacuous_destructor_not_called;;"a pseudo-destructor reference can only be used for a pseudo-destructor call"
ec_constexpr_explicit_dtor_call;;"an explicit destructor call is not permitted in a constant-expression"
ec_comma_operator_in_array_subscript_deprecated;;"an unparenthesized comma operator in an array subscript expression is deprecated"
ec_constexpr_alloc_too_small;;"number of dynamically-allocated elements (%d) too small for initializer"
REMOVED;ec_volatile_inc_dec_deprecated;;"a volatile operand to %s expression is deprecated"
ec_volatile_ass_deprecated;;"use of the result of an assignment to a volatile scalar object is deprecated"
ec_volatile_op_ass_deprecated;;"a volatile destination type for a compound assignment expression is deprecated"
ec_volatile_func_param_deprecated;;"a volatile function parameter is deprecated"
ec_volatile_return_type_deprecated;;"a volatile return type is deprecated"
ec_volatile_str_bind_deprecated;;"use of a volatile qualifier on a structured binding is deprecated"
ec_ext_vector_type_invalid_size;;"the \"ext_vector_type\" argument must be between 1 and 2047"
ec_ext_vector_type_not_in_typedef;;"the \"ext_vector_type\" attribute may appear only in a typedef"
ec_ext_vector_type_requires_integral_floating_type;;"the \"ext_vector_type\" attribute applies only to integer or floating-point types"
ec_feature_test_macro_ignored;;"this feature-test macro is ignored (and returns 0) in the current compilation mode"
ec_constexpr_multiple_union_initializers;;"cannot evaluate an aggregate initializer with multiple elements for a union"
ec_cmp_operator_does_not_return_bool;;"%nd selected for operator rewrite does not return type bool"
ec_constexpr_class_specific_new;;"a new-expression calling a class-specific allocation function cannot be constant-evaluated"
ec_constexpr_placement_new;;"a placement new-expression cannot be constant-evaluated"
ec_constexpr_nonvirtual_subobject_delete;;"deleting through a subobject pointer requires a virtual destructor"
ec_ambiguous_reversed_function_add_on;INTERNAL;"%npTd, with reversed arguments"
ec_invalid_intaddr_address;;"operand of __INTADDR__ must be offset from null pointer"
ec_ambiguous_c11_generic;;"_Generic construct matches multiple types"
ec_ambiguous_c11_generic_previous_match;;"the other match is %t"
ec_availability_attribute_ignored;;"the \"availability\" attribute used here is ignored"
ec_init_stmt_in_range_for_nonstandard;;"C++20-style initializer statement in a range-based \"for\" statement is nonstandard in this mode"
ec_co_await_on_non_range_based_for;;"co_await can only apply to a range-based \"for\" statement"
ec_cannot_deduce_type_in_range_based_for;;"cannot deduce type of range in range-based \"for\" statement"
ec_inline_variables_nonstandard;;"inline variables are a C++17 feature"
ec_destroying_delete_wrong_type;;"destroying operator delete requires %t as first parameter"
ec_destroying_delete_with_extra_params;;"a destroying operator delete cannot have parameters other than std::size_t and std::align_val_t"
ec_cl_relaxed_abstract_checking_only_in_cplusplus;;"relaxed abstract class options can be used only when compiling C++"
ec_invalid_start_of_requires_clause_expr;;"invalid start of expression in requires clause"
ec_cast_in_requires_clause;;"a cast expression in a requires-clause must be parenthesized"
ec_invalid_operator_in_requires_clause;;"this operator cannot appear at the top level (without parentheses) in a requires-clause"
ec_nonbool_atomic_constraint;;"atomic constraint must have type bool"
ec_atomic_constraint_substitution_failed;;"atomic constraint failed substitution"
ec_atomic_constraint_evaluation_failed;;"atomic constraint not constant"
ec_atomic_constraint_false;;"atomic constraint evaluates to false"
ec_template_constraint_not_satisfied;;"template constraint not satisfied"
ec_bad_scope_for_concept;;"concept definition cannot appear in this scope"
ec_invalid_concept_redecl;;"invalid redeclaration of %nd"
ec_concept_arg_list_substitution_failed;;"substitution of arguments %T for concept-id failed"
ec_concept_failed;;"concept is false for arguments %T"
ec_trailing_requires_clause_not_on_template;;"a requires-clause is not allowed here (not a templated function)"
ec_concept_template;INTERNAL;"concept"
ec_requires_incompatible_with_previous_decl;;"requires-clause incompatible with %nfd"
ec_expected_an_attribute;;"expected an attribute"
REMOVED;ec_invalid_start_of_requirement;;"invalid start of requirement"
ec_exp_type_name;;"expected a type name"
ec_requires_expr_ellipsis_param;;"an ellipsis parameter is not permitted in a requires-expression"
ec_unnamed_require_expr_param;;"unnamed parameter in requires-expression has no effect"
ec_exp_concept_name;;"expected a concept name"
ec_is_constant_evaluated_in_constant_expression;;"call to %s appearing in a constant expression always produces \"true\""
ec_is_constant_evaluated_in_consteval_context;;"call to %s appearing in a consteval context always produces \"true\""
ec_is_constant_evaluated_in_nonconstexpr_context;;"call to %s appearing in a non-constexpr function always produces \"false\""
ec_type_constraint_failed;;"type constraint failed for %t"
ec_cl_export_template_option_incompatible_with_modules;;"option \"export\" cannot be used in modes where C++ modules are enabled"
ec_glb_mod_fgmt_decl_must_come_first;;"a global module fragment declaration must precede any other declaration"
ec_module_decl_only_after_glb_mod;;"a module declaration can only be preceded by a global module fragment"
ec_pvt_mod_fgmt_only_after_module;;"a private module fragment must be preceded by a module declaration"
ec_cannot_export_fgmt;;"a %s module fragment cannot be exported"
ec_more_than_one_module_decl;;"cannot declare more than one module"
ec_more_than_one_fgmt_decl;;"cannot declare more than one %s module fragment"
ec_module_req_primary_name;;"a module must be declared with a non-empty name"
ec_header_not_importable;;"%sq is not an importable header"
ec_cannot_import_module_with_no_name;;"cannot import a module with no name"
ec_module_cannot_depend_on_itself;;"a module cannot have an interface dependency on itself"
ec_module_already_imported;;"%m has already been imported"
ec_module_file;INTERNAL;"module file"
ec_module_file_not_found;;"could not find module file for module %sq"
ec_cannot_import_module;;"could not import module file %sq"
REMOVED;ec_mismatched_module_file_kind;;"expected %s1, found %s2 instead"
ec_mismatched_module_file_context;INTERNAL;"when opening module file %sq"
ec_unknown_ifc_partition;;"unknown partition name %sq"
REMOVED;ec_module_kind_none;INTERNAL;"an unknown module file"
REMOVED;ec_module_kind_header;INTERNAL;"an importable header module file"
REMOVED;ec_module_kind_edg;INTERNAL;"an EDG module file"
REMOVED;ec_module_kind_ifc;INTERNAL;"an IFC module file"
ec_module_kind_unexpected;INTERNAL;"an unexpected module file"
ec_types_must_have_same_size;;"the type of the second operand %t2 must have the same size as %t1"
ec_type_must_be_trivially_copyable;;"type must be trivially copyable"
ec_unsupported_type_for_bit_cast;;"type %t is currently not supported for constexpr evaluation of __builtin_bit_cast"
ec_bitfields_not_allowed;;"class types with bitfields %t are not currently supported for constexpr evaluation of __builtin_bit_cast"
ec_reference_type_not_allowed;;"non-static data member of reference type %t prevents constexpr evaluation of __builtin_bit_cast"
ec_volatile_type_not_allowed;;"a volatile type %t prevents constexpr evaluation of __builtin_bit_cast"
ec_invalid_bit_cast_type;;"a union, pointer, or pointer-to-member type %t prevents constexpr evaluation of __builtin_bit_cast"
ec_ambiguous_inh_constructor_add_on;INTERNAL;"%npTd, inherited via using decl %p"
ec_deleted_inh_def_constructor;;"the sub-object construction of %t for inheriting constructors cannot be performed -- the associated constructor is deleted"
ec_promise_type_returns_return_void;;"%n must return void"
ec_invalid_start_of_member_declaration;;"invalid start of member declaration"
ec_exp_auto;;"expected \"auto\""
ec_operator_not_allowed_after_new;;"this operator is not allowed at this point; parenthesize the preceding new-expression"
ec_invalid_use_of_concept;;"invalid use of concept"
ec_rvalue_defaulted_member_comparison;;"a defaulted member comparison operator cannot be \"&&\"-qualified"
ec_constexpr_comparison_calls_nonconstexpr_function;;"default constexpr comparison function calls non-constexpr function %nd"
ec_invalid_constexpr_memcmp;;"constexpr memory comparison is only supported for integer or array-of-integer objects"
ec_constraint_concept_template;;"a concept template cannot have associated constraints"
ec_export_not_allowed;;"\"export\" is not allowed"
ec_export_class_members;;"exporting individual class members is not allowed"
ec_export_must_introduce_name;;"an exported declaration must introduce a name"
ec_export_cannot_contain_export;;"an export declaration cannot contain an export declaration (previous declaration %p)"
ec_export_cannot_contain_import;;"an export declaration cannot contain a module import declaration"
ec_export_only_in_modules;;"an export declaration can only appear in a module interface unit"
ec_export_internal_linkage;;"an export declaration cannot export a name with internal linkage"
REMOVED;ec_export_internal_linkage_using_sym;INTERNAL;"using declaration includes %nfd"
REMOVED;ec_builtin_needs_fp16;;"builtin function is not available because __fp16 floating-point types are not supported"
ec_empty_requires_expression;;"a requires-expression must specify at least one requirement"
ec_invalid_constinit;;"\"constinit\" is not valid here"
ec_constinit_variable_storage;;"\"constinit\" is only valid for declarations of variables with static or thread storage duration"
ec_constinit_variable_has_dynamic_init;;"constinit variable requires dynamic initialization"
ec_missing_constinit;;"variable was previously declared with \"constinit\" %p"
ec_use_of_non_prototype_func_declarator;;"use of non-prototype function declarator"
ec_cannot_be_const_qualified;;"argument cannot have a const-qualified type"
ec_ptr_to_mem_of_incomplete_class;;"a pointer-to-member of an incomplete type %t is not allowed"
ec_pack_init_capture_not_enabled;;"pack expansion in init-capture not enabled in this mode"
ec_pack_init_capture_is_cpp20;;"pack expansion in init-capture is a C++20 feature"
ec_comparison_defaulted_in_class_must_be_first_decl;;"a comparison operator defaulted in a class definition must be the first declaration of that comparison operator (%nd)"
ec_pack_init_capture_in_non_variadic_context;;"a pack expansion in an init-capture can be used only in a variadic template"
ec_type_constraint_requires_type_concept;;"type constraint uses %nd that is not a type concept (i.e., a concept template whose first parameter is a type parameter)"
ec_placeholder_type_failed_constraint;;"the deduced placeholder type %t failed the type constraint"
ec_ineligible_default_constructor;;"default constructor for %t is not eligible"
ec_ambiguous_destructor_constraints;;"destructor for %t is ambiguous because of unordered constraints"
ec_failed_destructor_constraints;;"destructor for %t is ineligible because of failed constraints"
ec_destructor_position;;"ambiguous destructor candidate"
ec_trailing_requires_on_virtual_func;;"a virtual function cannot have a trailing requires clause"
ec_function_ineligible;;"%nd does not satisfy its constraints"
ec_bad_decltype_qualifier;;"result of decltype qualifier %t is not a class or enumeration"
ec_cpp20_reversed_comparison_ambiguity;;"comparison is ambiguous in standard C++20 because the implied comparison operator with reversed parameters is an equally good match -- this is usually caused by a missing \"const\" qualifier on the comparison operator; see %nod"
ec_invalid_concept_id;;"invalid concept-id"
ec_requires_clause_arg_list_substitution_failed;;"substitution of arguments %T for requires-clause failed"
ec_ineligible_member_function;;"constraints for %nd are not satisfied"
ec_var_with_virtual_bases_in_constexpr_function;;"variable type %t in constexpr function has virtual base classes"
ec_constexpr_object_with_virtual_base;;"a constant expression cannot allocate a virtual base subobject (for type %t)"
ec_template_parameter_has_nonstructural_class_type;;"a template parameter of class type must be of structural class type"
ec_utf8_lit_no_ulit;;"support for UTF-8 literals requires u-literal support."
ec_duplicate_module_map;;"module file mapping for \"%s\" specified more than once"
ec_duplicate_header_unit_map;;"header unit mapping for \"%s\" specified more than once"
ec_missing_header_unit_map;;"no mapping specified for \"%s\""
REMOVED;ec_invalid_module_file_map;;"module file mapping for \"%s\" is invalid"
ec_cannot_find_header_for_import;;"cannot find header \"%s\" to import"
ec_multiple_module_matches;;"more than one file in the module file list matches \"%s\""
ec_module_file_mismatch;;"module file found for \"%s\" is for a different module"
REMOVED;ec_module_kind_any;INTERNAL;"any kind of module file"
ec_module_read_error;;"unable to read module file"
ec_builtin_needs_char8_t;;"builtin function is not available because the char8_t type is not supported with the current options"
REMOVED;ec_cl_await_incompatible_with_coroutines;;"the --ms_await command-line option cannot be specified if C++20 coroutines are enabled"
ec_nonstandard_use_of_explicit_default_constructor;;"nonstandard use of explicit constructor %nod for default aggregate element initialization"
ec_constexpr_memcpy_operand_not_object;;"source or destination of memcpy-like intrinsic does not point to an object"
ec_constexpr_memcpy_distinct_types;;"memcpy-like intrinsic attempts to copy representationally-distinct types %t1 and %t2"
ec_constexpr_memcpy_nontrivial_type;;"memcpy-like intrinsic attempts to copy nontrivially-copyable type %t"
ec_constexpr_memcpy_partial_object;;"memcpy-like intrinsic attempts to copy partial object"
ec_constexpr_memcpy_overflow;;"memcpy-like intrinsic attempts to copy past array boundary"
ec_constexpr_memcpy_overlap;;"memcpy-like intrinsic attempts to copy overlapping byte ranges (using corresponding memmove operation instead)"
ec_nondefining_friend_requires_clause;;"a friend declaration with a trailing-requires-clause must be a definition"
ec_type_not_scalar;;"expression must have arithmetic or pointer type but has type %t"
ec_type_not_arithmetic_or_enum_or_pointer;;"expression must have arithmetic, enum, or pointer type but has type %t"
ec_type_not_arithmetic_or_unscoped_enum_or_pointer;;"expression must have arithmetic, unscoped enum, or pointer type but has type %t"
ec_type_not_pointer;;"expression must have pointer type but it has type %t"
ec_member_access_requires_pointer;;"operator -> or ->* applied to %t instead of to a pointer type"
REMOVED;ec_incomplete_type_expr_not_allowed;;"incomplete class type %t is not allowed"
ec_cannot_interpret_target_bits;;"cannot interpret bit layout for this compilation target"
ec_ifc_no_corresponding_operator;;"no corresponding operator for IFC operator %sq"
ec_ifc_no_corresponding_calling_conv;;"no corresponding calling convention for IFC calling convention %sq"
ec_module_file_contains_unsupported_constructs;;"%m contains unsupported constructs"
ec_unhandled_ifc_construct;;"unsupported IFC construct: %sq"
ec_is_signed_no_longer_a_keyword;;"__is_signed is no longer a keyword from this point"
ec_dim_not_const_unsigned_int;;"an array dimension must have a constant unsigned integer value"
REMOVED;ec_unsupported_ifc_file_version;;"IFC file %sq has unsupported version %d1.%d2"
ec_modules_not_enabled;;"modules are not enabled in this mode"
ec_import_name_not_allowed;;"\"import\" is not allowed in a module name"
ec_module_name_not_allowed;;"\"module\" is not allowed in a module name"
REMOVED;ec_macro_in_import_pp_directive;;"%sq cannot be a macro when used in an import directive"
REMOVED;ec_macro_in_module_pp_directive;;"%sq cannot be a macro when used in a module directive"
ec_not_an_enum_type;;"%n is not an enum type"
ec_using_enum_conflicts;;"enumerator %no2 conflicts with %n1"
ec_using_enum_redecl;;"enumerator %no has already been declared in this scope %p"
ec_empty_throw_specification_not_cpp20;;"the \"throw()\" specification is not part of C++20 and later"
ec_multiple_header_map_matches;;"more than entry in the header unit map matches \"%s\""
ec_exp_push_pop;;"#pragma diagnostic must have either 'push' or 'pop' argument"
ec_no_corresponding_push;;"no '#pragma diagnostic push' was found to match this 'diagnostic pop'"
ec_macro_in_pp_directive;;"%sq cannot be a macro when used in an import or module directive"
ec_not_global_namespace;;"this directive can only appear in the global namespace scope"
ec_export_not_at_namespace_scope;;"an \"export\" declaration can appear only at global or namespace scope"
ec_identifier_not_keyword;;"%sq is parsed as an identifier rather than a keyword because the tokens that follow it do not match those of a preprocessor directive"
ec_apparent_module_pp_directive;;"this appears to be the start of a preprocessor directive, but the lack of a ';' followed immediately by a newline prevents that"
ec_module_directive_in_macro;;"this appears to be a modules preprocessing directive, but such directives cannot appear within a macro expansion"
ec_module_directive_in_if;;"a \"module\" directive cannot appear within the scope of conditional inclusion (e.g., #if, #else, #elseif, etc.)"
ec_import_skipped;;"the import of %sq has been skipped"
ec_bad_gro_on_alloc_fail;;"promise type %t must declare get_return_object_on_allocation_failure as a static member function requiring no arguments"
ec_expl_spec_alias_template;;"an alias template cannot be explicitly specialized"
ec_matching_lbrace;;"to match this \"{\""
ec_macro_invocation;;"in this macro invocation"
ec_call_with_unusable_argument_conversion;;"call requires an ambiguous argument conversion"
ec_named_module_source_conflict;;"declaration owned by module %s conflicts with %nd"
ec_global_module_source_conflict;;"declaration owned by global module conflicts with %nd owned by a named module"
ec_bad_malloc_attribute;;"the first argument to a \"malloc\" attribute must be a function"
ec_cannot_capture_var;;"cannot capture %nod"
ec_cannot_capture_this;;"cannot capture \"this\""
ec_already_in_consteval_context;;"already in consteval context"
ec_if_consteval_requires_braced_dependent_statement;;"\"if consteval\" and \"if not consteval\" require braced dependent statements"
ec_if_consteval_in_nonconstexpr_function;;"\"if consteval\" and \"if not consteval\" are meaningless in a non-constexpr function"
ec_branch_into_if_consteval;;"transfer of control into an \"if consteval\" or \"if not consteval\" statement is not allowed"
ec_constexpr_local_static;;"constant-evaluation cannot go through the declaration of a variable with static or thread storage duration"
ec_mutable_qualifier_on_explicit_this_lambda;;"the mutable qualifier is not allowed on a lambda with an explicit \"this\" parameter"
ec_static_with_explicit_this;;"a member function declared with \"static\" cannot have an explicit \"this\" parameter"
ec_explicit_this_param_must_be_first;;"an explicit \"this\" parameter must be the first declared parameter"
ec_bad_this;;"\"this\" is not allowed here"
REMOVED;ec_explicit_this_defaulted_comparison;;"a comparison function with explicit \"this\" cannot be defaulted"
ec_explicit_this_needs_this;;"an explicit \"this\" function requires a selector operand"
ec_if_consteval_nonstandard;;"\"if consteval\" and \"if not consteval\" are not standard in this mode"
ec_lambda_without_parameters_nonstandard;;"omitting \"()\" in a lambda declarator is nonstandard in this mode"
ec_lambda_without_parameters_requires_clause;;"a trailing-requires-clause is not permitted when the lambda parameter list is omitted"
ec_invalid_ifc_partition;;"%m invalid partition requested"
ec_undefined_ifc_partition;;"%m undefined partition (believed to be %sq) requested"
REMOVED;ec_invalid_empty_ifc_position;;"module %sq1 file position %d1 (relative position %d2) requested for partition %sq2 - which is empty"
REMOVED;ec_invalid_preceding_ifc_position;;"module %sq1 file position %d1 (relative position %d2) requested for partition %sq2 - which preceeds the start of the partition"
ec_invalid_overflowing_ifc_position;;"%m file position %u1 (relative position %u2) requested for partition %sq - which overflows the end of its partition"
ec_invalid_misaligned_ifc_position;;"%m file position %u1 (relative position %u2) requested for partition %sq - which is misaligned with its partitions elements"
ec_invalid_ifc_position_backtrace_field;;"from subfield %sq (relative position to node %u)"
ec_invalid_ifc_position_backtrace_pos;;"from partition %sq element %u1 (file position %u2, relative position %u3)"
ec_nonstandard_lambda_attributes;;"attributes on lambdas are a C++23 feature"
ec_confusable_identifier;;"identifier %sq could be confused with a visually-similar one appearing %p"
ec_suspicious_comment_formatting;;"this comment contains suspicious Unicode formatting control characters"
ec_suspicious_string_formatting;;"this string contains Unicode formatting control characters that could result in unexpected runtime behavior"
ec_suppressed_module_warning_diag;;"%u suppressed warning was encountered while processing %m"
ec_suppressed_module_warnings_diag;;"%u suppressed warnings were encountered while processing %m"
ec_suppressed_module_error_diag;;"%u suppressed error was encountered while processing %m"
ec_suppressed_module_errors_diag;;"%u suppressed errors were encountered while processing %m"
ec_including;INTERNAL;"including"
ec_suppressed;INTERNAL;"suppressed"
ec_virtual_with_explicit_this;;"a virtual member function cannot have an explicit \"this\" parameter"
ec_address_of_unqualified_explicit_this_function;;"taking the address of an explicit \"this\" function requires a qualified name"
ec_implicit_address_of_explicit_this_function;;"forming the address of an explicit \"this\" function requires the \"&\" operator"
ec_string_literal_cannot_initialize_flexible_array_member;;"a string literal cannot be used to initialize a flexible array member"
REMOVED;ec_ifc_bad_function_definition;;"the IFC representation of the definition of function %sq is invalid"
REMOVED;ec_ifc_bad_function_param_implicit_this;;"a correction has been made to drop an implicit \"this\" parameter"
REMOVED;ec_ifc_bad_function_param_wrong_chart;;"a UniLevel IFC chart wasn't used to specify parameters"
REMOVED;ec_ifc_bad_function_param_counts_multi_multi;;"%u1 parameters were specified by the IFC parameter definition chart while %u2 parameters were specified by the IFC declaration"
REMOVED;ec_ifc_bad_function_param_counts_single_multi;;"%u1 parameter was specified by the IFC parameter definition chart while %u2 parameters were specified by the IFC declaration"
REMOVED;ec_ifc_bad_function_param_counts_multi_single;;"%u1 parameters were specified by the IFC parameter definition chart while %u2 parameter was specified by the IFC declaration"
ec_ifc_missing_function_definition;;"the IFC representation of the definition of function %sq is missing"
ec_member_function_modifier_on_template;;"function modifier does not apply to member template declaration"
ec_constexpr_too_many_nested_anonymous_types;;"member selection involves too many nested anonymous types"
ec_no_common_type;;"there is no common type between the operands"
ec_exp_pointer_to_member;;"expected a pointer-to-member"
ec_lone_flexible_array_member;;"a flexible array member cannot be declared in an otherwise-empty type"
ec_missing_gnu_srcloc_type;;"expected \"std::source_location::__impl\" to be defined to a class with only the data members \"_M_function_name\", \"_M_file_name\", \"_M_column\", \"_M_line\""
ec_srcloc_column_bounds;;"given column number is too large for \"std::source_location\" implementation"
ec_srcloc_line_bounds;;"given line number is too large for \"std::source_location\" implementation"
ec_utf16_char_lit_too_long;;"a UTF-16 character constant cannot occupy more than one code unit; value truncated"
ec_both_arguments_must_have_same_type;;"both arguments must have the same type"
ec_invalid_type_for_builtin;;"type %t is invalid as an argument for this builtin"
ec_constexpr_called_from_rout;;"called from %nd:"
ec_qualified_unnamed_bit_field_type;;"a qualified type is nonstandard for anonymous bit fields"
ec_bad_vector_conditional_size;;"the element type of the vector condition (%t1) must have the same size as the element type of the result (%t2)"
ec_bad_vector_float_operand_size;;"the floating-point vector operand type (%t) has no matching integer vector type"
ec_mangling_for_requires;;"mangling for \"requires\" expressions is not yet implemented"
ec_unavailable_attr;;"because of an \"unavailable\" attribute"
ec_duplicate_asm_qualifier;;"duplicate 'asm' qualifier"
ec_incomplete_enum_bit_field_or_bad_opaque_enum;;"either a bit field with an incomplete enum type or an opaque enumeration with an invalid base type"
ec_ifc_partition_mismatch;;"attempted to construct an element from IFC partition %sq using an index into IFC partition %sq2"
ec_ifc_partition_bad_entry_size;;"the partition %sq specified its entry size as %u1 when %u2 was expected"
ec_ifc_requirement_failure;;"an unexpected IFC requirement was encountered while processing %m"
ec_ifc_requirement_failure_fill_in;;"condition failed at line %d in %s1: %sq2"
ec_circular_constraint;;"atomic constraint depends on itself"
ec_noreturn_with_return_type;;"\"noreturn\" function has non-void return type"
ec_ifc_bad_function_param_name;;"a correction has been made by dropping the parameter %sq (at relative index %u)"
ec_default_arg_on_member_template_def;;"a default template argument cannot be specified on the definition of a member template outside its class"
ec_ifc_bad_identifier;;"invalid IFC identifier name %sq encountered during entity reconstruction"
REMOVED;ec_ifc_bad_identifier_skipped;;"invalid IFC identifier named %sq skipped during entity reconstruction"
ec_invalid_ifc_sort_value;;"%m invalid sort value"
ec_ifc_function_template_parse_failure;;"a function template loaded from an IFC module was incorrectly parsed as %nd"
ec_ifc_entity_ref_failure;;"failed to load an IFC entity reference in %m"
ec_ifc_entity_ref_failure_info;;"from partition %sq element %u1 (file position %u2, relative position %u3)"
ec_no_chained_designators_with_destructor;;"chained designators are not permitted for a class type with a nontrivial destructor"
ec_explicit_specialization_friend;;"an explicit specialization declaration may not be a friend declaration"
ec_std_float128_not_supported;;"the std::float128_t type is not supported; std::float64_t will be used instead"
REMOVED;ec_std_bfloat16_not_supported;;"the std::bfloat16_t type is not supported; std::float32_t will be used instead"
ec_alias_template_deduction_guide;;"a deduction guide may not be declared for alias template %no"
ec_unavailable_entity;;"%n was declared declared unavailable"
ec_unavailable_entity_with_custom_message;;"%n was declared unavailable (%sq)"
ec_deprecated_attr;;"because of a \"deprecated\" attribute"
ec_explicit_lambda_template_parameters_is_cpp20;;"explicit lambda template parameters are a C++20 feature"
ec_c23_noreturn_deprecated;;"the use of \"_Noreturn\" has been obsoleted in C23; use \"[[noreturn]]\" instead"
ec_c23_alignof_deprecated;;"the use of \"_Alignof\" has been obsoleted in C23; use \"alignof\" instead"
ec_c23_alignas_deprecated;;"the use of \"_Alignas\" has been obsoleted in C23; use \"alignas\" instead"
ec_c23_bool_deprecated;;"the use of \"_Bool\" has been obsoleted in C23; use \"bool\" instead"
ec_c23_static_assert_deprecated;;"the use of \"_Static_assert\" has been obsoleted in C23; use \"static_assert\" instead"
ec_c23_thread_local_deprecated;;"the use of \"_Thread_local\" has been obsoleted in C23; use \"thread_local\" instead"
ec_ms_ifc_unavailable;;"Microsoft mode must be enabled to use the module file %sq (a Microsoft Visual Studio IFC module)"
ec_file_for_module_not_found;;"could not open module file %sq"
ec_found_from_module_map;;"found in the module map for module %sq"
ec_found_from_header_unit_map;;"found in the header unit map for %sq"
ec_cl_invalid_output_mode;;"unrecognized output mode (must be one of text, sarif): %s"
ec_cl_c23_typeof_option_only_in_C;;"option \"c23_typeof\" can be used only when compiling C"
ec_cl_invalid_clang_version;;"invalid clang version number: %s"
REMOVED;ec_ifc_null_char_in_string;;"IFC string contains unexpected null (zero) character in module %sq"
REMOVED;ec_ifc_null_char_in_string_removal_info;;"%u1 out of %u2 bytes were used"
REMOVED;ec_ifc_null_char_in_string_info;;"from string info in partition %sq element %u1 (file position %u2, relative position %u3)"
ec_constexpr_flexible_array_initializer;;"cannot evaluate an initializer for a flexible array member"
ec_nonstandard_bit_field_initializer;;"a default bit-field initializer is a C++20 feature"
ec_ifc_too_many_template_args;;"too many arguments in template argument list in %m"
ec_ifc_too_many_template_args_info;;"detected for the template argument represented by %sq element %u1 (file position %u2, relative position %u3)"
ec_ifc_too_few_template_args;;"too few arguments in template argument list in %m"
ec_ifc_too_few_template_args_info;;"detected while processing the template argument list represented by %sq element %u1 (file position %u2, relative position %u3)"
ec_nonstandard_conversion_from_scoped_enum;;"conversion from scoped enumeration type %t is nonstandard"
ec_constexpr_allocation_mismatch;;"deallocation does not match allocation kind (one is for an array and the other not)"
ec_constexpr_address_unknown;;"comparison involves unknown address (e.g., the address of a weak variable)"
ec_bad_argument_to_make_signed;;"__make_signed is only compatible with non-bool integer and enum types"
ec_bad_argument_to_make_unsigned;;"__make_unsigned is only compatible with non-bool integer and enum types"
ec_intrinsic_name_released;;"the intrinsic name %sq will be treated as an ordinary identifier from here"
ec_array_subobject_not_initialized;;"access to uninitialized subobject at index %d"
ec_ifc_line_number_overflow;;"IFC line number (%u1) overflows maximum allowed value (%u2) %m"
ec_invalid_unrepresentable_ifc_position;;"%m requested element %u of partition %sq, this file position exceeds the maximum representable value"
ec_wrong_number_of_arguments;;"wrong number of arguments"
ec_candidate_failed_constraint;;"constraint on candidate %n not satisfied"
ec_candidate_wrong_param_count;;"number of parameters of %n does not match the call"
ec_candidate_expl_templ_arg_subst_failed;;"substituting explicit template arguments %T for %n failed"
ec_impl_deleted_move_candidate_ignored;;"%n is an implicitly \"= delete\" move function and thus ignored during overload resolution"
ec_arg_for_empty_param_pack;;"%n does not match because argument #%d is provided for an empty parameter pack"
ec_nonviable_because_arg_mismatch;;"%n does not match because argument #%d does not match parameter"
ec_deduction_failed;;"candidate %n failed deduction"
ec_builtin_operator_nonviable_because_arg_mismatch;;"built-in operator%s does not match because argument #%d does not match parameter"
ec_integral_operand;;"<integral>"
ec_promoted_integral_operand;;"<promoted integral>"
ec_ptrdiff_t_operand;;"<ptrdiff_t>"
ec_enum_operand;;"<enum>"
ec_scoped_enum_operand;;"<scoped enum>"
ec_arith_operand;;"<arithmetic>"
ec_promoted_arith_operand;;"<promoted arithmetic>"
ec_nonbool_arith_operand;;"<non-bool arithmetic>"
ec_pointer_operand;;"<pointer>"
ec_nullptr_operand;;"<nullptr>"
ec_handle_operand;;"<handle>"
ec_handle_to_cli_array_operand;;"<handle to CLI array>"
ec_pointer_to_object_operand;;"<pointer to object>"
ec_pointer_to_function_operand;;"<pointer to function>"
ec_ptr_to_member_operand;;"<pointer-to-member>"
ec_bool_operand;;"<bool>"
ec_bool_equivalent_operand;;"<bool-like>"
ec_class_operand;;"<class>"
ec_auto_cast_is_cpp23;;"auto(<expr>) and auto{<expr>} are a C++23 feature"
ec_anon_union_using_declaration;;"invalid anonymous union -- using declaration is not allowed"
ec_ifc_file_incompatibility;;"IFC file %sq cannot be processed"
ec_unsupported_ifc_file_version_info;;"IFC version %u1.%u2 is not supported"
ec_unsupported_ifc_file_arch_info;;"IFC architecture %sq is incompatible with the current target architecture"
ec_unknown_ifc_partition_conversion;;"%m requests index %u of an unsupported partition corresponding to %sq"
ec_param_cannot_be_completed;;"parameter number %u of %n has type %t which cannot be completed"
ec_param_is_incomplete;;"parameter number %u of %n has incomplete type %t"
ec_param_is_abstract;;"parameter number %u of %n has abstract type %t"
ec_struct_bindings_is_cpp17;;"structured bindings are a C++17 feature"
ec_capturing_struct_bindings_is_cpp20;;"capturing structured bindings is a C++20 feature"
ec_bad_splicer_operand;;"operand of splicer has type %t instead of std::meta::info"
ec_not_a_type_reflection;;"operand (reflection for %r) is not the reflection of a type"
ec_nonconstant_splicer_operand;;"nonconstant operand of splicer"
ec_bad_std_string_view;;"use of %t instead of std::string_view (= std::basic_string_view<char>)"
ec_inconsistent_std_string_view;;"std::string_view used here is inconsistent with use in other intrinsics"
ec_invalid_std_string_view_for_reflection;;"definition of std::string_view does not match assumptions of reflection (no base classes and data members for pointer and length)"
ec_constexpr_reflection_not_of_constant;;"reflection is not that of a constant value"
REMOVED;ec_constexpr_cannot_make_zero_length_array;;"cannot make a zero-length array"
REMOVED;ec_constexpr_length_too_long_for_make_constexpr_array;;"length (%d1) passed to make_constexpr_array is larger than number of elements available (%d2)"
REMOVED;ec_invalid_infovec_for_reflection;;"definition of std::meta::infovec does not match assumptions of reflection (no base classes and data members for pointer, length, and capacity)"
ec_bad_reflection_kind_for_expression_splice;;"bad reflection (%r) for expression splice"
ec_already_defined_with_pos;;"%n has already been defined (previous definition %p)"
REMOVED;ec_infovec_not_initialized;;"infovec object not initialized"
ec_incompatible_std_meta_value_of_type;;"extract of type %t1 is not compatible with the given reflection (entity with type %t2)"
ec_reflection_of_overloaded_set;;"reflecting an overload set is not currently permitted"
ec_intrinsic_requires_template_instance;;"this intrinsic requires a reflection for a template instance"
ec_invalid_reflection_equality;;"incompatible types %t1 and %t2 for operator"
ec_invalid_reflection_for_intrinsic;;"invalid reflection for intrinsic metafunction"
ec_nonmember_reflection_for_intrinsic;;"intrinsic metafunction requires a reflection for a class member"
ec_union_base;;"a class cannot not derive from a union"
ec_base_with_flexible_array;;"cannot derive from a class with a flexible array member"
ec_null_reflection;;"null reflection"
ec_namespace_alias;;"namespace alias"
ec_unspecified_reflection;;"reflection (details unavailable)"
ec_std_meta_substitute_bad_arg_reflection;;"bad reflection (%r) for template argument in std::meta::substitute"
ec_std_meta_substitute_failed;;"call to std::meta::substitute (for %r) failed"
ec_expired_reflection_value;;"reflection value refers to inactive entity"
ec_cannot_splice_general_expression;;"an expression splice must splice a constant value, a variable, or a function"
ec_cannot_splice_member_access;;"a member access splice must splice a data member or a member function"
ec_splice_is_not_a_member_of_class;;"member %nd is not a direct or indirect member of %t"
ec_unicode_name_not_found;;"the name %sq does not designate a known Unicode character"
ec_unterminated_unicode_name;;"unterminated named Unicode character escape"
ec_invalid_char_in_unicode_name;;"character cannot appear in a Unicode name"
ec_empty_unicode_name;;"empty named Unicode character escape"
ec_exp_lsplice;;"expected a \"[:\""
ec_exp_rsplice;;"expected a \":]\""
ec_lambda_mutable_and_static;;"a lambda expression cannot be both \"mutable\" and \"static\""
ec_static_lambda_nonstandard;;"a \"static\" lambda expression is nonstandard"
ec_static_lambda_with_capture;;"a \"static\" lambda expression must have an empty capture specification"
ec_edg_ifc_header_unit;INTERNAL;"EDG IFC header unit"
ec_edg_ifc_file;INTERNAL;"EDG IFC"
ec_ifc_creation_failure;;"an IFC file could not be produced for the current translation unit"
ec_unsupported_il_to_ifc;;"one or more entities cannot currently be written to an IFC file"
ec_nonstandard_explicit_bool;;"'explicit(bool)' is a C++20 feature"
ec_bad_type_for_atomic_fetch;;"first argument must be a pointer to integer, enum, or supported floating-point type"
ec_module_use_in_multi_tu_mode;;"C++ modules cannot be used when compiling multiple translation units"
ec_module_use_with_export_template;;"C++ modules cannot be used with the pre-C++11 \"export\" feature"
ec_ifc_unsupported_token;;"the IFC token %sq is not supported"
ec_pass_object_size_not_in_function_decl;;"the \"pass_object_size\" attribute is only valid on parameters of function declarations"
ec_attr_arg_out_of_small_integer_range;;"the argument of the %sq attribute %d1 must be a value between 0 and %d2"
ec_ref_qualifier_ignored;;"a ref-qualifier here is ignored"
ec_invalid_neon_vector_element_type;;"invalid NEON vector element type %t"
ec_invalid_neon_polyvector_element_type;;"invalid NEON polyvector element type %t"
ec_invalid_scalable_vector_element_type;;"invalid scalable vector element type %t"
ec_invalid_scalable_vector_tuple_elements;;"invalid number of tuple elements for scalable vector type"
ec_invalid_neon_vector_size;;"a NEON vector or polyvector must be either 64 or 128 bits wide"
ec_sizeless_type_not_allowed;;"sizeless type %t is not allowed"
ec_value_init_of_sizeless_type;;"an object of the sizeless type %t cannot be value-initialized"
ec_ifc_unexpected_null_scope_member;;"unexpected null declaration index found as part of scope %u"
ec_cl_unnamed_module_map;;"a module name must be specified for the module file map referencing the file %sq"
ec_ifc_partition_missing_element;;"a null index value was received where a node in the IFC partition %sq was expected"
ec_void_template_variable;;"%nd cannot have type %t"
ec_ref_qualifier_nonstandard;;"a ref-qualifier is nonstandard in this mode"
ec_range_based_for_nonstandard;;"a range-based \"for\" statement is nonstandard in this mode"
ec_auto_type_nonstandard;;"\"auto\" as a type specifier is nonstandard in this mode"
ec_cannot_import_module_bad_checksum;;"could not import module file %sq due to file corruption"
ec_ifc;INTERNAL;"IFC"
ec_extraneous_injected_member_tokens;;"extraneous tokens injected after member declaration"
ec_bad_injection_scope;;"bad injection scope (%r)"
ec_expected_string_view_value;;"expected a value of type std::string_view but got %t"
ec_extraneous_injected_statement_tokens;;"extraneous tokens injected after statement"
ec_extraneous_injected_declaration_tokens;;"extraneous tokens injected after declaration"
ec_tuple_index_overflow;;"tuple index value (%d) overflow"
ec_constexpr_begin_report_tokens;;">> output from std::meta::__report_tokens"
ec_constexpr_end_report_tokens;;">> end output from std::meta::__report_tokens"
ec_constexpr_no_current_parameters;;"not in a context with parameter variables"
ec_empty_delimited_escape;;"a delimited escape sequence must have at least one character"
ec_unterminated_delimited_escape;;"unterminated delimited escape sequence"
ec_constant_addresses_local_variable;;"constant contains address of a local variable"
ec_struct_binding_consteval;;"a structured binding cannot be declared \"consteval\""
ec_module_import_conflict;;"%no conflicts with the imported declaration %nd"
ec_char_too_wide_for_rep;;"character cannot be represented in the specified character type"
ec_annotation_after_using;;"an annotation cannot appear in the context of a \"using\" attribute prefix"
ec_annotation_must_have_literal_type;;"type %t of annotation is not a literal type"
ec_ext_vector_type_requires_bool_integral_floating_type;;"the \"ext_vector_type\" attribute applies only to bool, integer, or floating-point types"
ec_multiple_union_designators;;"multiple designators into the same union are not permitted"
ec_debug_show_location;;"test message"
ec_microsoft_version_doesnt_support_cpp23_mode;;"the version of Microsoft being emulated must be at least 1943 to use \"--ms_c++23\""
ec_cl_invalid_cwd;;"invalid current working directory: %s"
ec_cleanup_attribute_in_constexpr_function;;"\"cleanup\" attribute within a constexpr function is not currently supported"
ec_assume_statement_applies_to_null_statements;;"the \"assume\" attribute can only apply to a null statement"
ec_assumption_failed;;"assumption failed"
ec_variable_templates_is_cpp14;;"variable templates are a C++14 feature"
ec_address_of_function_with_pass_object_size_attr;;"cannot take the address of a function with a parameter declared with the \"pass_object_size\" attribute"
ec_all_arguments_must_have_same_type;;"all arguments must have the same type"
ec_comparison_details;;"the final comparison was %s1 %s2 %s3"
ec_too_many_arguments_provided_for_attribute;;"too many arguments for attribute %sq"
ec_constexpr_bad_mantissa_string;;"mantissa string does not contain a valid number"
ec_constexpr_float_error;;"floating-point error during constant evaluation"
ec_inheriting_ctor_ignored_for_copy;;"inheriting constructor %n ignored for copy/move-like operation"
ec_cannot_get_file_size;;"cannot determine size of file %s"
ec_cannot_read_file;;"cannot read %s"
ec_embed;INTERNAL;"embed"
ec_unrec_embed_param;;"unrecognized parameter name"
ec_dupl_embed_param;;"parameter specified more than once"
ec_has_embed_not_in_if;;"__has_embed cannot appear outside #if"
ec_setlocale_lc_numeric_failed;;"could not set LC_NUMERIC locale to C"
ec_elifdef_not_enabled;;"elifdef and elifndef are not enabled in this mode and are ignored in text being skipped"
ec_nonstandard_alias_declaration_context;;"an alias declaration is nonstandard in this context"
ec_out_of_order_field_allocation_nonstandard;;"the target ABI may allocate nonstatic members in an order not matching their declaration order, which is nonstandard in C++23 and later"
ec_edg_ifc_interface_unit;INTERNAL;"EDG IFC module interface unit"
ec_edg_ifc_partition_unit;INTERNAL;"EDG IFC module partition unit"
ec_module_unit_export_unexpected;;"the module declaration cannot be exported from this translation unit unless creating a module interface file"
ec_module_unit_export_expected;;"the module declaration must be exported from this translation unit to create a module interface file"
ec_cannot_write_module_none_declared;;"module file generation was requested but no module was declared in the translation unit"
ec_candidate_constraints_failed;;"substituting %T for %n failed constraints"
ec_concept_not_satisfied;;"%n not satisfied for %T"
ec_bad_embed_initializer;;"the #embed expansion is too long to initialize an entity of type %t"
ec_bad_defined_pp_op;;"the \"defined\" operator is not permitted here"
ec_ptr_to_mem_to_non_member;;"%n is not a member of %t"
ec_embed_narrowing;;"narrowing conversion to signed character in #embed data"
ec_invalid_vector_of_bool_operator;;"operator is not permitted for \"vector of bool\" types"
ec_constexpr_object_too_large;;"object too large for constant-evaluation"
ec_self_referencing_temporary_object;;"self-referencing temporary object"
ec_lambda_cannot_refer_to_local_entity_here;;"a lambda cannot refer to a local variable or init-capture in this context"
ec_parameter_capture_conflict;;"a lambda parameter cannot hide an explicit capture"
ec_template_parameter_capture_conflict;;"a lambda template parameter cannot hide an explicit capture"
ec_insufficient_address_space;;"insufficient address space exists to process this translation unit"
ec_undetermined_type;;"<undetermined type>"
ec_undetermined_constant;;"<undetermined constant>"
ec_undetermined_template;;"<undetermined template>"
ec_bad_flt_config;;"the configured size of %s is too small for the specified number of mantissa + exponent bits"
ec_expression;;"expression"
ec_quoted_expression;;"<expression>"
ec_unnamed;;"unnamed"
ec_quoted_unnamed;;"<unnamed>"
ec_error_type;;"<error-type>"
ec_unknown_type;;"<unknown-type>"
ec_something;;"<something>"
ec_null_type;;"<null-type>"
ec_no_init;;"<no-init>"
ec_zero_init;;"<zero-init>"
ec_bitwise_copy_of;;"bitwise copy of: "
ec_bitwise_copy;;"<bitwise-copy>"
ec_class_result_via_ctor;;"class result via ctor: "
ec_constructor_call;;"<constructor-call>"
ec_null_expression;;"<NULL expression>"
ec_quoted_error;;"<error>"
ec_null_routine;;"<NULL routine>"
ec_quoted_default;;"<default>"
ec_parameter_number;;"parameter #"
ec_one_level_up;;" (one level up)"
ec_levels_up;;" levels up"
ec_dynamic_init;;"dynamic-init: "
ec_error_constant;;"<error-constant>"
ec_stack_offset_of;;"stack-offset-of:"
ec_implicit_element;;"<implicit element> "
ec_repetitions_of;;" repetitions of "
ec_type_code_integer;;"integer"
ec_type_code_enum;;"enum"
ec_type_code_scoped_enum;;"scoped enum"
ec_type_code_arithmetic;;"arithmetic"
ec_type_code_non_bool_arithmetic;;"non-bool arithmetic"
ec_type_code_pointer;;"pointer"
ec_type_code_nullptr_type;;"nullptr type"
ec_type_code_handle;;"handle"
ec_type_code_handle_to_CLI_array;;"handle-to-CLI-array"
ec_type_code_pointer_to_object;;"pointer-to-object"
ec_type_code_pointer_to_function;;"pointer-to-function"
ec_type_code_pointer_to_member;;"pointer-to-member"
ec_type_code_bool;;"bool"
ec_type_code_bool_equivalent;;"bool-equivalent"
ec_type_code_class;;"class"
ec_volatile_inc_deprecated;;"a volatile operand to an increment expression is deprecated"
ec_volatile_dec_deprecated;;"a volatile operand to a decrement expression is deprecated"
ec_indeterminate_not_on_first_decl;;"%n previously declared without the \"indeterminate\" attribute"
ec_default_constructor_is_explicit;;"the default constructor for %t is explicit"
ec_ifc_definition_load_failure;;"failed to load the definition of %n in %m"
ec_ifc_initializer_load_failure;;"failed to load the initializer for %n in %m"
ec_base_class_of_class_type_with_typedef_name;;"a class with a typedef name for linkage purposes cannot have a base class"
ec_member_function_of_class_type_with_typedef_name;;"a class with a typedef name for linkage purposes cannot have a member function"
ec_member_type_of_class_type_with_typedef_name;;"a class with a typedef name for linkage purposes cannot have a nested type, other than an enumeration type or a non-closure class type"
ec_lambda_in_class_type_with_typedef_name;;"a class with a typedef name for linkage purposes cannot contain a lambda expression"
ec_field_init_in_class_type_with_typedef_name;;"a class with a typedef name for linkage purposes cannot have a nonstatic data member with a default member initializer"
ec_static_data_member_not_allowed_in_unnamed_class;;"a static data member declaration is not allowed in an unnamed class"
ec_initializer_addresses_dllimport_variable;;"initializer result addresses a dllimport variable"
ec_cannot_be_specialized;;"template with \"no_specializations\" attribute cannot be specialized"
ec_static_dimension_nonstandard;;"\"static\" is nonstandard here"
ec_enum_previously_declared_without_explicit_base;;"%nd was previously declared without an explicit enum base"
ec_missing_typename;;"missing \"typename\" is nonstandard here"
ec_abbreviated_deduction_guide;;"abbreviated function template syntax is nonstandard for deduction guides"
ec_explicit_this_is_cpp23;;"explicit \"this\" parameters are a C++23 feature"
ec_array_designator_for_deduced_context;;"array designators are not supported in template deduction contexts"
ec_second_argument_wrong_shape;;"the second argument must be an integer type with the same shape (a scalar or vector type) as the first argument"
ec_vector_of_boolean_required;;"argument must be a vector of boolean types"
ec_pointer_to_scalar_required;;"argument must be a pointer to a scalar type"
ec_incorrect_masked_type;;"incorrect argument type (should be %t)"
ec_vector_type_with_size_is_required;;"a vector type (with the same number of elements as the first argument) is required"
ec_struct_binding_packs_is_cpp26;;"structured binding packs are a C++26 feature"
ec_non_template_structured_binding_pack;;"a structured binding pack can only be declared inside a template"
ec_multiple_structured_binding_packs;;"cannot declare multiple packs in a structured binding declaration"
ec_cl_cpp26_requires_parse_nonclass_templates;;"The \"--no_parse_templates\" option cannot be used in C++26 mode"
ec_type_pack_element_cannot_match;;"a type pack element cannot match %n"
ec_c23_old_style_param_id;;"identifier-only parameters can only be used in old-style function definitions, which are nonstandard since C23"
ec_cl_require_func_prototypes_option_only_in_C;;"option \"no_require_func_prototypes\" can be used only when compiling C"
ec_address_of_overload_set_implicit_obj_member_selected;;"overload resolution for an address-of-overload-set call may not select implicit-object member %nd"
ec_pack_indexing_is_cpp26;;"pack indexing is a C++26 feature"
ec_pack_index_out_of_bounds;;"pack index exceeds number of pack elements"
ec_alias_ctad_is_cpp20;;"class template argument deduction for alias templates is a C++20 feature"
ec_bitint_width_too_large;;"_BitInt(%d1) is invalid; the maximum integer width is %d2"
ec_signed_bitint_width_too_small;;"_BitInt(%d1) is invalid; the minimum signed _BitInt width is %d2"
ec_unsigned_bitint_width_too_small;;"unsigned _BitInt(%d1) is invalid; the minimum unsigned _BitInt width is %d2"
ec_bitint_enum_base_not_allowed;;"_BitInt types cannot be the underlying type of an enumeration type"
ec_deduction_guide_redeclaration;;"redeclaration of deduction guide %t (previous declaration %p)"
ec_create_pch_file_not_created;;"precompiled header file %sq was not created"
ec_top_templates_instances;INTERNAL;" instances ("
ec_top_templates_defs_of;INTERNAL;" defs) of "
ec_top_templates_unknown;INTERNAL;"<unknown>"
ec_non_c_like_typedef_for_linkage;;"anonymous non-C-like type given name for linkage purposes by typedef or alias declaration"
ec_non_c_like_because_of_base_class;;"type is not C-like because of this base class"
ec_non_c_like_because_of_default_member_init;;"type is not C-like because of this default member initializer"
ec_non_c_like_because_of_friend;;"type is not C-like because of this friend declaration"
ec_non_c_like_because_of_member;;"type is not C-like because of this member declaration"
ec_non_c_like_because_of_lambda;;"type is not C-like because of this lambda expression"
ec_enum_qualifier_is_cpp11;;"an enum-type name qualifier is a C++11 feature"
ec_unrestricted_unions_is_cpp11;;"unrestricted unions are a C++11 feature"
ec_pack_expansion_for_non_pack_alias_param;;"a pack expansion cannot be used as an argument for non-pack %n1 of %n2"
ec_uniterable_reflection_range;;"the range passed to the metafunction cannot be iterated"
ec_interpreter_message_prefix;INTERNAL;"interpreter:"
ec_interpreter_message_remark;;"%s1 %s2"
ec_interpreter_message_warning;;"%s1 %s2"
ec_interpreter_message_error;;"%s1 %s2"
ec_constexpr_diag_arg_count;;"a call to \"__builtin_constexpr_diag\" requires three arguments"
ec_constexpr_diag_bad_level;;"the first argument in a call to \"__builtin_constexpr_diag\" must be 0 (remark), 1 (warning), 2 (error), 16 (remark at caller), 17 (warning at caller), or 18 (error at caller)"
ec_constexpr_diag_bad_string;;"a string literal or an object with the representation of std::string_view is required for the tag and the message in a call to \"__builtin_constexpr_diag\""
ec_constexpr_diag_bad_tag;;"the tag in a call to \"__builtin_constexpr_diag\" may contain only letters, digits, and underscores"
ec_cl_invalid_constexpr_diag_tag;;"invalid tag in constexpr diagnostic control option: %s"
ec_token_sequence_needs_double_caret;;"a token sequence must be introduced by \"^^\""
ec_exp_interpolator;;"expected an interpolator (\"\\[\", \"\\[:\", \"\\{\", \"\\val\", or \"\\str\")"
ec_interpolated_id_is_not_identifier;;"%sq does not spell an identifier"
ec_interpolated_operand_is_not_token_sequence;;"the operand of a \"\\{...}\" interpolator is not a token sequence"
ec_tag_redefined_differently;;"this declaration of %n does not declare the same type as the declaration %p"
 ###############################################################################

###############################################################################
#                                                             \  ___  /       #
#                                                               /   \         #
# Edison Design Group C++/C Front End                        - | \^/ | -      #
#                                                               \   /         #
# Proprietary information of Edison Design Group Inc.         /  | |  \       #
# Copyright 1988-2026 Edison Design Group Inc.                   [_]          #
#                                                                             #
###############################################################################
