
#ifdef GET_DIAG_ARRAYS
static const short DiagSubGroup0[] = { 29, -1 };
static const short DiagArray1[] = { diag::pp_hash_warning, -1 };
static const short DiagArray2[] = { diag::warn_explicit_instantiation_must_be_global_0x, diag::warn_explicit_instantiation_out_of_scope_0x, -1 };
static const short DiagArray4[] = { diag::ext_typecheck_addrof_class_temporary, -1 };
static const short DiagSubGroup6[] = { 64, 77, -1 };
static const short DiagArray9[] = { diag::pp_redef_builtin_macro, -1 };
static const short DiagArray11[] = { diag::ext_hexconstant_cplusplus, -1 };
static const short DiagArray12[] = { diag::warn_explicit_instantiation_unqualified_wrong_namespace_0x, -1 };
static const short DiagSubGroup12[] = { 11, -1 };
static const short DiagArray16[] = { diag::warn_subscript_is_char, -1 };
static const short DiagArray17[] = { diag::escaped_newline_block_comment_end, diag::ext_bcpl_comment, diag::ext_multi_line_bcpl_comment, diag::warn_nested_block_comment, -1 };
static const short DiagSubGroup18[] = { 17, -1 };
static const short DiagArray19[] = { diag::warn_impcast_complex_scalar, diag::warn_impcast_float_integer, diag::warn_impcast_float_precision, diag::warn_impcast_integer_precision, diag::warn_impcast_integer_sign, diag::warn_impcast_integer_sign_conditional, diag::warn_impcast_vector_scalar, -1 };
static const short DiagSubGroup19[] = { 89, -1 };
static const short DiagArray22[] = { diag::warn_access_decl_deprecated, diag::warn_deprecated_string_literal_conversion, diag::warn_drv_treating_input_as_cxx, diag::warn_increment_bool, diag::warn_vector_long_decl_spec_combination, -1 };
static const short DiagArray23[] = { diag::warn_deprecated, -1 };
static const short DiagArray27[] = { diag::warn_empty_if_body, -1 };
static const short DiagSubGroup28[] = { 30, -1 };
static const short DiagSubGroup29[] = { 59, 86, 90, 124, -1 };
static const short DiagArray30[] = { diag::ext_pp_extra_tokens_at_eol, -1 };
static const short DiagArray31[] = { diag::warn_floatingpoint_eq, -1 };
static const short DiagArray32[] = { diag::warn_printf_asterisk_wrong_type, diag::warn_printf_conversion_argument_type_mismatch, diag::warn_printf_format_string_contains_null_char, diag::warn_printf_format_string_is_wide_literal, diag::warn_printf_incomplete_specifier, diag::warn_printf_insufficient_data_args, diag::warn_printf_invalid_conversion, diag::warn_printf_invalid_positional_specifier, diag::warn_printf_missing_format_string, diag::warn_printf_mix_positional_nonpositional_args, diag::warn_printf_nonsensical_flag, diag::warn_printf_nonsensical_precision, diag::warn_printf_positional_arg_exceeds_data_args, diag::warn_printf_zero_positional_specifier, -1 };
static const short DiagSubGroup32[] = { 33, 37, 71, -1 };
static const short DiagArray33[] = { diag::warn_printf_data_arg_not_used, -1 };
static const short DiagArray34[] = { diag::warn_printf_nonliteral, -1 };
static const short DiagSubGroup34[] = { 35, -1 };
static const short DiagArray35[] = { diag::warn_printf_nonliteral_noargs, diag::warn_printf_write_back, -1 };
static const short DiagSubGroup35[] = { 32, -1 };
static const short DiagSubGroup36[] = { 32, -1 };
static const short DiagArray37[] = { diag::warn_printf_empty_format_string, -1 };
static const short DiagSubGroup38[] = { 34, 35, 36, -1 };
static const short DiagArray39[] = { diag::ext_four_char_character_literal, -1 };
static const short DiagArray40[] = { diag::ext_anonymous_struct, diag::ext_anonymous_union, diag::ext_flexible_array_init, diag::ext_gnu_address_of_label, diag::ext_gnu_case_range, diag::ext_gnu_conditional_expr, diag::ext_gnu_empty_initializer, diag::ext_gnu_indirect_goto, diag::ext_gnu_statement_expr, diag::ext_typecheck_expression_not_constant_but_accepted, diag::ext_variable_sized_type_in_struct, -1 };
static const short DiagSubGroup40[] = { 41, 129, -1 };
static const short DiagArray41[] = { diag::ext_gnu_array_range, diag::ext_gnu_missing_equal_designator, diag::ext_gnu_old_style_field_designator, -1 };
static const short DiagArray42[] = { diag::warn_condition_is_idiomatic_assignment, -1 };
static const short DiagSubGroup43[] = { 44, 45, -1 };
static const short DiagArray44[] = { diag::ext_implicit_function_decl, diag::warn_implicit_function_decl, -1 };
static const short DiagArray45[] = { diag::ext_missing_type_specifier, -1 };
static const short DiagArray50[] = { diag::warn_falloff_noreturn_function, diag::warn_noreturn_function_has_return_expr, -1 };
static const short DiagArray51[] = { diag::warn_offsetof_non_pod_type, -1 };
static const short DiagArray53[] = { diag::warn_indirect_goto_in_protected_scope, -1 };
static const short DiagArray54[] = { diag::warn_float_overflow, diag::warn_float_underflow, -1 };
static const short DiagArray55[] = { diag::ext_longlong, -1 };
static const short DiagArray56[] = { diag::warn_struct_class_tag_mismatch, -1 };
static const short DiagArray57[] = { diag::warn_missing_braces, -1 };
static const short DiagArray59[] = { diag::warn_missing_field_initializers, -1 };
static const short DiagArray62[] = { diag::warn_suggest_noreturn_block, diag::warn_suggest_noreturn_function, -1 };
static const short DiagArray63[] = { diag::warn_missing_prototype, -1 };
static const short DiagSubGroup64[] = { 16, 17, 32, 43, 56, 57, 65, 84, 85, 105, 108, 114, 115, 118, 128, 130, -1 };
static const short DiagArray65[] = { diag::ext_multichar_character_literal, -1 };
static const short DiagSubGroup68[] = { 90, 19, 54, -1 };
static const short DiagArray69[] = { diag::warn_cannot_pass_non_pod_arg_to_vararg, -1 };
static const short DiagArray71[] = { diag::warn_null_arg, -1 };
static const short DiagArray77[] = { diag::warn_condition_is_assignment, diag::warn_precedence_bitwise_rel, -1 };
static const short DiagSubGroup77[] = { 42, -1 };
static const short DiagArray78[] = { diag::ext_gnu_ptr_func_arith, diag::ext_gnu_void_ptr, diag::ext_sizeof_function_type, diag::ext_sizeof_void_type, -1 };
static const short DiagArray79[] = { diag::ext_typecheck_convert_incompatible_pointer_sign, -1 };
static const short DiagArray81[] = { diag::warn_unimplemented_protocol_method, -1 };
static const short DiagArray82[] = { diag::warn_objc_property_attr_mutually_exclusive, -1 };
static const short DiagArray84[] = { diag::warn_initializer_out_of_order, -1 };
static const short DiagArray85[] = { diag::ext_return_has_expr, diag::ext_return_missing_expr, diag::warn_falloff_nonvoid_function, diag::warn_maybe_falloff_nonvoid_function, diag::warn_return_missing_expr, -1 };
static const short DiagArray86[] = { diag::warn_semicolon_before_method_body, -1 };
static const short DiagArray88[] = { diag::warn_decl_shadow, -1 };
static const short DiagArray89[] = { diag::warn_impcast_integer_64_32, -1 };
static const short DiagArray90[] = { diag::warn_lunsigned_always_true_comparison, diag::warn_mixed_sign_comparison, diag::warn_mixed_sign_conditional, diag::warn_runsigned_always_true_comparison, -1 };
static const short DiagArray104[] = { diag::ext_typecheck_base_super, -1 };
static const short DiagArray105[] = { diag::warn_case_value_overflow, -1 };
static const short DiagSubGroup105[] = { 106, -1 };
static const short DiagArray106[] = { diag::warn_missing_cases, diag::warn_not_in_enum, -1 };
static const short DiagArray108[] = { diag::trigraph_converted, diag::trigraph_ends_block_comment, diag::trigraph_ignored, diag::trigraph_ignored_block_comment, -1 };
static const short DiagArray110[] = { diag::warn_redefinition_of_typedef, -1 };
static const short DiagArray111[] = { diag::warn_unavailable, -1 };
static const short DiagArray112[] = { diag::warn_undeclared_selector, -1 };
static const short DiagArray113[] = { diag::warn_pp_undef_identifier, -1 };
static const short DiagArray114[] = { diag::warn_field_is_uninit, -1 };
static const short DiagArray115[] = { diag::ext_stdc_pragma_ignored, diag::ext_stdc_pragma_syntax, diag::ext_stdc_pragma_syntax_eom, diag::warn_pragma_diagnostic_clang_cannot_ppp, diag::warn_pragma_diagnostic_clang_invalid, diag::warn_pragma_diagnostic_gcc_invalid, diag::warn_pragma_diagnostic_invalid_option, diag::warn_pragma_diagnostic_invalid_token, diag::warn_pragma_diagnostic_unknown_warning, diag::warn_pragma_ignored, diag::warn_stdc_fenv_access_not_supported, -1 };
static const short DiagArray116[] = { diag::warn_unknown_warning_option, diag::warn_unknown_warning_specifier, -1 };
static const short DiagArray117[] = { diag::warn_unreachable, -1 };
static const short DiagSubGroup118[] = { 119, 121, 122, 125, 126, -1 };
static const short DiagArray120[] = { diag::warn_unused_exception_param, -1 };
static const short DiagArray121[] = { diag::warn_unused_function, -1 };
static const short DiagArray123[] = { diag::pp_macro_not_used, -1 };
static const short DiagArray124[] = { diag::warn_unused_parameter, -1 };
static const short DiagArray125[] = { diag::warn_unused_call, diag::warn_unused_expr, diag::warn_unused_property_expr, diag::warn_unused_voidptr, -1 };
static const short DiagArray126[] = { diag::warn_unused_variable, -1 };
static const short DiagArray127[] = { diag::ext_named_variadic_macro, diag::ext_variadic_macro, -1 };
static const short DiagArray128[] = { diag::warn_incompatible_vectors, -1 };
static const short DiagArray129[] = { diag::ext_vla, -1 };
static const short DiagArray131[] = { diag::warn_weak_vtable, -1 };
#endif // GET_DIAG_ARRAYS


