[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