/* Generated by config/known-dwarf.awk from libdw/dwarf.h contents.  */

#define ALL_KNOWN_DW_ACCESS \
  ONE_KNOWN_DW_ACCESS (private, DW_ACCESS_private) \
  ONE_KNOWN_DW_ACCESS (protected, DW_ACCESS_protected) \
  ONE_KNOWN_DW_ACCESS (public, DW_ACCESS_public) \
  /* End of DW_ACCESS_*.  */

#define ALL_KNOWN_DW_AT \
  ONE_KNOWN_DW_AT (GNU_all_call_sites, DW_AT_GNU_all_call_sites) \
  ONE_KNOWN_DW_AT (GNU_all_source_call_sites, DW_AT_GNU_all_source_call_sites) \
  ONE_KNOWN_DW_AT (GNU_all_tail_call_sites, DW_AT_GNU_all_tail_call_sites) \
  ONE_KNOWN_DW_AT (GNU_call_site_data_value, DW_AT_GNU_call_site_data_value) \
  ONE_KNOWN_DW_AT (GNU_call_site_target, DW_AT_GNU_call_site_target) \
  ONE_KNOWN_DW_AT (GNU_call_site_target_clobbered, DW_AT_GNU_call_site_target_clobbered) \
  ONE_KNOWN_DW_AT (GNU_call_site_value, DW_AT_GNU_call_site_value) \
  ONE_KNOWN_DW_AT (GNU_deleted, DW_AT_GNU_deleted) \
  ONE_KNOWN_DW_AT (GNU_exclusive_locks_required, DW_AT_GNU_exclusive_locks_required) \
  ONE_KNOWN_DW_AT (GNU_guarded, DW_AT_GNU_guarded) \
  ONE_KNOWN_DW_AT (GNU_guarded_by, DW_AT_GNU_guarded_by) \
  ONE_KNOWN_DW_AT (GNU_locks_excluded, DW_AT_GNU_locks_excluded) \
  ONE_KNOWN_DW_AT (GNU_macros, DW_AT_GNU_macros) \
  ONE_KNOWN_DW_AT (GNU_odr_signature, DW_AT_GNU_odr_signature) \
  ONE_KNOWN_DW_AT (GNU_pt_guarded, DW_AT_GNU_pt_guarded) \
  ONE_KNOWN_DW_AT (GNU_pt_guarded_by, DW_AT_GNU_pt_guarded_by) \
  ONE_KNOWN_DW_AT (GNU_shared_locks_required, DW_AT_GNU_shared_locks_required) \
  ONE_KNOWN_DW_AT (GNU_tail_call, DW_AT_GNU_tail_call) \
  ONE_KNOWN_DW_AT (GNU_template_name, DW_AT_GNU_template_name) \
  ONE_KNOWN_DW_AT (GNU_vector, DW_AT_GNU_vector) \
  ONE_KNOWN_DW_AT (MIPS_abstract_name, DW_AT_MIPS_abstract_name) \
  ONE_KNOWN_DW_AT (MIPS_allocatable_dopetype, DW_AT_MIPS_allocatable_dopetype) \
  ONE_KNOWN_DW_AT (MIPS_assumed_shape_dopetype, DW_AT_MIPS_assumed_shape_dopetype) \
  ONE_KNOWN_DW_AT (MIPS_assumed_size, DW_AT_MIPS_assumed_size) \
  ONE_KNOWN_DW_AT (MIPS_clone_origin, DW_AT_MIPS_clone_origin) \
  ONE_KNOWN_DW_AT (MIPS_epilog_begin, DW_AT_MIPS_epilog_begin) \
  ONE_KNOWN_DW_AT (MIPS_fde, DW_AT_MIPS_fde) \
  ONE_KNOWN_DW_AT (MIPS_has_inlines, DW_AT_MIPS_has_inlines) \
  ONE_KNOWN_DW_AT (MIPS_linkage_name, DW_AT_MIPS_linkage_name) \
  ONE_KNOWN_DW_AT (MIPS_loop_begin, DW_AT_MIPS_loop_begin) \
  ONE_KNOWN_DW_AT (MIPS_loop_unroll_factor, DW_AT_MIPS_loop_unroll_factor) \
  ONE_KNOWN_DW_AT (MIPS_ptr_dopetype, DW_AT_MIPS_ptr_dopetype) \
  ONE_KNOWN_DW_AT (MIPS_software_pipeline_depth, DW_AT_MIPS_software_pipeline_depth) \
  ONE_KNOWN_DW_AT (MIPS_stride, DW_AT_MIPS_stride) \
  ONE_KNOWN_DW_AT (MIPS_stride_byte, DW_AT_MIPS_stride_byte) \
  ONE_KNOWN_DW_AT (MIPS_stride_elem, DW_AT_MIPS_stride_elem) \
  ONE_KNOWN_DW_AT (MIPS_tail_loop_begin, DW_AT_MIPS_tail_loop_begin) \
  ONE_KNOWN_DW_AT (abstract_origin, DW_AT_abstract_origin) \
  ONE_KNOWN_DW_AT (accessibility, DW_AT_accessibility) \
  ONE_KNOWN_DW_AT (address_class, DW_AT_address_class) \
  ONE_KNOWN_DW_AT (allocated, DW_AT_allocated) \
  ONE_KNOWN_DW_AT (artificial, DW_AT_artificial) \
  ONE_KNOWN_DW_AT (associated, DW_AT_associated) \
  ONE_KNOWN_DW_AT (base_types, DW_AT_base_types) \
  ONE_KNOWN_DW_AT (binary_scale, DW_AT_binary_scale) \
  ONE_KNOWN_DW_AT (bit_offset, DW_AT_bit_offset) \
  ONE_KNOWN_DW_AT (bit_size, DW_AT_bit_size) \
  ONE_KNOWN_DW_AT (bit_stride, DW_AT_bit_stride) \
  ONE_KNOWN_DW_AT (body_begin, DW_AT_body_begin) \
  ONE_KNOWN_DW_AT (body_end, DW_AT_body_end) \
  ONE_KNOWN_DW_AT (byte_size, DW_AT_byte_size) \
  ONE_KNOWN_DW_AT (byte_stride, DW_AT_byte_stride) \
  ONE_KNOWN_DW_AT (call_column, DW_AT_call_column) \
  ONE_KNOWN_DW_AT (call_file, DW_AT_call_file) \
  ONE_KNOWN_DW_AT (call_line, DW_AT_call_line) \
  ONE_KNOWN_DW_AT (calling_convention, DW_AT_calling_convention) \
  ONE_KNOWN_DW_AT (common_reference, DW_AT_common_reference) \
  ONE_KNOWN_DW_AT (comp_dir, DW_AT_comp_dir) \
  ONE_KNOWN_DW_AT (const_expr, DW_AT_const_expr) \
  ONE_KNOWN_DW_AT (const_value, DW_AT_const_value) \
  ONE_KNOWN_DW_AT (containing_type, DW_AT_containing_type) \
  ONE_KNOWN_DW_AT (count, DW_AT_count) \
  ONE_KNOWN_DW_AT (data_bit_offset, DW_AT_data_bit_offset) \
  ONE_KNOWN_DW_AT (data_location, DW_AT_data_location) \
  ONE_KNOWN_DW_AT (data_member_location, DW_AT_data_member_location) \
  ONE_KNOWN_DW_AT (decimal_scale, DW_AT_decimal_scale) \
  ONE_KNOWN_DW_AT (decimal_sign, DW_AT_decimal_sign) \
  ONE_KNOWN_DW_AT (decl_column, DW_AT_decl_column) \
  ONE_KNOWN_DW_AT (decl_file, DW_AT_decl_file) \
  ONE_KNOWN_DW_AT (decl_line, DW_AT_decl_line) \
  ONE_KNOWN_DW_AT (declaration, DW_AT_declaration) \
  ONE_KNOWN_DW_AT (default_value, DW_AT_default_value) \
  ONE_KNOWN_DW_AT (description, DW_AT_description) \
  ONE_KNOWN_DW_AT (digit_count, DW_AT_digit_count) \
  ONE_KNOWN_DW_AT (discr, DW_AT_discr) \
  ONE_KNOWN_DW_AT (discr_list, DW_AT_discr_list) \
  ONE_KNOWN_DW_AT (discr_value, DW_AT_discr_value) \
  ONE_KNOWN_DW_AT (element_list, DW_AT_element_list) \
  ONE_KNOWN_DW_AT (elemental, DW_AT_elemental) \
  ONE_KNOWN_DW_AT (encoding, DW_AT_encoding) \
  ONE_KNOWN_DW_AT (endianity, DW_AT_endianity) \
  ONE_KNOWN_DW_AT (entry_pc, DW_AT_entry_pc) \
  ONE_KNOWN_DW_AT (enum_class, DW_AT_enum_class) \
  ONE_KNOWN_DW_AT (explicit, DW_AT_explicit) \
  ONE_KNOWN_DW_AT (extension, DW_AT_extension) \
  ONE_KNOWN_DW_AT (external, DW_AT_external) \
  ONE_KNOWN_DW_AT (frame_base, DW_AT_frame_base) \
  ONE_KNOWN_DW_AT (friend, DW_AT_friend) \
  ONE_KNOWN_DW_AT (high_pc, DW_AT_high_pc) \
  ONE_KNOWN_DW_AT (identifier_case, DW_AT_identifier_case) \
  ONE_KNOWN_DW_AT (import, DW_AT_import) \
  ONE_KNOWN_DW_AT (inline, DW_AT_inline) \
  ONE_KNOWN_DW_AT (is_optional, DW_AT_is_optional) \
  ONE_KNOWN_DW_AT (language, DW_AT_language) \
  ONE_KNOWN_DW_AT (linkage_name, DW_AT_linkage_name) \
  ONE_KNOWN_DW_AT (location, DW_AT_location) \
  ONE_KNOWN_DW_AT (low_pc, DW_AT_low_pc) \
  ONE_KNOWN_DW_AT (lower_bound, DW_AT_lower_bound) \
  ONE_KNOWN_DW_AT (mac_info, DW_AT_mac_info) \
  ONE_KNOWN_DW_AT (macro_info, DW_AT_macro_info) \
  ONE_KNOWN_DW_AT (main_subprogram, DW_AT_main_subprogram) \
  ONE_KNOWN_DW_AT (member, DW_AT_member) \
  ONE_KNOWN_DW_AT (mutable, DW_AT_mutable) \
  ONE_KNOWN_DW_AT (name, DW_AT_name) \
  ONE_KNOWN_DW_AT (namelist_item, DW_AT_namelist_item) \
  ONE_KNOWN_DW_AT (noreturn, DW_AT_noreturn) \
  ONE_KNOWN_DW_AT (object_pointer, DW_AT_object_pointer) \
  ONE_KNOWN_DW_AT (ordering, DW_AT_ordering) \
  ONE_KNOWN_DW_AT (picture_string, DW_AT_picture_string) \
  ONE_KNOWN_DW_AT (priority, DW_AT_priority) \
  ONE_KNOWN_DW_AT (producer, DW_AT_producer) \
  ONE_KNOWN_DW_AT (prototyped, DW_AT_prototyped) \
  ONE_KNOWN_DW_AT (pure, DW_AT_pure) \
  ONE_KNOWN_DW_AT (ranges, DW_AT_ranges) \
  ONE_KNOWN_DW_AT (recursive, DW_AT_recursive) \
  ONE_KNOWN_DW_AT (return_addr, DW_AT_return_addr) \
  ONE_KNOWN_DW_AT (segment, DW_AT_segment) \
  ONE_KNOWN_DW_AT (sf_names, DW_AT_sf_names) \
  ONE_KNOWN_DW_AT (sibling, DW_AT_sibling) \
  ONE_KNOWN_DW_AT (signature, DW_AT_signature) \
  ONE_KNOWN_DW_AT (small, DW_AT_small) \
  ONE_KNOWN_DW_AT (specification, DW_AT_specification) \
  ONE_KNOWN_DW_AT (src_coords, DW_AT_src_coords) \
  ONE_KNOWN_DW_AT (src_info, DW_AT_src_info) \
  ONE_KNOWN_DW_AT (start_scope, DW_AT_start_scope) \
  ONE_KNOWN_DW_AT (static_link, DW_AT_static_link) \
  ONE_KNOWN_DW_AT (stmt_list, DW_AT_stmt_list) \
  ONE_KNOWN_DW_AT (string_length, DW_AT_string_length) \
  ONE_KNOWN_DW_AT (subscr_data, DW_AT_subscr_data) \
  ONE_KNOWN_DW_AT (threads_scaled, DW_AT_threads_scaled) \
  ONE_KNOWN_DW_AT (trampoline, DW_AT_trampoline) \
  ONE_KNOWN_DW_AT (type, DW_AT_type) \
  ONE_KNOWN_DW_AT (upper_bound, DW_AT_upper_bound) \
  ONE_KNOWN_DW_AT (use_UTF8, DW_AT_use_UTF8) \
  ONE_KNOWN_DW_AT (use_location, DW_AT_use_location) \
  ONE_KNOWN_DW_AT (variable_parameter, DW_AT_variable_parameter) \
  ONE_KNOWN_DW_AT (virtuality, DW_AT_virtuality) \
  ONE_KNOWN_DW_AT (visibility, DW_AT_visibility) \
  ONE_KNOWN_DW_AT (vtable_elem_location, DW_AT_vtable_elem_location) \
  /* End of DW_AT_*.  */

