diff --git a/src/3rdparty/clucene/src/CLucene/StdHeader.h b/src/3rdparty/clucene/src/CLucene/StdHeader.h index 224d400..50adbf6 100644 --- a/src/3rdparty/clucene/src/CLucene/StdHeader.h +++ b/src/3rdparty/clucene/src/CLucene/StdHeader.h @@ -123,6 +123,9 @@ extern int _lucene_counter_break; //can set a watch on this #endif #if !defined(LUCENE_DISABLE_HASHING) && defined(_CL_HAVE_HASH_MAP) && defined(_CL_HAVE_HASH_SET) + #if (defined(_MSC_VER) && (_MSC_VER >= 1900)) + #define _SILENCE_STDEXT_HASH_DEPRECATION_WARNINGS + #endif //hashing is all or nothing! #include #include diff --git a/src/3rdparty/clucene/src/CLucene/util/VoidMap.h b/src/3rdparty/clucene/src/CLucene/util/VoidMap.h index 1153a01..b37465a 100644 --- a/src/3rdparty/clucene/src/CLucene/util/VoidMap.h +++ b/src/3rdparty/clucene/src/CLucene/util/VoidMap.h @@ -217,17 +217,28 @@ public: //A collection that contains no duplicates //does not guarantee that the order will remain constant over time +// MSVC2015: https://codereview.qt-project.org/#/c/110682/3//ALL,unified template class CLSet:public __CLMap<_kt,_vt, +#if (defined(_MSC_VER) && (_MSC_VER >= 1900)) + CL_NS_STD(map)<_kt,_vt>, +#else CL_NS_STD(map)<_kt,_vt, _Compare>, +#endif _KeyDeletor,_ValueDeletor> { +#if (defined(_MSC_VER) && (_MSC_VER >= 1900)) + typedef typename CL_NS_STD(map)<_kt,_vt> _base; + typedef __CLMap<_kt, _vt, CL_NS_STD(map)<_kt,_vt>, + _KeyDeletor,_ValueDeletor> _this; +#else typedef typename CL_NS_STD(map)<_kt,_vt,_Compare> _base; typedef __CLMap<_kt, _vt, CL_NS_STD(map)<_kt,_vt, _Compare>, _KeyDeletor,_ValueDeletor> _this; +#endif public: CLSet ( const bool deleteKey=false, const bool deleteValue=false ) { diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/runtime/ArgList.h b/src/3rdparty/javascriptcore/JavaScriptCore/runtime/ArgList.h index 8e1fdbe..79511ef 100644 --- a/src/3rdparty/javascriptcore/JavaScriptCore/runtime/ArgList.h +++ b/src/3rdparty/javascriptcore/JavaScriptCore/runtime/ArgList.h @@ -172,7 +172,10 @@ namespace JSC { void operator delete[](void*); void* operator new(size_t, void*); +// FIXME: strange magic +#if !(defined(_MSC_VER) && (_MSC_VER >= 1900)) void operator delete(void*, size_t); +#endif }; class ArgList { diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/wtf/StringExtras.h b/src/3rdparty/javascriptcore/JavaScriptCore/wtf/StringExtras.h index b1ec09f..11670e2 100644 --- a/src/3rdparty/javascriptcore/JavaScriptCore/wtf/StringExtras.h +++ b/src/3rdparty/javascriptcore/JavaScriptCore/wtf/StringExtras.h @@ -36,6 +36,7 @@ #if COMPILER(MSVC) // FIXME: why a COMPILER check instead of OS? also, these should be HAVE checks +#if (_MSC_VER < 1900) inline int snprintf(char* buffer, size_t count, const char* format, ...) { int result; @@ -45,6 +46,7 @@ inline int snprintf(char* buffer, size_t count, const char* format, ...) va_end(args); return result; } +#endif #if COMPILER(MSVC7) || OS(WINCE) diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/wtf/TypeTraits.h b/src/3rdparty/javascriptcore/JavaScriptCore/wtf/TypeTraits.h index 7ba487f..790c6a0 100644 --- a/src/3rdparty/javascriptcore/JavaScriptCore/wtf/TypeTraits.h +++ b/src/3rdparty/javascriptcore/JavaScriptCore/wtf/TypeTraits.h @@ -170,8 +170,16 @@ namespace WTF { // GCC's libstdc++ 20070724 and later supports C++ TR1 type_traits in the std namespace. // VC10 (VS2010) and later support C++ TR1 type_traits in the std::tr1 namespace. + // VC14 (VS2015) and later support C++11 type_traits in the std namespace, but old TR1 names + // have been removed. See https://msdn.microsoft.com/en-us/library/vstudio/bb531344(v=vs.140).aspx + // for details. +#if (defined(_MSC_VER) && (_MSC_VER >= 1900)) + template struct HasTrivialConstructor : public std::is_trivially_default_constructible { }; + template struct HasTrivialDestructor : public std::is_trivially_destructible { }; +#else template struct HasTrivialConstructor : public std::tr1::has_trivial_constructor { }; template struct HasTrivialDestructor : public std::tr1::has_trivial_destructor { }; +#endif #else diff --git a/src/3rdparty/javascriptcore/WebKit.pri b/src/3rdparty/javascriptcore/WebKit.pri index 9aaaa99..487aad6 100644 --- a/src/3rdparty/javascriptcore/WebKit.pri +++ b/src/3rdparty/javascriptcore/WebKit.pri @@ -22,7 +22,7 @@ isEmpty(OUTPUT_DIR) { DEFINES += BUILDING_QT__=1 building-libs { - win32-msvc*|win32-icc: INCLUDEPATH += $$PWD/JavaScriptCore/os-win32 + win32-msvc200*|win32-msvc2010*|win32-msvc2012*|win32-msvc2013*|win32-icc: INCLUDEPATH += $$PWD/JavaScriptCore/os-win32 } else { CONFIG(QTDIR_build) { QT += webkit diff --git a/src/3rdparty/webkit/Source/JavaScriptCore/runtime/ArgList.h b/src/3rdparty/webkit/Source/JavaScriptCore/runtime/ArgList.h index bb2d2842..627b015 100644 --- a/src/3rdparty/webkit/Source/JavaScriptCore/runtime/ArgList.h +++ b/src/3rdparty/webkit/Source/JavaScriptCore/runtime/ArgList.h @@ -174,7 +174,10 @@ namespace JSC { void operator delete[](void*); void* operator new(size_t, void*); +// FIXME: strange magic +#if !(defined(_MSC_VER) && (_MSC_VER >= 1900)) void operator delete(void*, size_t); +#endif }; class ArgList { diff --git a/src/3rdparty/webkit/Source/JavaScriptCore/wtf/StringExtras.h b/src/3rdparty/webkit/Source/JavaScriptCore/wtf/StringExtras.h index 371e33b..37e0858 100644 --- a/src/3rdparty/webkit/Source/JavaScriptCore/wtf/StringExtras.h +++ b/src/3rdparty/webkit/Source/JavaScriptCore/wtf/StringExtras.h @@ -37,6 +37,7 @@ #if COMPILER(MSVC) // FIXME: why a COMPILER check instead of OS? also, these should be HAVE checks +#if (_MSC_VER < 1900) inline int snprintf(char* buffer, size_t count, const char* format, ...) { int result; @@ -52,6 +53,7 @@ inline int snprintf(char* buffer, size_t count, const char* format, ...) return result; } +#endif inline double wtf_vsnprintf(char* buffer, size_t count, const char* format, va_list args) { diff --git a/src/3rdparty/webkit/Source/JavaScriptCore/wtf/TypeTraits.h b/src/3rdparty/webkit/Source/JavaScriptCore/wtf/TypeTraits.h index 44103cd..7b09980 100644 --- a/src/3rdparty/webkit/Source/JavaScriptCore/wtf/TypeTraits.h +++ b/src/3rdparty/webkit/Source/JavaScriptCore/wtf/TypeTraits.h @@ -183,8 +183,16 @@ namespace WTF { // GCC's libstdc++ 20070724 and later supports C++ TR1 type_traits in the std namespace. // VC10 (VS2010) and later support C++ TR1 type_traits in the std::tr1 namespace. + // VC14 (VS2015) and later support C++11 type_traits in the std namespace, but old TR1 names + // have been removed. See https://msdn.microsoft.com/en-us/library/vstudio/bb531344(v=vs.140).aspx + // for details. +#if (defined(_MSC_VER) && (_MSC_VER >= 1900)) + template struct HasTrivialConstructor : public std::is_trivially_default_constructible { }; + template struct HasTrivialDestructor : public std::is_trivially_destructible { }; +#else template struct HasTrivialConstructor : public std::tr1::has_trivial_constructor { }; template struct HasTrivialDestructor : public std::tr1::has_trivial_destructor { }; +#endif #else diff --git a/src/3rdparty/webkit/Source/WebKit.pri b/src/3rdparty/webkit/Source/WebKit.pri index 01f88a4..b607444 100644 --- a/src/3rdparty/webkit/Source/WebKit.pri +++ b/src/3rdparty/webkit/Source/WebKit.pri @@ -38,7 +38,7 @@ DEPENDPATH += $$OUT_PWD DEFINES += BUILDING_QT__=1 building-libs { - win32-msvc*|win32-icc: INCLUDEPATH += $$PWD/JavaScriptCore/os-win32 + win32-msvc200*|win32-msvc2010*|win32-msvc2012*|win32-msvc2013*|win32-icc: INCLUDEPATH += $$PWD/JavaScriptCore/os-win32 } else { CONFIG(QTDIR_build) { QT += webkit