summaryrefslogtreecommitdiffstats
path: root/lldb/source/Plugins/SymbolFile
diff options
context:
space:
mode:
authorRaphael Isemann <teemperor@gmail.com>2019-12-09 10:27:32 +0100
committerRaphael Isemann <teemperor@gmail.com>2019-12-09 10:46:26 +0100
commitd0fb7a478df19b78b58bf8778e9f046903115035 (patch)
treeefcf185c3887eecd37c460fe9cb7ed4e2c16a828 /lldb/source/Plugins/SymbolFile
parentf3696533f2246653774f85f49269f5059fb3fe65 (diff)
downloadbcm5719-llvm-d0fb7a478df19b78b58bf8778e9f046903115035.tar.gz
bcm5719-llvm-d0fb7a478df19b78b58bf8778e9f046903115035.zip
[lldb] Support for DWARF-5 atomic types
Summary: This patch adds support for atomic types (DW_TAG_atomic_type) to LLDB. It's mostly just filling out all the switch-statements that didn't implement Atomic case with the usual boilerplate. Thanks Pavel for writing the test case. Reviewers: labath, aprantl, shafik Reviewed By: labath Subscribers: jfb, abidh, JDevlieghere, lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D71183
Diffstat (limited to 'lldb/source/Plugins/SymbolFile')
-rw-r--r--lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp b/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
index 09f5b28449c..002d373a5d9 100644
--- a/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
+++ b/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
@@ -474,6 +474,7 @@ TypeSP DWARFASTParserClang::ParseTypeFromDWARF(const SymbolContext &sc,
case DW_TAG_const_type:
case DW_TAG_restrict_type:
case DW_TAG_volatile_type:
+ case DW_TAG_atomic_type:
case DW_TAG_unspecified_type: {
type_sp = ParseTypeModifier(sc, die, attrs);
break;
@@ -618,6 +619,9 @@ DWARFASTParserClang::ParseTypeModifier(const SymbolContext &sc,
case DW_TAG_volatile_type:
encoding_data_type = Type::eEncodingIsVolatileUID;
break;
+ case DW_TAG_atomic_type:
+ encoding_data_type = Type::eEncodingIsAtomicUID;
+ break;
}
if (!clang_type && (encoding_data_type == Type::eEncodingIsPointerUID ||
OpenPOWER on IntegriCloud