[PATCH] D43638: [PDB] Check the result of setLoadAddress()
Aaron Smith via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Feb 22 10:57:17 PST 2018
asmith created this revision.
asmith added reviewers: zturner, llvm-commits.
Change setLoadAddress() to return true or false on failure.
Repository:
rL LLVM
https://reviews.llvm.org/D43638
Files:
include/llvm/DebugInfo/PDB/DIA/DIASession.h
include/llvm/DebugInfo/PDB/IPDBSession.h
include/llvm/DebugInfo/PDB/Native/NativeSession.h
lib/DebugInfo/PDB/DIA/DIASession.cpp
lib/DebugInfo/PDB/Native/NativeSession.cpp
unittests/DebugInfo/PDB/PDBApiTest.cpp
Index: unittests/DebugInfo/PDB/PDBApiTest.cpp
===================================================================
--- unittests/DebugInfo/PDB/PDBApiTest.cpp
+++ unittests/DebugInfo/PDB/PDBApiTest.cpp
@@ -63,7 +63,7 @@
class MockSession : public IPDBSession {
uint64_t getLoadAddress() const override { return 0; }
- void setLoadAddress(uint64_t Address) override {}
+ bool setLoadAddress(uint64_t Address) override { return false; }
std::unique_ptr<PDBSymbolExe> getGlobalScope() override { return nullptr; }
std::unique_ptr<PDBSymbol> getSymbolById(uint32_t SymbolId) const override {
return nullptr;
Index: lib/DebugInfo/PDB/Native/NativeSession.cpp
===================================================================
--- lib/DebugInfo/PDB/Native/NativeSession.cpp
+++ lib/DebugInfo/PDB/Native/NativeSession.cpp
@@ -165,7 +165,7 @@
uint64_t NativeSession::getLoadAddress() const { return 0; }
-void NativeSession::setLoadAddress(uint64_t Address) {}
+bool NativeSession::setLoadAddress(uint64_t Address) { return false; }
std::unique_ptr<PDBSymbolExe> NativeSession::getGlobalScope() {
const auto Id = static_cast<SymIndexId>(SymbolCache.size());
Index: lib/DebugInfo/PDB/DIA/DIASession.cpp
===================================================================
--- lib/DebugInfo/PDB/DIA/DIASession.cpp
+++ lib/DebugInfo/PDB/DIA/DIASession.cpp
@@ -148,8 +148,8 @@
return (success) ? LoadAddress : 0;
}
-void DIASession::setLoadAddress(uint64_t Address) {
- Session->put_loadAddress(Address);
+bool DIASession::setLoadAddress(uint64_t Address) {
+ return (S_OK == Session->put_loadAddress(Address));
}
std::unique_ptr<PDBSymbolExe> DIASession::getGlobalScope() {
Index: include/llvm/DebugInfo/PDB/Native/NativeSession.h
===================================================================
--- include/llvm/DebugInfo/PDB/Native/NativeSession.h
+++ include/llvm/DebugInfo/PDB/Native/NativeSession.h
@@ -49,7 +49,7 @@
SymIndexId findSymbolByTypeIndex(codeview::TypeIndex TI);
uint64_t getLoadAddress() const override;
- void setLoadAddress(uint64_t Address) override;
+ bool setLoadAddress(uint64_t Address) override;
std::unique_ptr<PDBSymbolExe> getGlobalScope() override;
std::unique_ptr<PDBSymbol> getSymbolById(uint32_t SymbolId) const override;
Index: include/llvm/DebugInfo/PDB/IPDBSession.h
===================================================================
--- include/llvm/DebugInfo/PDB/IPDBSession.h
+++ include/llvm/DebugInfo/PDB/IPDBSession.h
@@ -28,7 +28,7 @@
virtual ~IPDBSession();
virtual uint64_t getLoadAddress() const = 0;
- virtual void setLoadAddress(uint64_t Address) = 0;
+ virtual bool setLoadAddress(uint64_t Address) = 0;
virtual std::unique_ptr<PDBSymbolExe> getGlobalScope() = 0;
virtual std::unique_ptr<PDBSymbol> getSymbolById(uint32_t SymbolId) const = 0;
Index: include/llvm/DebugInfo/PDB/DIA/DIASession.h
===================================================================
--- include/llvm/DebugInfo/PDB/DIA/DIASession.h
+++ include/llvm/DebugInfo/PDB/DIA/DIASession.h
@@ -30,7 +30,7 @@
std::unique_ptr<IPDBSession> &Session);
uint64_t getLoadAddress() const override;
- void setLoadAddress(uint64_t Address) override;
+ bool setLoadAddress(uint64_t Address) override;
std::unique_ptr<PDBSymbolExe> getGlobalScope() override;
std::unique_ptr<PDBSymbol> getSymbolById(uint32_t SymbolId) const override;
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D43638.135471.patch
Type: text/x-patch
Size: 3454 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180222/a23ffdc4/attachment.bin>
More information about the llvm-commits
mailing list