#define ALL_KNOWN_DW_ATE \
  ONE_KNOWN_DW_ATE (UTF, DW_ATE_UTF) \
  ONE_KNOWN_DW_ATE (address, DW_ATE_address) \
  ONE_KNOWN_DW_ATE (boolean, DW_ATE_boolean) \
  ONE_KNOWN_DW_ATE (complex_float, DW_ATE_complex_float) \
  ONE_KNOWN_DW_ATE (decimal_float, DW_ATE_decimal_float) \
  ONE_KNOWN_DW_ATE (edited, DW_ATE_edited) \
  ONE_KNOWN_DW_ATE (float, DW_ATE_float) \
  ONE_KNOWN_DW_ATE (imaginary_float, DW_ATE_imaginary_float) \
  ONE_KNOWN_DW_ATE (numeric_string, DW_ATE_numeric_string) \
  ONE_KNOWN_DW_ATE (packed_decimal, DW_ATE_packed_decimal) \
  ONE_KNOWN_DW_ATE (signed, DW_ATE_signed) \
  ONE_KNOWN_DW_ATE (signed_char, DW_ATE_signed_char) \
  ONE_KNOWN_DW_ATE (signed_fixed, DW_ATE_signed_fixed) \
  ONE_KNOWN_DW_ATE (unsigned, DW_ATE_unsigned) \
  ONE_KNOWN_DW_ATE (unsigned_char, DW_ATE_unsigned_char) \
  ONE_KNOWN_DW_ATE (unsigned_fixed, DW_ATE_unsigned_fixed) \
  ONE_KNOWN_DW_ATE (void, DW_ATE_void) \
  /* End of DW_ATE_*.  */

