diff options
Diffstat (limited to 'lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h')
| -rw-r--r-- | lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h | 32 |
1 files changed, 13 insertions, 19 deletions
diff --git a/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h b/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h index 5ebb60e1367..4551d6ef56b 100644 --- a/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h +++ b/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h @@ -151,22 +151,16 @@ public: clang::DeclarationName Name, llvm::SmallVectorImpl <clang::NamedDecl *> *results); - static bool - LayoutRecordType (void *baton, - const clang::RecordDecl *record_decl, - uint64_t &size, - uint64_t &alignment, - llvm::DenseMap <const clang::FieldDecl *, uint64_t> &field_offsets, - llvm::DenseMap <const clang::CXXRecordDecl *, clang::CharUnits> &base_offsets, - llvm::DenseMap <const clang::CXXRecordDecl *, clang::CharUnits> &vbase_offsets); - - bool - LayoutRecordType (const clang::RecordDecl *record_decl, - uint64_t &size, - uint64_t &alignment, - llvm::DenseMap <const clang::FieldDecl *, uint64_t> &field_offsets, - llvm::DenseMap <const clang::CXXRecordDecl *, clang::CharUnits> &base_offsets, - llvm::DenseMap <const clang::CXXRecordDecl *, clang::CharUnits> &vbase_offsets); + static bool + LayoutRecordType(void *baton, const clang::RecordDecl *record_decl, uint64_t &size, uint64_t &alignment, + std::vector<std::pair<const clang::FieldDecl *, uint64_t>> &FieldOffsets, + std::vector<std::pair<const clang::CXXRecordDecl *, clang::CharUnits>> &BaseOffsets, + std::vector<std::pair<const clang::CXXRecordDecl *, clang::CharUnits>> &VirtualBaseOffsets); + + bool LayoutRecordType(const clang::RecordDecl *record_decl, uint64_t &size, uint64_t &alignment, + std::vector<std::pair<const clang::FieldDecl *, uint64_t>> &FieldOffsets, + std::vector<std::pair<const clang::CXXRecordDecl *, clang::CharUnits>> &BaseOffsets, + std::vector<std::pair<const clang::CXXRecordDecl *, clang::CharUnits>> &VirtualBaseOffsets); struct LayoutInfo { @@ -180,9 +174,9 @@ public: } uint64_t bit_size; uint64_t alignment; - llvm::DenseMap <const clang::FieldDecl *, uint64_t> field_offsets; - llvm::DenseMap <const clang::CXXRecordDecl *, clang::CharUnits> base_offsets; - llvm::DenseMap <const clang::CXXRecordDecl *, clang::CharUnits> vbase_offsets; + std::vector<std::pair<const clang::FieldDecl *, uint64_t>> field_offsets; + std::vector<std::pair<const clang::CXXRecordDecl *, clang::CharUnits>> base_offsets; + std::vector<std::pair<const clang::CXXRecordDecl *, clang::CharUnits>> vbase_offsets; }; //------------------------------------------------------------------ // PluginInterface protocol |

