This file is indexed.

/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, "", "")