#define ALL_KNOWN_DW_CC \
  ONE_KNOWN_DW_CC (nocall, DW_CC_nocall) \
  ONE_KNOWN_DW_CC (normal, DW_CC_normal) \
  ONE_KNOWN_DW_CC (program, DW_CC_program) \
  /* End of DW_CC_*.  */

#define ALL_KNOWN_DW_CFA \
  ONE_KNOWN_DW_CFA (GNU_args_size, DW_CFA_GNU_args_size) \
  ONE_KNOWN_DW_CFA (GNU_negative_offset_extended, DW_CFA_GNU_negative_offset_extended) \
  ONE_KNOWN_DW_CFA (GNU_window_save, DW_CFA_GNU_window_save) \
  ONE_KNOWN_DW_CFA (MIPS_advance_loc8, DW_CFA_MIPS_advance_loc8) \
  ONE_KNOWN_DW_CFA (advance_loc, DW_CFA_advance_loc) \
  ONE_KNOWN_DW_CFA (advance_loc1, DW_CFA_advance_loc1) \
  ONE_KNOWN_DW_CFA (advance_loc2, DW_CFA_advance_loc2) \
  ONE_KNOWN_DW_CFA (advance_loc4, DW_CFA_advance_loc4) \
  ONE_KNOWN_DW_CFA (def_cfa, DW_CFA_def_cfa) \
  ONE_KNOWN_DW_CFA (def_cfa_expression, DW_CFA_def_cfa_expression) \
  ONE_KNOWN_DW_CFA (def_cfa_offset, DW_CFA_def_cfa_offset) \
  ONE_KNOWN_DW_CFA (def_cfa_offset_sf, DW_CFA_def_cfa_offset_sf) \
  ONE_KNOWN_DW_CFA (def_cfa_register, DW_CFA_def_cfa_register) \
  ONE_KNOWN_DW_CFA (def_cfa_sf, DW_CFA_def_cfa_sf) \
  ONE_KNOWN_DW_CFA (expression, DW_CFA_expression) \
  ONE_KNOWN_DW_CFA (extended, DW_CFA_extended) \
  ONE_KNOWN_DW_CFA (nop, DW_CFA_nop) \
  ONE_KNOWN_DW_CFA (offset, DW_CFA_offset) \
  ONE_KNOWN_DW_CFA (offset_extended, DW_CFA_offset_extended) \
  ONE_KNOWN_DW_CFA (offset_extended_sf, DW_CFA_offset_extended_sf) \
  ONE_KNOWN_DW_CFA (register, DW_CFA_register) \
  ONE_KNOWN_DW_CFA (remember_state, DW_CFA_remember_state) \
  ONE_KNOWN_DW_CFA (restore, DW_CFA_restore) \
  ONE_KNOWN_DW_CFA (restore_extended, DW_CFA_restore_extended) \
  ONE_KNOWN_DW_CFA (restore_state, DW_CFA_restore_state) \
  ONE_KNOWN_DW_CFA (same_value, DW_CFA_same_value) \
  ONE_KNOWN_DW_CFA (set_loc, DW_CFA_set_loc) \
  ONE_KNOWN_DW_CFA (undefined, DW_CFA_undefined) \
  ONE_KNOWN_DW_CFA (val_expression, DW_CFA_val_expression) \
  ONE_KNOWN_DW_CFA (val_offset, DW_CFA_val_offset) \
  ONE_KNOWN_DW_CFA (val_offset_sf, DW_CFA_val_offset_sf) \
  /* End of DW_CFA_*.  */

#define ALL_KNOWN_DW_CHILDREN \
  ONE_KNOWN_DW_CHILDREN (no, DW_CHILDREN_no) \
  ONE_KNOWN_DW_CHILDREN (yes, DW_CHILDREN_yes) \
  /* End of DW_CHILDREN_*.  */

#define ALL_KNOWN_DW_CIE_ID \
  ONE_KNOWN_DW_CIE_ID_DESC (32, DW_CIE_ID_32, "In 32-bit format CIE header.") \
  ONE_KNOWN_DW_CIE_ID_DESC (64, DW_CIE_ID_64, "In 64-bit format CIE header.") \
  /* End of DW_CIE_ID_*.  */

#define ALL_KNOWN_DW_DS \
  ONE_KNOWN_DW_DS (leading_overpunch, DW_DS_leading_overpunch) \
  ONE_KNOWN_DW_DS (leading_separate, DW_DS_leading_separate) \
  ONE_KNOWN_DW_DS (trailing_overpunch, DW_DS_trailing_overpunch) \
  ONE_KNOWN_DW_DS (trailing_separate, DW_DS_trailing_separate) \
  ONE_KNOWN_DW_DS (unsigned, DW_DS_unsigned) \
  /* End of DW_DS_*.  */

#define ALL_KNOWN_DW_DSC \
  ONE_KNOWN_DW_DSC (label, DW_DSC_label) \
  ONE_KNOWN_DW_DSC (range, DW_DSC_range) \
  /* End of DW_DSC_*.  */

#define ALL_KNOWN_DW_EH_PE \
  ONE_KNOWN_DW_EH_PE (absptr, DW_EH_PE_absptr) \
  ONE_KNOWN_DW_EH_PE (aligned, DW_EH_PE_aligned) \
  ONE_KNOWN_DW_EH_PE (datarel, DW_EH_PE_datarel) \
  ONE_KNOWN_DW_EH_PE (funcrel, DW_EH_PE_funcrel) \
  ONE_KNOWN_DW_EH_PE (indirect, DW_EH_PE_indirect) \
  ONE_KNOWN_DW_EH_PE (omit, DW_EH_PE_omit) \
  ONE_KNOWN_DW_EH_PE (pcrel, DW_EH_PE_pcrel) \
  ONE_KNOWN_DW_EH_PE (sdata2, DW_EH_PE_sdata2) \
  ONE_KNOWN_DW_EH_PE (sdata4, DW_EH_PE_sdata4) \
  ONE_KNOWN_DW_EH_PE (sdata8, DW_EH_PE_sdata8) \
  ONE_KNOWN_DW_EH_PE (signed, DW_EH_PE_signed) \
  ONE_KNOWN_DW_EH_PE (sleb128, DW_EH_PE_sleb128) \
  ONE_KNOWN_DW_EH_PE (textrel, DW_EH_PE_textrel) \
  ONE_KNOWN_DW_EH_PE (udata2, DW_EH_PE_udata2) \
  ONE_KNOWN_DW_EH_PE (udata4, DW_EH_PE_udata4) \
  ONE_KNOWN_DW_EH_PE (udata8, DW_EH_PE_udata8) \
  ONE_KNOWN_DW_EH_PE (uleb128, DW_EH_PE_uleb128) \
  /* End of DW_EH_PE_*.  */

