diff options
author | Bernard Normier <bernard@zeroc.com> | 2015-05-02 14:30:52 -0400 |
---|---|---|
committer | Bernard Normier <bernard@zeroc.com> | 2015-05-02 14:30:52 -0400 |
commit | 1e3b332b0c6567a084a5a4501e82807aac0a8b22 (patch) | |
tree | 01bb71f671cb8bcf296f1e8eceda0501e6b9f5e0 /cpp | |
parent | ICE-6410 - Java error with empty truststore (diff) | |
download | ice-1e3b332b0c6567a084a5a4501e82807aac0a8b22.tar.bz2 ice-1e3b332b0c6567a084a5a4501e82807aac0a8b22.tar.xz ice-1e3b332b0c6567a084a5a4501e82807aac0a8b22.zip |
Add support for VS 2015 RC (VC140)
Diffstat (limited to 'cpp')
-rwxr-xr-x | cpp/config/Make.rules.mak | 6 | ||||
-rwxr-xr-x | cpp/config/Make.rules.msvc | 3 | ||||
-rw-r--r-- | cpp/include/IceUtil/Config.h | 3 | ||||
-rw-r--r-- | cpp/include/IceUtil/PushDisableWarnings.h | 4 | ||||
-rw-r--r-- | cpp/src/IceUtil/Exception.cpp | 4 | ||||
-rw-r--r-- | cpp/src/IceUtil/FileUtil.h | 8 |
6 files changed, 24 insertions, 4 deletions
diff --git a/cpp/config/Make.rules.mak b/cpp/config/Make.rules.mak index 57ba5372e77..2da1ec58e7c 100755 --- a/cpp/config/Make.rules.mak +++ b/cpp/config/Make.rules.mak @@ -129,7 +129,9 @@ SETARGV = setargv.obj !error CPP_COMPILER: $(CPP_COMPILER) not supported to build Ice for WinRT !endif -!if "$(CPP_COMPILER)" == "VC110" +!if "$(CPP_COMPILER)" == "VC140" +libsuff = \vc140$(x64suffix) +!elseif "$(CPP_COMPILER)" == "VC110" libsuff = \vc110$(x64suffix) !elseif "$(CPP_COMPILER)" == "VC100" libsuff = \vc100$(x64suffix) @@ -152,6 +154,8 @@ COMPSUFFIX = _vc100 COMPSUFFIX = _vc110 !elseif "$(CPP_COMPILER)" == "VC120" COMPSUFFIX = _vc120 +!elseif "$(CPP_COMPILER)" == "VC140" +COMPSUFFIX = _vc140 !endif !endif diff --git a/cpp/config/Make.rules.msvc b/cpp/config/Make.rules.msvc index 28e1788bdff..fa0c7a3f5ec 100755 --- a/cpp/config/Make.rules.msvc +++ b/cpp/config/Make.rules.msvc @@ -29,7 +29,8 @@ GENERATE_PDB = yes CPPFLAGS = $(CPPFLAGS) -nologo -GR -EHsc -WX !if "$(MAXWARN)" != "yes" -CPPFLAGS = $(CPPFLAGS) -W3 -wd4250 -wd4251 +# Added for VS2015 RC: -wd4275 +CPPFLAGS = $(CPPFLAGS) -W3 -wd4250 -wd4251 -wd4275 !else CPPFLAGS = $(CPPFLAGS) -W4 !endif diff --git a/cpp/include/IceUtil/Config.h b/cpp/include/IceUtil/Config.h index b1403509b48..471fe9881c5 100644 --- a/cpp/include/IceUtil/Config.h +++ b/cpp/include/IceUtil/Config.h @@ -61,8 +61,7 @@ #endif -#if defined(ICE_CPP11) && !defined(_MSC_VER) -// Visual Studio does not support noexcept yet +#if defined(ICE_CPP11) && (!defined(_MSC_VER) || (_MSC_VER >= 1900)) # define ICE_NOEXCEPT noexcept # define ICE_NOEXCEPT_FALSE noexcept(false) #else diff --git a/cpp/include/IceUtil/PushDisableWarnings.h b/cpp/include/IceUtil/PushDisableWarnings.h index 3c27c4f7197..ab9692eb7d5 100644 --- a/cpp/include/IceUtil/PushDisableWarnings.h +++ b/cpp/include/IceUtil/PushDisableWarnings.h @@ -15,6 +15,10 @@ # pragma warning(disable:4250) // ... : inherits ... via dominance # pragma warning(disable:4251) // class ... needs to have dll-interface to be used by clients of class ... # pragma warning(disable:4512) // ... assignment operator could not be generated + +# if _MSC_VER >= 1900 +# pragma warning(disable:4275) // non dll-interface class ... used as base for dll-interface class ... +# endif #endif #if defined(__GNUC__) && ((__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)) diff --git a/cpp/src/IceUtil/Exception.cpp b/cpp/src/IceUtil/Exception.cpp index 3eb63677a08..d21946f8195 100644 --- a/cpp/src/IceUtil/Exception.cpp +++ b/cpp/src/IceUtil/Exception.cpp @@ -40,6 +40,10 @@ # if defined(_MSC_VER) && _MSC_VER >= 1700 # define DBGHELP_TRANSLATE_TCHAR # include <IceUtil/StringConverter.h> +# if _MSC_VER >= 1900 +# // VS 2015 RC issues this warning for code in DbgHelp.h +# pragma warning(disable:4091) +# endif # endif # include <DbgHelp.h> # include <tchar.h> diff --git a/cpp/src/IceUtil/FileUtil.h b/cpp/src/IceUtil/FileUtil.h index 4caf139b148..a833e59e785 100644 --- a/cpp/src/IceUtil/FileUtil.h +++ b/cpp/src/IceUtil/FileUtil.h @@ -129,6 +129,10 @@ public: using std::ifstream::open; #endif +#if defined(_MSC_VER) && (_MSC_VER >= 1900) + ifstream(const ifstream&) = delete; +#endif + private: // Hide const char* definitions since they shouldn't be used. @@ -148,6 +152,10 @@ public: using std::ofstream::open; #endif +#if defined(_MSC_VER) && (_MSC_VER >= 1900) + ofstream(const ofstream&) = delete; +#endif + private: // Hide const char* definitions since they shouldn't be used. |