Changes in directory llvm/include/llvm/ADT:

SmallVector.h updated: 1.24 -> 1.25
---
Log message:

Unbreak VC++ build.

---
Diffs of the changes:  (+19 -0)

 SmallVector.h |   19 +++++++++++++++++++
 1 files changed, 19 insertions(+)


Index: llvm/include/llvm/ADT/SmallVector.h
diff -u llvm/include/llvm/ADT/SmallVector.h:1.24 
llvm/include/llvm/ADT/SmallVector.h:1.25
--- llvm/include/llvm/ADT/SmallVector.h:1.24    Tue Feb 13 01:25:36 2007
+++ llvm/include/llvm/ADT/SmallVector.h Sun Mar  4 18:00:41 2007
@@ -18,6 +18,25 @@
 #include <iterator>
 #include <memory>
 
+#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.
+  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;
+  }
+}
+#endif
+
 namespace llvm {
 
 /// SmallVectorImpl - This class consists of common code factored out of the



_______________________________________________
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits

Reply via email to