#define ALL_KNOWN_DW_END \
  ONE_KNOWN_DW_END (big, DW_END_big) \
  ONE_KNOWN_DW_END (default, DW_END_default) \
  ONE_KNOWN_DW_END (little, DW_END_little) \
  /* End of DW_END_*.  */

#define ALL_KNOWN_DW_FORM \
  ONE_KNOWN_DW_FORM_DESC (GNU_ref_alt, DW_FORM_GNU_ref_alt, "offset in alternate .debuginfo.") \
  ONE_KNOWN_DW_FORM_DESC (GNU_strp_alt, DW_FORM_GNU_strp_alt, "offset in alternate .debug_str.") \
  ONE_KNOWN_DW_FORM (addr, DW_FORM_addr) \
  ONE_KNOWN_DW_FORM (block, DW_FORM_block) \
  ONE_KNOWN_DW_FORM (block1, DW_FORM_block1) \
  ONE_KNOWN_DW_FORM (block2, DW_FORM_block2) \
  ONE_KNOWN_DW_FORM (block4, DW_FORM_block4) \
  ONE_KNOWN_DW_FORM (data1, DW_FORM_data1) \
  ONE_KNOWN_DW_FORM (data2, DW_FORM_data2) \
  ONE_KNOWN_DW_FORM (data4, DW_FORM_data4) \
  ONE_KNOWN_DW_FORM (data8, DW_FORM_data8) \
  ONE_KNOWN_DW_FORM (exprloc, DW_FORM_exprloc) \
  ONE_KNOWN_DW_FORM (flag, DW_FORM_flag) \
  ONE_KNOWN_DW_FORM (flag_present, DW_FORM_flag_present) \
  ONE_KNOWN_DW_FORM (indirect, DW_FORM_indirect) \
  ONE_KNOWN_DW_FORM (ref1, DW_FORM_ref1) \
  ONE_KNOWN_DW_FORM (ref2, DW_FORM_ref2) \
  ONE_KNOWN_DW_FORM (ref4, DW_FORM_ref4) \
  ONE_KNOWN_DW_FORM (ref8, DW_FORM_ref8) \
  ONE_KNOWN_DW_FORM (ref_addr, DW_FORM_ref_addr) \
  ONE_KNOWN_DW_FORM (ref_sig8, DW_FORM_ref_sig8) \
  ONE_KNOWN_DW_FORM (ref_udata, DW_FORM_ref_udata) \
  ONE_KNOWN_DW_FORM (sdata, DW_FORM_sdata) \
  ONE_KNOWN_DW_FORM (sec_offset, DW_FORM_sec_offset) \
  ONE_KNOWN_DW_FORM (string, DW_FORM_string) \
  ONE_KNOWN_DW_FORM (strp, DW_FORM_strp) \
  ONE_KNOWN_DW_FORM (udata, DW_FORM_udata) \
  /* End of DW_FORM_*.  */

#define ALL_KNOWN_DW_ID \
  ONE_KNOWN_DW_ID (case_insensitive, DW_ID_case_insensitive) \
  ONE_KNOWN_DW_ID (case_sensitive, DW_ID_case_sensitive) \
  ONE_KNOWN_DW_ID (down_case, DW_ID_down_case) \
  ONE_KNOWN_DW_ID (up_case, DW_ID_up_case) \
  /* End of DW_ID_*.  */

#define ALL_KNOWN_DW_INL \
  ONE_KNOWN_DW_INL (declared_inlined, DW_INL_declared_inlined) \
  ONE_KNOWN_DW_INL (declared_not_inlined, DW_INL_declared_not_inlined) \
  ONE_KNOWN_DW_INL (inlined, DW_INL_inlined) \
  ONE_KNOWN_DW_INL (not_inlined, DW_INL_not_inlined) \
  /* End of DW_INL_*.  */

#define ALL_KNOWN_DW_LANG \
  ONE_KNOWN_DW_LANG_DESC (Ada83, DW_LANG_Ada83, "ISO Ada:1983") \
  ONE_KNOWN_DW_LANG_DESC (Ada95, DW_LANG_Ada95, "ISO Ada:1995") \
  ONE_KNOWN_DW_LANG_DESC (C, DW_LANG_C, "C") \
  ONE_KNOWN_DW_LANG_DESC (C11, DW_LANG_C11, "ISO C:2011") \
  ONE_KNOWN_DW_LANG_DESC (C89, DW_LANG_C89, "ISO C:1989") \
  ONE_KNOWN_DW_LANG_DESC (C99, DW_LANG_C99, "ISO C:1999") \
  ONE_KNOWN_DW_LANG_DESC (C_plus_plus, DW_LANG_C_plus_plus, "ISO C++:1998") \
  ONE_KNOWN_DW_LANG_DESC (C_plus_plus_11, DW_LANG_C_plus_plus_11, "ISO C++:2011") \
  ONE_KNOWN_DW_LANG_DESC (C_plus_plus_14, DW_LANG_C_plus_plus_14, "ISO C++:2014") \
  ONE_KNOWN_DW_LANG_DESC (Cobol74, DW_LANG_Cobol74, "ISO Cobol:1974") \
  ONE_KNOWN_DW_LANG_DESC (Cobol85, DW_LANG_Cobol85, "ISO Cobol:1985") \
  ONE_KNOWN_DW_LANG_DESC (D, DW_LANG_D, "D") \
  ONE_KNOWN_DW_LANG_DESC (Fortran77, DW_LANG_Fortran77, "ISO FORTRAN 77") \
  ONE_KNOWN_DW_LANG_DESC (Fortran90, DW_LANG_Fortran90, "ISO Fortran 90") \
  ONE_KNOWN_DW_LANG_DESC (Fortran95, DW_LANG_Fortran95, "ISO Fortran 95") \
  ONE_KNOWN_DW_LANG_DESC (Go, DW_LANG_Go, "Go") \
  ONE_KNOWN_DW_LANG_DESC (Java, DW_LANG_Java, "Java") \
  ONE_KNOWN_DW_LANG_DESC (Mips_Assembler, DW_LANG_Mips_Assembler, "Assembler") \
  ONE_KNOWN_DW_LANG_DESC (Modula2, DW_LANG_Modula2, "ISO Modula-2:1996") \
  ONE_KNOWN_DW_LANG_DESC (ObjC, DW_LANG_ObjC, "Objective-C") \
  ONE_KNOWN_DW_LANG_DESC (ObjC_plus_plus, DW_LANG_ObjC_plus_plus, "Objective-C++") \
  ONE_KNOWN_DW_LANG_DESC (PL1, DW_LANG_PL1, "ISO PL/1:1976") \
  ONE_KNOWN_DW_LANG_DESC (Pascal83, DW_LANG_Pascal83, "ISO Pascal:1983") \
  ONE_KNOWN_DW_LANG_DESC (Python, DW_LANG_Python, "Python") \
  ONE_KNOWN_DW_LANG_DESC (UPC, DW_LANG_UPC, "Unified Parallel C") \
  /* End of DW_LANG_*.  */

