From fdb73547220ed9e9bee0806abf388b830ac79bd5 Mon Sep 17 00:00:00 2001 From: Stephen Kelly Date: Thu, 20 Nov 2014 22:17:16 +0100 Subject: cmTarget: Remove std::min and std::max MSVC6 compatibility code. CMake is no longer required to build with MSVC6. --- Source/cmTarget.cxx | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/Source/cmTarget.cxx b/Source/cmTarget.cxx index ee62f06..d4889fd 100644 --- a/Source/cmTarget.cxx +++ b/Source/cmTarget.cxx @@ -4781,16 +4781,6 @@ std::pair consistentStringProperty(const char *lhs, return std::make_pair(b, b ? lhs : 0); } -#if defined(_MSC_VER) && _MSC_VER <= 1200 -template const T& -cmMaximum(const T& l, const T& r) {return l > r ? l : r;} -template const T& -cmMinimum(const T& l, const T& r) {return l < r ? l : r;} -#else -#define cmMinimum std::min -#define cmMaximum std::max -#endif - //---------------------------------------------------------------------------- std::pair consistentNumberProperty(const char *lhs, const char *rhs, @@ -4822,11 +4812,11 @@ std::pair consistentNumberProperty(const char *lhs, if (t == NumberMaxType) { - return std::make_pair(true, cmMaximum(lnum, rnum) == lnum ? lhs : rhs); + return std::make_pair(true, std::max(lnum, rnum) == lnum ? lhs : rhs); } else { - return std::make_pair(true, cmMinimum(lnum, rnum) == lnum ? lhs : rhs); + return std::make_pair(true, std::min(lnum, rnum) == lnum ? lhs : rhs); } } -- cgit v0.12 From 7a0643379be273e64a6454be4be51e652ff093c4 Mon Sep 17 00:00:00 2001 From: Stephen Kelly Date: Thu, 20 Nov 2014 22:22:00 +0100 Subject: cmFindCommon: Remove MSVC6 workaround for nested struct private access. --- Source/cmFindCommon.h | 7 ------- 1 file changed, 7 deletions(-) diff --git a/Source/cmFindCommon.h b/Source/cmFindCommon.h index e65b2fc..3fefc8d 100644 --- a/Source/cmFindCommon.h +++ b/Source/cmFindCommon.h @@ -33,10 +33,6 @@ public: protected: friend class cmSearchPath; -/* VS6 is broken and can't pass protected class definitions to child classes */ -#if defined(_MSC_VER) && (_MSC_VER < 1300) -public: -#endif /** Used to define groups of path labels */ class PathGroup : public cmPathLabel { @@ -61,9 +57,6 @@ public: static PathLabel CMakeSystem; static PathLabel Guess; }; -#if defined(_MSC_VER) && (_MSC_VER < 1300) -protected: -#endif enum RootPathMode { RootPathModeNever, RootPathModeOnly, -- cgit v0.12 From 5f4695cd06a124236520c8a28d8b65929f83bd3f Mon Sep 17 00:00:00 2001 From: Stephen Kelly Date: Thu, 20 Nov 2014 22:22:45 +0100 Subject: cmStandardIncludes: Remove MSVC6 condition for cmArrayBegin macro. --- Source/cmStandardIncludes.h | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Source/cmStandardIncludes.h b/Source/cmStandardIncludes.h index ffabd7a..6b85634 100644 --- a/Source/cmStandardIncludes.h +++ b/Source/cmStandardIncludes.h @@ -393,8 +393,7 @@ inline bool cmHasLiteralSuffixImpl(const char* str1, return len >= N && strcmp(str1 + len - N, str2) == 0; } -#if defined(_MSC_VER) && _MSC_VER < 1300 \ - || defined(__GNUC__) && __GNUC__ < 3 +#if defined(__GNUC__) && __GNUC__ < 3 #define cmArrayBegin(a) a #define cmArraySize(a) (sizeof(a)/sizeof(*a)) -- cgit v0.12 From 4efcfe52f491a6cd43809d5a182192060d77c5e8 Mon Sep 17 00:00:00 2001 From: Stephen Kelly Date: Thu, 20 Nov 2014 22:24:27 +0100 Subject: cmSystemTools: Remove MSVC6 compatibility define. --- Source/cmSystemTools.cxx | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/Source/cmSystemTools.cxx b/Source/cmSystemTools.cxx index 3247f7f..f6f800c 100644 --- a/Source/cmSystemTools.cxx +++ b/Source/cmSystemTools.cxx @@ -9,9 +9,7 @@ implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the License for more information. ============================================================================*/ -#if defined(_MSC_VER) && _MSC_VER < 1300 -# define _WIN32_WINNT 0x0400 /* for wincrypt.h */ -#endif + #include "cmSystemTools.h" #include #include -- cgit v0.12 From 41363c0c615848e9708c9105b0daeeef98f1f427 Mon Sep 17 00:00:00 2001 From: Stephen Kelly Date: Thu, 20 Nov 2014 22:25:44 +0100 Subject: VisualStudio: Remove MSVC6 compatibility macro. --- Source/cmCallVisualStudioMacro.cxx | 6 ------ 1 file changed, 6 deletions(-) diff --git a/Source/cmCallVisualStudioMacro.cxx b/Source/cmCallVisualStudioMacro.cxx index 8f22f80..c211111 100644 --- a/Source/cmCallVisualStudioMacro.cxx +++ b/Source/cmCallVisualStudioMacro.cxx @@ -34,8 +34,6 @@ static bool LogErrorsAsMessages; // Copied from a correct comdef.h to avoid problems with deficient versions // of comdef.h that exist in the wild... Fixes issue #7533. // -#if ( _MSC_VER >= 1300 ) -// VS7 and later: #ifdef _NATIVE_WCHAR_T_DEFINED # ifdef _DEBUG # pragma comment(lib, "comsuppwd.lib") @@ -49,10 +47,6 @@ static bool LogErrorsAsMessages; # pragma comment(lib, "comsupp.lib") # endif #endif -#else -// VS6 only had comsupp.lib: -# pragma comment(lib, "comsupp.lib") -#endif //---------------------------------------------------------------------------- -- cgit v0.12 From ba74465fbcd2509415397c1df93b1c86e70a45ab Mon Sep 17 00:00:00 2001 From: Stephen Kelly Date: Thu, 20 Nov 2014 23:07:22 +0100 Subject: cmGeneratorTarget: Remove MSVC7 workaround Use partial specialization everywhere. --- Source/cmGeneratorTarget.cxx | 20 -------------------- 1 file changed, 20 deletions(-) diff --git a/Source/cmGeneratorTarget.cxx b/Source/cmGeneratorTarget.cxx index 5836a27..2b531e2 100644 --- a/Source/cmGeneratorTarget.cxx +++ b/Source/cmGeneratorTarget.cxx @@ -56,7 +56,6 @@ struct ModuleDefinitionFileTag {}; struct AppManifestTag{}; struct CertificatesTag{}; -#if !defined(_MSC_VER) || _MSC_VER >= 1310 template struct IsSameTag { @@ -72,25 +71,6 @@ struct IsSameTag Result = true }; }; -#else -struct IsSameTagBase -{ - typedef char (&no_type)[1]; - typedef char (&yes_type)[2]; - template struct Check; - template static yes_type check(Check*, Check*); - static no_type check(...); -}; -template -struct IsSameTag: public IsSameTagBase -{ - enum { - Result = (sizeof(check(static_cast< Check* >(0), - static_cast< Check* >(0))) == - sizeof(yes_type)) - }; -}; -#endif template struct DoAccept -- cgit v0.12 From 12cb0b868c462ec64f1578f5450e64246986c58d Mon Sep 17 00:00:00 2001 From: Stephen Kelly Date: Thu, 20 Nov 2014 23:11:38 +0100 Subject: Help: Update developer manual with some C++ features now permitted. --- Help/manual/cmake-developer.7.rst | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/Help/manual/cmake-developer.7.rst b/Help/manual/cmake-developer.7.rst index 0884a59..34e3225 100644 --- a/Help/manual/cmake-developer.7.rst +++ b/Help/manual/cmake-developer.7.rst @@ -147,7 +147,7 @@ A loop must be used instead: theSet.insert(*it); } -.. MSVC6, SunCC 5.9 +.. SunCC 5.9 Template Parameter Defaults --------------------------- @@ -177,12 +177,6 @@ this does not work with other ancient compilers: and invoke it with the value ``0`` explicitly in all cases. -std::min and std::max ---------------------- - -``min`` and ``max`` are defined as macros on some systems. ``std::min`` and -``std::max`` may not be used. Use ``cmMinimum`` and ``cmMaximum`` instead. - size_t ------ -- cgit v0.12