[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