Home | History | Annotate | Download | only in Basic
      1 #ifdef LEXSTART
      2 __LEXSTART = DIAG_START_LEX,
      3 #undef LEXSTART
      4 #endif
      5 
      6 DIAG(backslash_newline_space, CLASS_WARNING, (unsigned)diag::Severity::Warning, "backslash and newline separated by space", 52, SFINAE_Suppress, false, false, 1)
      7 DIAG(err__Pragma_malformed, CLASS_ERROR, (unsigned)diag::Severity::Error, "_Pragma takes a parenthesized string literal", 0, SFINAE_SubstitutionFailure, false, true, 1)
      8 DIAG(err_bad_character_encoding, CLASS_ERROR, (unsigned)diag::Severity::Error, "illegal character encoding in character literal", 0, SFINAE_SubstitutionFailure, false, true, 1)
      9 DIAG(err_bad_string_encoding, CLASS_ERROR, (unsigned)diag::Severity::Error, "illegal character encoding in string literal", 0, SFINAE_SubstitutionFailure, false, true, 1)
     10 DIAG(err_character_too_large, CLASS_ERROR, (unsigned)diag::Severity::Error, "character too large for enclosing character literal type", 0, SFINAE_SubstitutionFailure, false, true, 1)
     11 DIAG(err_conflict_marker, CLASS_ERROR, (unsigned)diag::Severity::Error, "version control conflict marker in file", 0, SFINAE_SubstitutionFailure, false, true, 1)
     12 DIAG(err_defined_macro_name, CLASS_ERROR, (unsigned)diag::Severity::Error, "'defined' cannot be used as a macro name", 0, SFINAE_SubstitutionFailure, false, true, 1)
     13 DIAG(err_digit_separator_not_between_digits, CLASS_ERROR, (unsigned)diag::Severity::Error, "digit separator cannot appear at %select{start|end}0 of digit sequence", 0, SFINAE_SubstitutionFailure, false, true, 1)
     14 DIAG(err_embedded_directive, CLASS_ERROR, (unsigned)diag::Severity::Error, "embedding a #%0 directive within macro arguments is not supported", 0, SFINAE_SubstitutionFailure, false, true, 1)
     15 DIAG(err_escape_too_large, CLASS_ERROR, (unsigned)diag::Severity::Error, "%select{hex|octal}0 escape sequence out of range", 0, SFINAE_SubstitutionFailure, false, true, 1)
     16 DIAG(err_expected_id_building_module, CLASS_ERROR, (unsigned)diag::Severity::Error, "expected a module name in '__building_module' expression", 0, SFINAE_SubstitutionFailure, false, true, 1)
     17 DIAG(err_exponent_has_no_digits, CLASS_ERROR, (unsigned)diag::Severity::Error, "exponent has no digits", 0, SFINAE_SubstitutionFailure, false, true, 1)
     18 DIAG(err_feature_check_malformed, CLASS_ERROR, (unsigned)diag::Severity::Error, "builtin feature check macro requires a parenthesized identifier", 0, SFINAE_SubstitutionFailure, false, true, 1)
     19 DIAG(err_hex_constant_requires, CLASS_ERROR, (unsigned)diag::Severity::Error, "hexadecimal floating %select{constant|literal}0 requires %select{an exponent|a significand}1", 0, SFINAE_SubstitutionFailure, false, true, 1)
     20 DIAG(err_hex_escape_no_digits, CLASS_ERROR, (unsigned)diag::Severity::Error, "\\%0 used with no following hex digits", 0, SFINAE_SubstitutionFailure, false, true, 1)
     21 DIAG(err_invalid_char_raw_delim, CLASS_ERROR, (unsigned)diag::Severity::Error, "invalid character '%0' character in raw string delimiter; use PREFIX( )PREFIX to delimit raw string", 0, SFINAE_SubstitutionFailure, false, true, 1)
     22 DIAG(err_invalid_character_to_charify, CLASS_ERROR, (unsigned)diag::Severity::Error, "invalid argument to convert to character", 0, SFINAE_SubstitutionFailure, false, true, 1)
     23 DIAG(err_invalid_digit, CLASS_ERROR, (unsigned)diag::Severity::Error, "invalid digit '%0' in %select{decimal|octal|binary}1 constant", 0, SFINAE_SubstitutionFailure, false, true, 1)
     24 DIAG(err_invalid_pth_file, CLASS_ERROR, (unsigned)diag::Severity::Error, "invalid or corrupt PTH file '%0'", 0, SFINAE_SubstitutionFailure, false, true, 1)
     25 DIAG(err_invalid_suffix_constant, CLASS_ERROR, (unsigned)diag::Severity::Error, "invalid suffix '%0' on %select{integer|floating}1 constant", 0, SFINAE_SubstitutionFailure, false, true, 1)
     26 DIAG(err_invalid_utf8, CLASS_ERROR, (unsigned)diag::Severity::Error, "source file is not valid UTF-8", 0, SFINAE_SubstitutionFailure, false, true, 1)
     27 DIAG(err_lexing_string, CLASS_ERROR, (unsigned)diag::Severity::Error, "failure when lexing a string", 0, SFINAE_SubstitutionFailure, false, true, 1)
     28 DIAG(err_mmap_config_macro_submodule, CLASS_ERROR, (unsigned)diag::Severity::Error, "configuration macros are only allowed in top-level modules", 0, SFINAE_SubstitutionFailure, false, true, 1)
     29 DIAG(err_mmap_conflicting_export_as, CLASS_ERROR, (unsigned)diag::Severity::Error, "conflicting re-export of module '%0' as '%1' or '%2'", 0, SFINAE_SubstitutionFailure, false, true, 1)
     30 DIAG(err_mmap_duplicate_header_attribute, CLASS_ERROR, (unsigned)diag::Severity::Error, "header attribute '%0' specified multiple times", 0, SFINAE_SubstitutionFailure, false, true, 1)
     31 DIAG(err_mmap_expected_attribute, CLASS_ERROR, (unsigned)diag::Severity::Error, "expected an attribute name", 0, SFINAE_SubstitutionFailure, false, true, 1)
     32 DIAG(err_mmap_expected_config_macro, CLASS_ERROR, (unsigned)diag::Severity::Error, "expected configuration macro name after ','", 0, SFINAE_SubstitutionFailure, false, true, 1)
     33 DIAG(err_mmap_expected_conflicts_comma, CLASS_ERROR, (unsigned)diag::Severity::Error, "expected ',' after conflicting module name", 0, SFINAE_SubstitutionFailure, false, true, 1)
     34 DIAG(err_mmap_expected_conflicts_message, CLASS_ERROR, (unsigned)diag::Severity::Error, "expected a message describing the conflict with '%0'", 0, SFINAE_SubstitutionFailure, false, true, 1)
     35 DIAG(err_mmap_expected_export_wildcard, CLASS_ERROR, (unsigned)diag::Severity::Error, "only '*' can be exported from an inferred submodule", 0, SFINAE_SubstitutionFailure, false, true, 1)
     36 DIAG(err_mmap_expected_feature, CLASS_ERROR, (unsigned)diag::Severity::Error, "expected a feature name", 0, SFINAE_SubstitutionFailure, false, true, 1)
     37 DIAG(err_mmap_expected_header, CLASS_ERROR, (unsigned)diag::Severity::Error, "expected a header name after '%0'", 0, SFINAE_SubstitutionFailure, false, true, 1)
     38 DIAG(err_mmap_expected_header_attribute, CLASS_ERROR, (unsigned)diag::Severity::Error, "expected a header attribute name ('size' or 'mtime')", 0, SFINAE_SubstitutionFailure, false, true, 1)
     39 DIAG(err_mmap_expected_inferred_member, CLASS_ERROR, (unsigned)diag::Severity::Error, "expected %select{module exclusion with 'exclude'|'export *'}0", 0, SFINAE_SubstitutionFailure, false, true, 1)
     40 DIAG(err_mmap_expected_lbrace, CLASS_ERROR, (unsigned)diag::Severity::Error, "expected '{' to start module '%0'", 0, SFINAE_SubstitutionFailure, false, true, 1)
     41 DIAG(err_mmap_expected_lbrace_wildcard, CLASS_ERROR, (unsigned)diag::Severity::Error, "expected '{' to start inferred submodule", 0, SFINAE_SubstitutionFailure, false, true, 1)
     42 DIAG(err_mmap_expected_library_name, CLASS_ERROR, (unsigned)diag::Severity::Error, "expected %select{library|framework}0 name as a string", 0, SFINAE_SubstitutionFailure, false, true, 1)
     43 DIAG(err_mmap_expected_member, CLASS_ERROR, (unsigned)diag::Severity::Error, "expected umbrella, header, submodule, or module export", 0, SFINAE_SubstitutionFailure, false, true, 1)
     44 DIAG(err_mmap_expected_mmap_file, CLASS_ERROR, (unsigned)diag::Severity::Error, "expected a module map file name", 0, SFINAE_SubstitutionFailure, false, true, 1)
     45 DIAG(err_mmap_expected_module, CLASS_ERROR, (unsigned)diag::Severity::Error, "expected module declaration", 0, SFINAE_SubstitutionFailure, false, true, 1)
     46 DIAG(err_mmap_expected_module_name, CLASS_ERROR, (unsigned)diag::Severity::Error, "expected module name", 0, SFINAE_SubstitutionFailure, false, true, 1)
     47 DIAG(err_mmap_expected_rbrace, CLASS_ERROR, (unsigned)diag::Severity::Error, "expected '}'", 0, SFINAE_SubstitutionFailure, false, true, 1)
     48 DIAG(err_mmap_expected_rsquare, CLASS_ERROR, (unsigned)diag::Severity::Error, "expected ']' to close attribute", 0, SFINAE_SubstitutionFailure, false, true, 1)
     49 DIAG(err_mmap_explicit_inferred_framework, CLASS_ERROR, (unsigned)diag::Severity::Error, "inferred framework modules cannot be 'explicit'", 0, SFINAE_SubstitutionFailure, false, true, 1)
     50 DIAG(err_mmap_explicit_top_level, CLASS_ERROR, (unsigned)diag::Severity::Error, "'explicit' is not permitted on top-level modules", 0, SFINAE_SubstitutionFailure, false, true, 1)
     51 DIAG(err_mmap_inferred_framework_submodule, CLASS_ERROR, (unsigned)diag::Severity::Error, "inferred submodule cannot be a framework submodule", 0, SFINAE_SubstitutionFailure, false, true, 1)
     52 DIAG(err_mmap_inferred_no_umbrella, CLASS_ERROR, (unsigned)diag::Severity::Error, "inferred submodules require a module with an umbrella", 0, SFINAE_SubstitutionFailure, false, true, 1)
     53 DIAG(err_mmap_inferred_redef, CLASS_ERROR, (unsigned)diag::Severity::Error, "redefinition of inferred submodule", 0, SFINAE_SubstitutionFailure, false, true, 1)
     54 DIAG(err_mmap_invalid_header_attribute_value, CLASS_ERROR, (unsigned)diag::Severity::Error, "expected integer literal as value for header attribute '%0'", 0, SFINAE_SubstitutionFailure, false, true, 1)
     55 DIAG(err_mmap_missing_exclude_name, CLASS_ERROR, (unsigned)diag::Severity::Error, "expected excluded module name", 0, SFINAE_SubstitutionFailure, false, true, 1)
     56 DIAG(err_mmap_missing_module_qualified, CLASS_ERROR, (unsigned)diag::Severity::Error, "no module named '%0' in '%1'", 0, SFINAE_SubstitutionFailure, false, true, 1)
     57 DIAG(err_mmap_missing_module_unqualified, CLASS_ERROR, (unsigned)diag::Severity::Error, "no module named '%0' visible from '%1'", 0, SFINAE_SubstitutionFailure, false, true, 1)
     58 DIAG(err_mmap_module_id, CLASS_ERROR, (unsigned)diag::Severity::Error, "expected a module name or '*'", 0, SFINAE_SubstitutionFailure, false, true, 1)
     59 DIAG(err_mmap_module_redefinition, CLASS_ERROR, (unsigned)diag::Severity::Error, "redefinition of module '%0'", 0, SFINAE_SubstitutionFailure, false, true, 1)
     60 DIAG(err_mmap_nested_submodule_id, CLASS_ERROR, (unsigned)diag::Severity::Error, "qualified module name can only be used to define modules at the top level", 0, SFINAE_SubstitutionFailure, false, true, 1)
     61 DIAG(err_mmap_submodule_export_as, CLASS_ERROR, (unsigned)diag::Severity::Error, "only top-level modules can be re-exported as public", 0, SFINAE_SubstitutionFailure, false, true, 1)
     62 DIAG(err_mmap_top_level_inferred_submodule, CLASS_ERROR, (unsigned)diag::Severity::Error, "only submodules and framework modules may be inferred with wildcard syntax", 0, SFINAE_SubstitutionFailure, false, true, 1)
     63 DIAG(err_mmap_umbrella_clash, CLASS_ERROR, (unsigned)diag::Severity::Error, "umbrella for module '%0' already covers this directory", 0, SFINAE_SubstitutionFailure, false, true, 1)
     64 DIAG(err_mmap_unknown_token, CLASS_ERROR, (unsigned)diag::Severity::Error, "skipping stray token", 0, SFINAE_SubstitutionFailure, false, true, 1)
     65 DIAG(err_mmap_use_decl_submodule, CLASS_ERROR, (unsigned)diag::Severity::Error, "use declarations are only allowed in top-level modules", 0, SFINAE_SubstitutionFailure, false, true, 1)
     66 DIAG(err_multichar_utf_character_literal, CLASS_ERROR, (unsigned)diag::Severity::Error, "Unicode character literals may not contain multiple characters", 0, SFINAE_SubstitutionFailure, false, true, 1)
     67 DIAG(err_non_ascii, CLASS_ERROR, (unsigned)diag::Severity::Error, "non-ASCII characters are not allowed outside of literals and identifiers", 0, SFINAE_SubstitutionFailure, false, true, 1)
     68 DIAG(err_pascal_string_too_long, CLASS_ERROR, (unsigned)diag::Severity::Error, "Pascal string is too long", 0, SFINAE_SubstitutionFailure, false, true, 1)
     69 DIAG(err_paste_at_end, CLASS_ERROR, (unsigned)diag::Severity::Error, "'##' cannot appear at end of macro expansion", 0, SFINAE_SubstitutionFailure, false, true, 1)
     70 DIAG(err_paste_at_start, CLASS_ERROR, (unsigned)diag::Severity::Error, "'##' cannot appear at start of macro expansion", 0, SFINAE_SubstitutionFailure, false, true, 1)
     71 DIAG(err_placeholder_in_source, CLASS_ERROR, (unsigned)diag::Severity::Error, "editor placeholder in source file", 0, SFINAE_SubstitutionFailure, false, true, 1)
     72 DIAG(err_pp_arc_cf_code_audited_syntax, CLASS_ERROR, (unsigned)diag::Severity::Error, "expected 'begin' or 'end'", 0, SFINAE_SubstitutionFailure, false, true, 1)
     73 DIAG(err_pp_assume_nonnull_syntax, CLASS_ERROR, (unsigned)diag::Severity::Error, "expected 'begin' or 'end'", 0, SFINAE_SubstitutionFailure, false, true, 19)
     74 DIAG(err_pp_bad_paste, CLASS_ERROR, (unsigned)diag::Severity::Error, "pasting formed '%0', an invalid preprocessing token", 0, SFINAE_SubstitutionFailure, false, true, 1)
     75 DIAG(err_pp_colon_without_question, CLASS_ERROR, (unsigned)diag::Severity::Error, "':' without preceding '?'", 0, SFINAE_SubstitutionFailure, false, true, 1)
     76 DIAG(err_pp_directive_required, CLASS_ERROR, (unsigned)diag::Severity::Error, "%0 must be used within a preprocessing directive", 0, SFINAE_SubstitutionFailure, false, true, 1)
     77 DIAG(err_pp_division_by_zero, CLASS_ERROR, (unsigned)diag::Severity::Error, "division by zero in preprocessor expression", 0, SFINAE_SubstitutionFailure, false, true, 1)
     78 DIAG(err_pp_double_begin_of_arc_cf_code_audited, CLASS_ERROR, (unsigned)diag::Severity::Error, "already inside '#pragma clang arc_cf_code_audited'", 0, SFINAE_SubstitutionFailure, false, true, 1)
     79 DIAG(err_pp_double_begin_of_assume_nonnull, CLASS_ERROR, (unsigned)diag::Severity::Error, "already inside '#pragma clang assume_nonnull'", 0, SFINAE_SubstitutionFailure, false, true, 19)
     80 DIAG(err_pp_duplicate_name_in_arg_list, CLASS_ERROR, (unsigned)diag::Severity::Error, "duplicate macro parameter name %0", 0, SFINAE_SubstitutionFailure, false, true, 1)
     81 DIAG(err_pp_empty_filename, CLASS_ERROR, (unsigned)diag::Severity::Error, "empty filename", 0, SFINAE_SubstitutionFailure, false, true, 1)
     82 DIAG(err_pp_endif_without_if, CLASS_ERROR, (unsigned)diag::Severity::Error, "#endif without #if", 0, SFINAE_SubstitutionFailure, false, true, 1)
     83 DIAG(err_pp_eof_in_arc_cf_code_audited, CLASS_ERROR, (unsigned)diag::Severity::Error, "'#pragma clang arc_cf_code_audited' was not ended within this file", 0, SFINAE_SubstitutionFailure, false, true, 1)
     84 DIAG(err_pp_eof_in_assume_nonnull, CLASS_ERROR, (unsigned)diag::Severity::Error, "'#pragma clang assume_nonnull' was not ended within this file", 0, SFINAE_SubstitutionFailure, false, true, 19)
     85 DIAG(err_pp_error_opening_file, CLASS_ERROR, (unsigned)diag::Severity::Fatal, "error opening file '%0': %1", 0, SFINAE_SubstitutionFailure, false, true, 1)
     86 DIAG(err_pp_expected_after, CLASS_ERROR, (unsigned)diag::Severity::Error, "missing %1 after %0", 0, SFINAE_SubstitutionFailure, false, true, 1)
     87 DIAG(err_pp_expected_comma_in_arg_list, CLASS_ERROR, (unsigned)diag::Severity::Error, "expected comma in macro parameter list", 0, SFINAE_SubstitutionFailure, false, true, 1)
     88 DIAG(err_pp_expected_eol, CLASS_ERROR, (unsigned)diag::Severity::Error, "expected end of line in preprocessor expression", 0, SFINAE_SubstitutionFailure, false, true, 1)
     89 DIAG(err_pp_expected_ident_in_arg_list, CLASS_ERROR, (unsigned)diag::Severity::Error, "expected identifier in macro parameter list", 0, SFINAE_SubstitutionFailure, false, true, 1)
     90 DIAG(err_pp_expected_module_name, CLASS_ERROR, (unsigned)diag::Severity::Error, "expected %select{identifier after '.' in |}0module name", 0, SFINAE_SubstitutionFailure, false, true, 1)
     91 DIAG(err_pp_expected_rparen, CLASS_ERROR, (unsigned)diag::Severity::Error, "expected ')' in preprocessor expression", 0, SFINAE_SubstitutionFailure, false, true, 1)
     92 DIAG(err_pp_expected_value_in_expr, CLASS_ERROR, (unsigned)diag::Severity::Error, "expected value in expression", 0, SFINAE_SubstitutionFailure, false, true, 1)
     93 DIAG(err_pp_expects_filename, CLASS_ERROR, (unsigned)diag::Severity::Error, "expected \"FILENAME\" or <FILENAME>", 0, SFINAE_SubstitutionFailure, false, true, 1)
     94 DIAG(err_pp_expr_bad_token_binop, CLASS_ERROR, (unsigned)diag::Severity::Error, "token is not a valid binary operator in a preprocessor subexpression", 0, SFINAE_SubstitutionFailure, false, true, 1)
     95 DIAG(err_pp_expr_bad_token_lparen, CLASS_ERROR, (unsigned)diag::Severity::Error, "function-like macro %0 is not defined", 0, SFINAE_SubstitutionFailure, false, true, 1)
     96 DIAG(err_pp_expr_bad_token_start_expr, CLASS_ERROR, (unsigned)diag::Severity::Error, "invalid token at start of a preprocessor expression", 0, SFINAE_SubstitutionFailure, false, true, 1)
     97 DIAG(err_pp_file_not_found, CLASS_ERROR, (unsigned)diag::Severity::Fatal, "'%0' file not found", 0, SFINAE_SubstitutionFailure, false, true, 1)
     98 DIAG(err_pp_file_not_found_not_fatal, CLASS_ERROR, (unsigned)diag::Severity::Error, "'%0' file not found with <angled> include; use \"quotes\" instead", 0, SFINAE_SubstitutionFailure, false, true, 1)
     99 DIAG(err_pp_hash_error, CLASS_ERROR, (unsigned)diag::Severity::Error, "%0", 0, SFINAE_SubstitutionFailure, false, true, 21)
    100 DIAG(err_pp_identifier_arg_not_identifier, CLASS_ERROR, (unsigned)diag::Severity::Error, "cannot convert %0 token to an identifier", 0, SFINAE_SubstitutionFailure, false, true, 1)
    101 DIAG(err_pp_illegal_floating_literal, CLASS_ERROR, (unsigned)diag::Severity::Error, "floating point literal in preprocessor expression", 0, SFINAE_SubstitutionFailure, false, true, 1)
    102 DIAG(err_pp_import_directive_ms, CLASS_ERROR, (unsigned)diag::Severity::Error, "#import of type library is an unsupported Microsoft feature", 0, SFINAE_SubstitutionFailure, false, true, 1)
    103 DIAG(err_pp_include_in_arc_cf_code_audited, CLASS_ERROR, (unsigned)diag::Severity::Error, "cannot #include files inside '#pragma clang arc_cf_code_audited'", 0, SFINAE_SubstitutionFailure, false, true, 1)
    104 DIAG(err_pp_include_in_assume_nonnull, CLASS_ERROR, (unsigned)diag::Severity::Error, "cannot #include files inside '#pragma clang assume_nonnull'", 0, SFINAE_SubstitutionFailure, false, true, 19)
    105 DIAG(err_pp_include_too_deep, CLASS_ERROR, (unsigned)diag::Severity::Error, "#include nested too deeply", 0, SFINAE_SubstitutionFailure, false, true, 1)
    106 DIAG(err_pp_invalid_directive, CLASS_ERROR, (unsigned)diag::Severity::Error, "invalid preprocessing directive", 0, SFINAE_SubstitutionFailure, false, true, 1)
    107 DIAG(err_pp_invalid_poison, CLASS_ERROR, (unsigned)diag::Severity::Error, "can only poison identifier tokens", 0, SFINAE_SubstitutionFailure, false, true, 1)
    108 DIAG(err_pp_invalid_tok_in_arg_list, CLASS_ERROR, (unsigned)diag::Severity::Error, "invalid token in macro parameter list", 0, SFINAE_SubstitutionFailure, false, true, 1)
    109 DIAG(err_pp_invalid_udl, CLASS_ERROR, (unsigned)diag::Severity::Error, "%select{character|integer}0 literal with user-defined suffix cannot be used in preprocessor constant expression", 0, SFINAE_SubstitutionFailure, false, true, 1)
    110 DIAG(err_pp_line_digit_sequence, CLASS_ERROR, (unsigned)diag::Severity::Error, "%select{#line|GNU line marker}0 directive requires a simple digit sequence", 0, SFINAE_SubstitutionFailure, false, true, 1)
    111 DIAG(err_pp_line_invalid_filename, CLASS_ERROR, (unsigned)diag::Severity::Error, "invalid filename for #line directive", 0, SFINAE_SubstitutionFailure, false, true, 1)
    112 DIAG(err_pp_line_requires_integer, CLASS_ERROR, (unsigned)diag::Severity::Error, "#line directive requires a positive integer argument", 0, SFINAE_SubstitutionFailure, false, true, 1)
    113 DIAG(err_pp_linemarker_invalid_filename, CLASS_ERROR, (unsigned)diag::Severity::Error, "invalid filename for line marker directive", 0, SFINAE_SubstitutionFailure, false, true, 1)
    114 DIAG(err_pp_linemarker_invalid_flag, CLASS_ERROR, (unsigned)diag::Severity::Error, "invalid flag line marker directive", 0, SFINAE_SubstitutionFailure, false, true, 1)
    115 DIAG(err_pp_linemarker_invalid_pop, CLASS_ERROR, (unsigned)diag::Severity::Error, "invalid line marker flag '2': cannot pop empty include stack", 0, SFINAE_SubstitutionFailure, false, true, 1)
    116 DIAG(err_pp_linemarker_requires_integer, CLASS_ERROR, (unsigned)diag::Severity::Error, "line marker directive requires a positive integer argument", 0, SFINAE_SubstitutionFailure, false, true, 1)
    117 DIAG(err_pp_macro_not_identifier, CLASS_ERROR, (unsigned)diag::Severity::Error, "macro name must be an identifier", 0, SFINAE_SubstitutionFailure, false, true, 1)
    118 DIAG(err_pp_malformed_ident, CLASS_ERROR, (unsigned)diag::Severity::Error, "invalid #ident directive", 0, SFINAE_SubstitutionFailure, false, true, 1)
    119 DIAG(err_pp_missing_lparen_in_vaopt_use, CLASS_ERROR, (unsigned)diag::Severity::Error, "missing '(' following __VA_OPT__", 0, SFINAE_SubstitutionFailure, false, true, 1)
    120 DIAG(err_pp_missing_macro_name, CLASS_ERROR, (unsigned)diag::Severity::Error, "macro name missing", 0, SFINAE_SubstitutionFailure, false, true, 1)
    121 DIAG(err_pp_missing_rparen_in_macro_def, CLASS_ERROR, (unsigned)diag::Severity::Error, "missing ')' in macro parameter list", 0, SFINAE_SubstitutionFailure, false, true, 1)
    122 DIAG(err_pp_module_begin_no_module_map, CLASS_ERROR, (unsigned)diag::Severity::Error, "no module map available for module %0", 0, SFINAE_SubstitutionFailure, false, true, 1)
    123 DIAG(err_pp_module_begin_no_submodule, CLASS_ERROR, (unsigned)diag::Severity::Error, "submodule %0.%1 not declared in module map", 0, SFINAE_SubstitutionFailure, false, true, 1)
    124 DIAG(err_pp_module_begin_without_module_end, CLASS_ERROR, (unsigned)diag::Severity::Error, "no matching '#pragma clang module end' for this '#pragma clang module begin'", 0, SFINAE_SubstitutionFailure, false, true, 1)
    125 DIAG(err_pp_module_begin_wrong_module, CLASS_ERROR, (unsigned)diag::Severity::Error, "must specify '-fmodule-name=%0' to enter %select{|submodule of }1this module%select{ (current module is %3)|}2", 0, SFINAE_SubstitutionFailure, false, true, 1)
    126 DIAG(err_pp_module_build_missing_end, CLASS_ERROR, (unsigned)diag::Severity::Error, "no matching '#pragma clang module endbuild' for this '#pragma clang module build'", 0, SFINAE_SubstitutionFailure, false, true, 1)
    127 DIAG(err_pp_module_build_pth, CLASS_ERROR, (unsigned)diag::Severity::Error, "'#pragma clang module build' not supported in pretokenized header", 0, SFINAE_SubstitutionFailure, false, true, 1)
    128 DIAG(err_pp_module_end_without_module_begin, CLASS_ERROR, (unsigned)diag::Severity::Error, "no matching '#pragma clang module begin' for this '#pragma clang module end'", 0, SFINAE_SubstitutionFailure, false, true, 1)
    129 DIAG(err_pp_nested_paren, CLASS_ERROR, (unsigned)diag::Severity::Error, "nested parentheses not permitted in %0", 0, SFINAE_SubstitutionFailure, false, true, 1)
    130 DIAG(err_pp_opencl_variadic_macros, CLASS_ERROR, (unsigned)diag::Severity::Error, "variadic macros not supported in OpenCL", 0, SFINAE_SubstitutionFailure, false, true, 1)
    131 DIAG(err_pp_operator_used_as_macro_name, CLASS_ERROR, (unsigned)diag::Severity::Error, "C++ operator %0 (aka %1) used as a macro name", 0, SFINAE_SubstitutionFailure, false, true, 1)
    132 DIAG(err_pp_remainder_by_zero, CLASS_ERROR, (unsigned)diag::Severity::Error, "remainder by zero in preprocessor expression", 0, SFINAE_SubstitutionFailure, false, true, 1)
    133 DIAG(err_pp_stringize_not_parameter, CLASS_ERROR, (unsigned)diag::Severity::Error, "'%select{#|#@}0' is not followed by a macro parameter", 0, SFINAE_SubstitutionFailure, false, true, 1)
    134 DIAG(err_pp_unmatched_end_of_arc_cf_code_audited, CLASS_ERROR, (unsigned)diag::Severity::Error, "not currently inside '#pragma clang arc_cf_code_audited'", 0, SFINAE_SubstitutionFailure, false, true, 1)
    135 DIAG(err_pp_unmatched_end_of_assume_nonnull, CLASS_ERROR, (unsigned)diag::Severity::Error, "not currently inside '#pragma clang assume_nonnull'", 0, SFINAE_SubstitutionFailure, false, true, 19)
    136 DIAG(err_pp_unterminated_conditional, CLASS_ERROR, (unsigned)diag::Severity::Error, "unterminated conditional directive", 0, SFINAE_SubstitutionFailure, false, true, 1)
    137 DIAG(err_pp_used_poisoned_id, CLASS_ERROR, (unsigned)diag::Severity::Error, "attempt to use a poisoned identifier", 0, SFINAE_SubstitutionFailure, false, true, 1)
    138 DIAG(err_pp_vaopt_nested_use, CLASS_ERROR, (unsigned)diag::Severity::Error, "__VA_OPT__ cannot be nested within its own replacement tokens", 0, SFINAE_SubstitutionFailure, false, true, 1)
    139 DIAG(err_pp_visibility_non_macro, CLASS_ERROR, (unsigned)diag::Severity::Error, "no macro named %0", 0, SFINAE_SubstitutionFailure, false, true, 1)
    140 DIAG(err_pragma_message, CLASS_ERROR, (unsigned)diag::Severity::Error, "%0", 0, SFINAE_SubstitutionFailure, false, true, 1)
    141 DIAG(err_pragma_message_malformed, CLASS_ERROR, (unsigned)diag::Severity::Error, "pragma %select{message|warning|error}0 requires parenthesized string", 0, SFINAE_SubstitutionFailure, false, true, 1)
    142 DIAG(err_pragma_push_pop_macro_malformed, CLASS_ERROR, (unsigned)diag::Severity::Error, "pragma %0 requires a parenthesized string", 0, SFINAE_SubstitutionFailure, false, true, 1)
    143 DIAG(err_raw_delim_too_long, CLASS_ERROR, (unsigned)diag::Severity::Error, "raw string delimiter longer than 16 characters; use PREFIX( )PREFIX to delimit raw string", 0, SFINAE_SubstitutionFailure, false, true, 1)
    144 DIAG(err_string_concat_mixed_suffix, CLASS_ERROR, (unsigned)diag::Severity::Error, "differing user-defined suffixes ('%0' and '%1') in string literal concatenation", 0, SFINAE_SubstitutionFailure, false, true, 1)
    145 DIAG(err_too_few_args_in_macro_invoc, CLASS_ERROR, (unsigned)diag::Severity::Error, "too few arguments provided to function-like macro invocation", 0, SFINAE_SubstitutionFailure, false, true, 1)
    146 DIAG(err_too_many_args_in_macro_invoc, CLASS_ERROR, (unsigned)diag::Severity::Error, "too many arguments provided to function-like macro invocation", 0, SFINAE_SubstitutionFailure, false, true, 1)
    147 DIAG(err_ucn_control_character, CLASS_ERROR, (unsigned)diag::Severity::Error, "universal character name refers to a control character", 0, SFINAE_SubstitutionFailure, false, true, 1)
    148 DIAG(err_ucn_escape_basic_scs, CLASS_ERROR, (unsigned)diag::Severity::Error, "character '%0' cannot be specified by a universal character name", 0, SFINAE_SubstitutionFailure, false, true, 1)
    149 DIAG(err_ucn_escape_incomplete, CLASS_ERROR, (unsigned)diag::Severity::Error, "incomplete universal character name", 0, SFINAE_SubstitutionFailure, false, true, 1)
    150 DIAG(err_ucn_escape_invalid, CLASS_ERROR, (unsigned)diag::Severity::Error, "invalid universal character", 0, SFINAE_SubstitutionFailure, false, true, 1)
    151 DIAG(err_undeclared_use_of_module, CLASS_ERROR, (unsigned)diag::Severity::Error, "module %0 does not depend on a module exporting '%1'", 0, SFINAE_SubstitutionFailure, false, true, 1)
    152 DIAG(err_unsupported_string_concat, CLASS_ERROR, (unsigned)diag::Severity::Error, "unsupported non-standard concatenation of string literals", 0, SFINAE_SubstitutionFailure, false, true, 1)
    153 DIAG(err_unterm_macro_invoc, CLASS_ERROR, (unsigned)diag::Severity::Error, "unterminated function-like macro invocation", 0, SFINAE_SubstitutionFailure, false, true, 1)
    154 DIAG(err_unterminated___pragma, CLASS_ERROR, (unsigned)diag::Severity::Error, "missing terminating ')' character", 0, SFINAE_SubstitutionFailure, false, true, 1)
    155 DIAG(err_unterminated_block_comment, CLASS_ERROR, (unsigned)diag::Severity::Error, "unterminated /* comment", 0, SFINAE_SubstitutionFailure, false, true, 1)
    156 DIAG(err_unterminated_raw_string, CLASS_ERROR, (unsigned)diag::Severity::Error, "raw string missing terminating delimiter )%0\"", 0, SFINAE_SubstitutionFailure, false, true, 1)
    157 DIAG(err_vaopt_paste_at_end, CLASS_ERROR, (unsigned)diag::Severity::Error, "'##' cannot appear at end of __VA_OPT__ argument", 0, SFINAE_SubstitutionFailure, false, true, 1)
    158 DIAG(err_vaopt_paste_at_start, CLASS_ERROR, (unsigned)diag::Severity::Error, "'##' cannot appear at start of __VA_OPT__ argument", 0, SFINAE_SubstitutionFailure, false, true, 1)
    159 DIAG(escaped_newline_block_comment_end, CLASS_WARNING, (unsigned)diag::Severity::Warning, "escaped newline between */ characters at block comment end", 120, SFINAE_Suppress, false, false, 1)
    160 DIAG(ext_binary_literal, CLASS_EXTENSION, (unsigned)diag::Severity::Ignored, "binary integer literals are a GNU extension", 239, SFINAE_Suppress, false, false, 1)
    161 DIAG(ext_binary_literal_cxx14, CLASS_EXTENSION, (unsigned)diag::Severity::Ignored, "binary integer literals are a C++14 extension", 81, SFINAE_Suppress, false, false, 1)
    162 DIAG(ext_c99_whitespace_required_after_macro_name, CLASS_EXTENSION, (unsigned)diag::Severity::Warning, "ISO C99 requires whitespace after the macro name", 110, SFINAE_Suppress, false, false, 1)
    163 DIAG(ext_charize_microsoft, CLASS_EXTENSION, (unsigned)diag::Severity::Ignored, "charizing operator #@ is a Microsoft extension", 350, SFINAE_Suppress, false, false, 1)
    164 DIAG(ext_comment_paste_microsoft, CLASS_EXTENSION, (unsigned)diag::Severity::Ignored, "pasting two '/' tokens into a '//' comment is a Microsoft extension", 351, SFINAE_Suppress, false, false, 1)
    165 DIAG(ext_ctrl_z_eof_microsoft, CLASS_EXTENSION, (unsigned)diag::Severity::Ignored, "treating Ctrl-Z as end-of-file is a Microsoft extension", 355, SFINAE_Suppress, false, false, 1)
    166 DIAG(ext_dollar_in_identifier, CLASS_EXTENSION, (unsigned)diag::Severity::Ignored, "'$' in identifier", 177, SFINAE_Suppress, false, false, 1)
    167 DIAG(ext_embedded_directive, CLASS_EXTENSION, (unsigned)diag::Severity::Ignored, "embedding a directive within macro arguments has undefined behavior", 187, SFINAE_Suppress, false, false, 1)
    168 DIAG(ext_empty_character, CLASS_EXTENSION, (unsigned)diag::Severity::Warning, "empty character constant", 322, SFINAE_Suppress, false, false, 1)
    169 DIAG(ext_empty_fnmacro_arg, CLASS_EXTENSION, (unsigned)diag::Severity::Ignored, "empty macro arguments are a C99 feature", 110, SFINAE_Suppress, false, false, 1)
    170 DIAG(ext_four_char_character_literal, CLASS_EXTENSION, (unsigned)diag::Severity::Ignored, "multi-character character constant", 228, SFINAE_Suppress, false, false, 1)
    171 DIAG(ext_hex_constant_invalid, CLASS_EXTENSION, (unsigned)diag::Severity::Ignored, "hexadecimal floating constants are a C99 feature", 110, SFINAE_Suppress, false, false, 1)
    172 DIAG(ext_hex_literal_invalid, CLASS_EXTENSION, (unsigned)diag::Severity::Ignored, "hexadecimal floating literals are a C++17 feature", 88, SFINAE_Suppress, false, false, 1)
    173 DIAG(ext_line_comment, CLASS_EXTENSION, (unsigned)diag::Severity::Ignored, "// comments are not allowed in this language", 120, SFINAE_Suppress, false, false, 1)
    174 DIAG(ext_missing_varargs_arg, CLASS_EXTENSION, (unsigned)diag::Severity::Ignored, "must specify at least one argument for '...' parameter of variadic macro", 260, SFINAE_Suppress, false, false, 1)
    175 DIAG(ext_missing_whitespace_after_macro_name, CLASS_EXTENSION, (unsigned)diag::Severity::Warning, "whitespace required after macro name", 0, SFINAE_Suppress, false, false, 1)
    176 DIAG(ext_ms_reserved_user_defined_literal, CLASS_EXTENSION, (unsigned)diag::Severity::Warning, "invalid suffix on literal; C++11 requires a space between literal and identifier", 537, SFINAE_Suppress, false, false, 1)
    177 DIAG(ext_multi_line_line_comment, CLASS_EXTENSION, (unsigned)diag::Severity::Ignored, "multi-line // comment", 120, SFINAE_Suppress, false, false, 1)
    178 DIAG(ext_multichar_character_literal, CLASS_EXTENSION, (unsigned)diag::Severity::Warning, "multi-character character constant", 404, SFINAE_Suppress, false, false, 1)
    179 DIAG(ext_named_variadic_macro, CLASS_EXTENSION, (unsigned)diag::Severity::Ignored, "named variadic macros are a GNU extension", 700, SFINAE_Suppress, false, false, 1)
    180 DIAG(ext_no_newline_eof, CLASS_EXTENSION, (unsigned)diag::Severity::Ignored, "no newline at end of file", 410, SFINAE_Suppress, false, false, 1)
    181 DIAG(ext_nonstandard_escape, CLASS_EXTENSION, (unsigned)diag::Severity::Ignored, "use of non-standard escape character '\\%0'", 496, SFINAE_Suppress, false, false, 1)
    182 DIAG(ext_on_off_switch_syntax, CLASS_EXTENSION, (unsigned)diag::Severity::Warning, "expected 'ON' or 'OFF' or 'DEFAULT' in pragma", 653, SFINAE_Suppress, false, false, 1)
    183 DIAG(ext_paste_comma, CLASS_EXTENSION, (unsigned)diag::Severity::Ignored, "token pasting of ',' and __VA_ARGS__ is a GNU extension", 260, SFINAE_Suppress, false, false, 1)
    184 DIAG(ext_pp_bad_paste_ms, CLASS_EXTENSION, (unsigned)diag::Severity::Error, "pasting formed '%0', an invalid preprocessing token", 324, SFINAE_Suppress, false, false, 1)
    185 DIAG(ext_pp_bad_vaargs_use, CLASS_EXTENSION, (unsigned)diag::Severity::Ignored, "__VA_ARGS__ can only appear in the expansion of a C99 variadic macro", 496, SFINAE_Suppress, false, false, 1)
    186 DIAG(ext_pp_bad_vaopt_use, CLASS_EXTENSION, (unsigned)diag::Severity::Warning, "__VA_OPT__ can only appear in the expansion of a variadic macro", 700, SFINAE_Suppress, false, false, 1)
    187 DIAG(ext_pp_comma_expr, CLASS_EXTENSION, (unsigned)diag::Severity::Ignored, "comma operator in operand of #if", 496, SFINAE_Suppress, false, false, 1)
    188 DIAG(ext_pp_extra_tokens_at_eol, CLASS_EXTENSION, (unsigned)diag::Severity::Warning, "extra tokens at end of #%0 directive", 209, SFINAE_Suppress, false, false, 1)
    189 DIAG(ext_pp_ident_directive, CLASS_EXTENSION, (unsigned)diag::Severity::Ignored, "#ident is a language extension", 496, SFINAE_Suppress, false, false, 1)
    190 DIAG(ext_pp_import_directive, CLASS_EXTENSION, (unsigned)diag::Severity::Ignored, "#import is a language extension", 280, SFINAE_Suppress, false, false, 1)
    191 DIAG(ext_pp_include_next_directive, CLASS_EXTENSION, (unsigned)diag::Severity::Ignored, "#include_next is a language extension", 251, SFINAE_Suppress, false, false, 1)
    192 DIAG(ext_pp_include_search_ms, CLASS_EXTENSION, (unsigned)diag::Severity::Warning, "#include resolved using non-portable Microsoft search rules as: %0", 365, SFINAE_Suppress, false, false, 1)
    193 DIAG(ext_pp_line_too_big, CLASS_EXTENSION, (unsigned)diag::Severity::Ignored, "C requires #line number to be less than %0, allowed as extension", 496, SFINAE_Suppress, false, false, 1)
    194 DIAG(ext_pp_line_zero, CLASS_EXTENSION, (unsigned)diag::Severity::Ignored, "#line directive with zero argument is a GNU extension", 259, SFINAE_Suppress, false, false, 1)
    195 DIAG(ext_pp_macro_redef, CLASS_EXTENSION, (unsigned)diag::Severity::Warning, "%0 macro redefined", 339, SFINAE_Suppress, false, false, 1)
    196 DIAG(ext_pp_operator_used_as_macro_name, CLASS_EXTENSION, (unsigned)diag::Severity::Ignored, "C++ operator %0 (aka %1) used as a macro name", 353, SFINAE_Suppress, false, false, 1)
    197 DIAG(ext_pp_redef_builtin_macro, CLASS_EXTENSION, (unsigned)diag::Severity::Warning, "redefining builtin macro", 65, SFINAE_Suppress, false, false, 1)
    198 DIAG(ext_pp_undef_builtin_macro, CLASS_EXTENSION, (unsigned)diag::Severity::Warning, "undefining builtin macro", 65, SFINAE_Suppress, false, false, 1)
    199 DIAG(ext_pp_warning_directive, CLASS_EXTENSION, (unsigned)diag::Severity::Ignored, "#warning is a language extension", 496, SFINAE_Suppress, false, false, 1)
    200 DIAG(ext_pragma_syntax_eod, CLASS_EXTENSION, (unsigned)diag::Severity::Warning, "expected end of directive in pragma", 653, SFINAE_Suppress, false, false, 1)
    201 DIAG(ext_reserved_user_defined_literal, CLASS_EXTENSION, (unsigned)diag::Severity::Error, "invalid suffix on literal; C++11 requires a space between literal and identifier", 537, SFINAE_Suppress, false, false, 1)
    202 DIAG(ext_stdc_pragma_ignored, CLASS_EXTENSION, (unsigned)diag::Severity::Warning, "unknown pragma in STDC namespace", 653, SFINAE_Suppress, false, false, 1)
    203 DIAG(ext_string_too_long, CLASS_EXTENSION, (unsigned)diag::Severity::Ignored, "string literal of length %0 exceeds maximum length %1 that %select{C90|ISO C99|C++}2 compilers are required to support", 480, SFINAE_Suppress, false, false, 1)
    204 DIAG(ext_token_used, CLASS_EXTENSION, (unsigned)diag::Severity::Ignored, "extension used", 329, SFINAE_Suppress, false, false, 1)
    205 DIAG(ext_unicode_whitespace, CLASS_EXTENSION, (unsigned)diag::Severity::Warning, "treating Unicode character as whitespace", 648, SFINAE_Suppress, false, false, 1)
    206 DIAG(ext_unknown_escape, CLASS_EXTENSION, (unsigned)diag::Severity::Warning, "unknown escape sequence '\\%0'", 652, SFINAE_Suppress, false, false, 1)
    207 DIAG(ext_unterminated_char_or_string, CLASS_EXTENSION, (unsigned)diag::Severity::Warning, "missing terminating %select{'|'\"'}0 character", 322, SFINAE_Suppress, false, false, 1)
    208 DIAG(ext_variadic_macro, CLASS_EXTENSION, (unsigned)diag::Severity::Ignored, "variadic macros are a C99 feature", 700, SFINAE_Suppress, false, false, 1)
    209 DIAG(note_header_guard, CLASS_NOTE, (unsigned)diag::Severity::Fatal, "%0 is defined here; did you mean %1?", 0, SFINAE_Suppress, false, false, 1)
    210 DIAG(note_implicit_top_level_module_import_here, CLASS_NOTE, (unsigned)diag::Severity::Fatal, "submodule of top-level module '%0' implicitly imported here", 0, SFINAE_Suppress, false, false, 1)
    211 DIAG(note_init_list_at_beginning_of_macro_argument, CLASS_NOTE, (unsigned)diag::Severity::Fatal, "cannot use initializer list at the beginning of a macro argument", 0, SFINAE_Suppress, false, false, 1)
    212 DIAG(note_macro_here, CLASS_NOTE, (unsigned)diag::Severity::Fatal, "macro %0 defined here", 0, SFINAE_Suppress, false, false, 1)
    213 DIAG(note_mmap_lbrace_match, CLASS_NOTE, (unsigned)diag::Severity::Fatal, "to match this '{'", 0, SFINAE_Suppress, false, false, 1)
    214 DIAG(note_mmap_lsquare_match, CLASS_NOTE, (unsigned)diag::Severity::Fatal, "to match this ']'", 0, SFINAE_Suppress, false, false, 1)
    215 DIAG(note_mmap_prev_definition, CLASS_NOTE, (unsigned)diag::Severity::Fatal, "previously defined here", 0, SFINAE_Suppress, false, false, 1)
    216 DIAG(note_mmap_rename_top_level_private_as_submodule, CLASS_NOTE, (unsigned)diag::Severity::Fatal, "make '%0' a submodule of '%1' to ensure it can be found by name", 0, SFINAE_Suppress, false, false, 1)
    217 DIAG(note_pp_ambiguous_macro_chosen, CLASS_NOTE, (unsigned)diag::Severity::Fatal, "expanding this definition of %0", 0, SFINAE_Suppress, false, false, 1)
    218 DIAG(note_pp_ambiguous_macro_other, CLASS_NOTE, (unsigned)diag::Severity::Fatal, "other definition of %0", 0, SFINAE_Suppress, false, false, 1)
    219 DIAG(note_pp_module_begin_here, CLASS_NOTE, (unsigned)diag::Severity::Fatal, "entering module '%0' due to this pragma", 0, SFINAE_Suppress, false, false, 1)
    220 DIAG(note_suggest_parens_for_macro, CLASS_NOTE, (unsigned)diag::Severity::Fatal, "parentheses are required around macro argument containing braced initializer list", 0, SFINAE_Suppress, false, false, 1)
    221 DIAG(note_ucn_four_not_eight, CLASS_NOTE, (unsigned)diag::Severity::Fatal, "did you mean to use '\\u'?", 0, SFINAE_Suppress, false, false, 1)
    222 DIAG(null_in_char_or_string, CLASS_WARNING, (unsigned)diag::Severity::Warning, "null character(s) preserved in %select{char|string}0 literal", 426, SFINAE_Suppress, false, false, 1)
    223 DIAG(null_in_file, CLASS_WARNING, (unsigned)diag::Severity::Warning, "null character ignored", 426, SFINAE_Suppress, false, false, 1)
    224 DIAG(pp_disabled_macro_expansion, CLASS_WARNING, (unsigned)diag::Severity::Ignored, "disabled expansion of recursive macro", 163, SFINAE_Suppress, false, false, 1)
    225 DIAG(pp_err_elif_after_else, CLASS_ERROR, (unsigned)diag::Severity::Error, "#elif after #else", 0, SFINAE_SubstitutionFailure, false, true, 1)
    226 DIAG(pp_err_elif_without_if, CLASS_ERROR, (unsigned)diag::Severity::Error, "#elif without #if", 0, SFINAE_SubstitutionFailure, false, true, 1)
    227 DIAG(pp_err_else_after_else, CLASS_ERROR, (unsigned)diag::Severity::Error, "#else after #else", 0, SFINAE_SubstitutionFailure, false, true, 1)
    228 DIAG(pp_err_else_without_if, CLASS_ERROR, (unsigned)diag::Severity::Error, "#else without #if", 0, SFINAE_SubstitutionFailure, false, true, 1)
    229 DIAG(pp_hash_warning, CLASS_WARNING, (unsigned)diag::Severity::Warning, "%0", 2, SFINAE_Suppress, false, true, 21)
    230 DIAG(pp_include_macros_out_of_predefines, CLASS_ERROR, (unsigned)diag::Severity::Error, "the #__include_macros directive is only for internal use by -imacros", 0, SFINAE_SubstitutionFailure, false, true, 1)
    231 DIAG(pp_include_next_absolute_path, CLASS_WARNING, (unsigned)diag::Severity::Warning, "#include_next with absolute path", 282, SFINAE_Suppress, false, false, 1)
    232 DIAG(pp_include_next_in_primary, CLASS_WARNING, (unsigned)diag::Severity::Warning, "#include_next in primary source file", 283, SFINAE_Suppress, false, false, 1)
    233 DIAG(pp_invalid_string_literal, CLASS_WARNING, (unsigned)diag::Severity::Warning, "invalid string literal, ignoring final '\\'", 0, SFINAE_Suppress, false, false, 1)
    234 DIAG(pp_macro_not_used, CLASS_WARNING, (unsigned)diag::Severity::Ignored, "macro is not used", 686, SFINAE_Suppress, false, false, 1)
    235 DIAG(pp_nonportable_path, CLASS_WARNING, (unsigned)diag::Severity::Warning, "non-portable path to file '%0'; specified path differs in case from file name on disk", 420, SFINAE_Suppress, false, false, 1)
    236 DIAG(pp_nonportable_system_path, CLASS_WARNING, (unsigned)diag::Severity::Ignored, "non-portable path to file '%0'; specified path differs in case from file name on disk", 421, SFINAE_Suppress, false, false, 1)
    237 DIAG(pp_out_of_date_dependency, CLASS_WARNING, (unsigned)diag::Severity::Warning, "current file is older than dependency %0", 0, SFINAE_Suppress, false, false, 1)
    238 DIAG(pp_poisoning_existing_macro, CLASS_WARNING, (unsigned)diag::Severity::Warning, "poisoning existing macro", 0, SFINAE_Suppress, false, false, 1)
    239 DIAG(pp_pragma_once_in_main_file, CLASS_WARNING, (unsigned)diag::Severity::Warning, "#pragma once in main file", 506, SFINAE_Suppress, false, false, 1)
    240 DIAG(pp_pragma_sysheader_in_main_file, CLASS_WARNING, (unsigned)diag::Severity::Warning, "#pragma system_header ignored in main file", 509, SFINAE_Suppress, false, false, 1)
    241 DIAG(trigraph_converted, CLASS_WARNING, (unsigned)diag::Severity::Warning, "trigraph converted to '%0' character", 628, SFINAE_Suppress, false, false, 1)
    242 DIAG(trigraph_ends_block_comment, CLASS_WARNING, (unsigned)diag::Severity::Warning, "trigraph ends block comment", 628, SFINAE_Suppress, false, false, 1)
    243 DIAG(trigraph_ignored, CLASS_WARNING, (unsigned)diag::Severity::Warning, "trigraph ignored", 628, SFINAE_Suppress, false, false, 1)
    244 DIAG(trigraph_ignored_block_comment, CLASS_WARNING, (unsigned)diag::Severity::Warning, "ignored trigraph would end block comment", 628, SFINAE_Suppress, false, false, 1)
    245 DIAG(warn_auto_module_import, CLASS_WARNING, (unsigned)diag::Severity::Ignored, "treating #%select{include|import|include_next|__include_macros}0 as an import of module '%1'", 47, SFINAE_Suppress, false, false, 1)
    246 DIAG(warn_bad_character_encoding, CLASS_EXTENSION, (unsigned)diag::Severity::Warning, "illegal character encoding in character literal", 323, SFINAE_Suppress, false, false, 1)
    247 DIAG(warn_bad_string_encoding, CLASS_EXTENSION, (unsigned)diag::Severity::Warning, "illegal character encoding in string literal", 323, SFINAE_Suppress, false, false, 1)
    248 DIAG(warn_c99_compat_unicode_id, CLASS_WARNING, (unsigned)diag::Severity::Ignored, "%select{using this character in an identifier|starting an identifier with this character}0 is incompatible with C99", 109, SFINAE_Suppress, false, false, 1)
    249 DIAG(warn_c99_compat_unicode_literal, CLASS_WARNING, (unsigned)diag::Severity::Ignored, "unicode literals are incompatible with C99", 109, SFINAE_Suppress, false, false, 1)
    250 DIAG(warn_char_constant_too_large, CLASS_WARNING, (unsigned)diag::Severity::Warning, "character constant too long for its type", 0, SFINAE_Suppress, false, false, 1)
    251 DIAG(warn_cxx11_compat_binary_literal, CLASS_WARNING, (unsigned)diag::Severity::Ignored, "binary integer literals are incompatible with C++ standards before C++14", 101, SFINAE_Suppress, false, false, 1)
    252 DIAG(warn_cxx11_compat_digit_separator, CLASS_WARNING, (unsigned)diag::Severity::Ignored, "digit separators are incompatible with C++ standards before C++14", 100, SFINAE_Suppress, false, false, 1)
    253 DIAG(warn_cxx11_compat_reserved_user_defined_literal, CLASS_WARNING, (unsigned)diag::Severity::Ignored, "identifier after literal will be treated as a reserved user-defined literal suffix in C++11", 75, SFINAE_Suppress, false, false, 1)
    254 DIAG(warn_cxx11_compat_user_defined_literal, CLASS_WARNING, (unsigned)diag::Severity::Ignored, "identifier after literal will be treated as a user-defined literal suffix in C++11", 72, SFINAE_Suppress, false, false, 1)
    255 DIAG(warn_cxx11_keyword, CLASS_WARNING, (unsigned)diag::Severity::Ignored, "'%0' is a keyword in C++11", 72, SFINAE_Suppress, false, false, 1)
    256 DIAG(warn_cxx14_compat_u8_character_literal, CLASS_WARNING, (unsigned)diag::Severity::Ignored, "unicode literals are incompatible with C++ standards before C++17", 98, SFINAE_Suppress, false, false, 1)
    257 DIAG(warn_cxx17_hex_literal, CLASS_WARNING, (unsigned)diag::Severity::Ignored, "hexadecimal floating literals are incompatible with C++ standards before C++17", 99, SFINAE_Suppress, false, false, 1)
    258 DIAG(warn_cxx2a_keyword, CLASS_WARNING, (unsigned)diag::Severity::Ignored, "'%0' is a keyword in C++2a", 93, SFINAE_Suppress, false, false, 1)
    259 DIAG(warn_cxx98_compat_empty_fnmacro_arg, CLASS_WARNING, (unsigned)diag::Severity::Ignored, "empty macro arguments are incompatible with C++98", 106, SFINAE_Suppress, false, false, 1)
    260 DIAG(warn_cxx98_compat_less_colon_colon, CLASS_WARNING, (unsigned)diag::Severity::Ignored, "'<::' is treated as digraph '<:' (aka '[') followed by ':' in C++98", 103, SFINAE_Suppress, false, false, 1)
    261 DIAG(warn_cxx98_compat_literal_ucn_control_character, CLASS_WARNING, (unsigned)diag::Severity::Ignored, "universal character name referring to a control character is incompatible with C++98", 103, SFINAE_Suppress, false, false, 1)
    262 DIAG(warn_cxx98_compat_literal_ucn_escape_basic_scs, CLASS_WARNING, (unsigned)diag::Severity::Ignored, "specifying character '%0' with a universal character name is incompatible with C++98", 103, SFINAE_Suppress, false, false, 1)
    263 DIAG(warn_cxx98_compat_no_newline_eof, CLASS_WARNING, (unsigned)diag::Severity::Ignored, "C++98 requires newline at end of file", 106, SFINAE_Suppress, false, false, 1)
    264 DIAG(warn_cxx98_compat_pp_line_too_big, CLASS_WARNING, (unsigned)diag::Severity::Ignored, "#line number greater than 32767 is incompatible with C++98", 106, SFINAE_Suppress, false, false, 1)
    265 DIAG(warn_cxx98_compat_raw_string_literal, CLASS_WARNING, (unsigned)diag::Severity::Ignored, "raw string literals are incompatible with C++98", 103, SFINAE_Suppress, false, false, 1)
    266 DIAG(warn_cxx98_compat_unicode_id, CLASS_WARNING, (unsigned)diag::Severity::Ignored, "using this character in an identifier is incompatible with C++98", 103, SFINAE_Suppress, false, false, 1)
    267 DIAG(warn_cxx98_compat_unicode_literal, CLASS_WARNING, (unsigned)diag::Severity::Ignored, "unicode literals are incompatible with C++98", 103, SFINAE_Suppress, false, false, 1)
    268 DIAG(warn_cxx98_compat_variadic_macro, CLASS_WARNING, (unsigned)diag::Severity::Ignored, "variadic macros are incompatible with C++98", 106, SFINAE_Suppress, false, false, 1)
    269 DIAG(warn_defined_in_function_type_macro, CLASS_EXTENSION, (unsigned)diag::Severity::Ignored, "macro expansion producing 'defined' has undefined behavior", 199, SFINAE_Suppress, false, false, 1)
    270 DIAG(warn_defined_in_object_type_macro, CLASS_WARNING, (unsigned)diag::Severity::Warning, "macro expansion producing 'defined' has undefined behavior", 199, SFINAE_Suppress, false, false, 1)
    271 DIAG(warn_extraneous_char_constant, CLASS_WARNING, (unsigned)diag::Severity::Warning, "extraneous characters in character constant ignored", 0, SFINAE_Suppress, false, false, 1)
    272 DIAG(warn_has_warning_invalid_option, CLASS_EXTENSION, (unsigned)diag::Severity::Warning, "__has_warning expected option name (e.g. \"-Wundef\")", 342, SFINAE_Suppress, false, false, 1)
    273 DIAG(warn_header_guard, CLASS_WARNING, (unsigned)diag::Severity::Warning, "%0 is used as a header guard here, followed by #define of a different macro", 261, SFINAE_Suppress, false, false, 1)
    274 DIAG(warn_missing_whitespace_after_macro_name, CLASS_WARNING, (unsigned)diag::Severity::Warning, "whitespace recommended after macro name", 0, SFINAE_Suppress, false, false, 1)
    275 DIAG(warn_mmap_mismatched_top_level_private, CLASS_WARNING, (unsigned)diag::Severity::Warning, "top-level module '%0' in private module map, expected a submodule of '%1'", 514, SFINAE_Suppress, false, false, 1)
    276 DIAG(warn_mmap_redundant_export_as, CLASS_WARNING, (unsigned)diag::Severity::Warning, "module '%0' already re-exported as '%1'", 514, SFINAE_Suppress, false, false, 1)
    277 DIAG(warn_mmap_umbrella_dir_not_found, CLASS_WARNING, (unsigned)diag::Severity::Warning, "umbrella directory '%0' not found", 294, SFINAE_Suppress, false, false, 1)
    278 DIAG(warn_mmap_unknown_attribute, CLASS_WARNING, (unsigned)diag::Severity::Warning, "unknown attribute '%0'", 264, SFINAE_Suppress, false, false, 1)
    279 DIAG(warn_module_conflict, CLASS_WARNING, (unsigned)diag::Severity::Warning, "module '%0' conflicts with already-imported module '%1': %2", 394, SFINAE_Suppress, false, false, 1)
    280 DIAG(warn_nested_block_comment, CLASS_WARNING, (unsigned)diag::Severity::Warning, "'/*' within block comment", 120, SFINAE_Suppress, false, false, 1)
    281 DIAG(warn_no_newline_eof, CLASS_WARNING, (unsigned)diag::Severity::Ignored, "no newline at end of file", 410, SFINAE_Suppress, false, false, 1)
    282 DIAG(warn_non_modular_include_in_framework_module, CLASS_WARNING, (unsigned)diag::Severity::Ignored, "include of non-modular header inside framework module '%0': '%1'", 414, SFINAE_Suppress, false, false, 1)
    283 DIAG(warn_non_modular_include_in_module, CLASS_WARNING, (unsigned)diag::Severity::Ignored, "include of non-modular header inside module '%0': '%1'", 415, SFINAE_Suppress, false, false, 1)
    284 DIAG(warn_pp_ambiguous_macro, CLASS_WARNING, (unsigned)diag::Severity::Warning, "ambiguous expansion of macro %0", 21, SFINAE_Suppress, false, false, 1)
    285 DIAG(warn_pp_convert_to_positive, CLASS_WARNING, (unsigned)diag::Severity::Warning, "%select{left|right}0 side of operator converted from negative value to unsigned: %1", 0, SFINAE_Suppress, false, false, 1)
    286 DIAG(warn_pp_date_time, CLASS_WARNING, (unsigned)diag::Severity::Ignored, "expansion of date or time macro is not reproducible", 144, SFINAE_Suppress, false, true, 1)
    287 DIAG(warn_pp_expr_overflow, CLASS_WARNING, (unsigned)diag::Severity::Warning, "integer overflow in preprocessor expression", 0, SFINAE_Suppress, false, false, 1)
    288 DIAG(warn_pp_line_decimal, CLASS_WARNING, (unsigned)diag::Severity::Warning, "%select{#line|GNU line marker}0 directive interprets number as decimal, not octal", 0, SFINAE_Suppress, false, false, 1)
    289 DIAG(warn_pp_macro_hides_keyword, CLASS_EXTENSION, (unsigned)diag::Severity::Ignored, "keyword is hidden by macro definition", 327, SFINAE_Suppress, false, false, 1)
    290 DIAG(warn_pp_macro_is_reserved_id, CLASS_WARNING, (unsigned)diag::Severity::Ignored, "macro name is a reserved identifier", 536, SFINAE_Suppress, false, false, 1)
    291 DIAG(warn_pp_objc_macro_redef_ignored, CLASS_WARNING, (unsigned)diag::Severity::Warning, "ignoring redefinition of Objective-C qualifier macro", 445, SFINAE_Suppress, false, false, 1)
    292 DIAG(warn_pp_undef_identifier, CLASS_WARNING, (unsigned)diag::Severity::Ignored, "%0 is not defined, evaluates to 0", 636, SFINAE_Suppress, false, false, 1)
    293 DIAG(warn_pragma_debug_missing_argument, CLASS_WARNING, (unsigned)diag::Severity::Warning, "missing argument to debug command '%0'", 267, SFINAE_Suppress, false, false, 1)
    294 DIAG(warn_pragma_debug_unexpected_command, CLASS_WARNING, (unsigned)diag::Severity::Warning, "unexpected debug command '%0'", 267, SFINAE_Suppress, false, false, 1)
    295 DIAG(warn_pragma_diagnostic_cannot_pop, CLASS_EXTENSION, (unsigned)diag::Severity::Warning, "pragma diagnostic pop could not pop, no matching push", 653, SFINAE_Suppress, false, false, 1)
    296 DIAG(warn_pragma_diagnostic_invalid, CLASS_EXTENSION, (unsigned)diag::Severity::Warning, "pragma diagnostic expected 'error', 'warning', 'ignored', 'fatal', 'push', or 'pop'", 653, SFINAE_Suppress, false, false, 1)
    297 DIAG(warn_pragma_diagnostic_invalid_option, CLASS_EXTENSION, (unsigned)diag::Severity::Warning, "pragma diagnostic expected option name (e.g. \"-Wundef\")", 653, SFINAE_Suppress, false, false, 1)
    298 DIAG(warn_pragma_diagnostic_invalid_token, CLASS_EXTENSION, (unsigned)diag::Severity::Warning, "unexpected token in pragma diagnostic", 653, SFINAE_Suppress, false, false, 1)
    299 DIAG(warn_pragma_diagnostic_unknown_warning, CLASS_EXTENSION, (unsigned)diag::Severity::Warning, "unknown warning group '%0', ignored", 655, SFINAE_Suppress, false, false, 1)
    300 DIAG(warn_pragma_ignored, CLASS_WARNING, (unsigned)diag::Severity::Ignored, "unknown pragma ignored", 653, SFINAE_Suppress, false, false, 1)
    301 DIAG(warn_pragma_include_alias_expected, CLASS_EXTENSION, (unsigned)diag::Severity::Warning, "pragma include_alias expected '%0'", 653, SFINAE_Suppress, false, false, 1)
    302 DIAG(warn_pragma_include_alias_expected_filename, CLASS_EXTENSION, (unsigned)diag::Severity::Warning, "pragma include_alias expected include filename", 653, SFINAE_Suppress, false, false, 1)
    303 DIAG(warn_pragma_include_alias_mismatch_angle, CLASS_EXTENSION, (unsigned)diag::Severity::Warning, "angle-bracketed include <%0> cannot be aliased to double-quoted include \"%1\"", 653, SFINAE_Suppress, false, false, 1)
    304 DIAG(warn_pragma_include_alias_mismatch_quote, CLASS_EXTENSION, (unsigned)diag::Severity::Warning, "double-quoted include \"%0\" cannot be aliased to angle-bracketed include <%1>", 653, SFINAE_Suppress, false, false, 1)
    305 DIAG(warn_pragma_message, CLASS_WARNING, (unsigned)diag::Severity::Warning, "%0", 1, SFINAE_Suppress, true, false, 30)
    306 DIAG(warn_pragma_pop_macro_no_push, CLASS_WARNING, (unsigned)diag::Severity::Warning, "pragma pop_macro could not pop '%0', no matching push_macro", 267, SFINAE_Suppress, false, false, 1)
    307 DIAG(warn_pragma_warning_expected, CLASS_EXTENSION, (unsigned)diag::Severity::Warning, "#pragma warning expected '%0'", 653, SFINAE_Suppress, false, false, 1)
    308 DIAG(warn_pragma_warning_expected_number, CLASS_EXTENSION, (unsigned)diag::Severity::Warning, "#pragma warning expected a warning number", 653, SFINAE_Suppress, false, false, 1)
    309 DIAG(warn_pragma_warning_push_level, CLASS_EXTENSION, (unsigned)diag::Severity::Warning, "#pragma warning(push, level) requires a level between 0 and 4", 653, SFINAE_Suppress, false, false, 1)
    310 DIAG(warn_pragma_warning_spec_invalid, CLASS_EXTENSION, (unsigned)diag::Severity::Warning, "#pragma warning expected 'push', 'pop', 'default', 'disable', 'error', 'once', 'suppress', 1, 2, 3, or 4", 653, SFINAE_Suppress, false, false, 1)
    311 DIAG(warn_stdc_fenv_access_not_supported, CLASS_WARNING, (unsigned)diag::Severity::Warning, "pragma STDC FENV_ACCESS ON is not supported, ignoring pragma", 653, SFINAE_Suppress, false, false, 1)
    312 DIAG(warn_ucn_escape_incomplete, CLASS_WARNING, (unsigned)diag::Severity::Warning, "incomplete universal character name; treating as '\\' followed by identifier", 647, SFINAE_Suppress, false, false, 1)
    313 DIAG(warn_ucn_escape_no_digits, CLASS_WARNING, (unsigned)diag::Severity::Warning, "\\%0 used with no following hex digits; treating as '\\' followed by identifier", 647, SFINAE_Suppress, false, false, 1)
    314 DIAG(warn_ucn_escape_surrogate, CLASS_WARNING, (unsigned)diag::Severity::Warning, "universal character name refers to a surrogate character", 647, SFINAE_Suppress, false, false, 1)
    315 DIAG(warn_ucn_not_valid_in_c89, CLASS_WARNING, (unsigned)diag::Severity::Warning, "universal character names are only valid in C99 or C++; treating as '\\' followed by identifier", 647, SFINAE_Suppress, false, false, 1)
    316 DIAG(warn_ucn_not_valid_in_c89_literal, CLASS_EXTENSION, (unsigned)diag::Severity::Warning, "universal character names are only valid in C99 or C++", 647, SFINAE_Suppress, false, false, 1)
    317 DIAG(warn_uncovered_module_header, CLASS_WARNING, (unsigned)diag::Severity::Warning, "umbrella header for module '%0' does not include header '%1'", 294, SFINAE_Suppress, false, false, 1)
    318 DIAG(warn_use_of_private_header_outside_module, CLASS_WARNING, (unsigned)diag::Severity::Error, "use of private header from outside its module: '%0'", 513, SFINAE_Suppress, false, false, 1)
    319