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

Jeff Cohen jeffc at jolt-lang.org
Sun Mar 4 16:02:05 PST 2007



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






More information about the llvm-commits mailing list