summaryrefslogtreecommitdiff
path: root/lib/DebugInfo/PDB/DIA
diff options
context:
space:
mode:
authorReid Kleckner <rnk@google.com>2016-10-12 21:51:14 +0000
committerReid Kleckner <rnk@google.com>2016-10-12 21:51:14 +0000
commit6cf9f6d8cb5c0295aa0c911f2b89f23267ef8148 (patch)
treee97ca79e8dbc87cadcd3301bc19326ebb0b8bad9 /lib/DebugInfo/PDB/DIA
parentdee2afd336f02a468221cd6365ffd9eea4bec501 (diff)
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/ git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@284058 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/DebugInfo/PDB/DIA')
-rw-r--r--lib/DebugInfo/PDB/DIA/DIASession.cpp16
1 files changed, 6 insertions, 10 deletions
diff --git a/lib/DebugInfo/PDB/DIA/DIASession.cpp b/lib/DebugInfo/PDB/DIA/DIASession.cpp
index fa224af8cb8..861b7bb4c26 100644
--- a/lib/DebugInfo/PDB/DIA/DIASession.cpp
+++ b/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) {}