/usr/include/clang/Basic/DiagnosticLexKinds.inc is in libclang-dev 3.0-6ubuntu3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 | #ifdef LEXSTART
__LEXSTART = DIAG_START_LEX,
#undef LEXSTART
#endif
DIAG(backslash_newline_space, CLASS_WARNING, diag::MAP_WARNING, "backslash and newline separated by space", "", true, false, false, false, 1, "", "")
DIAG(charize_microsoft_ext, CLASS_EXTENSION, diag::MAP_IGNORE, "@# is a microsoft extension", "", true, false, false, false, 1, "", "")
DIAG(err__Pragma_malformed, CLASS_ERROR, diag::MAP_ERROR, "_Pragma takes a parenthesized string literal", "", true, false, false, false, 1, "", "")
DIAG(err_conflict_marker, CLASS_ERROR, diag::MAP_ERROR, "version control conflict marker in file", "", true, false, false, false, 1, "", "")
DIAG(err_defined_macro_name, CLASS_ERROR, diag::MAP_ERROR, "'defined' cannot be used as a macro name", "", true, false, false, false, 1, "", "")
DIAG(err_empty_character, CLASS_ERROR, diag::MAP_ERROR, "empty character constant", "", true, false, false, false, 1, "", "")
DIAG(err_exponent_has_no_digits, CLASS_ERROR, diag::MAP_ERROR, "exponent has no digits", "", true, false, false, false, 1, "", "")
DIAG(err_feature_check_malformed, CLASS_ERROR, diag::MAP_ERROR, "builtin feature check macro requires a parenthesized identifier", "", true, false, false, false, 1, "", "")
DIAG(err_hex_escape_no_digits, CLASS_ERROR, diag::MAP_ERROR, "\\x used with no following hex digits", "", true, false, false, false, 1, "", "")
DIAG(err_hexconstant_requires_exponent, CLASS_ERROR, diag::MAP_ERROR, "hexadecimal floating constants require an exponent", "", true, false, false, false, 1, "", "")
DIAG(err_invalid_binary_digit, CLASS_ERROR, diag::MAP_ERROR, "invalid digit '%0' in binary constant", "", true, false, false, false, 1, "", "")
DIAG(err_invalid_char_raw_delim, CLASS_ERROR, diag::MAP_ERROR, "invalid character '%0' character in raw string delimiter; use PREFIX( )PREFIX to delimit raw string", "", true, false, false, false, 1, "", "")
DIAG(err_invalid_character_to_charify, CLASS_ERROR, diag::MAP_ERROR, "invalid argument to convert to character", "", true, false, false, false, 1, "", "")
DIAG(err_invalid_decimal_digit, CLASS_ERROR, diag::MAP_ERROR, "invalid digit '%0' in decimal constant", "", true, false, false, false, 1, "", "")
DIAG(err_invalid_octal_digit, CLASS_ERROR, diag::MAP_ERROR, "invalid digit '%0' in octal constant", "", true, false, false, false, 1, "", "")
DIAG(err_invalid_pth_file, CLASS_ERROR, diag::MAP_ERROR, "invalid or corrupt PTH file '%0'", "", true, false, false, false, 1, "", "")
DIAG(err_invalid_suffix_float_constant, CLASS_ERROR, diag::MAP_ERROR, "invalid suffix '%0' on floating constant", "", true, false, false, false, 1, "", "")
DIAG(err_invalid_suffix_integer_constant, CLASS_ERROR, diag::MAP_ERROR, "invalid suffix '%0' on integer constant", "", true, false, false, false, 1, "", "")
DIAG(err_pascal_string_too_long, CLASS_ERROR, diag::MAP_ERROR, "Pascal string is too long", "", true, false, false, false, 1, "", "")
DIAG(err_paste_at_end, CLASS_ERROR, diag::MAP_ERROR, "'##' cannot appear at end of macro expansion", "", true, false, false, false, 1, "", "")
DIAG(err_paste_at_start, CLASS_ERROR, diag::MAP_ERROR, "'##' cannot appear at start of macro expansion", "", true, false, false, false, 1, "", "")
DIAG(err_pp_arc_cf_code_audited_syntax, CLASS_ERROR, diag::MAP_ERROR, "expected 'begin' or 'end'", "", true, false, false, false, 1, "", "")
DIAG(err_pp_bad_paste, CLASS_ERROR, diag::MAP_ERROR, "pasting formed '%0', an invalid preprocessing token", "", true, false, false, false, 1, "", "")
DIAG(err_pp_bad_paste_ms, CLASS_WARNING, diag::MAP_ERROR, "pasting formed '%0', an invalid preprocessing token", "invalid-token-paste", true, false, false, false, 1, "", "")
DIAG(err_pp_colon_without_question, CLASS_ERROR, diag::MAP_ERROR, "':' without preceding '?'", "", true, false, false, false, 1, "", "")
DIAG(err_pp_defined_requires_identifier, CLASS_ERROR, diag::MAP_ERROR, "operator 'defined' requires an identifier", "", true, false, false, false, 1, "", "")
DIAG(err_pp_division_by_zero, CLASS_ERROR, diag::MAP_ERROR, "division by zero in preprocessor expression", "", true, false, false, false, 1, "", "")
DIAG(err_pp_double_begin_of_arc_cf_code_audited, CLASS_ERROR, diag::MAP_ERROR, "already inside '#pragma clang arc_cf_code_audited'", "", true, false, false, false, 1, "", "")
DIAG(err_pp_duplicate_name_in_arg_list, CLASS_ERROR, diag::MAP_ERROR, "duplicate macro parameter name %0", "", true, false, false, false, 1, "", "")
DIAG(err_pp_empty_filename, CLASS_ERROR, diag::MAP_ERROR, "empty filename", "", true, false, false, false, 1, "", "")
DIAG(err_pp_endif_without_if, CLASS_ERROR, diag::MAP_ERROR, "#endif without #if", "", true, false, false, false, 1, "", "")
DIAG(err_pp_eof_in_arc_cf_code_audited, CLASS_ERROR, diag::MAP_ERROR, "'#pragma clang arc_cf_code_audited' was not ended within this file", "", true, false, false, false, 1, "", "")
DIAG(err_pp_error_opening_file, CLASS_ERROR, diag::MAP_FATAL, "error opening file '%0': %1", "", true, false, false, false, 1, "", "")
DIAG(err_pp_expected_comma_in_arg_list, CLASS_ERROR, diag::MAP_ERROR, "expected comma in macro parameter list", "", true, false, false, false, 1, "", "")
DIAG(err_pp_expected_eol, CLASS_ERROR, diag::MAP_ERROR, "expected end of line in preprocessor expression", "", true, false, false, false, 1, "", "")
DIAG(err_pp_expected_ident_in_arg_list, CLASS_ERROR, diag::MAP_ERROR, "expected identifier in macro parameter list", "", true, false, false, false, 1, "", "")
DIAG(err_pp_expected_rparen, CLASS_ERROR, diag::MAP_ERROR, "expected ')' in preprocessor expression", "", true, false, false, false, 1, "", "")
DIAG(err_pp_expected_value_in_expr, CLASS_ERROR, diag::MAP_ERROR, "expected value in expression", "", true, false, false, false, 1, "", "")
DIAG(err_pp_expects_filename, CLASS_ERROR, diag::MAP_ERROR, "expected \"FILENAME\" or <FILENAME>", "", true, false, false, false, 1, "", "")
DIAG(err_pp_export_non_macro, CLASS_ERROR, diag::MAP_ERROR, "no macro named %0 to export", "", true, false, false, false, 1, "", "")
DIAG(err_pp_expr_bad_token_binop, CLASS_ERROR, diag::MAP_ERROR, "token is not a valid binary operator in a preprocessor subexpression", "", true, false, false, false, 1, "", "")
DIAG(err_pp_expr_bad_token_start_expr, CLASS_ERROR, diag::MAP_ERROR, "invalid token at start of a preprocessor expression", "", true, false, false, false, 1, "", "")
DIAG(err_pp_file_not_found, CLASS_ERROR, diag::MAP_FATAL, "'%0' file not found", "", true, false, false, false, 1, "", "")
DIAG(err_pp_hash_error, CLASS_ERROR, diag::MAP_ERROR, "#error%0", "", true, false, false, false, 1, "", "")
DIAG(err_pp_illegal_floating_literal, CLASS_ERROR, diag::MAP_ERROR, "floating point literal in preprocessor expression", "", true, false, false, false, 1, "", "")
DIAG(err_pp_include_in_arc_cf_code_audited, CLASS_ERROR, diag::MAP_ERROR, "cannot #include files inside '#pragma clang arc_cf_code_audited'", "", true, false, false, false, 1, "", "")
DIAG(err_pp_include_too_deep, CLASS_ERROR, diag::MAP_ERROR, "#include nested too deeply", "", true, false, false, false, 1, "", "")
DIAG(err_pp_invalid_directive, CLASS_ERROR, diag::MAP_ERROR, "invalid preprocessing directive", "", true, false, false, false, 1, "", "")
DIAG(err_pp_invalid_poison, CLASS_ERROR, diag::MAP_ERROR, "can only poison identifier tokens", "", true, false, false, false, 1, "", "")
DIAG(err_pp_invalid_tok_in_arg_list, CLASS_ERROR, diag::MAP_ERROR, "invalid token in macro parameter list", "", true, false, false, false, 1, "", "")
DIAG(err_pp_line_digit_sequence, CLASS_ERROR, diag::MAP_ERROR, "#line directive requires a simple digit sequence", "", true, false, false, false, 1, "", "")
DIAG(err_pp_line_invalid_filename, CLASS_ERROR, diag::MAP_ERROR, "invalid filename for #line directive", "", true, false, false, false, 1, "", "")
DIAG(err_pp_line_requires_integer, CLASS_ERROR, diag::MAP_ERROR, "#line directive requires a positive integer argument", "", true, false, false, false, 1, "", "")
DIAG(err_pp_linemarker_invalid_filename, CLASS_ERROR, diag::MAP_ERROR, "invalid filename for line marker directive", "", true, false, false, false, 1, "", "")
DIAG(err_pp_linemarker_invalid_flag, CLASS_ERROR, diag::MAP_ERROR, "invalid flag line marker directive", "", true, false, false, false, 1, "", "")
DIAG(err_pp_linemarker_invalid_pop, CLASS_ERROR, diag::MAP_ERROR, "invalid line marker flag '2': cannot pop empty include stack", "", true, false, false, false, 1, "", "")
DIAG(err_pp_linemarker_requires_integer, CLASS_ERROR, diag::MAP_ERROR, "line marker directive requires a positive integer argument", "", true, false, false, false, 1, "", "")
DIAG(err_pp_macro_not_identifier, CLASS_ERROR, diag::MAP_ERROR, "macro names must be identifiers", "", true, false, false, false, 1, "", "")
DIAG(err_pp_malformed_ident, CLASS_ERROR, diag::MAP_ERROR, "invalid #ident directive", "", true, false, false, false, 1, "", "")
DIAG(err_pp_missing_lparen, CLASS_ERROR, diag::MAP_ERROR, "missing '(' after '%0'", "", true, false, false, false, 1, "", "")
DIAG(err_pp_missing_macro_name, CLASS_ERROR, diag::MAP_ERROR, "macro name missing", "", true, false, false, false, 1, "", "")
DIAG(err_pp_missing_rparen, CLASS_ERROR, diag::MAP_ERROR, "missing ')' after '%0'", "", true, false, false, false, 1, "", "")
DIAG(err_pp_missing_rparen_in_macro_def, CLASS_ERROR, diag::MAP_ERROR, "missing ')' in macro parameter list", "", true, false, false, false, 1, "", "")
DIAG(err_pp_missing_val_before_operator, CLASS_ERROR, diag::MAP_ERROR, "missing value before operator", "", true, false, false, false, 1, "", "")
DIAG(err_pp_operator_used_as_macro_name, CLASS_ERROR, diag::MAP_ERROR, "C++ operator '%0' cannot be used as a macro name", "", true, false, false, false, 1, "", "")
DIAG(err_pp_remainder_by_zero, CLASS_ERROR, diag::MAP_ERROR, "remainder by zero in preprocessor expression", "", true, false, false, false, 1, "", "")
DIAG(err_pp_stringize_not_parameter, CLASS_ERROR, diag::MAP_ERROR, "'#' is not followed by a macro parameter", "", true, false, false, false, 1, "", "")
DIAG(err_pp_unmatched_end_of_arc_cf_code_audited, CLASS_ERROR, diag::MAP_ERROR, "not currently inside '#pragma clang arc_cf_code_audited'", "", true, false, false, false, 1, "", "")
DIAG(err_pp_unterminated_conditional, CLASS_ERROR, diag::MAP_ERROR, "unterminated conditional directive", "", true, false, false, false, 1, "", "")
DIAG(err_pp_used_poisoned_id, CLASS_ERROR, diag::MAP_ERROR, "attempt to use a poisoned identifier", "", true, false, false, false, 1, "", "")
DIAG(err_pragma_comment_malformed, CLASS_ERROR, diag::MAP_ERROR, "pragma comment requires parenthesized identifier and optional string", "", true, false, false, false, 1, "", "")
DIAG(err_pragma_comment_unknown_kind, CLASS_ERROR, diag::MAP_ERROR, "unknown kind of pragma comment", "", true, false, false, false, 1, "", "")
DIAG(err_pragma_message_malformed, CLASS_ERROR, diag::MAP_ERROR, "pragma message requires parenthesized string", "", true, false, false, false, 1, "", "")
DIAG(err_pragma_push_pop_macro_malformed, CLASS_ERROR, diag::MAP_ERROR, "pragma %0 requires a parenthesized string", "", true, false, false, false, 1, "", "")
DIAG(err_pth_cannot_read, CLASS_ERROR, diag::MAP_ERROR, "PTH file '%0' could not be read", "", true, false, false, false, 1, "", "")
DIAG(err_raw_delim_too_long, CLASS_ERROR, diag::MAP_ERROR, "raw string delimiter longer than 16 characters; use PREFIX( )PREFIX to delimit raw string", "", true, false, false, false, 1, "", "")
DIAG(err_too_few_args_in_macro_invoc, CLASS_ERROR, diag::MAP_ERROR, "too few arguments provided to function-like macro invocation", "", true, false, false, false, 1, "", "")
DIAG(err_too_many_args_in_macro_invoc, CLASS_ERROR, diag::MAP_ERROR, "too many arguments provided to function-like macro invocation", "", true, false, false, false, 1, "", "")
DIAG(err_ucn_escape_incomplete, CLASS_ERROR, diag::MAP_ERROR, "incomplete universal character name", "", true, false, false, false, 1, "", "")
DIAG(err_ucn_escape_invalid, CLASS_ERROR, diag::MAP_ERROR, "invalid universal character", "", true, false, false, false, 1, "", "")
DIAG(err_ucn_escape_no_digits, CLASS_ERROR, diag::MAP_ERROR, "\\u used with no following hex digits", "", true, false, false, false, 1, "", "")
DIAG(err_ucn_escape_too_big, CLASS_ERROR, diag::MAP_ERROR, "universal character name is too long", "", true, false, false, false, 1, "", "")
DIAG(err_unsupported_string_concat, CLASS_ERROR, diag::MAP_ERROR, "unsupported non-standard concatenation of string literals", "", true, false, false, false, 1, "", "")
DIAG(err_unterm_macro_invoc, CLASS_ERROR, diag::MAP_ERROR, "unterminated function-like macro invocation", "", true, false, false, false, 1, "", "")
DIAG(err_unterminated___pragma, CLASS_ERROR, diag::MAP_ERROR, "missing terminating ')' character", "", true, false, false, false, 1, "", "")
DIAG(err_unterminated_block_comment, CLASS_ERROR, diag::MAP_ERROR, "unterminated /* comment", "", true, false, false, false, 1, "", "")
DIAG(err_unterminated_raw_string, CLASS_ERROR, diag::MAP_ERROR, "raw string missing terminating delimiter )%0\"", "", true, false, false, false, 1, "", "")
DIAG(err_warning_check_malformed, CLASS_ERROR, diag::MAP_ERROR, "builtin warning check macro requires a parenthesized string", "malformed-warning-check", true, false, false, false, 1, "", "")
DIAG(escaped_newline_block_comment_end, CLASS_WARNING, diag::MAP_WARNING, "escaped newline between */ characters at block comment end", "comment", true, false, false, false, 1, "", "")
DIAG(ext_bcpl_comment, CLASS_EXTENSION, diag::MAP_IGNORE, "// comments are not allowed in this language", "comment", true, false, false, false, 1, "", "")
DIAG(ext_binary_literal, CLASS_EXTENSION, diag::MAP_IGNORE, "binary integer literals are an extension", "", true, false, false, false, 1, "", "")
DIAG(ext_c99_whitespace_required_after_macro_name, CLASS_EXTENSION, diag::MAP_WARNING, "ISO C99 requires whitespace after the macro name", "", true, false, false, false, 1, "", "")
DIAG(ext_dollar_in_identifier, CLASS_EXTENSION, diag::MAP_IGNORE, "'$' in identifier", "", true, false, false, false, 1, "", "")
DIAG(ext_embedded_directive, CLASS_EXTENSION, diag::MAP_IGNORE, "embedding a directive within macro arguments is not portable", "", true, false, false, false, 1, "", "")
DIAG(ext_empty_fnmacro_arg, CLASS_EXTENSION, diag::MAP_IGNORE, "empty macro arguments were standardized in C99", "", true, false, false, false, 1, "", "")
DIAG(ext_four_char_character_literal, CLASS_EXTENSION, diag::MAP_IGNORE, "multi-character character constant", "four-char-constants", true, false, false, false, 1, "", "")
DIAG(ext_hexconstant_invalid, CLASS_EXTENSION, diag::MAP_IGNORE, "hexadecimal floating constants are a C99 feature", "", true, false, false, false, 1, "", "")
DIAG(ext_imaginary_constant, CLASS_EXTENSION, diag::MAP_IGNORE, "imaginary constants are an extension", "", true, false, false, false, 1, "", "")
DIAG(ext_missing_varargs_arg, CLASS_EXTENSION, diag::MAP_IGNORE, "varargs argument missing, but tolerated as an extension", "", true, false, false, false, 1, "", "")
DIAG(ext_missing_whitespace_after_macro_name, CLASS_EXTENSION, diag::MAP_WARNING, "whitespace required after macro name", "", true, false, false, false, 1, "", "")
DIAG(ext_multi_line_bcpl_comment, CLASS_EXTENSION, diag::MAP_IGNORE, "multi-line // comment", "comment", true, false, false, false, 1, "", "")
DIAG(ext_multichar_character_literal, CLASS_EXTENSION, diag::MAP_WARNING, "multi-character character constant", "multichar", true, false, false, false, 1, "", "")
DIAG(ext_named_variadic_macro, CLASS_EXTENSION, diag::MAP_IGNORE, "named variadic macros are a GNU extension", "variadic-macros", true, false, false, false, 1, "", "")
DIAG(ext_no_newline_eof, CLASS_EXTENSION, diag::MAP_IGNORE, "no newline at end of file", "newline-eof", true, false, false, false, 1, "", "")
DIAG(ext_nonstandard_escape, CLASS_EXTENSION, diag::MAP_IGNORE, "use of non-standard escape character '\\%0'", "", true, false, false, false, 1, "", "")
DIAG(ext_on_off_switch_syntax, CLASS_EXTENSION, diag::MAP_WARNING, "expected 'ON' or 'OFF' or 'DEFAULT' in pragma", "unknown-pragmas", true, false, false, false, 1, "", "")
DIAG(ext_paste_comma, CLASS_EXTENSION, diag::MAP_IGNORE, "Use of comma pasting extension is non-portable", "", true, false, false, false, 1, "", "")
DIAG(ext_pp_bad_vaargs_use, CLASS_EXTENSION, diag::MAP_IGNORE, "__VA_ARGS__ can only appear in the expansion of a C99 variadic macro", "", true, false, false, false, 1, "", "")
DIAG(ext_pp_comma_expr, CLASS_EXTENSION, diag::MAP_IGNORE, "comma operator in operand of #if", "", true, false, false, false, 1, "", "")
DIAG(ext_pp_extra_tokens_at_eol, CLASS_EXTENSION, diag::MAP_WARNING, "extra tokens at end of #%0 directive", "extra-tokens", true, false, false, false, 1, "", "")
DIAG(ext_pp_ident_directive, CLASS_EXTENSION, diag::MAP_IGNORE, "#ident is a language extension", "", true, false, false, false, 1, "", "")
DIAG(ext_pp_import_directive, CLASS_EXTENSION, diag::MAP_IGNORE, "#import is a language extension", "", true, false, false, false, 1, "", "")
DIAG(ext_pp_include_next_directive, CLASS_EXTENSION, diag::MAP_IGNORE, "#include_next is a language extension", "", true, false, false, false, 1, "", "")
DIAG(ext_pp_line_too_big, CLASS_EXTENSION, diag::MAP_IGNORE, "C requires #line number to be less than %0, allowed as extension", "", true, false, false, false, 1, "", "")
DIAG(ext_pp_macro_redef, CLASS_EXTENSION, diag::MAP_WARNING, "%0 macro redefined", "", true, false, false, false, 1, "", "")
DIAG(ext_pp_warning_directive, CLASS_EXTENSION, diag::MAP_IGNORE, "#warning is a language extension", "", true, false, false, false, 1, "", "")
DIAG(ext_pragma_syntax_eod, CLASS_EXTENSION, diag::MAP_WARNING, "expected end of directive in pragma", "unknown-pragmas", true, false, false, false, 1, "", "")
DIAG(ext_stdc_pragma_ignored, CLASS_EXTENSION, diag::MAP_WARNING, "unknown pragma in STDC namespace", "unknown-pragmas", true, false, false, false, 1, "", "")
DIAG(ext_string_too_long, CLASS_EXTENSION, diag::MAP_IGNORE, "string literal of length %0 exceeds maximum length %1 that %select{C90|ISO C99|C++}2 compilers are required to support", "overlength-strings", true, false, false, false, 1, "", "")
DIAG(ext_token_used, CLASS_EXTENSION, diag::MAP_IGNORE, "extension used", "language-extension-token", true, false, false, false, 1, "", "")
DIAG(ext_unknown_escape, CLASS_EXTENSION, diag::MAP_WARNING, "unknown escape sequence '\\%0'", "", true, false, false, false, 1, "", "")
DIAG(ext_variadic_macro, CLASS_EXTENSION, diag::MAP_IGNORE, "variadic macros were introduced in C99", "variadic-macros", true, false, false, false, 1, "", "")
DIAG(null_in_char, CLASS_WARNING, diag::MAP_WARNING, "null character(s) preserved in character literal", "", true, false, false, false, 1, "", "")
DIAG(null_in_file, CLASS_WARNING, diag::MAP_WARNING, "null character ignored", "", true, false, false, false, 1, "", "")
DIAG(null_in_string, CLASS_WARNING, diag::MAP_WARNING, "null character(s) preserved in string literal", "", true, false, false, false, 1, "", "")
DIAG(pp_err_elif_after_else, CLASS_ERROR, diag::MAP_ERROR, "#elif after #else", "", true, false, false, false, 1, "", "")
DIAG(pp_err_elif_without_if, CLASS_ERROR, diag::MAP_ERROR, "#elif without #if", "", true, false, false, false, 1, "", "")
DIAG(pp_err_else_after_else, CLASS_ERROR, diag::MAP_ERROR, "#else after #else", "", true, false, false, false, 1, "", "")
DIAG(pp_err_else_without_if, CLASS_ERROR, diag::MAP_ERROR, "#else without #if", "", true, false, false, false, 1, "", "")
DIAG(pp_hash_warning, CLASS_WARNING, diag::MAP_WARNING, "#warning%0", "#warnings", true, false, false, true, 8, "", "")
DIAG(pp_include_macros_out_of_predefines, CLASS_ERROR, diag::MAP_ERROR, "the #__include_macros directive is only for internal use by -imacros", "", true, false, false, false, 1, "", "")
DIAG(pp_include_next_absolute_path, CLASS_WARNING, diag::MAP_WARNING, "#include_next with absolute path", "", true, false, false, false, 1, "", "")
DIAG(pp_include_next_in_primary, CLASS_WARNING, diag::MAP_WARNING, "#include_next in primary source file", "", true, false, false, false, 1, "", "")
DIAG(pp_invalid_string_literal, CLASS_WARNING, diag::MAP_WARNING, "invalid string literal, ignoring final '\\'", "", true, false, false, false, 1, "", "")
DIAG(pp_macro_not_used, CLASS_WARNING, diag::MAP_IGNORE, "macro is not used", "unused-macros", true, false, false, false, 1, "", "")
DIAG(pp_out_of_date_dependency, CLASS_WARNING, diag::MAP_WARNING, "current file is older than dependency %0", "", true, false, false, false, 1, "", "")
DIAG(pp_poisoning_existing_macro, CLASS_WARNING, diag::MAP_WARNING, "poisoning existing macro", "", true, false, false, false, 1, "", "")
DIAG(pp_pragma_once_in_main_file, CLASS_WARNING, diag::MAP_WARNING, "#pragma once in main file", "", true, false, false, false, 1, "", "")
DIAG(pp_pragma_sysheader_in_main_file, CLASS_WARNING, diag::MAP_WARNING, "#pragma system_header ignored in main file", "", true, false, false, false, 1, "", "")
DIAG(pp_redef_builtin_macro, CLASS_WARNING, diag::MAP_WARNING, "redefining builtin macro", "builtin-macro-redefined", true, false, false, false, 1, "", "")
DIAG(pp_undef_builtin_macro, CLASS_WARNING, diag::MAP_WARNING, "undefining builtin macro", "", true, false, false, false, 1, "", "")
DIAG(trigraph_converted, CLASS_WARNING, diag::MAP_WARNING, "trigraph converted to '%0' character", "trigraphs", true, false, false, false, 1, "", "")
DIAG(trigraph_ends_block_comment, CLASS_WARNING, diag::MAP_WARNING, "trigraph ends block comment", "trigraphs", true, false, false, false, 1, "", "")
DIAG(trigraph_ignored, CLASS_WARNING, diag::MAP_WARNING, "trigraph ignored", "trigraphs", true, false, false, false, 1, "", "")
DIAG(trigraph_ignored_block_comment, CLASS_WARNING, diag::MAP_WARNING, "ignored trigraph would end block comment", "trigraphs", true, false, false, false, 1, "", "")
DIAG(warn_char_constant_too_large, CLASS_WARNING, diag::MAP_WARNING, "character constant too long for its type", "", true, false, false, false, 1, "", "")
DIAG(warn_cxx11_keyword, CLASS_WARNING, diag::MAP_WARNING, "'%0' is a keyword in C++11", "c++11-compat", true, false, false, false, 1, "", "")
DIAG(warn_cxx98_compat_empty_fnmacro_arg, CLASS_WARNING, diag::MAP_IGNORE, "empty macro argument list is incompatible with C++98", "c++98-compat-pedantic", true, false, false, false, 1, "", "")
DIAG(warn_cxx98_compat_less_colon_colon, CLASS_WARNING, diag::MAP_IGNORE, "'<::' is treated as digraph '<:' (aka '[') followed by ':' in C++98", "c++98-compat", true, false, false, false, 1, "", "")
DIAG(warn_cxx98_compat_pp_line_too_big, CLASS_WARNING, diag::MAP_IGNORE, "#line number greater than 32767 is incompatible with C++98", "c++98-compat-pedantic", true, false, false, false, 1, "", "")
DIAG(warn_cxx98_compat_raw_string_literal, CLASS_WARNING, diag::MAP_IGNORE, "raw string literals are incompatible with C++98", "c++98-compat", true, false, false, false, 1, "", "")
DIAG(warn_cxx98_compat_unicode_literal, CLASS_WARNING, diag::MAP_IGNORE, "unicode literals are incompatible with C++98", "c++98-compat", true, false, false, false, 1, "", "")
DIAG(warn_cxx98_compat_variadic_macro, CLASS_WARNING, diag::MAP_IGNORE, "variadic macros are incompatible with C++98", "c++98-compat-pedantic", true, false, false, false, 1, "", "")
DIAG(warn_extraneous_char_constant, CLASS_WARNING, diag::MAP_WARNING, "extraneous characters in character constant ignored", "", true, false, false, false, 1, "", "")
DIAG(warn_has_warning_invalid_option, CLASS_EXTENSION, diag::MAP_WARNING, "__has_warning expected option name (e.g. \"-Wundef\")", "malformed-warning-check", true, false, false, false, 1, "", "")
DIAG(warn_hex_escape_too_large, CLASS_EXTENSION, diag::MAP_WARNING, "hex escape sequence out of range", "", true, false, false, false, 1, "", "")
DIAG(warn_missing_whitespace_after_macro_name, CLASS_WARNING, diag::MAP_WARNING, "whitespace recommended after macro name", "", true, false, false, false, 1, "", "")
DIAG(warn_nested_block_comment, CLASS_WARNING, diag::MAP_WARNING, "'/*' within block comment", "comment", true, false, false, false, 1, "", "")
DIAG(warn_octal_escape_too_large, CLASS_EXTENSION, diag::MAP_WARNING, "octal escape sequence out of range", "", true, false, false, false, 1, "", "")
DIAG(warn_pp_convert_lhs_to_positive, CLASS_WARNING, diag::MAP_WARNING, "left side of operator converted from negative value to unsigned: %0", "", true, false, false, false, 1, "", "")
DIAG(warn_pp_convert_rhs_to_positive, CLASS_WARNING, diag::MAP_WARNING, "right side of operator converted from negative value to unsigned: %0", "", true, false, false, false, 1, "", "")
DIAG(warn_pp_expr_overflow, CLASS_WARNING, diag::MAP_WARNING, "integer overflow in preprocessor expression", "", true, false, false, false, 1, "", "")
DIAG(warn_pp_line_decimal, CLASS_WARNING, diag::MAP_WARNING, "#line directive interprets number as decimal, not octal", "", true, false, false, false, 1, "", "")
DIAG(warn_pp_undef_identifier, CLASS_WARNING, diag::MAP_IGNORE, "%0 is not defined, evaluates to 0", "undef", true, false, false, false, 1, "", "")
DIAG(warn_pragma_debug_unexpected_command, CLASS_WARNING, diag::MAP_WARNING, "unexpected debug command '%0'", "", true, false, false, false, 1, "", "")
DIAG(warn_pragma_diagnostic_cannot_pop, CLASS_EXTENSION, diag::MAP_WARNING, "pragma diagnostic pop could not pop, no matching push", "unknown-pragmas", true, false, false, false, 1, "", "")
DIAG(warn_pragma_diagnostic_invalid, CLASS_EXTENSION, diag::MAP_WARNING, "pragma diagnostic expected 'error', 'warning', 'ignored', 'fatal', 'push', or 'pop'", "unknown-pragmas", true, false, false, false, 1, "", "")
DIAG(warn_pragma_diagnostic_invalid_option, CLASS_EXTENSION, diag::MAP_WARNING, "pragma diagnostic expected option name (e.g. \"-Wundef\")", "unknown-pragmas", true, false, false, false, 1, "", "")
DIAG(warn_pragma_diagnostic_invalid_token, CLASS_EXTENSION, diag::MAP_WARNING, "unexpected token in pragma diagnostic", "unknown-pragmas", true, false, false, false, 1, "", "")
DIAG(warn_pragma_diagnostic_unknown_warning, CLASS_EXTENSION, diag::MAP_WARNING, "unknown warning group '%0', ignored", "unknown-pragmas", true, false, false, false, 1, "", "")
DIAG(warn_pragma_ignored, CLASS_WARNING, diag::MAP_IGNORE, "unknown pragma ignored", "unknown-pragmas", true, false, false, false, 1, "", "")
DIAG(warn_pragma_message, CLASS_WARNING, diag::MAP_WARNING, "%0", "#pragma messages", true, false, true, false, 12, "", "")
DIAG(warn_pragma_pop_macro_no_push, CLASS_WARNING, diag::MAP_WARNING, "pragma pop_macro could not pop '%0', no matching push_macro", "", true, false, false, false, 1, "", "")
DIAG(warn_stdc_fenv_access_not_supported, CLASS_WARNING, diag::MAP_WARNING, "pragma STDC FENV_ACCESS ON is not supported, ignoring pragma", "unknown-pragmas", true, false, false, false, 1, "", "")
DIAG(warn_ucn_escape_too_large, CLASS_EXTENSION, diag::MAP_WARNING, "character unicode escape sequence too long for its type", "", true, false, false, false, 1, "", "")
DIAG(warn_ucn_not_valid_in_c89, CLASS_EXTENSION, diag::MAP_WARNING, "unicode escape sequences are only valid in C99 or C++", "", true, false, false, false, 1, "", "")
DIAG(warn_unterminated_char, CLASS_EXTENSION, diag::MAP_WARNING, "missing terminating ' character", "", true, false, false, false, 1, "", "")
DIAG(warn_unterminated_string, CLASS_EXTENSION, diag::MAP_WARNING, "missing terminating '\"' character", "", true, false, false, false, 1, "", "")
|