[llvm-commits] CVS: llvm/include/llvm/ADT/SmallVector.h

Jeff Cohen jeffc at jolt-lang.org
Mon Mar 5 09:22:50 PST 2007



Changes in directory llvm/include/llvm/ADT:

SmallVector.h updated: 1.26 -> 1.27
---
Log message:

The hack won't work on VS 2005, and it might not be needed anyway.

---
Diffs of the changes:  (+5 -1)

 SmallVector.h |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletion(-)


Index: llvm/include/llvm/ADT/SmallVector.h
diff -u llvm/include/llvm/ADT/SmallVector.h:1.26 llvm/include/llvm/ADT/SmallVector.h:1.27
--- llvm/include/llvm/ADT/SmallVector.h:1.26	Sun Mar  4 18:46:22 2007
+++ llvm/include/llvm/ADT/SmallVector.h	Mon Mar  5 11:22:33 2007
@@ -20,10 +20,10 @@
 
 #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.
-  // 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;
@@ -35,6 +35,10 @@
     _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
 






More information about the llvm-commits mailing list