1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 02:52:53 +02:00

[ADT] Attempt to fix MSVC 2015 ICE via judicious addition of std::decay to make_pointe{r,e}_iterator.

llvm-svn: 283783
This commit is contained in:
Justin Lebar 2016-10-10 17:18:45 +00:00
parent f29c5dbf50
commit 86b122fcd7

View File

@ -257,8 +257,10 @@ struct pointee_iterator
};
template <typename WrappedIteratorT>
pointee_iterator<WrappedIteratorT> make_pointee_iterator(WrappedIteratorT &&I) {
return pointee_iterator<WrappedIteratorT>(std::forward<WrappedIteratorT>(I));
pointee_iterator<typename std::decay<WrappedIteratorT>::type>
make_pointee_iterator(WrappedIteratorT &&I) {
return pointee_iterator<typename std::decay<WrappedIteratorT>::type>(
std::forward<WrappedIteratorT>(I));
}
template <typename WrappedIteratorT,
@ -279,8 +281,10 @@ public:
};
template <typename WrappedIteratorT>
pointer_iterator<WrappedIteratorT> make_pointer_iterator(WrappedIteratorT &&I) {
return pointer_iterator<WrappedIteratorT>(std::forward<WrappedIteratorT>(I));
pointer_iterator<typename std::decay<WrappedIteratorT>::type>
make_pointer_iterator(WrappedIteratorT &&I) {
return pointer_iterator<typename std::decay<WrappedIteratorT>::type>(
std::forward<WrappedIteratorT>(I));
}
} // namespace llvm