mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-02-01 13:11:39 +01:00
Support: Rewrite dwarf::LanguageString(), NFC
llvm-svn: 228457
This commit is contained in:
parent
77ed02eb3f
commit
b69d0ef5cb
@ -12,10 +12,18 @@
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
// TODO: Add other DW-based macros.
|
||||
#if !defined HANDLE_DW_TAG
|
||||
#if !(defined HANDLE_DW_TAG || defined HANDLE_DW_LANG)
|
||||
#error "Missing macro definition of HANDLE_DW*"
|
||||
#endif
|
||||
|
||||
#ifndef HANDLE_DW_TAG
|
||||
#define HANDLE_DW_TAG(ID, NAME)
|
||||
#endif
|
||||
|
||||
#ifndef HANDLE_DW_LANG
|
||||
#define HANDLE_DW_LANG(ID, NAME)
|
||||
#endif
|
||||
|
||||
HANDLE_DW_TAG(0x0001, array_type)
|
||||
HANDLE_DW_TAG(0x0002, class_type)
|
||||
HANDLE_DW_TAG(0x0003, entry_point)
|
||||
@ -97,4 +105,37 @@ HANDLE_DW_TAG(0x4107, GNU_template_parameter_pack)
|
||||
HANDLE_DW_TAG(0x4108, GNU_formal_parameter_pack)
|
||||
HANDLE_DW_TAG(0x4200, APPLE_property)
|
||||
|
||||
// DWARF languages.
|
||||
HANDLE_DW_LANG(0x0001, C89)
|
||||
HANDLE_DW_LANG(0x0002, C)
|
||||
HANDLE_DW_LANG(0x0003, Ada83)
|
||||
HANDLE_DW_LANG(0x0004, C_plus_plus)
|
||||
HANDLE_DW_LANG(0x0005, Cobol74)
|
||||
HANDLE_DW_LANG(0x0006, Cobol85)
|
||||
HANDLE_DW_LANG(0x0007, Fortran77)
|
||||
HANDLE_DW_LANG(0x0008, Fortran90)
|
||||
HANDLE_DW_LANG(0x0009, Pascal83)
|
||||
HANDLE_DW_LANG(0x000a, Modula2)
|
||||
HANDLE_DW_LANG(0x000b, Java)
|
||||
HANDLE_DW_LANG(0x000c, C99)
|
||||
HANDLE_DW_LANG(0x000d, Ada95)
|
||||
HANDLE_DW_LANG(0x000e, Fortran95)
|
||||
HANDLE_DW_LANG(0x000f, PLI)
|
||||
HANDLE_DW_LANG(0x0010, ObjC)
|
||||
HANDLE_DW_LANG(0x0011, ObjC_plus_plus)
|
||||
HANDLE_DW_LANG(0x0012, UPC)
|
||||
HANDLE_DW_LANG(0x0013, D)
|
||||
|
||||
// New in DWARF 5:
|
||||
HANDLE_DW_LANG(0x0014, Python)
|
||||
HANDLE_DW_LANG(0x0015, OpenCL)
|
||||
HANDLE_DW_LANG(0x0016, Go)
|
||||
HANDLE_DW_LANG(0x0017, Modula3)
|
||||
HANDLE_DW_LANG(0x0018, Haskell)
|
||||
HANDLE_DW_LANG(0x0019, C_plus_plus_03)
|
||||
HANDLE_DW_LANG(0x001a, C_plus_plus_11)
|
||||
HANDLE_DW_LANG(0x001b, OCaml)
|
||||
HANDLE_DW_LANG(0x8001, Mips_Assembler)
|
||||
|
||||
#undef HANDLE_DW_TAG
|
||||
#undef HANDLE_DW_LANG
|
||||
|
@ -516,38 +516,9 @@ enum VirtualityAttribute {
|
||||
};
|
||||
|
||||
enum SourceLanguage {
|
||||
// Language names
|
||||
DW_LANG_C89 = 0x0001,
|
||||
DW_LANG_C = 0x0002,
|
||||
DW_LANG_Ada83 = 0x0003,
|
||||
DW_LANG_C_plus_plus = 0x0004,
|
||||
DW_LANG_Cobol74 = 0x0005,
|
||||
DW_LANG_Cobol85 = 0x0006,
|
||||
DW_LANG_Fortran77 = 0x0007,
|
||||
DW_LANG_Fortran90 = 0x0008,
|
||||
DW_LANG_Pascal83 = 0x0009,
|
||||
DW_LANG_Modula2 = 0x000a,
|
||||
DW_LANG_Java = 0x000b,
|
||||
DW_LANG_C99 = 0x000c,
|
||||
DW_LANG_Ada95 = 0x000d,
|
||||
DW_LANG_Fortran95 = 0x000e,
|
||||
DW_LANG_PLI = 0x000f,
|
||||
DW_LANG_ObjC = 0x0010,
|
||||
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,
|
||||
|
||||
#define HANDLE_DW_LANG(ID, NAME) DW_LANG_##NAME = ID,
|
||||
#include "llvm/Support/Dwarf.def"
|
||||
DW_LANG_lo_user = 0x8000,
|
||||
DW_LANG_Mips_Assembler = 0x8001,
|
||||
DW_LANG_hi_user = 0xffff
|
||||
};
|
||||
|
||||
|
@ -480,36 +480,13 @@ const char *llvm::dwarf::VirtualityString(unsigned Virtuality) {
|
||||
|
||||
const char *llvm::dwarf::LanguageString(unsigned Language) {
|
||||
switch (Language) {
|
||||
case DW_LANG_C89: return "DW_LANG_C89";
|
||||
case DW_LANG_C: return "DW_LANG_C";
|
||||
case DW_LANG_Ada83: return "DW_LANG_Ada83";
|
||||
case DW_LANG_C_plus_plus: return "DW_LANG_C_plus_plus";
|
||||
case DW_LANG_Cobol74: return "DW_LANG_Cobol74";
|
||||
case DW_LANG_Cobol85: return "DW_LANG_Cobol85";
|
||||
case DW_LANG_Fortran77: return "DW_LANG_Fortran77";
|
||||
case DW_LANG_Fortran90: return "DW_LANG_Fortran90";
|
||||
case DW_LANG_Pascal83: return "DW_LANG_Pascal83";
|
||||
case DW_LANG_Modula2: return "DW_LANG_Modula2";
|
||||
case DW_LANG_Java: return "DW_LANG_Java";
|
||||
case DW_LANG_C99: return "DW_LANG_C99";
|
||||
case DW_LANG_Ada95: return "DW_LANG_Ada95";
|
||||
case DW_LANG_Fortran95: return "DW_LANG_Fortran95";
|
||||
case DW_LANG_PLI: return "DW_LANG_PLI";
|
||||
case DW_LANG_ObjC: return "DW_LANG_ObjC";
|
||||
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_Mips_Assembler: return "DW_LANG_Mips_Assembler";
|
||||
default:
|
||||
return nullptr;
|
||||
#define HANDLE_DW_LANG(ID, NAME) \
|
||||
case DW_LANG_##NAME: \
|
||||
return "DW_LANG_" #NAME;
|
||||
#include "llvm/Support/Dwarf.def"
|
||||
}
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
const char *llvm::dwarf::CaseString(unsigned Case) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user