Просмотр исходного кода

Merge topic 'remove-ancient-msvc-workarounds'

12cb0b86 Help: Update developer manual with some C++ features now permitted.
ba74465f cmGeneratorTarget: Remove MSVC7 workaround
41363c0c VisualStudio: Remove MSVC6 compatibility macro.
4efcfe52 cmSystemTools: Remove MSVC6 compatibility define.
5f4695cd cmStandardIncludes: Remove MSVC6 condition for cmArrayBegin macro.
7a064337 cmFindCommon: Remove MSVC6 workaround for nested struct private access.
fdb73547 cmTarget: Remove std::min and std::max MSVC6 compatibility code.
Brad King 11 лет назад
Родитель
Сommit
c7b9fad117

+ 1 - 7
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
 ------
 

+ 0 - 6
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
 
 
 //----------------------------------------------------------------------------

+ 0 - 7
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,

+ 0 - 20
Source/cmGeneratorTarget.cxx

@@ -56,7 +56,6 @@ struct ModuleDefinitionFileTag {};
 struct AppManifestTag{};
 struct CertificatesTag{};
 
-#if !defined(_MSC_VER) || _MSC_VER >= 1310
 template<typename Tag, typename OtherTag>
 struct IsSameTag
 {
@@ -72,25 +71,6 @@ struct IsSameTag<Tag, Tag>
     Result = true
   };
 };
-#else
-struct IsSameTagBase
-{
-  typedef char (&no_type)[1];
-  typedef char (&yes_type)[2];
-  template<typename T> struct Check;
-  template<typename T> static yes_type check(Check<T>*, Check<T>*);
-  static no_type check(...);
-};
-template<typename Tag1, typename Tag2>
-struct IsSameTag: public IsSameTagBase
-{
-  enum {
-    Result = (sizeof(check(static_cast< Check<Tag1>* >(0),
-                           static_cast< Check<Tag2>* >(0))) ==
-              sizeof(yes_type))
-  };
-};
-#endif
 
 template<bool>
 struct DoAccept

+ 1 - 2
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))

+ 1 - 3
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 <ctype.h>
 #include <errno.h>

+ 2 - 12
Source/cmTarget.cxx

@@ -4781,16 +4781,6 @@ std::pair<bool, const char*> consistentStringProperty(const char *lhs,
   return std::make_pair(b, b ? lhs : 0);
 }
 
-#if defined(_MSC_VER) && _MSC_VER <= 1200
-template<typename T> const T&
-cmMaximum(const T& l, const T& r) {return l > r ? l : r;}
-template<typename T> 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<bool, const char*> consistentNumberProperty(const char *lhs,
                                                       const char *rhs,
@@ -4814,11 +4804,11 @@ std::pair<bool, const char*> 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);
     }
 }