Elminate tabs and improve comments.
authorJeff Cohen <jeffc@jolt-lang.org>
Mon, 5 Mar 2007 00:46:22 +0000 (00:46 +0000)
committerJeff Cohen <jeffc@jolt-lang.org>
Mon, 5 Mar 2007 00:46:22 +0000 (00:46 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34921 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/ADT/SmallVector.h

index 9f2842a63890c960b716b2afebc41544f2e8824b..723cbcdaf0dc817a5744a6c86d6502e22eb03a04 100644 (file)
 
 #ifdef _MSC_VER
 namespace std {
-  // Fix bug in VC++ implementation of std::uninitialized_copy.  Define
-  // additional overloads so that the copy is recognized as a scalar and
-  // not an object copy.
+  // 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.
+  // FIXME: this hack may or may not be correct for Visual Studio 2005.
   template<class T1, class T2>
   inline _Scalar_ptr_iterator_tag _Ptr_cat(T1 **, T2 **) {
-         _Scalar_ptr_iterator_tag _Cat;
-         return _Cat;
+    _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;
+    _Scalar_ptr_iterator_tag _Cat;
+    return _Cat;
   }
 }
 #endif