summaryrefslogtreecommitdiff
path: root/include/llvm/ADT/SmallVector.h
diff options
context:
space:
mode:
authorJeff Cohen <jeffc@jolt-lang.org>2007-03-05 17:22:33 +0000
committerJeff Cohen <jeffc@jolt-lang.org>2007-03-05 17:22:33 +0000
commit72adee00f6e0cd3239a2b4e1e1c8512e26ec6537 (patch)
treeb6cc7a222457ca80d0b841a3ca53db1dd90e5867 /include/llvm/ADT/SmallVector.h
parent3130835bdf4e965309fa3cbed1bfc976a04324f8 (diff)
downloadllvm-72adee00f6e0cd3239a2b4e1e1c8512e26ec6537.tar.gz
llvm-72adee00f6e0cd3239a2b4e1e1c8512e26ec6537.tar.bz2
llvm-72adee00f6e0cd3239a2b4e1e1c8512e26ec6537.tar.xz
The hack won't work on VS 2005, and it might not be needed anyway.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34930 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/ADT/SmallVector.h')
-rw-r--r--include/llvm/ADT/SmallVector.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/include/llvm/ADT/SmallVector.h b/include/llvm/ADT/SmallVector.h
index 723cbcdaf0..dc37ac7449 100644
--- a/include/llvm/ADT/SmallVector.h
+++ b/include/llvm/ADT/SmallVector.h
@@ -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 @@ namespace std {
_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