Read macro info from .debug_macro section and use it for expression evaluation.
authorSiva Chandra <sivachandra@google.com>
Wed, 16 Dec 2015 00:22:08 +0000 (00:22 +0000)
committerSiva Chandra <sivachandra@google.com>
Wed, 16 Dec 2015 00:22:08 +0000 (00:22 +0000)
commitd8335e9ab419fd75c34acf8d44f234b92df7b8b0
treee95e105a7d0b93f9af2585ada43f3ac29eb3b312
parentd8f719fa1cab1c99e58c080ea19b9d7043163749
Read macro info from .debug_macro section and use it for expression evaluation.

Summary:
DWARF 5 proposes a reinvented .debug_macro section. This change follows
that spec.

Currently, only GCC produces the .debug_macro section and hence
the added test is annottated with expectedFailureClang.

Reviewers: spyffe, clayborg, tberghammer

Subscribers: lldb-commits

Differential Revision: http://reviews.llvm.org/D15437

llvm-svn: 255729
29 files changed:
lldb/include/lldb/Symbol/CompileUnit.h
lldb/include/lldb/Symbol/DebugMacros.h [new file with mode: 0644]
lldb/include/lldb/Symbol/SymbolFile.h
lldb/include/lldb/Symbol/SymbolVendor.h
lldb/include/lldb/lldb-enumerations.h
lldb/packages/Python/lldbsuite/test/expression_command/macros/Makefile [new file with mode: 0644]
lldb/packages/Python/lldbsuite/test/expression_command/macros/TestMacros.py [new file with mode: 0644]
lldb/packages/Python/lldbsuite/test/expression_command/macros/macro1.h [new file with mode: 0644]
lldb/packages/Python/lldbsuite/test/expression_command/macros/macro2.h [new file with mode: 0644]
lldb/packages/Python/lldbsuite/test/expression_command/macros/main.cpp [new file with mode: 0644]
lldb/packages/Python/lldbsuite/test/make/Makefile.rules
lldb/source/Expression/ExpressionSourceCode.cpp
lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
lldb/source/Plugins/SymbolFile/DWARF/CMakeLists.txt
lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugMacro.cpp [new file with mode: 0644]
lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugMacro.h [new file with mode: 0644]
lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h
lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.cpp
lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARFDebugMap.h
lldb/source/Plugins/SymbolFile/Symtab/SymbolFileSymtab.cpp
lldb/source/Plugins/SymbolFile/Symtab/SymbolFileSymtab.h
lldb/source/Symbol/CMakeLists.txt
lldb/source/Symbol/CompileUnit.cpp
lldb/source/Symbol/DebugMacros.cpp [new file with mode: 0644]
lldb/source/Symbol/ObjectFile.cpp
lldb/source/Symbol/SymbolVendor.cpp
lldb/source/Utility/ConvertEnum.cpp