Remove an old hack for pre-2005 MSVC. We don't support ancient microsoft compilers...
authorBenjamin Kramer <benny.kra@googlemail.com>
Tue, 13 Mar 2012 20:07:36 +0000 (20:07 +0000)
committerBenjamin Kramer <benny.kra@googlemail.com>
Tue, 13 Mar 2012 20:07:36 +0000 (20:07 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152659 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/ADT/SmallVector.h

index d01cf32f402edc35eab3b4bea0ef034217fbb3ce..0d9d0d12e868e7898ed99cbe8395daa0f5211081 100644 (file)
 #include <iterator>
 #include <memory>
 
-#ifdef _MSC_VER
-namespace std {
-#if _MSC_VER <= 1310
-  // Work around flawed VC++ implementation of std::uninitialized_copy.  Define
-  // additional overloads so that elements with pointer types are recognized as
-  // scalars and not objects, causing bizarre type conversion errors.
-  template<class T1, class T2>
-  inline _Scalar_ptr_iterator_tag _Ptr_cat(T1 **, T2 **) {
-    _Scalar_ptr_iterator_tag _Cat;
-    return _Cat;
-  }
-
-  template<class T1, class T2>
-  inline _Scalar_ptr_iterator_tag _Ptr_cat(T1* const *, T2 **) {
-    _Scalar_ptr_iterator_tag _Cat;
-    return _Cat;
-  }
-#else
-// FIXME: It is not clear if the problem is fixed in VS 2005.  What is clear
-// is that the above hack won't work if it wasn't fixed.
-#endif
-}
-#endif
-
 namespace llvm {
 
 /// SmallVectorBase - This is all the non-templated stuff common to all