#ifdef GET_DIAG_TABLE
  { "",                              0, DiagSubGroup0 },
  { "#warnings",                     DiagArray1, 0 },
  { "-Wc++0x-compat",                DiagArray2, 0 },
  { "address",                       0, 0 },
  { "address-of-temporary",          DiagArray4, 0 },
  { "aggregate-return",              0, 0 },
  { "all",                           0, DiagSubGroup6 },
  { "attributes",                    0, 0 },
  { "bad-function-cast",             0, 0 },
  { "builtin-macro-redefined",       DiagArray9, 0 },
  { "c++-compat",                    0, 0 },
  { "c++-hex-floats",                DiagArray11, 0 },
  { "c++0x-compat",                  DiagArray12, DiagSubGroup12 },
  { "cast-align",                    0, 0 },
  { "cast-qual",                     0, 0 },
  { "char-align",                    0, 0 },
  { "char-subscripts",               DiagArray16, 0 },
  { "comment",                       DiagArray17, 0 },
  { "comments",                      0, DiagSubGroup18 },
  { "conversion",                    DiagArray19, DiagSubGroup19 },
  { "ctor-dtor-privacy",             0, 0 },
  { "declaration-after-statement",   0, 0 },
  { "deprecated",                    DiagArray22, 0 },
  { "deprecated-declarations",       DiagArray23, 0 },
  { "disabled-optimization",         0, 0 },
  { "discard-qual",                  0, 0 },
  { "div-by-zero",                   0, 0 },
  { "empty-body",                    DiagArray27, 0 },
  { "endif-labels",                  0, DiagSubGroup28 },
  { "extra",                         0, DiagSubGroup29 },
  { "extra-tokens",                  DiagArray30, 0 },
  { "float-equal",                   DiagArray31, 0 },
  { "format",                        DiagArray32, DiagSubGroup32 },
  { "format-extra-args",             DiagArray33, 0 },
  { "format-nonliteral",             DiagArray34, DiagSubGroup34 },
  { "format-security",               DiagArray35, DiagSubGroup35 },
  { "format-y2k",                    0, DiagSubGroup36 },
  { "format-zero-length",            DiagArray37, 0 },
  { "format=2",                      0, DiagSubGroup38 },
  { "four-char-constants",           DiagArray39, 0 },
  { "gnu",                           DiagArray40, DiagSubGroup40 },
  { "gnu-designator",                DiagArray41, 0 },
  { "idiomatic-parentheses",         DiagArray42, 0 },
  { "implicit",                      0, DiagSubGroup43 },
  { "implicit-function-declaration", DiagArray44, 0 },
  { "implicit-int",                  DiagArray45, 0 },
  { "import",                        0, 0 },
  { "init-self",                     0, 0 },
  { "inline",                        0, 0 },
  { "int-to-pointer-cast",           0, 0 },
  { "invalid-noreturn",              DiagArray50, 0 },
  { "invalid-offsetof",              DiagArray51, 0 },
  { "invalid-pch",                   0, 0 },
  { "label-address-scope",           DiagArray53, 0 },
  { "literal-range",                 DiagArray54, 0 },
  { "long-long",                     DiagArray55, 0 },
  { "mismatched-tags",               DiagArray56, 0 },
  { "missing-braces",                DiagArray57, 0 },
  { "missing-declarations",          0, 0 },
  { "missing-field-initializers",    DiagArray59, 0 },
  { "missing-format-attribute",      0, 0 },
  { "missing-include-dirs",          0, 0 },
  { "missing-noreturn",              DiagArray62, 0 },
  { "missing-prototypes",            DiagArray63, 0 },
  { "most",                          0, DiagSubGroup64 },
  { "multichar",                     DiagArray65, 0 },
  { "nested-externs",                0, 0 },
  { "newline-eof",                   0, 0 },
  { "non-gcc",                       0, DiagSubGroup68 },
  { "non-pod-varargs",               DiagArray69, 0 },
  { "non-virtual-dtor",              0, 0 },
  { "nonnull",                       DiagArray71, 0 },
  { "nonportable-cfstrings",         0, 0 },
  { "old-style-definition",          0, 0 },
  { "overflow",                      0, 0 },
  { "overloaded-virtual",            0, 0 },
  { "packed",                        0, 0 },
  { "parentheses",                   DiagArray77, DiagSubGroup77 },
  { "pointer-arith",                 DiagArray78, 0 },
  { "pointer-sign",                  DiagArray79, 0 },
  { "pointer-to-int-cast",           0, 0 },
  { "protocol",                      DiagArray81, 0 },
  { "readonly-setter-attrs",         DiagArray82, 0 },
  { "redundant-decls",               0, 0 },
  { "reorder",                       DiagArray84, 0 },
  { "return-type",                   DiagArray85, 0 },
  { "semicolon-before-method-body",  DiagArray86, 0 },
  { "sequence-point",                0, 0 },
  { "shadow",                        DiagArray88, 0 },
  { "shorten-64-to-32",              DiagArray89, 0 },
  { "sign-compare",                  DiagArray90, 0 },
  { "strict-aliasing",               0, 0 },
  { "strict-aliasing=0",             0, 0 },
  { "strict-aliasing=1",             0, 0 },
  { "strict-aliasing=2",             0, 0 },
  { "strict-overflow",               0, 0 },
  { "strict-overflow=0",             0, 0 },
  { "strict-overflow=1",             0, 0 },
  { "strict-overflow=2",             0, 0 },
  { "strict-overflow=3",             0, 0 },
  { "strict-overflow=4",             0, 0 },
  { "strict-overflow=5",             0, 0 },
  { "strict-prototypes",             0, 0 },
  { "strict-selector-match",         0, 0 },
  { "super-class-method-mismatch",   DiagArray104, 0 },
  { "switch",                        DiagArray105, DiagSubGroup105 },
  { "switch-enum",                   DiagArray106, 0 },
  { "synth",                         0, 0 },
  { "trigraphs",                     DiagArray108, 0 },
  { "type-limits",                   0, 0 },
  { "typedef-redefinition",          DiagArray110, 0 },
  { "unavailable-declarations",      DiagArray111, 0 },
  { "undeclared-selector",           DiagArray112, 0 },
  { "undef",                         DiagArray113, 0 },
  { "uninitialized",                 DiagArray114, 0 },
  { "unknown-pragmas",               DiagArray115, 0 },
  { "unknown-warning-option",        DiagArray116, 0 },
  { "unreachable-code",              DiagArray117, 0 },
  { "unused",                        0, DiagSubGroup118 },
  { "unused-argument",               0, 0 },
  { "unused-exception-parameter",    DiagArray120, 0 },
  { "unused-function",               DiagArray121, 0 },
  { "unused-label",                  0, 0 },
  { "unused-macros",                 DiagArray123, 0 },
  { "unused-parameter",              DiagArray124, 0 },
  { "unused-value",                  DiagArray125, 0 },
  { "unused-variable",               DiagArray126, 0 },
  { "variadic-macros",               DiagArray127, 0 },
  { "vector-conversions",            DiagArray128, 0 },
  { "vla",                           DiagArray129, 0 },
  { "volatile-register-var",         0, 0 },
  { "weak-vtables",                  DiagArray131, 0 },
  { "write-strings",                 0, 0 },
#endif // GET_DIAG_TABLE


#ifdef GET_CATEGORY_TABLE
CATEGORY("")
CATEGORY("Lexical or Preprocessor Issue")
CATEGORY("Semantic Issue")
CATEGORY("Parse Issue")
CATEGORY("Inline Assembly Issue")
CATEGORY("Format String Issue")
CATEGORY("Unused Entity Issue")
#endif // GET_CATEGORY_TABLE

