diff options
author | Jeff Cohen <jeffc@jolt-lang.org> | 2007-03-05 00:00:42 +0000 |
---|---|---|
committer | Jeff Cohen <jeffc@jolt-lang.org> | 2007-03-05 00:00:42 +0000 |
commit | ca5183d445954a9b2a570d6bbba1bc2b00ad6442 (patch) | |
tree | 2fe70b0a35fe2569c8d6434e9769bc6e8bd58204 /include/llvm/ADT/SmallVector.h | |
parent | f298fd0428e3e26fda13d24bb7295c416a9b8452 (diff) | |
download | llvm-ca5183d445954a9b2a570d6bbba1bc2b00ad6442.tar.gz llvm-ca5183d445954a9b2a570d6bbba1bc2b00ad6442.tar.bz2 llvm-ca5183d445954a9b2a570d6bbba1bc2b00ad6442.tar.xz |
Unbreak VC++ build.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34917 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/ADT/SmallVector.h')
-rw-r--r-- | include/llvm/ADT/SmallVector.h | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/include/llvm/ADT/SmallVector.h b/include/llvm/ADT/SmallVector.h index b5ee6c454b..9f2842a638 100644 --- a/include/llvm/ADT/SmallVector.h +++ b/include/llvm/ADT/SmallVector.h @@ -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 |