|
11 | 11 | //===----------------------------------------------------------------------===//
|
12 | 12 |
|
13 | 13 | // TODO: Add other DW-based macros.
|
14 |
| -#if !( \ |
15 |
| - defined HANDLE_DW_TAG || defined HANDLE_DW_AT || defined HANDLE_DW_FORM || \ |
16 |
| - defined HANDLE_DW_OP || defined HANDLE_DW_OP_LLVM_USEROP || \ |
17 |
| - defined HANDLE_DW_LANG || defined HANDLE_DW_ATE || \ |
18 |
| - defined HANDLE_DW_VIRTUALITY || defined HANDLE_DW_DEFAULTED || \ |
19 |
| - defined HANDLE_DW_CC || defined HANDLE_DW_LNS || defined HANDLE_DW_LNE || \ |
20 |
| - defined HANDLE_DW_LNCT || defined HANDLE_DW_MACRO || \ |
21 |
| - defined HANDLE_DW_MACRO_GNU || defined HANDLE_MACRO_FLAG || \ |
22 |
| - defined HANDLE_DW_RLE || defined HANDLE_DW_LLE || \ |
23 |
| - (defined HANDLE_DW_CFA && defined HANDLE_DW_CFA_PRED) || \ |
24 |
| - defined HANDLE_DW_APPLE_PROPERTY || defined HANDLE_DW_UT || \ |
25 |
| - defined HANDLE_DWARF_SECTION || defined HANDLE_DW_IDX || \ |
26 |
| - defined HANDLE_DW_END || defined HANDLE_DW_SECT) |
| 14 | +#if !(defined HANDLE_DW_TAG || defined HANDLE_DW_AT || \ |
| 15 | + defined HANDLE_DW_FORM || defined HANDLE_DW_OP || \ |
| 16 | + defined HANDLE_DW_OP_LLVM_USEROP || defined HANDLE_DW_LANG || \ |
| 17 | + defined HANDLE_DW_LNAME || defined HANDLE_DW_ATE || \ |
| 18 | + defined HANDLE_DW_VIRTUALITY || defined HANDLE_DW_DEFAULTED || \ |
| 19 | + defined HANDLE_DW_CC || defined HANDLE_DW_LNS || \ |
| 20 | + defined HANDLE_DW_LNE || defined HANDLE_DW_LNCT || \ |
| 21 | + defined HANDLE_DW_MACRO || defined HANDLE_DW_MACRO_GNU || \ |
| 22 | + defined HANDLE_MACRO_FLAG || defined HANDLE_DW_RLE || \ |
| 23 | + defined HANDLE_DW_LLE || \ |
| 24 | + (defined HANDLE_DW_CFA && defined HANDLE_DW_CFA_PRED) || \ |
| 25 | + defined HANDLE_DW_APPLE_PROPERTY || defined HANDLE_DW_UT || \ |
| 26 | + defined HANDLE_DWARF_SECTION || defined HANDLE_DW_IDX || \ |
| 27 | + defined HANDLE_DW_END || defined HANDLE_DW_SECT) |
27 | 28 | #error "Missing macro definition of HANDLE_DW*"
|
28 | 29 | #endif
|
29 | 30 |
|
|
61 | 62 | #define HANDLE_DW_LANG(ID, NAME, LOWER_BOUND, VERSION, VENDOR)
|
62 | 63 | #endif
|
63 | 64 |
|
| 65 | +#ifndef HANDLE_DW_LNAME |
| 66 | +#define HANDLE_DW_LNAME(ID, NAME, DESC, LOWER_BOUND) |
| 67 | +#endif |
| 68 | + |
64 | 69 | #ifndef HANDLE_DW_ATE
|
65 | 70 | #define HANDLE_DW_ATE(ID, NAME, VERSION, VENDOR)
|
66 | 71 | #endif
|
@@ -955,12 +960,81 @@ HANDLE_DW_LANG(0x002c, C17, 0, 0, DWARF)
|
955 | 960 | HANDLE_DW_LANG(0x002d, Fortran18, 0, 0, DWARF)
|
956 | 961 | HANDLE_DW_LANG(0x002e, Ada2005, 0, 0, DWARF)
|
957 | 962 | HANDLE_DW_LANG(0x002f, Ada2012, 0, 0, DWARF)
|
| 963 | +HANDLE_DW_LANG(0x0030, HIP, 0, 0, DWARF) |
| 964 | +HANDLE_DW_LANG(0x0031, Assembly, 0, 0, DWARF) |
| 965 | +HANDLE_DW_LANG(0x0032, C_sharp, 0, 0, DWARF) |
958 | 966 | HANDLE_DW_LANG(0x0033, Mojo, 0, 0, DWARF)
|
| 967 | +HANDLE_DW_LANG(0x0034, GLSL, 0, 0, DWARF) |
| 968 | +HANDLE_DW_LANG(0x0035, GLSL_ES, 0, 0, DWARF) |
| 969 | +HANDLE_DW_LANG(0x0036, HLSL, 0, 0, DWARF) |
| 970 | +HANDLE_DW_LANG(0x0037, OpenCL_CPP, 0, 0, DWARF) |
| 971 | +HANDLE_DW_LANG(0x0038, CPP_for_OpenCL, 0, 0, DWARF) |
| 972 | +HANDLE_DW_LANG(0x0039, SYCL, 0, 0, DWARF) |
| 973 | +HANDLE_DW_LANG(0x0040, Ruby, 0, 0, DWARF) |
| 974 | +HANDLE_DW_LANG(0x0041, Move, 0, 0, DWARF) |
| 975 | +HANDLE_DW_LANG(0x0042, Hylo, 0, 0, DWARF) |
| 976 | + |
959 | 977 | // Vendor extensions:
|
960 | 978 | HANDLE_DW_LANG(0x8001, Mips_Assembler, std::nullopt, 0, MIPS)
|
961 | 979 | HANDLE_DW_LANG(0x8e57, GOOGLE_RenderScript, 0, 0, GOOGLE)
|
962 | 980 | HANDLE_DW_LANG(0xb000, BORLAND_Delphi, 0, 0, BORLAND)
|
963 | 981 |
|
| 982 | +// Tentative DWARF 6 language codes. This list is subject to change. |
| 983 | +HANDLE_DW_LNAME(0x0001, Ada, "ISO Ada", 1) // YYYY |
| 984 | +HANDLE_DW_LNAME(0x0002, BLISS, "BLISS", 0) |
| 985 | +// YYYYMM |
| 986 | +// K&R 000000 |
| 987 | +// C89 198912 |
| 988 | +// C99 199901 |
| 989 | +// C11 201112 |
| 990 | +// C17 201710 |
| 991 | +// C23 202311 |
| 992 | +HANDLE_DW_LNAME(0x0003, C, "C (K&R and ISO)", 0) |
| 993 | +// YYYYMM |
| 994 | +// C++98 199711 |
| 995 | +// C++03 200310 |
| 996 | +// C++11 201103 |
| 997 | +// C++14 201402 |
| 998 | +// C++17 201703 |
| 999 | +// C++20 202002 |
| 1000 | +HANDLE_DW_LNAME(0x0004, C_plus_plus, "ISO C++", 0) |
| 1001 | +HANDLE_DW_LNAME(0x0005, Cobol, "ISO Cobol", 1) // YYYY |
| 1002 | +HANDLE_DW_LNAME(0x0006, Crystal, "Crystal", 0) |
| 1003 | +HANDLE_DW_LNAME(0x0007, D, "D", 0) |
| 1004 | +HANDLE_DW_LNAME(0x0008, Dylan, "Dylan", 0) |
| 1005 | +HANDLE_DW_LNAME(0x0009, Fortran, "ISO Fortran", 1) // YYYY |
| 1006 | +HANDLE_DW_LNAME(0x000a, Go, "Go", 0) |
| 1007 | +HANDLE_DW_LNAME(0x000b, Haskell, "Haskell", 0) |
| 1008 | +HANDLE_DW_LNAME(0x000c, Java, "Java", 0) |
| 1009 | +HANDLE_DW_LNAME(0x000d, Julia, "Julia", 1) |
| 1010 | +HANDLE_DW_LNAME(0x000e, Kotlin, "Kotlin", 0) |
| 1011 | +HANDLE_DW_LNAME(0x000f, Modula2, "Modula 2", 1) |
| 1012 | +HANDLE_DW_LNAME(0x0010, Modula3, "Modula 3", 1) |
| 1013 | +HANDLE_DW_LNAME(0x0011, ObjC, "Objective C", 0) // YYYYMM |
| 1014 | +HANDLE_DW_LNAME(0x0012, ObjC_plus_plus, "Objective C++", 0) // YYYYMM |
| 1015 | +HANDLE_DW_LNAME(0x0013, OCaml, "OCaml", 0) |
| 1016 | +HANDLE_DW_LNAME(0x0014, OpenCL_C, "OpenCL C", 0) |
| 1017 | +HANDLE_DW_LNAME(0x0015, Pascal, "ISO Pascal", 1) // YYYY |
| 1018 | +HANDLE_DW_LNAME(0x0016, PLI, "ANSI PL/I", 1) |
| 1019 | +HANDLE_DW_LNAME(0x0017, Python, "Python", 0) |
| 1020 | +HANDLE_DW_LNAME(0x0018, RenderScript, "RenderScript Kernel Language", 0) |
| 1021 | +HANDLE_DW_LNAME(0x0019, Rust, "Rust", 0) |
| 1022 | +HANDLE_DW_LNAME(0x001a, Swift, "Swift", 0) // VVMM |
| 1023 | +HANDLE_DW_LNAME(0x001b, UPC, "Unified Parallel C (UPC)", 0) |
| 1024 | +HANDLE_DW_LNAME(0x001c, Zig, "Zig", 0) |
| 1025 | +HANDLE_DW_LNAME(0x001d, Assembly, "Assembly", 0) |
| 1026 | +// Conflict: HANDLE_DW_LNAME(0x001d, HIP, "HIP", 0) |
| 1027 | +HANDLE_DW_LNAME(0x001e, C_sharp, "C#", 0) |
| 1028 | +HANDLE_DW_LNAME(0x001f, Mojo, "Mojo", 0) |
| 1029 | +HANDLE_DW_LNAME(0x0020, GLSL, "OpenGL Shading Language", 0) // VVMMPP |
| 1030 | +HANDLE_DW_LNAME(0x0021, GLSL_ES, "OpenGL ES Shading Language", 0) // VVMMPP |
| 1031 | +HANDLE_DW_LNAME(0x0022, HLSL, "High Level Shading Language", 0) // YYYY |
| 1032 | +HANDLE_DW_LNAME(0x0023, OpenCL_CPP, "OpenCL C++", 0) // VVMM |
| 1033 | +HANDLE_DW_LNAME(0x0024, CPP_for_OpenCL, "C++ for OpenCL", 0) // VVMM |
| 1034 | +HANDLE_DW_LNAME(0x0025, SYCL, "SYCL", 0) // YYYYRR |
| 1035 | +HANDLE_DW_LNAME(0x0026, Ruby, "Ruby", 0) // VVMMPP |
| 1036 | +HANDLE_DW_LNAME(0x0027, Move, "Move", 0) // YYYYMM |
| 1037 | +HANDLE_DW_LNAME(0x0028, Hylo, "Hylo", 0) |
964 | 1038 |
|
965 | 1039 | // DWARF attribute type encodings.
|
966 | 1040 | HANDLE_DW_ATE(0x01, address, 2, DWARF)
|
@@ -1272,6 +1346,7 @@ HANDLE_DW_SECT(8, RNGLISTS)
|
1272 | 1346 | #undef HANDLE_DW_OP
|
1273 | 1347 | #undef HANDLE_DW_OP_LLVM_USEROP
|
1274 | 1348 | #undef HANDLE_DW_LANG
|
| 1349 | +#undef HANDLE_DW_LNAME |
1275 | 1350 | #undef HANDLE_DW_ATE
|
1276 | 1351 | #undef HANDLE_DW_VIRTUALITY
|
1277 | 1352 | #undef HANDLE_DW_DEFAULTED
|
|
0 commit comments