
#ifdef GET_DIAG_ARRAYS
static const short DiagSubGroup0[] = { 37, -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[] = { 81, 100, -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::ext_array_size_conversion, diag::ext_explicit_instantiation_after_specialization, diag::ext_in_class_initializer_float_type, diag::ext_template_outside_of_template, diag::ext_template_spec_decl_out_of_scope, diag::ext_template_spec_decl_out_of_scope_global, diag::ext_typename_outside_of_template, diag::warn_deleted_function_accepted_as_extension, diag::warn_explicit_conversion_functions, -1 };
static const short DiagArray18[] = { diag::warn_cast_align, -1 };
static const short DiagArray21[] = { diag::warn_subscript_is_char, -1 };
static const short DiagArray22[] = { 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 DiagSubGroup23[] = { 22, -1 };
static const short DiagArray24[] = { diag::warn_impcast_bitfield_precision_constant, diag::warn_impcast_integer_precision_constant, -1 };
static const short DiagArray25[] = { diag::warn_logical_instead_of_bitwise, -1 };
static const short DiagArray26[] = { 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, diag::warn_template_arg_negative, diag::warn_template_arg_too_large, -1 };
static const short DiagSubGroup26[] = { 113, 24, 12, -1 };
static const short DiagArray28[] = { diag::ext_mixed_decls_code, -1 };
static const short DiagArray29[] = { 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 DiagSubGroup29[] = { 30, -1 };
static const short DiagArray30[] = { diag::warn_deprecated, diag::warn_deprecated_message, -1 };
static const short DiagArray35[] = { diag::warn_empty_if_body, -1 };
static const short DiagSubGroup36[] = { 38, -1 };
static const short DiagSubGroup37[] = { 76, 52, 58, 110, 114, 154, -1 };
static const short DiagArray38[] = { diag::ext_pp_extra_tokens_at_eol, -1 };
static const short DiagArray39[] = { diag::warn_floatingpoint_eq, -1 };
static const short DiagArray40[] = { 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 DiagSubGroup40[] = { 41, 45, 89, -1 };
static const short DiagArray41[] = { diag::warn_printf_data_arg_not_used, -1 };
static const short DiagArray42[] = { diag::warn_format_nonliteral, -1 };
static const short DiagSubGroup42[] = { 43, -1 };
static const short DiagArray43[] = { diag::warn_format_nonliteral_noargs, diag::warn_printf_write_back, -1 };
static const short DiagSubGroup43[] = { 40, -1 };
static const short DiagSubGroup44[] = { 40, -1 };
static const short DiagArray45[] = { diag::warn_empty_format_string, -1 };
static const short DiagSubGroup46[] = { 42, 43, 44, -1 };
static const short DiagArray47[] = { diag::ext_four_char_character_literal, -1 };
static const short DiagArray48[] = { diag::warn_global_constructor, diag::warn_global_destructor, -1 };
static const short DiagArray49[] = { 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 DiagSubGroup49[] = { 50, 160, -1 };
static const short DiagArray50[] = { diag::ext_gnu_array_range, diag::ext_gnu_missing_equal_designator, diag::ext_gnu_old_style_field_designator, -1 };
static const short DiagArray51[] = { diag::warn_condition_is_idiomatic_assignment, -1 };
static const short DiagArray52[] = { diag::warn_qual_return_type, -1 };
static const short DiagSubGroup53[] = { 54, 55, -1 };
static const short DiagArray54[] = { diag::ext_implicit_function_decl, diag::warn_implicit_function_decl, -1 };
static const short DiagArray55[] = { diag::ext_missing_type_specifier, -1 };
static const short DiagArray58[] = { diag::warn_initializer_overrides, diag::warn_subobject_initializer_overrides, -1 };
static const short DiagArray61[] = { diag::warn_falloff_noreturn_function, diag::warn_noreturn_function_has_return_expr, -1 };
static const short DiagArray62[] = { diag::warn_offsetof_non_pod_type, -1 };
static const short DiagArray64[] = { diag::err_pp_bad_paste_ms, -1 };
static const short DiagArray65[] = { diag::warn_parameter_size, diag::warn_return_value_size, -1 };
static const short DiagArray66[] = { diag::warn_float_overflow, diag::warn_float_underflow, -1 };
static const short DiagArray67[] = { diag::ext_template_arg_local_type, -1 };
static const short DiagArray68[] = { diag::warn_logical_and_in_logical_or, -1 };
static const short DiagArray69[] = { diag::ext_longlong, -1 };
static const short DiagArray71[] = { diag::warn_non_contravariant_param_types, diag::warn_non_covariant_ret_types, -1 };
static const short DiagArray72[] = { diag::ext_anonymous_record_with_type, diag::ext_enumerator_too_large, diag::ext_flexible_array_empty_aggregate, diag::ext_flexible_array_union, diag::ext_ms_anonymous_struct, diag::ext_ms_forward_ref_enum, -1 };
static const short DiagArray73[] = { diag::warn_struct_class_tag_mismatch, -1 };
static const short DiagArray74[] = { diag::warn_missing_braces, -1 };
static const short DiagArray75[] = { diag::ext_no_declarators, diag::ext_typedef_without_a_name, -1 };
static const short DiagArray76[] = { diag::warn_missing_field_initializers, -1 };
static const short DiagArray79[] = { diag::warn_suggest_noreturn_block, diag::warn_suggest_noreturn_function, -1 };
static const short DiagArray80[] = { diag::warn_missing_prototype, -1 };
static const short DiagSubGroup81[] = { 21, 22, 40, 53, 73, 74, 82, 107, 108, 131, 136, 141, 143, 147, 159, 161, -1 };
static const short DiagArray82[] = { diag::ext_multichar_character_literal, -1 };
static const short DiagSubGroup85[] = { 114, 26, 66, -1 };
static const short DiagArray86[] = { diag::warn_cannot_pass_non_pod_arg_to_vararg, -1 };
static const short DiagArray88[] = { diag::warn_ivar_variable_conflict, diag::warn_synthesized_ivar_access, -1 };
static const short DiagArray89[] = { diag::warn_null_arg, -1 };
static const short DiagArray91[] = { diag::warn_indirection_through_null, -1 };
static const short DiagArray94[] = { diag::ext_out_of_line_declaration, -1 };
static const short DiagArray96[] = { diag::ext_string_too_long, -1 };
static const short DiagArray98[] = { diag::warn_unnecessary_packed, -1 };
static const short DiagArray99[] = { diag::warn_padded_struct_anon_field, diag::warn_padded_struct_field, diag::warn_padded_struct_size, -1 };
static const short DiagArray100[] = { diag::warn_condition_is_assignment, diag::warn_precedence_bitwise_rel, -1 };
static const short DiagSubGroup100[] = { 68, 51, -1 };
static const short DiagArray101[] = { 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 DiagArray102[] = { diag::ext_typecheck_convert_incompatible_pointer_sign, -1 };
static const short DiagArray104[] = { diag::warn_unimplemented_protocol_method, -1 };
static const short DiagArray105[] = { diag::warn_objc_property_attr_mutually_exclusive, -1 };
static const short DiagArray107[] = { diag::warn_initializer_out_of_order, -1 };
static const short DiagArray108[] = { 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 DiagArray109[] = { diag::warn_unimplemented_selector, -1 };
static const short DiagArray110[] = { diag::warn_semicolon_before_method_body, -1 };
static const short DiagArray112[] = { diag::warn_decl_shadow, -1 };
static const short DiagArray113[] = { diag::warn_impcast_integer_64_32, -1 };
static const short DiagArray114[] = { diag::warn_mixed_sign_comparison, diag::warn_mixed_sign_conditional, -1 };
static const short DiagArray129[] = { diag::warn_strict_multiple_method_decl, -1 };
static const short DiagArray130[] = { diag::ext_typecheck_base_super, -1 };
static const short DiagArray131[] = { diag::warn_case_value_overflow, -1 };
static const short DiagSubGroup131[] = { 133, -1 };
static const short DiagArray133[] = { diag::warn_missing_case1, diag::warn_missing_case2, diag::warn_missing_case3, diag::warn_missing_cases, diag::warn_not_in_enum, -1 };
static const short DiagArray135[] = { diag::warn_comparison_always, diag::warn_lunsigned_always_true_comparison, diag::warn_runsigned_always_true_comparison, -1 };
static const short DiagArray136[] = { diag::trigraph_converted, diag::trigraph_ends_block_comment, diag::trigraph_ignored, diag::trigraph_ignored_block_comment, -1 };
static const short DiagArray138[] = { diag::warn_redefinition_of_typedef, -1 };
static const short DiagArray139[] = { diag::warn_undeclared_selector, -1 };
static const short DiagArray140[] = { diag::warn_pp_undef_identifier, -1 };
static const short DiagArray141[] = { diag::warn_field_is_uninit, -1 };
static const short DiagArray142[] = { diag::warn_unknown_attribute_ignored, -1 };
static const short DiagArray143[] = { 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 DiagArray144[] = { diag::warn_unknown_warning_option, diag::warn_unknown_warning_specifier, -1 };
static const short DiagArray145[] = { diag::ext_template_arg_unnamed_type, -1 };
static const short DiagArray146[] = { diag::warn_unreachable, -1 };
static const short DiagSubGroup147[] = { 148, 150, 151, 155, 156, -1 };
static const short DiagArray149[] = { diag::warn_unused_exception_param, -1 };
static const short DiagArray150[] = { diag::warn_unused_function, -1 };
static const short DiagArray151[] = { diag::warn_unused_label, -1 };
static const short DiagArray152[] = { diag::pp_macro_not_used, -1 };
static const short DiagArray153[] = { diag::warn_unused_member_function, -1 };
static const short DiagArray154[] = { diag::warn_unused_parameter, -1 };
static const short DiagArray155[] = { diag::warn_unused_call, diag::warn_unused_expr, diag::warn_unused_property_expr, diag::warn_unused_voidptr, -1 };
static const short DiagArray156[] = { diag::warn_unused_variable, -1 };
static const short DiagArray157[] = { diag::warn_used_but_marked_unused, -1 };
static const short DiagArray158[] = { diag::ext_named_variadic_macro, diag::ext_variadic_macro, -1 };
static const short DiagArray159[] = { diag::warn_incompatible_vectors, -1 };
static const short DiagArray160[] = { diag::ext_vla, -1 };
static const short DiagArray162[] = { 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 },
  { "c++0x-extensions",              DiagArray17, 0 },
  { "cast-align",                    DiagArray18, 0 },
  { "cast-qual",                     0, 0 },
  { "char-align",                    0, 0 },
  { "char-subscripts",               DiagArray21, 0 },
  { "comment",                       DiagArray22, 0 },
  { "comments",                      0, DiagSubGroup23 },
  { "constant-conversion",           DiagArray24, 0 },
  { "constant-logical-operand",      DiagArray25, 0 },
  { "conversion",                    DiagArray26, DiagSubGroup26 },
  { "ctor-dtor-privacy",             0, 0 },
  { "declaration-after-statement",   DiagArray28, 0 },
  { "deprecated",                    DiagArray29, DiagSubGroup29 },
  { "deprecated-declarations",       DiagArray30, 0 },
  { "disabled-optimization",         0, 0 },
  { "discard-qual",                  0, 0 },
  { "div-by-zero",                   0, 0 },
  { "effc++",                        0, 0 },
  { "empty-body",                    DiagArray35, 0 },
  { "endif-labels",                  0, DiagSubGroup36 },
  { "extra",                         0, DiagSubGroup37 },
  { "extra-tokens",                  DiagArray38, 0 },
  { "float-equal",                   DiagArray39, 0 },
  { "format",                        DiagArray40, DiagSubGroup40 },
  { "format-extra-args",             DiagArray41, 0 },
  { "format-nonliteral",             DiagArray42, DiagSubGroup42 },
  { "format-security",               DiagArray43, DiagSubGroup43 },
  { "format-y2k",                    0, DiagSubGroup44 },
  { "format-zero-length",            DiagArray45, 0 },
  { "format=2",                      0, DiagSubGroup46 },
  { "four-char-constants",           DiagArray47, 0 },
  { "global-constructors",           DiagArray48, 0 },
  { "gnu",                           DiagArray49, DiagSubGroup49 },
  { "gnu-designator",                DiagArray50, 0 },
  { "idiomatic-parentheses",         DiagArray51, 0 },
  { "ignored-qualifiers",            DiagArray52, 0 },
  { "implicit",                      0, DiagSubGroup53 },
  { "implicit-function-declaration", DiagArray54, 0 },
  { "implicit-int",                  DiagArray55, 0 },
  { "import",                        0, 0 },
  { "init-self",                     0, 0 },
  { "initializer-overrides",         DiagArray58, 0 },
  { "inline",                        0, 0 },
  { "int-to-pointer-cast",           0, 0 },
  { "invalid-noreturn",              DiagArray61, 0 },
  { "invalid-offsetof",              DiagArray62, 0 },
  { "invalid-pch",                   0, 0 },
  { "invalid-token-paste",           DiagArray64, 0 },
  { "large-by-value-copy",           DiagArray65, 0 },
  { "literal-range",                 DiagArray66, 0 },
  { "local-type-template-args",      DiagArray67, 0 },
  { "logical-op-parentheses",        DiagArray68, 0 },
  { "long-long",                     DiagArray69, 0 },
  { "main",                          0, 0 },
  { "method-signatures",             DiagArray71, 0 },
  { "microsoft",                     DiagArray72, 0 },
  { "mismatched-tags",               DiagArray73, 0 },
  { "missing-braces",                DiagArray74, 0 },
  { "missing-declarations",          DiagArray75, 0 },
  { "missing-field-initializers",    DiagArray76, 0 },
  { "missing-format-attribute",      0, 0 },
  { "missing-include-dirs",          0, 0 },
  { "missing-noreturn",              DiagArray79, 0 },
  { "missing-prototypes",            DiagArray80, 0 },
  { "most",                          0, DiagSubGroup81 },
  { "multichar",                     DiagArray82, 0 },
  { "nested-externs",                0, 0 },
  { "newline-eof",                   0, 0 },
  { "non-gcc",                       0, DiagSubGroup85 },
  { "non-pod-varargs",               DiagArray86, 0 },
  { "non-virtual-dtor",              0, 0 },
  { "nonfragile-abi2",               DiagArray88, 0 },
  { "nonnull",                       DiagArray89, 0 },
  { "nonportable-cfstrings",         0, 0 },
  { "null-dereference",              DiagArray91, 0 },
  { "old-style-cast",                0, 0 },
  { "old-style-definition",          0, 0 },
  { "out-of-line-declaration",       DiagArray94, 0 },
  { "overflow",                      0, 0 },
  { "overlength-strings",            DiagArray96, 0 },
  { "overloaded-virtual",            0, 0 },
  { "packed",                        DiagArray98, 0 },
  { "padded",                        DiagArray99, 0 },
  { "parentheses",                   DiagArray100, DiagSubGroup100 },
  { "pointer-arith",                 DiagArray101, 0 },
  { "pointer-sign",                  DiagArray102, 0 },
  { "pointer-to-int-cast",           0, 0 },
  { "protocol",                      DiagArray104, 0 },
  { "readonly-setter-attrs",         DiagArray105, 0 },
  { "redundant-decls",               0, 0 },
  { "reorder",                       DiagArray107, 0 },
  { "return-type",                   DiagArray108, 0 },
  { "selector",                      DiagArray109, 0 },
  { "semicolon-before-method-body",  DiagArray110, 0 },
  { "sequence-point",                0, 0 },
  { "shadow",                        DiagArray112, 0 },
  { "shorten-64-to-32",              DiagArray113, 0 },
  { "sign-compare",                  DiagArray114, 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",         DiagArray129, 0 },
  { "super-class-method-mismatch",   DiagArray130, 0 },
  { "switch",                        DiagArray131, DiagSubGroup131 },
  { "switch-default",                0, 0 },
  { "switch-enum",                   DiagArray133, 0 },
  { "synth",                         0, 0 },
  { "tautological-compare",          DiagArray135, 0 },
  { "trigraphs",                     DiagArray136, 0 },
  { "type-limits",                   0, 0 },
  { "typedef-redefinition",          DiagArray138, 0 },
  { "undeclared-selector",           DiagArray139, 0 },
  { "undef",                         DiagArray140, 0 },
  { "uninitialized",                 DiagArray141, 0 },
  { "unknown-attributes",            DiagArray142, 0 },
  { "unknown-pragmas",               DiagArray143, 0 },
  { "unknown-warning-option",        DiagArray144, 0 },
  { "unnamed-type-template-args",    DiagArray145, 0 },
  { "unreachable-code",              DiagArray146, 0 },
  { "unused",                        0, DiagSubGroup147 },
  { "unused-argument",               0, 0 },
  { "unused-exception-parameter",    DiagArray149, 0 },
  { "unused-function",               DiagArray150, 0 },
  { "unused-label",                  DiagArray151, 0 },
  { "unused-macros",                 DiagArray152, 0 },
  { "unused-member-function",        DiagArray153, 0 },
  { "unused-parameter",              DiagArray154, 0 },
  { "unused-value",                  DiagArray155, 0 },
  { "unused-variable",               DiagArray156, 0 },
  { "used-but-marked-unused",        DiagArray157, 0 },
  { "variadic-macros",               DiagArray158, 0 },
  { "vector-conversions",            DiagArray159, 0 },
  { "vla",                           DiagArray160, 0 },
  { "volatile-register-var",         0, 0 },
  { "weak-vtables",                  DiagArray162, 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