#define ALL_KNOWN_DW_LNE \
  ONE_KNOWN_DW_LNE (define_file, DW_LNE_define_file) \
  ONE_KNOWN_DW_LNE (end_sequence, DW_LNE_end_sequence) \
  ONE_KNOWN_DW_LNE (set_address, DW_LNE_set_address) \
  ONE_KNOWN_DW_LNE (set_discriminator, DW_LNE_set_discriminator) \
  /* End of DW_LNE_*.  */

#define ALL_KNOWN_DW_LNS \
  ONE_KNOWN_DW_LNS (advance_line, DW_LNS_advance_line) \
  ONE_KNOWN_DW_LNS (advance_pc, DW_LNS_advance_pc) \
  ONE_KNOWN_DW_LNS (const_add_pc, DW_LNS_const_add_pc) \
  ONE_KNOWN_DW_LNS (copy, DW_LNS_copy) \
  ONE_KNOWN_DW_LNS (fixed_advance_pc, DW_LNS_fixed_advance_pc) \
  ONE_KNOWN_DW_LNS (negate_stmt, DW_LNS_negate_stmt) \
  ONE_KNOWN_DW_LNS (set_basic_block, DW_LNS_set_basic_block) \
  ONE_KNOWN_DW_LNS (set_column, DW_LNS_set_column) \
  ONE_KNOWN_DW_LNS (set_epilogue_begin, DW_LNS_set_epilogue_begin) \
  ONE_KNOWN_DW_LNS (set_file, DW_LNS_set_file) \
  ONE_KNOWN_DW_LNS (set_isa, DW_LNS_set_isa) \
  ONE_KNOWN_DW_LNS (set_prologue_end, DW_LNS_set_prologue_end) \
  /* End of DW_LNS_*.  */

#define ALL_KNOWN_DW_MACINFO \
  ONE_KNOWN_DW_MACINFO (define, DW_MACINFO_define) \
  ONE_KNOWN_DW_MACINFO (end_file, DW_MACINFO_end_file) \
  ONE_KNOWN_DW_MACINFO (start_file, DW_MACINFO_start_file) \
  ONE_KNOWN_DW_MACINFO (undef, DW_MACINFO_undef) \
  ONE_KNOWN_DW_MACINFO (vendor_ext, DW_MACINFO_vendor_ext) \
  /* End of DW_MACINFO_*.  */

#define ALL_KNOWN_DW_MACRO_GNU \
  ONE_KNOWN_DW_MACRO_GNU (define, DW_MACRO_GNU_define) \
  ONE_KNOWN_DW_MACRO_GNU (define_indirect, DW_MACRO_GNU_define_indirect) \
  ONE_KNOWN_DW_MACRO_GNU (end_file, DW_MACRO_GNU_end_file) \
  ONE_KNOWN_DW_MACRO_GNU (start_file, DW_MACRO_GNU_start_file) \
  ONE_KNOWN_DW_MACRO_GNU (transparent_include, DW_MACRO_GNU_transparent_include) \
  ONE_KNOWN_DW_MACRO_GNU (undef, DW_MACRO_GNU_undef) \
  ONE_KNOWN_DW_MACRO_GNU (undef_indirect, DW_MACRO_GNU_undef_indirect) \
  /* End of DW_MACRO_GNU_*.  */

