Pull in a couple of new constants from the upcoming DWARF 5 standard.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@197611 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Adrian Prantl 2013-12-18 21:48:14 +00:00
parent 3fbf1a6989
commit f5d3392e50
2 changed files with 49 additions and 1 deletions

View File

@ -41,7 +41,7 @@ namespace dwarf {
//===----------------------------------------------------------------------===//
// Dwarf constants as gleaned from the DWARF Debugging Information Format V.4
// reference manual http://dwarf.freestandards.org.
// reference manual http://www.dwarfstd.org/.
//
// Do not mix the following two enumerations sets. DW_TAG_invalid changes the
@ -129,6 +129,12 @@ enum Tag LLVM_ENUM_INT_TYPE(uint16_t) {
DW_TAG_type_unit = 0x41,
DW_TAG_rvalue_reference_type = 0x42,
DW_TAG_template_alias = 0x43,
// New in DWARF 5:
DW_TAG_coarray_type = 0x44,
DW_TAG_generic_subrange = 0x45,
DW_TAG_dynamic_type = 0x46,
DW_TAG_MIPS_loop = 0x4081,
DW_TAG_format_label = 0x4101,
DW_TAG_function_template = 0x4102,
@ -264,6 +270,18 @@ enum Attribute LLVM_ENUM_INT_TYPE(uint16_t) {
DW_AT_enum_class = 0x6d,
DW_AT_linkage_name = 0x6e,
// New in DWARF 5:
DW_AT_string_length_bit_size = 0x6f,
DW_AT_string_length_byte_size = 0x70,
DW_AT_rank = 0x71,
DW_AT_str_offsets_base = 0x72,
DW_AT_addr_base = 0x73,
DW_AT_ranges_base = 0x74,
DW_AT_dwo_id = 0x75,
DW_AT_dwo_name = 0x76,
DW_AT_reference = 0x77,
DW_AT_rvalue_reference = 0x78,
DW_AT_lo_user = 0x2000,
DW_AT_hi_user = 0x3fff,
@ -605,7 +623,16 @@ enum SourceLanguage {
DW_LANG_ObjC_plus_plus = 0x0011,
DW_LANG_UPC = 0x0012,
DW_LANG_D = 0x0013,
// New in DWARF 5:
DW_LANG_Python = 0x0014,
DW_LANG_OpenCL = 0x0015,
DW_LANG_Go = 0x0016,
DW_LANG_Modula3 = 0x0017,
DW_LANG_Haskell = 0x0018,
DW_LANG_C_plus_plus_03 = 0x0019,
DW_LANG_C_plus_plus_11 = 0x001a,
DW_LANG_OCaml = 0x001b,
DW_LANG_lo_user = 0x8000,
DW_LANG_Mips_Assembler = 0x8001,
DW_LANG_hi_user = 0xffff

View File

@ -84,6 +84,9 @@ const char *llvm::dwarf::TagString(unsigned Tag) {
case DW_TAG_arg_variable: return "DW_TAG_arg_variable";
case DW_TAG_rvalue_reference_type: return "DW_TAG_rvalue_reference_type";
case DW_TAG_template_alias: return "DW_TAG_template_alias";
case DW_TAG_coarray_type: return "DW_TAG_coarray_type";
case DW_TAG_generic_subrange: return "DW_TAG_generic_subrange";
case DW_TAG_dynamic_type: return "DW_TAG_generic_subrange";
case DW_TAG_MIPS_loop: return "DW_TAG_MIPS_loop";
case DW_TAG_type_unit: return "DW_TAG_type_unit";
case DW_TAG_format_label: return "DW_TAG_format_label";
@ -206,6 +209,16 @@ const char *llvm::dwarf::AttributeString(unsigned Attribute) {
case DW_AT_const_expr: return "DW_AT_const_expr";
case DW_AT_enum_class: return "DW_AT_enum_class";
case DW_AT_linkage_name: return "DW_AT_linkage_name";
case DW_AT_string_length_bit_size: return "DW_AT_string_length_bit_size";
case DW_AT_string_length_byte_size: return "DW_AT_string_length_byte_size";
case DW_AT_rank: return "DW_AT_rank";
case DW_AT_str_offsets_base: return "DW_AT_str_offsets_base";
case DW_AT_addr_base: return "DW_AT_addr_base";
case DW_AT_ranges_base: return "DW_AT_ranges_base";
case DW_AT_dwo_id: return "DW_AT_dwo_id";
case DW_AT_dwo_name: return "DW_AT_dwo_name";
case DW_AT_reference: return "DW_AT_reference";
case DW_AT_rvalue_reference: return "DW_AT_rvalue_reference";
case DW_AT_MIPS_loop_begin: return "DW_AT_MIPS_loop_begin";
case DW_AT_MIPS_tail_loop_begin: return "DW_AT_MIPS_tail_loop_begin";
case DW_AT_MIPS_epilog_begin: return "DW_AT_MIPS_epilog_begin";
@ -576,6 +589,14 @@ const char *llvm::dwarf::LanguageString(unsigned Language) {
case DW_LANG_ObjC_plus_plus: return "DW_LANG_ObjC_plus_plus";
case DW_LANG_UPC: return "DW_LANG_UPC";
case DW_LANG_D: return "DW_LANG_D";
case DW_LANG_Python: return "DW_LANG_Python";
case DW_LANG_OpenCL: return "DW_LANG_OpenCL";
case DW_LANG_Go: return "DW_LANG_Go";
case DW_LANG_Modula3: return "DW_LANG_Modula3";
case DW_LANG_Haskell: return "DW_LANG_Haskell";
case DW_LANG_C_plus_plus_03: return "DW_LANG_C_plus_plus_03";
case DW_LANG_C_plus_plus_11: return "DW_LANG_C_plus_plus_11";
case DW_LANG_OCaml: return "DW_LANG_OCaml";
case DW_LANG_lo_user: return "DW_LANG_lo_user";
case DW_LANG_hi_user: return "DW_LANG_hi_user";
}