Revert "Remove support for unsupported MSVC versions"

Mismatched preprocessor, I'll fix in a follow-up.

llvm-svn: 367728
This commit is contained in:
JF Bastien 2019-08-02 22:02:25 +00:00
parent dc8af80c19
commit 21d01ea9b6
3 changed files with 20 additions and 1 deletions

View File

@ -15,6 +15,13 @@
#ifndef LLVM_DEMANGLE_COMPILER_H
#define LLVM_DEMANGLE_COMPILER_H
#ifdef _MSC_VER
// snprintf is implemented in VS 2015
#if _MSC_VER < 1900
#define snprintf _snprintf_s
#endif
#endif
#ifndef __has_feature
#define __has_feature(x) 0
#endif

View File

@ -73,7 +73,13 @@ static Error LoadDIA(CComPtr<IDiaDataSource> &DiaDataSource) {
#if !defined(_MSC_VER)
return llvm::make_error<PDBError>(pdb_error_code::dia_failed_loading);
#else
const wchar_t *msdia_dll = L"msdia140.dll";
const wchar_t *msdia_dll = nullptr;
#if _MSC_VER >= 1900 && _MSC_VER < 2000
msdia_dll = L"msdia140.dll"; // VS2015
#elif _MSC_VER >= 1800
msdia_dll = L"msdia120.dll"; // VS2013
#else
#error "Unknown Visual Studio version."
#endif
HRESULT HR;

View File

@ -90,6 +90,12 @@
INLINE_DEF_FLOAT_SYMBOL(tanf, 1)
INLINE_DEF_FLOAT_SYMBOL(tanhf, 1)
// These were added in VS 2013.
#if (1800 <= _MSC_VER && _MSC_VER < 1900)
INLINE_DEF_FLOAT_SYMBOL(copysignf, 2)
INLINE_DEF_FLOAT_SYMBOL(fminf, 2)
INLINE_DEF_FLOAT_SYMBOL(fmaxf, 2)
#endif
#undef INLINE_DEF_FLOAT_SYMBOL
#endif