Index: llvm/trunk/include/llvm/DebugInfo/PDB/DIA/DIASession.h =================================================================== --- llvm/trunk/include/llvm/DebugInfo/PDB/DIA/DIASession.h +++ llvm/trunk/include/llvm/DebugInfo/PDB/DIA/DIASession.h @@ -30,7 +30,7 @@ std::unique_ptr &Session); uint64_t getLoadAddress() const override; - void setLoadAddress(uint64_t Address) override; + bool setLoadAddress(uint64_t Address) override; std::unique_ptr getGlobalScope() override; std::unique_ptr getSymbolById(uint32_t SymbolId) const override; Index: llvm/trunk/include/llvm/DebugInfo/PDB/IPDBSession.h =================================================================== --- llvm/trunk/include/llvm/DebugInfo/PDB/IPDBSession.h +++ llvm/trunk/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 getGlobalScope() = 0; virtual std::unique_ptr getSymbolById(uint32_t SymbolId) const = 0; Index: llvm/trunk/include/llvm/DebugInfo/PDB/Native/NativeSession.h =================================================================== --- llvm/trunk/include/llvm/DebugInfo/PDB/Native/NativeSession.h +++ llvm/trunk/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 getGlobalScope() override; std::unique_ptr getSymbolById(uint32_t SymbolId) const override; Index: llvm/trunk/lib/DebugInfo/PDB/DIA/DIASession.cpp =================================================================== --- llvm/trunk/lib/DebugInfo/PDB/DIA/DIASession.cpp +++ llvm/trunk/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 DIASession::getGlobalScope() { Index: llvm/trunk/lib/DebugInfo/PDB/Native/NativeSession.cpp =================================================================== --- llvm/trunk/lib/DebugInfo/PDB/Native/NativeSession.cpp +++ llvm/trunk/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 NativeSession::getGlobalScope() { const auto Id = static_cast(SymbolCache.size()); Index: llvm/trunk/unittests/DebugInfo/PDB/PDBApiTest.cpp =================================================================== --- llvm/trunk/unittests/DebugInfo/PDB/PDBApiTest.cpp +++ llvm/trunk/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 getGlobalScope() override { return nullptr; } std::unique_ptr getSymbolById(uint32_t SymbolId) const override { return nullptr;