diff options
| author | Eric Fiselier <eric@efcs.ca> | 2016-06-30 04:40:50 +0000 |
|---|---|---|
| committer | Eric Fiselier <eric@efcs.ca> | 2016-06-30 04:40:50 +0000 |
| commit | 8892b4eef075711944520e3f24df2464125591ed (patch) | |
| tree | 6f70c8ac514dcb449efd211685136970ed86591b /libcxx/test/std/iterators | |
| parent | bc56e3ba533f48b440c6a079f012665d9b813d2f (diff) | |
| download | bcm5719-llvm-8892b4eef075711944520e3f24df2464125591ed.tar.gz bcm5719-llvm-8892b4eef075711944520e3f24df2464125591ed.zip | |
Fix ::reference typedef in insert iterators.
Since at least the C++11 standard insert iterators are specified
as having ::reference typedef void. Libc++ was not doing that.
This patch corrects the typedef.
This patch changes the std::iterator base class of insert_iterator,
front_insert_iterator and back_insert_iterator. This should not
be an ABI breaking change.
llvm-svn: 274209
Diffstat (limited to 'libcxx/test/std/iterators')
3 files changed, 6 insertions, 6 deletions
diff --git a/libcxx/test/std/iterators/predef.iterators/insert.iterators/back.insert.iterator/types.pass.cpp b/libcxx/test/std/iterators/predef.iterators/insert.iterators/back.insert.iterator/types.pass.cpp index 2611c9a4b0c..7aa7f3443aa 100644 --- a/libcxx/test/std/iterators/predef.iterators/insert.iterators/back.insert.iterator/types.pass.cpp +++ b/libcxx/test/std/iterators/predef.iterators/insert.iterators/back.insert.iterator/types.pass.cpp @@ -21,7 +21,7 @@ // typedef Cont container_type; // typedef void value_type; // typedef void difference_type; -// typedef back_insert_iterator<Cont>& reference; +// typedef void reference; // typedef void pointer; // }; @@ -48,7 +48,7 @@ test() static_assert((std::is_same<typename R::container_type, C>::value), ""); static_assert((std::is_same<typename R::value_type, void>::value), ""); static_assert((std::is_same<typename R::difference_type, void>::value), ""); - static_assert((std::is_same<typename R::reference, R&>::value), ""); + static_assert((std::is_same<typename R::reference, void>::value), ""); static_assert((std::is_same<typename R::pointer, void>::value), ""); static_assert((std::is_same<typename R::iterator_category, std::output_iterator_tag>::value), ""); } diff --git a/libcxx/test/std/iterators/predef.iterators/insert.iterators/front.insert.iterator/types.pass.cpp b/libcxx/test/std/iterators/predef.iterators/insert.iterators/front.insert.iterator/types.pass.cpp index 755133a9194..7a7c678edaa 100644 --- a/libcxx/test/std/iterators/predef.iterators/insert.iterators/front.insert.iterator/types.pass.cpp +++ b/libcxx/test/std/iterators/predef.iterators/insert.iterators/front.insert.iterator/types.pass.cpp @@ -21,7 +21,7 @@ // typedef Container container_type; // typedef void value_type; // typedef void difference_type; -// typedef front_insert_iterator<Cont>& reference; +// typedef void reference; // typedef void pointer; // typedef output_iterator_tag iterator_category; // }; @@ -49,7 +49,7 @@ test() static_assert((std::is_same<typename R::container_type, C>::value), ""); static_assert((std::is_same<typename R::value_type, void>::value), ""); static_assert((std::is_same<typename R::difference_type, void>::value), ""); - static_assert((std::is_same<typename R::reference, R&>::value), ""); + static_assert((std::is_same<typename R::reference, void>::value), ""); static_assert((std::is_same<typename R::pointer, void>::value), ""); static_assert((std::is_same<typename R::iterator_category, std::output_iterator_tag>::value), ""); } diff --git a/libcxx/test/std/iterators/predef.iterators/insert.iterators/insert.iterator/types.pass.cpp b/libcxx/test/std/iterators/predef.iterators/insert.iterators/insert.iterator/types.pass.cpp index cf63df63e89..5b61a389513 100644 --- a/libcxx/test/std/iterators/predef.iterators/insert.iterators/insert.iterator/types.pass.cpp +++ b/libcxx/test/std/iterators/predef.iterators/insert.iterators/insert.iterator/types.pass.cpp @@ -22,7 +22,7 @@ // typedef Cont container_type; // typedef void value_type; // typedef void difference_type; -// typedef insert_iterator<Cont>& reference; +// typedef void reference; // typedef void pointer; // }; @@ -53,7 +53,7 @@ test() static_assert((std::is_same<typename R::container_type, C>::value), ""); static_assert((std::is_same<typename R::value_type, void>::value), ""); static_assert((std::is_same<typename R::difference_type, void>::value), ""); - static_assert((std::is_same<typename R::reference, R&>::value), ""); + static_assert((std::is_same<typename R::reference, void>::value), ""); static_assert((std::is_same<typename R::pointer, void>::value), ""); static_assert((std::is_same<typename R::iterator_category, std::output_iterator_tag>::value), ""); } |

