diff options
| author | Reid Kleckner <rnk@google.com> | 2016-10-12 21:51:14 +0000 |
|---|---|---|
| committer | Reid Kleckner <rnk@google.com> | 2016-10-12 21:51:14 +0000 |
| commit | fb58be862cb6b29f6088b6c16757f71ca009dd3f (patch) | |
| tree | eb5ef2d2da0402575248b3833305a4b7a463ab5a /llvm/lib/DebugInfo/PDB/DIA | |
| parent | 1d62f4ab15bc54fba45f37f394ace058ffdf4a53 (diff) | |
| download | bcm5719-llvm-fb58be862cb6b29f6088b6c16757f71ca009dd3f.tar.gz bcm5719-llvm-fb58be862cb6b29f6088b6c16757f71ca009dd3f.zip | |
Update _MSC_VER equality checks for msdiaNNN.dll
Use inequality instead of equality to defend against minor version
increases in _MSC_VER. An _MSC_VER value of 1901 should still use
msdia140.dll, as described in this blog post:
https://blogs.msdn.microsoft.com/vcblog/2016/10/05/visual-c-compiler-version/
llvm-svn: 284058
Diffstat (limited to 'llvm/lib/DebugInfo/PDB/DIA')
| -rw-r--r-- | llvm/lib/DebugInfo/PDB/DIA/DIASession.cpp | 16 |
1 files changed, 6 insertions, 10 deletions
diff --git a/llvm/lib/DebugInfo/PDB/DIA/DIASession.cpp b/llvm/lib/DebugInfo/PDB/DIA/DIASession.cpp index fa224af8cb8..861b7bb4c26 100644 --- a/llvm/lib/DebugInfo/PDB/DIA/DIASession.cpp +++ b/llvm/lib/DebugInfo/PDB/DIA/DIASession.cpp @@ -24,9 +24,7 @@ using namespace llvm; using namespace llvm::pdb; -namespace { - -Error ErrorFromHResult(HRESULT Result) { +static Error ErrorFromHResult(HRESULT Result) { switch (Result) { case E_PDB_NOT_FOUND: return make_error<GenericError>(generic_error_code::invalid_path); @@ -44,7 +42,7 @@ Error ErrorFromHResult(HRESULT Result) { } } -Error LoadDIA(CComPtr<IDiaDataSource> &DiaDataSource) { +static Error LoadDIA(CComPtr<IDiaDataSource> &DiaDataSource) { if (SUCCEEDED(CoCreateInstance(CLSID_DiaSource, nullptr, CLSCTX_INPROC_SERVER, IID_IDiaDataSource, reinterpret_cast<LPVOID *>(&DiaDataSource)))) @@ -55,12 +53,11 @@ Error LoadDIA(CComPtr<IDiaDataSource> &DiaDataSource) { #if !defined(_MSC_VER) return llvm::make_error<GenericError>( "DIA is only supported when using MSVC."); -#endif - +#else const wchar_t *msdia_dll = nullptr; -#if _MSC_VER == 1900 +#if _MSC_VER >= 1900 && _MSC_VER < 2000 msdia_dll = L"msdia140.dll"; // VS2015 -#elif _MSC_VER == 1800 +#elif _MSC_VER >= 1800 msdia_dll = L"msdia120.dll"; // VS2013 #else #error "Unknown Visual Studio version." @@ -71,8 +68,7 @@ Error LoadDIA(CComPtr<IDiaDataSource> &DiaDataSource) { reinterpret_cast<LPVOID *>(&DiaDataSource)))) return ErrorFromHResult(HR); return Error::success(); -} - +#endif } DIASession::DIASession(CComPtr<IDiaSession> DiaSession) : Session(DiaSession) {} |

