From: Jeff Cohen Date: Mon, 5 Mar 2007 17:22:33 +0000 (+0000) Subject: The hack won't work on VS 2005, and it might not be needed anyway. X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=72adee00f6e0cd3239a2b4e1e1c8512e26ec6537;p=oota-llvm.git 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 --- diff --git a/include/llvm/ADT/SmallVector.h b/include/llvm/ADT/SmallVector.h index 723cbcdaf0d..dc37ac74499 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 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