aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/BinaryFormat/Dwarf.cpp
diff options
context:
space:
mode:
authorDavid Stenberg <david.stenberg@ericsson.com>2020-08-11 10:54:52 +0200
committerDavid Stenberg <david.stenberg@ericsson.com>2020-08-11 13:30:52 +0200
commit91bd9db2cdbc12176c3a058d407ef58ced30ea23 (patch)
treea2185f04e6e9b848d0daf7a61d49ecd703e495ca /llvm/lib/BinaryFormat/Dwarf.cpp
parent2892ed6d0fa9545df8c2d846a1fdaa948c4571d9 (diff)
downloadllvm-91bd9db2cdbc12176c3a058d407ef58ced30ea23.zip
llvm-91bd9db2cdbc12176c3a058d407ef58ced30ea23.tar.gz
llvm-91bd9db2cdbc12176c3a058d407ef58ced30ea23.tar.bz2
[DebugInfo] Allow GNU macro extension to be read
Allow the GNU .debug_macro extension to be parsed and printed by llvm-dwarfdump. In an upcoming patch support will be added for emitting that format also. Reviewed By: dblaikie Differential Revision: https://reviews.llvm.org/D82974
Diffstat (limited to 'llvm/lib/BinaryFormat/Dwarf.cpp')
-rw-r--r--llvm/lib/BinaryFormat/Dwarf.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/llvm/lib/BinaryFormat/Dwarf.cpp b/llvm/lib/BinaryFormat/Dwarf.cpp
index a497c16..a35ef61 100644
--- a/llvm/lib/BinaryFormat/Dwarf.cpp
+++ b/llvm/lib/BinaryFormat/Dwarf.cpp
@@ -488,6 +488,17 @@ StringRef llvm::dwarf::MacroString(unsigned Encoding) {
}
}
+StringRef llvm::dwarf::GnuMacroString(unsigned Encoding) {
+ switch (Encoding) {
+ default:
+ return StringRef();
+#define HANDLE_DW_MACRO_GNU(ID, NAME) \
+ case DW_MACRO_GNU_##NAME: \
+ return "DW_MACRO_GNU_" #NAME;
+#include "llvm/BinaryFormat/Dwarf.def"
+ }
+}
+
unsigned llvm::dwarf::getMacro(StringRef MacroString) {
return StringSwitch<unsigned>(MacroString)
#define HANDLE_DW_MACRO(ID, NAME) .Case("DW_MACRO_" #NAME, ID)