#define ALL_KNOWN_DW_OP \
  ONE_KNOWN_DW_OP (GNU_const_type, DW_OP_GNU_const_type) \
  ONE_KNOWN_DW_OP (GNU_convert, DW_OP_GNU_convert) \
  ONE_KNOWN_DW_OP (GNU_deref_type, DW_OP_GNU_deref_type) \
  ONE_KNOWN_DW_OP (GNU_encoded_addr, DW_OP_GNU_encoded_addr) \
  ONE_KNOWN_DW_OP (GNU_entry_value, DW_OP_GNU_entry_value) \
  ONE_KNOWN_DW_OP (GNU_implicit_pointer, DW_OP_GNU_implicit_pointer) \
  ONE_KNOWN_DW_OP (GNU_parameter_ref, DW_OP_GNU_parameter_ref) \
  ONE_KNOWN_DW_OP (GNU_push_tls_address, DW_OP_GNU_push_tls_address) \
  ONE_KNOWN_DW_OP (GNU_regval_type, DW_OP_GNU_regval_type) \
  ONE_KNOWN_DW_OP (GNU_reinterpret, DW_OP_GNU_reinterpret) \
  ONE_KNOWN_DW_OP (GNU_uninit, DW_OP_GNU_uninit) \
  ONE_KNOWN_DW_OP (abs, DW_OP_abs) \
  ONE_KNOWN_DW_OP_DESC (addr, DW_OP_addr, "Constant address.") \
  ONE_KNOWN_DW_OP (and, DW_OP_and) \
  ONE_KNOWN_DW_OP_DESC (bit_piece, DW_OP_bit_piece, "ULEB128 size and ULEB128 offset in bits.") \
  ONE_KNOWN_DW_OP_DESC (bra, DW_OP_bra, "Signed 2-byte constant.") \
  ONE_KNOWN_DW_OP_DESC (breg0, DW_OP_breg0, "Base register 0.") \
  ONE_KNOWN_DW_OP_DESC (breg1, DW_OP_breg1, "Base register 1.") \
  ONE_KNOWN_DW_OP_DESC (breg10, DW_OP_breg10, "Base register 10.") \
  ONE_KNOWN_DW_OP_DESC (breg11, DW_OP_breg11, "Base register 11.") \
  ONE_KNOWN_DW_OP_DESC (breg12, DW_OP_breg12, "Base register 12.") \
  ONE_KNOWN_DW_OP_DESC (breg13, DW_OP_breg13, "Base register 13.") \
  ONE_KNOWN_DW_OP_DESC (breg14, DW_OP_breg14, "Base register 14.") \
  ONE_KNOWN_DW_OP_DESC (breg15, DW_OP_breg15, "Base register 15.") \
  ONE_KNOWN_DW_OP_DESC (breg16, DW_OP_breg16, "Base register 16.") \
  ONE_KNOWN_DW_OP_DESC (breg17, DW_OP_breg17, "Base register 17.") \
  ONE_KNOWN_DW_OP_DESC (breg18, DW_OP_breg18, "Base register 18.") \
  ONE_KNOWN_DW_OP_DESC (breg19, DW_OP_breg19, "Base register 19.") \
  ONE_KNOWN_DW_OP_DESC (breg2, DW_OP_breg2, "Base register 2.") \
  ONE_KNOWN_DW_OP_DESC (breg20, DW_OP_breg20, "Base register 20.") \
  ONE_KNOWN_DW_OP_DESC (breg21, DW_OP_breg21, "Base register 21.") \
  ONE_KNOWN_DW_OP_DESC (breg22, DW_OP_breg22, "Base register 22.") \
  ONE_KNOWN_DW_OP_DESC (breg23, DW_OP_breg23, "Base register 23.") \
  ONE_KNOWN_DW_OP_DESC (breg24, DW_OP_breg24, "Base register 24.") \
  ONE_KNOWN_DW_OP_DESC (breg25, DW_OP_breg25, "Base register 25.") \
  ONE_KNOWN_DW_OP_DESC (breg26, DW_OP_breg26, "Base register 26.") \
  ONE_KNOWN_DW_OP_DESC (breg27, DW_OP_breg27, "Base register 27.") \
  ONE_KNOWN_DW_OP_DESC (breg28, DW_OP_breg28, "Base register 28.") \
  ONE_KNOWN_DW_OP_DESC (breg29, DW_OP_breg29, "Base register 29.") \
  ONE_KNOWN_DW_OP_DESC (breg3, DW_OP_breg3, "Base register 3.") \
  ONE_KNOWN_DW_OP_DESC (breg30, DW_OP_breg30, "Base register 30.") \
  ONE_KNOWN_DW_OP_DESC (breg31, DW_OP_breg31, "Base register 31.") \
  ONE_KNOWN_DW_OP_DESC (breg4, DW_OP_breg4, "Base register 4.") \
  ONE_KNOWN_DW_OP_DESC (breg5, DW_OP_breg5, "Base register 5.") \
  ONE_KNOWN_DW_OP_DESC (breg6, DW_OP_breg6, "Base register 6.") \
  ONE_KNOWN_DW_OP_DESC (breg7, DW_OP_breg7, "Base register 7.") \
  ONE_KNOWN_DW_OP_DESC (breg8, DW_OP_breg8, "Base register 8.") \
  ONE_KNOWN_DW_OP_DESC (breg9, DW_OP_breg9, "Base register 9.") \
  ONE_KNOWN_DW_OP_DESC (bregx, DW_OP_bregx, "ULEB128 register followed by SLEB128 off.") \
  ONE_KNOWN_DW_OP (call2, DW_OP_call2) \
  ONE_KNOWN_DW_OP (call4, DW_OP_call4) \
  ONE_KNOWN_DW_OP (call_frame_cfa, DW_OP_call_frame_cfa) \
  ONE_KNOWN_DW_OP (call_ref, DW_OP_call_ref) \
  ONE_KNOWN_DW_OP_DESC (const1s, DW_OP_const1s, "Signed 1-byte constant.") \
  ONE_KNOWN_DW_OP_DESC (const1u, DW_OP_const1u, "Unsigned 1-byte constant.") \
  ONE_KNOWN_DW_OP_DESC (const2s, DW_OP_const2s, "Signed 2-byte constant.") \
  ONE_KNOWN_DW_OP_DESC (const2u, DW_OP_const2u, "Unsigned 2-byte constant.") \
  ONE_KNOWN_DW_OP_DESC (const4s, DW_OP_const4s, "Signed 4-byte constant.") \
  ONE_KNOWN_DW_OP_DESC (const4u, DW_OP_const4u, "Unsigned 4-byte constant.") \
  ONE_KNOWN_DW_OP_DESC (const8s, DW_OP_const8s, "Signed 8-byte constant.") \
  ONE_KNOWN_DW_OP_DESC (const8u, DW_OP_const8u, "Unsigned 8-byte constant.") \
  ONE_KNOWN_DW_OP_DESC (consts, DW_OP_consts, "Signed LEB128 constant.") \
  ONE_KNOWN_DW_OP_DESC (constu, DW_OP_constu, "Unsigned LEB128 constant.") \
  ONE_KNOWN_DW_OP (deref, DW_OP_deref) \
  ONE_KNOWN_DW_OP_DESC (deref_size, DW_OP_deref_size, "1-byte size of data retrieved.") \
  ONE_KNOWN_DW_OP (div, DW_OP_div) \
  ONE_KNOWN_DW_OP (drop, DW_OP_drop) \
  ONE_KNOWN_DW_OP (dup, DW_OP_dup) \
  ONE_KNOWN_DW_OP (eq, DW_OP_eq) \
  ONE_KNOWN_DW_OP_DESC (fbreg, DW_OP_fbreg, "Signed LEB128 offset.") \
  ONE_KNOWN_DW_OP (form_tls_address, DW_OP_form_tls_address) \
  ONE_KNOWN_DW_OP (ge, DW_OP_ge) \
  ONE_KNOWN_DW_OP (gt, DW_OP_gt) \
  ONE_KNOWN_DW_OP_DESC (implicit_value, DW_OP_implicit_value, "DW_FORM_block follows opcode.") \
  ONE_KNOWN_DW_OP (le, DW_OP_le) \
  ONE_KNOWN_DW_OP_DESC (lit0, DW_OP_lit0, "Literal 0.") \
  ONE_KNOWN_DW_OP_DESC (lit1, DW_OP_lit1, "Literal 1.") \
  ONE_KNOWN_DW_OP_DESC (lit10, DW_OP_lit10, "Literal 10.") \
  ONE_KNOWN_DW_OP_DESC (lit11, DW_OP_lit11, "Literal 11.") \
  ONE_KNOWN_DW_OP_DESC (lit12, DW_OP_lit12, "Literal 12.") \
  ONE_KNOWN_DW_OP_DESC (lit13, DW_OP_lit13, "Literal 13.") \
  ONE_KNOWN_DW_OP_DESC (lit14, DW_OP_lit14, "Literal 14.") \
  ONE_KNOWN_DW_OP_DESC (lit15, DW_OP_lit15, "Literal 15.") \
  ONE_KNOWN_DW_OP_DESC (lit16, DW_OP_lit16, "Literal 16.") \
  ONE_KNOWN_DW_OP_DESC (lit17, DW_OP_lit17, "Literal 17.") \
  ONE_KNOWN_DW_OP_DESC (lit18, DW_OP_lit18, "Literal 18.") \
  ONE_KNOWN_DW_OP_DESC (lit19, DW_OP_lit19, "Literal 19.") \
  ONE_KNOWN_DW_OP_DESC (lit2, DW_OP_lit2, "Literal 2.") \
  ONE_KNOWN_DW_OP_DESC (lit20, DW_OP_lit20, "Literal 20.") \
  ONE_KNOWN_DW_OP_DESC (lit21, DW_OP_lit21, "Literal 21.") \
  ONE_KNOWN_DW_OP_DESC (lit22, DW_OP_lit22, "Literal 22.") \
  ONE_KNOWN_DW_OP_DESC (lit23, DW_OP_lit23, "Literal 23.") \
  ONE_KNOWN_DW_OP_DESC (lit24, DW_OP_lit24, "Literal 24.") \
  ONE_KNOWN_DW_OP_DESC (lit25, DW_OP_lit25, "Literal 25.") \
  ONE_KNOWN_DW_OP_DESC (lit26, DW_OP_lit26, "Literal 26.") \
  ONE_KNOWN_DW_OP_DESC (lit27, DW_OP_lit27, "Literal 27.") \
  ONE_KNOWN_DW_OP_DESC (lit28, DW_OP_lit28, "Literal 28.") \
  ONE_KNOWN_DW_OP_DESC (lit29, DW_OP_lit29, "Literal 29.") \
  ONE_KNOWN_DW_OP_DESC (lit3, DW_OP_lit3, "Literal 3.") \
  ONE_KNOWN_DW_OP_DESC (lit30, DW_OP_lit30, "Literal 30.") \
  ONE_KNOWN_DW_OP_DESC (lit31, DW_OP_lit31, "Literal 31.") \
  ONE_KNOWN_DW_OP_DESC (lit4, DW_OP_lit4, "Literal 4.") \
  ONE_KNOWN_DW_OP_DESC (lit5, DW_OP_lit5, "Literal 5.") \
  ONE_KNOWN_DW_OP_DESC (lit6, DW_OP_lit6, "Literal 6.") \
  ONE_KNOWN_DW_OP_DESC (lit7, DW_OP_lit7, "Literal 7.") \
  ONE_KNOWN_DW_OP_DESC (lit8, DW_OP_lit8, "Literal 8.") \
  ONE_KNOWN_DW_OP_DESC (lit9, DW_OP_lit9, "Literal 9.") \
  ONE_KNOWN_DW_OP (lt, DW_OP_lt) \
  ONE_KNOWN_DW_OP (minus, DW_OP_minus) \
  ONE_KNOWN_DW_OP (mod, DW_OP_mod) \
  ONE_KNOWN_DW_OP (mul, DW_OP_mul) \
  ONE_KNOWN_DW_OP (ne, DW_OP_ne) \
  ONE_KNOWN_DW_OP (neg, DW_OP_neg) \
  ONE_KNOWN_DW_OP (nop, DW_OP_nop) \
  ONE_KNOWN_DW_OP (not, DW_OP_not) \
  ONE_KNOWN_DW_OP (or, DW_OP_or) \
  ONE_KNOWN_DW_OP (over, DW_OP_over) \
  ONE_KNOWN_DW_OP_DESC (pick, DW_OP_pick, "1-byte stack index.") \
  ONE_KNOWN_DW_OP_DESC (piece, DW_OP_piece, "ULEB128 size of piece addressed.") \
  ONE_KNOWN_DW_OP (plus, DW_OP_plus) \
  ONE_KNOWN_DW_OP_DESC (plus_uconst, DW_OP_plus_uconst, "Unsigned LEB128 addend.") \
  ONE_KNOWN_DW_OP (push_object_address, DW_OP_push_object_address) \
  ONE_KNOWN_DW_OP_DESC (reg0, DW_OP_reg0, "Register 0.") \
  ONE_KNOWN_DW_OP_DESC (reg1, DW_OP_reg1, "Register 1.") \
  ONE_KNOWN_DW_OP_DESC (reg10, DW_OP_reg10, "Register 10.") \
  ONE_KNOWN_DW_OP_DESC (reg11, DW_OP_reg11, "Register 11.") \
  ONE_KNOWN_DW_OP_DESC (reg12, DW_OP_reg12, "Register 12.") \
  ONE_KNOWN_DW_OP_DESC (reg13, DW_OP_reg13, "Register 13.") \
  ONE_KNOWN_DW_OP_DESC (reg14, DW_OP_reg14, "Register 14.") \
  ONE_KNOWN_DW_OP_DESC (reg15, DW_OP_reg15, "Register 15.") \
  ONE_KNOWN_DW_OP_DESC (reg16, DW_OP_reg16, "Register 16.") \
  ONE_KNOWN_DW_OP_DESC (reg17, DW_OP_reg17, "Register 17.") \
  ONE_KNOWN_DW_OP_DESC (reg18, DW_OP_reg18, "Register 18.") \
  ONE_KNOWN_DW_OP_DESC (reg19, DW_OP_reg19, "Register 19.") \
  ONE_KNOWN_DW_OP_DESC (reg2, DW_OP_reg2, "Register 2.") \
  ONE_KNOWN_DW_OP_DESC (reg20, DW_OP_reg20, "Register 20.") \
  ONE_KNOWN_DW_OP_DESC (reg21, DW_OP_reg21, "Register 21.") \
  ONE_KNOWN_DW_OP_DESC (reg22, DW_OP_reg22, "Register 22.") \
  ONE_KNOWN_DW_OP_DESC (reg23, DW_OP_reg23, "Register 24.") \
  ONE_KNOWN_DW_OP_DESC (reg24, DW_OP_reg24, "Register 24.") \
  ONE_KNOWN_DW_OP_DESC (reg25, DW_OP_reg25, "Register 25.") \
  ONE_KNOWN_DW_OP_DESC (reg26, DW_OP_reg26, "Register 26.") \
  ONE_KNOWN_DW_OP_DESC (reg27, DW_OP_reg27, "Register 27.") \
  ONE_KNOWN_DW_OP_DESC (reg28, DW_OP_reg28, "Register 28.") \
  ONE_KNOWN_DW_OP_DESC (reg29, DW_OP_reg29, "Register 29.") \
  ONE_KNOWN_DW_OP_DESC (reg3, DW_OP_reg3, "Register 3.") \
  ONE_KNOWN_DW_OP_DESC (reg30, DW_OP_reg30, "Register 30.") \
  ONE_KNOWN_DW_OP_DESC (reg31, DW_OP_reg31, "Register 31.") \
  ONE_KNOWN_DW_OP_DESC (reg4, DW_OP_reg4, "Register 4.") \
  ONE_KNOWN_DW_OP_DESC (reg5, DW_OP_reg5, "Register 5.") \
  ONE_KNOWN_DW_OP_DESC (reg6, DW_OP_reg6, "Register 6.") \
  ONE_KNOWN_DW_OP_DESC (reg7, DW_OP_reg7, "Register 7.") \
  ONE_KNOWN_DW_OP_DESC (reg8, DW_OP_reg8, "Register 8.") \
  ONE_KNOWN_DW_OP_DESC (reg9, DW_OP_reg9, "Register 9.") \
  ONE_KNOWN_DW_OP_DESC (regx, DW_OP_regx, "Unsigned LEB128 register.") \
  ONE_KNOWN_DW_OP (rot, DW_OP_rot) \
  ONE_KNOWN_DW_OP (shl, DW_OP_shl) \
  ONE_KNOWN_DW_OP (shr, DW_OP_shr) \
  ONE_KNOWN_DW_OP (shra, DW_OP_shra) \
  ONE_KNOWN_DW_OP_DESC (skip, DW_OP_skip, "Signed 2-byte constant.") \
  ONE_KNOWN_DW_OP_DESC (stack_value, DW_OP_stack_value, "No operands, special like DW_OP_piece.") \
  ONE_KNOWN_DW_OP (swap, DW_OP_swap) \
  ONE_KNOWN_DW_OP (xderef, DW_OP_xderef) \
  ONE_KNOWN_DW_OP_DESC (xderef_size, DW_OP_xderef_size, "1-byte size of data retrieved.") \
  ONE_KNOWN_DW_OP (xor, DW_OP_xor) \
  /* End of DW_OP_*.  */

