
#ifdef GET_DIAG_ARRAYS
static const short DiagSubGroup0[] = { 35, -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 DiagArray5[] = { diag::ext_typecheck_addrof_class_temporary, -1 };
static const short DiagSubGroup7[] = { 76, 93, -1 };
static const short DiagArray8[] = { diag::ext_nested_name_member_ref_lookup_ambiguous, -1 };
static const short DiagArray11[] = { diag::ext_rvalue_to_reference_access_ctor, diag::ext_rvalue_to_reference_temp_copy_no_viable, -1 };
static const short DiagArray12[] = { diag::warn_init_pointer_from_false, -1 };
static const short DiagArray13[] = { diag::pp_redef_builtin_macro, -1 };
static const short DiagArray14[] = { diag::ext_empty_struct_union, -1 };
static const short DiagArray15[] = { diag::ext_hexconstant_cplusplus, -1 };
static const short DiagArray16[] = { diag::warn_explicit_instantiation_unqualified_wrong_namespace_0x, -1 };
static const short DiagSubGroup16[] = { 15, -1 };
static const short DiagArray17[] = { diag::warn_cast_align, -1 };
static const short DiagArray20[] = { diag::warn_subscript_is_char, -1 };
static const short DiagArray21[] = { 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 DiagSubGroup22[] = { 21, -1 };
static const short DiagArray23[] = { diag::warn_logical_instead_of_bitwise, -1 };
static const short DiagArray24[] = { 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 DiagSubGroup24[] = { 106, 12, -1 };
static const short DiagArray26[] = { diag::ext_mixed_decls_code, -1 };
static const short DiagArray27[] = { 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 DiagSubGroup27[] = { 28, -1 };
static const short DiagArray28[] = { diag::warn_deprecated, -1 };
static const short DiagArray33[] = { diag::warn_empty_if_body, -1 };
static const short DiagSubGroup34[] = { 36, -1 };
static const short DiagSubGroup35[] = { 71, 50, 56, 103, 107, 147, -1 };
static const short DiagArray36[] = { diag::ext_pp_extra_tokens_at_eol, -1 };
static const short DiagArray37[] = { diag::warn_floatingpoint_eq, -1 };
static const short DiagArray38[] = { diag::warn_format_invalid_conversion, diag::warn_format_invalid_positional_specifier, diag::warn_format_mix_positional_nonpositional_args, diag::warn_format_nonsensical_length, diag::warn_format_string_is_wide_literal, diag::warn_format_zero_positional_specifier, diag::warn_missing_format_string, diag::warn_printf_asterisk_wrong_type, diag::warn_printf_conversion_argument_type_mismatch, diag::warn_printf_format_string_contains_null_char, diag::warn_printf_ignored_flag, diag::warn_printf_incomplete_specifier, diag::warn_printf_insufficient_data_args, diag::warn_printf_nonsensical_flag, diag::warn_printf_nonsensical_optional_amount, diag::warn_printf_positional_arg_exceeds_data_args, diag::warn_scanf_nonzero_width, diag::warn_scanf_scanlist_incomplete, -1 };
static const short DiagSubGroup38[] = { 39, 43, 84, -1 };
static const short DiagArray39[] = { diag::warn_printf_data_arg_not_used, -1 };
static const short DiagArray40[] = { diag::warn_format_nonliteral, -1 };
static const short DiagSubGroup40[] = { 41, -1 };
static const short DiagArray41[] = { diag::warn_format_nonliteral_noargs, diag::warn_printf_write_back, -1 };
static const short DiagSubGroup41[] = { 38, -1 };
static const short DiagSubGroup42[] = { 38, -1 };
static const short DiagArray43[] = { diag::warn_empty_format_string, -1 };
static const short DiagSubGroup44[] = { 40, 41, 42, -1 };
static const short DiagArray45[] = { diag::ext_four_char_character_literal, -1 };
static const short DiagArray46[] = { diag::warn_global_constructor, diag::warn_global_destructor, -1 };
static const short DiagArray47[] = { diag::ext_anonymous_struct, diag::ext_anonymous_union, diag::ext_flexible_array_init, diag::ext_forward_ref_enum_def, 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 DiagSubGroup47[] = { 48, 152, -1 };
static const short DiagArray48[] = { diag::ext_gnu_array_range, diag::ext_gnu_missing_equal_designator, diag::ext_gnu_old_style_field_designator, -1 };
static const short DiagArray49[] = { diag::warn_condition_is_idiomatic_assignment, -1 };
static const short DiagArray50[] = { diag::warn_qual_return_type, -1 };
static const short DiagSubGroup51[] = { 52, 53, -1 };
static const short DiagArray52[] = { diag::ext_implicit_function_decl, diag::warn_implicit_function_decl, -1 };
static const short DiagArray53[] = { diag::ext_missing_type_specifier, -1 };
static const short DiagArray56[] = { diag::warn_initializer_overrides, diag::warn_subobject_initializer_overrides, -1 };
static const short DiagArray59[] = { diag::warn_falloff_noreturn_function, diag::warn_noreturn_function_has_return_expr, -1 };
static const short DiagArray60[] = { diag::warn_offsetof_non_pod_type, -1 };
static const short DiagArray62[] = { diag::err_pp_bad_paste_ms, -1 };
static const short DiagArray63[] = { diag::warn_indirect_goto_in_protected_scope, -1 };
static const short DiagArray64[] = { diag::warn_float_overflow, diag::warn_float_underflow, -1 };
static const short DiagArray65[] = { diag::ext_template_arg_local_type, -1 };
static const short DiagArray66[] = { diag::ext_longlong, -1 };
static const short DiagArray68[] = { diag::warn_struct_class_tag_mismatch, -1 };
static const short DiagArray69[] = { diag::warn_missing_braces, -1 };
static const short DiagArray70[] = { diag::ext_no_declarators, diag::ext_typedef_without_a_name, -1 };
static const short DiagArray71[] = { diag::warn_missing_field_initializers, -1 };
static const short DiagArray74[] = { diag::warn_suggest_noreturn_block, diag::warn_suggest_noreturn_function, -1 };
static const short DiagArray75[] = { diag::warn_missing_prototype, -1 };
static const short DiagSubGroup76[] = { 20, 21, 38, 51, 68, 69, 77, 100, 101, 124, 129, 134, 136, 140, 151, 153, -1 };
static const short DiagArray77[] = { diag::ext_multichar_character_literal, -1 };
static const short DiagSubGroup80[] = { 107, 24, 64, -1 };
static const short DiagArray81[] = { diag::warn_cannot_pass_non_pod_arg_to_vararg, -1 };
static const short DiagArray83[] = { diag::warn_ivar_variable_conflict, -1 };
static const short DiagArray84[] = { diag::warn_null_arg, -1 };
static const short DiagArray88[] = { diag::ext_out_of_line_declaration, -1 };
static const short DiagArray90[] = { diag::ext_string_too_long, -1 };
static const short DiagArray93[] = { diag::warn_condition_is_assignment, diag::warn_precedence_bitwise_rel, -1 };
static const short DiagSubGroup93[] = { 49, -1 };
static const short DiagArray94[] = { 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 DiagArray95[] = { diag::ext_typecheck_convert_incompatible_pointer_sign, -1 };
static const short DiagArray97[] = { diag::warn_unimplemented_protocol_method, -1 };
static const short DiagArray98[] = { diag::warn_objc_property_attr_mutually_exclusive, -1 };
static const short DiagArray100[] = { diag::warn_initializer_out_of_order, -1 };
static const short DiagArray101[] = { 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 DiagArray102[] = { diag::warn_unimplemented_selector, -1 };
static const short DiagArray103[] = { diag::warn_semicolon_before_method_body, -1 };
static const short DiagArray105[] = { diag::warn_decl_shadow, -1 };
static const short DiagArray106[] = { diag::warn_impcast_integer_64_32, -1 };
static const short DiagArray107[] = { 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 DiagArray122[] = { diag::warn_strict_multiple_method_decl, -1 };
static const short DiagArray123[] = { diag::ext_typecheck_base_super, -1 };
static const short DiagArray124[] = { diag::warn_case_value_overflow, -1 };
static const short DiagSubGroup124[] = { 126, -1 };
static const short DiagArray126[] = { diag::warn_missing_cases, diag::warn_not_in_enum, -1 };
static const short DiagArray128[] = { diag::warn_comparison_always, -1 };
static const short DiagArray129[] = { diag::trigraph_converted, diag::trigraph_ends_block_comment, diag::trigraph_ignored, diag::trigraph_ignored_block_comment, -1 };
static const short DiagArray131[] = { diag::warn_redefinition_of_typedef, -1 };
static const short DiagArray132[] = { diag::warn_undeclared_selector, -1 };
static const short DiagArray133[] = { diag::warn_pp_undef_identifier, -1 };
static const short DiagArray134[] = { diag::warn_field_is_uninit, -1 };
static const short DiagArray135[] = { diag::warn_unknown_attribute_ignored, -1 };
static const short DiagArray136[] = { diag::ext_stdc_pragma_ignored, diag::ext_stdc_pragma_syntax, diag::ext_stdc_pragma_syntax_eom, diag::warn_pragma_diagnostic_cannot_pop, diag::warn_pragma_diagnostic_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 DiagArray137[] = { diag::warn_unknown_warning_option, diag::warn_unknown_warning_specifier, -1 };
static const short DiagArray138[] = { diag::ext_template_arg_unnamed_type, -1 };
static const short DiagArray139[] = { diag::warn_unreachable, -1 };
static const short DiagSubGroup140[] = { 141, 143, 144, 148, 149, -1 };
static const short DiagArray142[] = { diag::warn_unused_exception_param, -1 };
static const short DiagArray143[] = { diag::warn_unused_function, -1 };
static const short DiagArray145[] = { diag::pp_macro_not_used, -1 };
static const short DiagArray146[] = { diag::warn_unused_member_function, -1 };
static const short DiagArray147[] = { diag::warn_unused_parameter, -1 };
static const short DiagArray148[] = { diag::warn_unused_call, diag::warn_unused_expr, diag::warn_unused_property_expr, diag::warn_unused_voidptr, -1 };
static const short DiagArray149[] = { diag::warn_unused_variable, -1 };
static const short DiagArray150[] = { diag::ext_named_variadic_macro, diag::ext_variadic_macro, -1 };
static const short DiagArray151[] = { diag::warn_incompatible_vectors, -1 };
static const short DiagArray152[] = { diag::ext_vla, -1 };
static const short DiagArray154[] = { diag::warn_weak_vtable, -1 };
#endif // GET_DIAG_ARRAYS


#ifdef GET_DIAG_TABLE
  { "",                              0, DiagSubGroup0 },
  { "#warnings",                     DiagArray1, 0 },
  { "-Wc++0x-compat",                DiagArray2, 0 },
  { "abi",                           0, 0 },
  { "address",                       0, 0 },
  { "address-of-temporary",          DiagArray5, 0 },
  { "aggregate-return",              0, 0 },
  { "all",                           0, DiagSubGroup7 },
  { "ambiguous-member-template",     DiagArray8, 0 },
  { "attributes",                    0, 0 },
  { "bad-function-cast",             0, 0 },
  { "bind-to-temporary-copy",        DiagArray11, 0 },
  { "bool-conversions",              DiagArray12, 0 },
  { "builtin-macro-redefined",       DiagArray13, 0 },
  { "c++-compat",                    DiagArray14, 0 },
  { "c++-hex-floats",                DiagArray15, 0 },
  { "c++0x-compat",                  DiagArray16, DiagSubGroup16 },
  { "cast-align",                    DiagArray17, 0 },
  { "cast-qual",                     0, 0 },
  { "char-align",                    0, 0 },
  { "char-subscripts",               DiagArray20, 0 },
  { "comment",                       DiagArray21, 0 },
  { "comments",                      0, DiagSubGroup22 },
  { "constant-logical-operand",      DiagArray23, 0 },
  { "conversion",                    DiagArray24, DiagSubGroup24 },
  { "ctor-dtor-privacy",             0, 0 },
  { "declaration-after-statement",   DiagArray26, 0 },
  { "deprecated",                    DiagArray27, DiagSubGroup27 },
  { "deprecated-declarations",       DiagArray28, 0 },
  { "disabled-optimization",         0, 0 },
  { "discard-qual",                  0, 0 },
  { "div-by-zero",                   0, 0 },
  { "effc++",                        0, 0 },
  { "empty-body",                    DiagArray33, 0 },
  { "endif-labels",                  0, DiagSubGroup34 },
  { "extra",                         0, DiagSubGroup35 },
  { "extra-tokens",                  DiagArray36, 0 },
  { "float-equal",                   DiagArray37, 0 },
  { "format",                        DiagArray38, DiagSubGroup38 },
  { "format-extra-args",             DiagArray39, 0 },
  { "format-nonliteral",             DiagArray40, DiagSubGroup40 },
  { "format-security",               DiagArray41, DiagSubGroup41 },
  { "format-y2k",                    0, DiagSubGroup42 },
  { "format-zero-length",            DiagArray43, 0 },
  { "format=2",                      0, DiagSubGroup44 },
  { "four-char-constants",           DiagArray45, 0 },
  { "global-constructors",           DiagArray46, 0 },
  { "gnu",                           DiagArray47, DiagSubGroup47 },
  { "gnu-designator",                DiagArray48, 0 },
  { "idiomatic-parentheses",         DiagArray49, 0 },
  { "ignored-qualifiers",            DiagArray50, 0 },
  { "implicit",                      0, DiagSubGroup51 },
  { "implicit-function-declaration", DiagArray52, 0 },
  { "implicit-int",                  DiagArray53, 0 },
  { "import",                        0, 0 },
  { "init-self",                     0, 0 },
  { "initializer-overrides",         DiagArray56, 0 },
  { "inline",                        0, 0 },
  { "int-to-pointer-cast",           0, 0 },
  { "invalid-noreturn",              DiagArray59, 0 },
  { "invalid-offsetof",              DiagArray60, 0 },
  { "invalid-pch",                   0, 0 },
  { "invalid-token-paste",           DiagArray62, 0 },
  { "label-address-scope",           DiagArray63, 0 },
  { "literal-range",                 DiagArray64, 0 },
  { "local-type-template-args",      DiagArray65, 0 },
  { "long-long",                     DiagArray66, 0 },
  { "main",                          0, 0 },
  { "mismatched-tags",               DiagArray68, 0 },
  { "missing-braces",                DiagArray69, 0 },
  { "missing-declarations",          DiagArray70, 0 },
  { "missing-field-initializers",    DiagArray71, 0 },
  { "missing-format-attribute",      0, 0 },
  { "missing-include-dirs",          0, 0 },
  { "missing-noreturn",              DiagArray74, 0 },
  { "missing-prototypes",            DiagArray75, 0 },
  { "most",                          0, DiagSubGroup76 },
  { "multichar",                     DiagArray77, 0 },
  { "nested-externs",                0, 0 },
  { "newline-eof",                   0, 0 },
  { "non-gcc",                       0, DiagSubGroup80 },
  { "non-pod-varargs",               DiagArray81, 0 },
  { "non-virtual-dtor",              0, 0 },
  { "nonfragile-abi2",               DiagArray83, 0 },
  { "nonnull",                       DiagArray84, 0 },
  { "nonportable-cfstrings",         0, 0 },
  { "old-style-cast",                0, 0 },
  { "old-style-definition",          0, 0 },
  { "out-of-line-declaration",       DiagArray88, 0 },
  { "overflow",                      0, 0 },
  { "overlength-strings",            DiagArray90, 0 },
  { "overloaded-virtual",            0, 0 },
  { "packed",                        0, 0 },
  { "parentheses",                   DiagArray93, DiagSubGroup93 },
  { "pointer-arith",                 DiagArray94, 0 },
  { "pointer-sign",                  DiagArray95, 0 },
  { "pointer-to-int-cast",           0, 0 },
  { "protocol",                      DiagArray97, 0 },
  { "readonly-setter-attrs",         DiagArray98, 0 },
  { "redundant-decls",               0, 0 },
  { "reorder",                       DiagArray100, 0 },
  { "return-type",                   DiagArray101, 0 },
  { "selector",                      DiagArray102, 0 },
  { "semicolon-before-method-body",  DiagArray103, 0 },
  { "sequence-point",                0, 0 },
  { "shadow",                        DiagArray105, 0 },
  { "shorten-64-to-32",              DiagArray106, 0 },
  { "sign-compare",                  DiagArray107, 0 },
  { "sign-promo",                    0, 0 },
  { "stack-protector",               0, 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",         DiagArray122, 0 },
  { "super-class-method-mismatch",   DiagArray123, 0 },
  { "switch",                        DiagArray124, DiagSubGroup124 },
  { "switch-default",                0, 0 },
  { "switch-enum",                   DiagArray126, 0 },
  { "synth",                         0, 0 },
  { "tautological-compare",          DiagArray128, 0 },
  { "trigraphs",                     DiagArray129, 0 },
  { "type-limits",                   0, 0 },
  { "typedef-redefinition",          DiagArray131, 0 },
  { "undeclared-selector",           DiagArray132, 0 },
  { "undef",                         DiagArray133, 0 },
  { "uninitialized",                 DiagArray134, 0 },
  { "unknown-attributes",            DiagArray135, 0 },
  { "unknown-pragmas",               DiagArray136, 0 },
  { "unknown-warning-option",        DiagArray137, 0 },
  { "unnamed-type-template-args",    DiagArray138, 0 },
  { "unreachable-code",              DiagArray139, 0 },
  { "unused",                        0, DiagSubGroup140 },
  { "unused-argument",               0, 0 },
  { "unused-exception-parameter",    DiagArray142, 0 },
  { "unused-function",               DiagArray143, 0 },
  { "unused-label",                  0, 0 },
  { "unused-macros",                 DiagArray145, 0 },
  { "unused-member-function",        DiagArray146, 0 },
  { "unused-parameter",              DiagArray147, 0 },
  { "unused-value",                  DiagArray148, 0 },
  { "unused-variable",               DiagArray149, 0 },
  { "variadic-macros",               DiagArray150, 0 },
  { "vector-conversions",            DiagArray151, 0 },
  { "vla",                           DiagArray152, 0 },
  { "volatile-register-var",         0, 0 },
  { "weak-vtables",                  DiagArray154, 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("#warning Directive")
CATEGORY("Deprecations")
CATEGORY("Format String Issue")
CATEGORY("Value Conversion Issue")
CATEGORY("Unused Entity Issue")
#endif // GET_CATEGORY_TABLE

