From 91bd9db2cdbc12176c3a058d407ef58ced30ea23 Mon Sep 17 00:00:00 2001 From: David Stenberg Date: Tue, 11 Aug 2020 10:54:52 +0200 Subject: [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 --- llvm/lib/BinaryFormat/Dwarf.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'llvm/lib/BinaryFormat/Dwarf.cpp') 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(MacroString) #define HANDLE_DW_MACRO(ID, NAME) .Case("DW_MACRO_" #NAME, ID) -- cgit v1.1