#define ALL_KNOWN_DW_ORD \
  ONE_KNOWN_DW_ORD (col_major, DW_ORD_col_major) \
  ONE_KNOWN_DW_ORD (row_major, DW_ORD_row_major) \
  /* End of DW_ORD_*.  */

#define ALL_KNOWN_DW_TAG \
  ONE_KNOWN_DW_TAG (GNU_BINCL, DW_TAG_GNU_BINCL) \
  ONE_KNOWN_DW_TAG (GNU_EINCL, DW_TAG_GNU_EINCL) \
  ONE_KNOWN_DW_TAG (GNU_call_site, DW_TAG_GNU_call_site) \
  ONE_KNOWN_DW_TAG (GNU_call_site_parameter, DW_TAG_GNU_call_site_parameter) \
  ONE_KNOWN_DW_TAG (GNU_formal_parameter_pack, DW_TAG_GNU_formal_parameter_pack) \
  ONE_KNOWN_DW_TAG (GNU_template_parameter_pack, DW_TAG_GNU_template_parameter_pack) \
  ONE_KNOWN_DW_TAG (GNU_template_template_param, DW_TAG_GNU_template_template_param) \
  ONE_KNOWN_DW_TAG (MIPS_loop, DW_TAG_MIPS_loop) \
  ONE_KNOWN_DW_TAG (access_declaration, DW_TAG_access_declaration) \
  ONE_KNOWN_DW_TAG (array_type, DW_TAG_array_type) \
  ONE_KNOWN_DW_TAG (base_type, DW_TAG_base_type) \
  ONE_KNOWN_DW_TAG (catch_block, DW_TAG_catch_block) \
  ONE_KNOWN_DW_TAG (class_template, DW_TAG_class_template) \
  ONE_KNOWN_DW_TAG (class_type, DW_TAG_class_type) \
  ONE_KNOWN_DW_TAG (common_block, DW_TAG_common_block) \
  ONE_KNOWN_DW_TAG (common_inclusion, DW_TAG_common_inclusion) \
  ONE_KNOWN_DW_TAG (compile_unit, DW_TAG_compile_unit) \
  ONE_KNOWN_DW_TAG (condition, DW_TAG_condition) \
  ONE_KNOWN_DW_TAG (const_type, DW_TAG_const_type) \
  ONE_KNOWN_DW_TAG (constant, DW_TAG_constant) \
  ONE_KNOWN_DW_TAG (dwarf_procedure, DW_TAG_dwarf_procedure) \
  ONE_KNOWN_DW_TAG (entry_point, DW_TAG_entry_point) \
  ONE_KNOWN_DW_TAG (enumeration_type, DW_TAG_enumeration_type) \
  ONE_KNOWN_DW_TAG (enumerator, DW_TAG_enumerator) \
  ONE_KNOWN_DW_TAG (file_type, DW_TAG_file_type) \
  ONE_KNOWN_DW_TAG (formal_parameter, DW_TAG_formal_parameter) \
  ONE_KNOWN_DW_TAG (format_label, DW_TAG_format_label) \
  ONE_KNOWN_DW_TAG (friend, DW_TAG_friend) \
  ONE_KNOWN_DW_TAG (function_template, DW_TAG_function_template) \
  ONE_KNOWN_DW_TAG (imported_declaration, DW_TAG_imported_declaration) \
  ONE_KNOWN_DW_TAG (imported_module, DW_TAG_imported_module) \
  ONE_KNOWN_DW_TAG (imported_unit, DW_TAG_imported_unit) \
  ONE_KNOWN_DW_TAG (inheritance, DW_TAG_inheritance) \
  ONE_KNOWN_DW_TAG (inlined_subroutine, DW_TAG_inlined_subroutine) \
  ONE_KNOWN_DW_TAG (interface_type, DW_TAG_interface_type) \
  ONE_KNOWN_DW_TAG (label, DW_TAG_label) \
  ONE_KNOWN_DW_TAG (lexical_block, DW_TAG_lexical_block) \
  ONE_KNOWN_DW_TAG (member, DW_TAG_member) \
  ONE_KNOWN_DW_TAG (module, DW_TAG_module) \
  ONE_KNOWN_DW_TAG (namelist, DW_TAG_namelist) \
  ONE_KNOWN_DW_TAG (namelist_item, DW_TAG_namelist_item) \
  ONE_KNOWN_DW_TAG (namespace, DW_TAG_namespace) \
  ONE_KNOWN_DW_TAG (packed_type, DW_TAG_packed_type) \
  ONE_KNOWN_DW_TAG (partial_unit, DW_TAG_partial_unit) \
  ONE_KNOWN_DW_TAG (pointer_type, DW_TAG_pointer_type) \
  ONE_KNOWN_DW_TAG (ptr_to_member_type, DW_TAG_ptr_to_member_type) \
  ONE_KNOWN_DW_TAG (reference_type, DW_TAG_reference_type) \
  ONE_KNOWN_DW_TAG (restrict_type, DW_TAG_restrict_type) \
  ONE_KNOWN_DW_TAG (rvalue_reference_type, DW_TAG_rvalue_reference_type) \
  ONE_KNOWN_DW_TAG (set_type, DW_TAG_set_type) \
  ONE_KNOWN_DW_TAG (shared_type, DW_TAG_shared_type) \
  ONE_KNOWN_DW_TAG (string_type, DW_TAG_string_type) \
  ONE_KNOWN_DW_TAG (structure_type, DW_TAG_structure_type) \
  ONE_KNOWN_DW_TAG (subprogram, DW_TAG_subprogram) \
  ONE_KNOWN_DW_TAG (subrange_type, DW_TAG_subrange_type) \
  ONE_KNOWN_DW_TAG (subroutine_type, DW_TAG_subroutine_type) \
  ONE_KNOWN_DW_TAG (template_alias, DW_TAG_template_alias) \
  ONE_KNOWN_DW_TAG (template_type_parameter, DW_TAG_template_type_parameter) \
  ONE_KNOWN_DW_TAG (template_value_parameter, DW_TAG_template_value_parameter) \
  ONE_KNOWN_DW_TAG (thrown_type, DW_TAG_thrown_type) \
  ONE_KNOWN_DW_TAG (try_block, DW_TAG_try_block) \
  ONE_KNOWN_DW_TAG (type_unit, DW_TAG_type_unit) \
  ONE_KNOWN_DW_TAG (typedef, DW_TAG_typedef) \
  ONE_KNOWN_DW_TAG (union_type, DW_TAG_union_type) \
  ONE_KNOWN_DW_TAG (unspecified_parameters, DW_TAG_unspecified_parameters) \
  ONE_KNOWN_DW_TAG (unspecified_type, DW_TAG_unspecified_type) \
  ONE_KNOWN_DW_TAG (variable, DW_TAG_variable) \
  ONE_KNOWN_DW_TAG (variant, DW_TAG_variant) \
  ONE_KNOWN_DW_TAG (variant_part, DW_TAG_variant_part) \
  ONE_KNOWN_DW_TAG (volatile_type, DW_TAG_volatile_type) \
  ONE_KNOWN_DW_TAG (with_stmt, DW_TAG_with_stmt) \
  /* End of DW_TAG_*.  */

#define ALL_KNOWN_DW_VIRTUALITY \
  ONE_KNOWN_DW_VIRTUALITY (none, DW_VIRTUALITY_none) \
  ONE_KNOWN_DW_VIRTUALITY (pure_virtual, DW_VIRTUALITY_pure_virtual) \
  ONE_KNOWN_DW_VIRTUALITY (virtual, DW_VIRTUALITY_virtual) \
  /* End of DW_VIRTUALITY_*.  */

#define ALL_KNOWN_DW_VIS \
  ONE_KNOWN_DW_VIS (exported, DW_VIS_exported) \
  ONE_KNOWN_DW_VIS (local, DW_VIS_local) \
  ONE_KNOWN_DW_VIS (qualified, DW_VIS_qualified) \
  /* End of DW_VIS_*.  */
