summaryrefslogtreecommitdiffstats
path: root/libcxx/test/iterators
diff options
context:
space:
mode:
Diffstat (limited to 'libcxx/test/iterators')
-rw-r--r--libcxx/test/iterators/iterator.container/data.pass.cpp77
-rw-r--r--libcxx/test/iterators/iterator.container/empty.pass.cpp80
-rw-r--r--libcxx/test/iterators/iterator.container/size.pass.cpp79
-rw-r--r--libcxx/test/iterators/iterator.primitives/iterator.basic/iterator.pass.cpp82
-rw-r--r--libcxx/test/iterators/iterator.primitives/iterator.operations/advance.pass.cpp45
-rw-r--r--libcxx/test/iterators/iterator.primitives/iterator.operations/distance.pass.cpp40
-rw-r--r--libcxx/test/iterators/iterator.primitives/iterator.operations/next.pass.cpp46
-rw-r--r--libcxx/test/iterators/iterator.primitives/iterator.operations/prev.pass.cpp44
-rw-r--r--libcxx/test/iterators/iterator.primitives/iterator.traits/const_pointer.pass.cpp35
-rw-r--r--libcxx/test/iterators/iterator.primitives/iterator.traits/empty.pass.cpp38
-rw-r--r--libcxx/test/iterators/iterator.primitives/iterator.traits/iterator.pass.cpp43
-rw-r--r--libcxx/test/iterators/iterator.primitives/iterator.traits/pointer.pass.cpp35
-rw-r--r--libcxx/test/iterators/iterator.primitives/nothing_to_do.pass.cpp12
-rw-r--r--libcxx/test/iterators/iterator.primitives/std.iterator.tags/bidirectional_iterator_tag.pass.cpp24
-rw-r--r--libcxx/test/iterators/iterator.primitives/std.iterator.tags/forward_iterator_tag.pass.cpp24
-rw-r--r--libcxx/test/iterators/iterator.primitives/std.iterator.tags/input_iterator_tag.pass.cpp22
-rw-r--r--libcxx/test/iterators/iterator.primitives/std.iterator.tags/output_iterator_tag.pass.cpp22
-rw-r--r--libcxx/test/iterators/iterator.primitives/std.iterator.tags/random_access_iterator_tag.pass.cpp24
-rw-r--r--libcxx/test/iterators/iterator.range/begin-end.pass.cpp148
-rw-r--r--libcxx/test/iterators/iterator.requirements/bidirectional.iterators/nothing_to_do.pass.cpp12
-rw-r--r--libcxx/test/iterators/iterator.requirements/forward.iterators/nothing_to_do.pass.cpp12
-rw-r--r--libcxx/test/iterators/iterator.requirements/input.iterators/nothing_to_do.pass.cpp12
-rw-r--r--libcxx/test/iterators/iterator.requirements/iterator.iterators/nothing_to_do.pass.cpp12
-rw-r--r--libcxx/test/iterators/iterator.requirements/iterator.requirements.general/nothing_to_do.pass.cpp12
-rw-r--r--libcxx/test/iterators/iterator.requirements/nothing_to_do.pass.cpp12
-rw-r--r--libcxx/test/iterators/iterator.requirements/output.iterators/nothing_to_do.pass.cpp12
-rw-r--r--libcxx/test/iterators/iterator.requirements/random.access.iterators/nothing_to_do.pass.cpp12
-rw-r--r--libcxx/test/iterators/iterator.synopsis/nothing_to_do.pass.cpp12
-rw-r--r--libcxx/test/iterators/iterators.general/nothing_to_do.pass.cpp12
-rw-r--r--libcxx/test/iterators/predef.iterators/insert.iterators/back.insert.iter.ops/back.insert.iter.cons/container.fail.cpp24
-rw-r--r--libcxx/test/iterators/predef.iterators/insert.iterators/back.insert.iter.ops/back.insert.iter.cons/container.pass.cpp31
-rw-r--r--libcxx/test/iterators/predef.iterators/insert.iterators/back.insert.iter.ops/back.insert.iter.op++/post.pass.cpp36
-rw-r--r--libcxx/test/iterators/predef.iterators/insert.iterators/back.insert.iter.ops/back.insert.iter.op++/pre.pass.cpp34
-rw-r--r--libcxx/test/iterators/predef.iterators/insert.iterators/back.insert.iter.ops/back.insert.iter.op=/lv_value.pass.cpp46
-rw-r--r--libcxx/test/iterators/predef.iterators/insert.iterators/back.insert.iter.ops/back.insert.iter.op=/rv_value.pass.cpp42
-rw-r--r--libcxx/test/iterators/predef.iterators/insert.iterators/back.insert.iter.ops/back.insert.iter.op_astrk/test.pass.cpp34
-rw-r--r--libcxx/test/iterators/predef.iterators/insert.iterators/back.insert.iter.ops/back.inserter/test.pass.cpp35
-rw-r--r--libcxx/test/iterators/predef.iterators/insert.iterators/back.insert.iter.ops/nothing_to_do.pass.cpp12
-rw-r--r--libcxx/test/iterators/predef.iterators/insert.iterators/back.insert.iterator/types.pass.cpp59
-rw-r--r--libcxx/test/iterators/predef.iterators/insert.iterators/front.insert.iter.ops/front.insert.iter.cons/container.fail.cpp24
-rw-r--r--libcxx/test/iterators/predef.iterators/insert.iterators/front.insert.iter.ops/front.insert.iter.cons/container.pass.cpp31
-rw-r--r--libcxx/test/iterators/predef.iterators/insert.iterators/front.insert.iter.ops/front.insert.iter.op++/post.pass.cpp36
-rw-r--r--libcxx/test/iterators/predef.iterators/insert.iterators/front.insert.iter.ops/front.insert.iter.op++/pre.pass.cpp34
-rw-r--r--libcxx/test/iterators/predef.iterators/insert.iterators/front.insert.iter.ops/front.insert.iter.op=/lv_value.pass.cpp47
-rw-r--r--libcxx/test/iterators/predef.iterators/insert.iterators/front.insert.iter.ops/front.insert.iter.op=/rv_value.pass.cpp41
-rw-r--r--libcxx/test/iterators/predef.iterators/insert.iterators/front.insert.iter.ops/front.insert.iter.op_astrk/test.pass.cpp34
-rw-r--r--libcxx/test/iterators/predef.iterators/insert.iterators/front.insert.iter.ops/front.inserter/test.pass.cpp35
-rw-r--r--libcxx/test/iterators/predef.iterators/insert.iterators/front.insert.iter.ops/nothing_to_do.pass.cpp12
-rw-r--r--libcxx/test/iterators/predef.iterators/insert.iterators/front.insert.iterator/types.pass.cpp60
-rw-r--r--libcxx/test/iterators/predef.iterators/insert.iterators/insert.iter.ops/insert.iter.cons/test.pass.cpp31
-rw-r--r--libcxx/test/iterators/predef.iterators/insert.iterators/insert.iter.ops/insert.iter.op++/post.pass.cpp36
-rw-r--r--libcxx/test/iterators/predef.iterators/insert.iterators/insert.iter.ops/insert.iter.op++/pre.pass.cpp34
-rw-r--r--libcxx/test/iterators/predef.iterators/insert.iterators/insert.iter.ops/insert.iter.op=/lv_value.pass.cpp85
-rw-r--r--libcxx/test/iterators/predef.iterators/insert.iterators/insert.iter.ops/insert.iter.op=/rv_value.pass.cpp97
-rw-r--r--libcxx/test/iterators/predef.iterators/insert.iterators/insert.iter.ops/insert.iter.op_astrk/test.pass.cpp34
-rw-r--r--libcxx/test/iterators/predef.iterators/insert.iterators/insert.iter.ops/inserter/test.pass.cpp35
-rw-r--r--libcxx/test/iterators/predef.iterators/insert.iterators/insert.iter.ops/nothing_to_do.pass.cpp12
-rw-r--r--libcxx/test/iterators/predef.iterators/insert.iterators/insert.iterator/types.pass.cpp64
-rw-r--r--libcxx/test/iterators/predef.iterators/insert.iterators/nothing_to_do.pass.cpp12
-rw-r--r--libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.nonmember/make_move_iterator.pass.cpp46
-rw-r--r--libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.nonmember/minus.pass.cpp39
-rw-r--r--libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.nonmember/plus.pass.cpp37
-rw-r--r--libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.+/difference_type.pass.cpp36
-rw-r--r--libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.+=/difference_type.pass.cpp37
-rw-r--r--libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.-/difference_type.pass.cpp36
-rw-r--r--libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.-=/difference_type.pass.cpp37
-rw-r--r--libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.comp/op_eq.pass.cpp46
-rw-r--r--libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.comp/op_gt.pass.cpp42
-rw-r--r--libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.comp/op_gte.pass.cpp42
-rw-r--r--libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.comp/op_lt.pass.cpp42
-rw-r--r--libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.comp/op_lte.pass.cpp42
-rw-r--r--libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.comp/op_neq.pass.cpp46
-rw-r--r--libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.const/convert.fail.cpp38
-rw-r--r--libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.const/convert.pass.cpp44
-rw-r--r--libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.const/default.pass.cpp34
-rw-r--r--libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.const/iter.fail.cpp31
-rw-r--r--libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.const/iter.pass.cpp37
-rw-r--r--libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.conv/tested_elsewhere.pass.cpp12
-rw-r--r--libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.decr/post.pass.cpp37
-rw-r--r--libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.decr/pre.pass.cpp37
-rw-r--r--libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.incr/post.pass.cpp39
-rw-r--r--libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.incr/pre.pass.cpp39
-rw-r--r--libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.index/difference_type.pass.cpp58
-rw-r--r--libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.ref/op_arrow.pass.cpp31
-rw-r--r--libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.star/op_star.pass.cpp61
-rw-r--r--libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op=/move_iterator.fail.cpp39
-rw-r--r--libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op=/move_iterator.pass.cpp47
-rw-r--r--libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/nothing_to_do.pass.cpp12
-rw-r--r--libcxx/test/iterators/predef.iterators/move.iterators/move.iter.requirements/nothing_to_do.pass.cpp12
-rw-r--r--libcxx/test/iterators/predef.iterators/move.iterators/move.iterator/types.pass.cpp56
-rw-r--r--libcxx/test/iterators/predef.iterators/move.iterators/nothing_to_do.pass.cpp12
-rw-r--r--libcxx/test/iterators/predef.iterators/nothing_to_do.pass.cpp12
-rw-r--r--libcxx/test/iterators/predef.iterators/reverse.iterators/nothing_to_do.pass.cpp12
-rw-r--r--libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/nothing_to_do.pass.cpp12
-rw-r--r--libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.cons/default.pass.cpp33
-rw-r--r--libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.cons/iter.fail.cpp31
-rw-r--r--libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.cons/iter.pass.cpp35
-rw-r--r--libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.cons/reverse_iterator.fail.cpp38
-rw-r--r--libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.cons/reverse_iterator.pass.cpp42
-rw-r--r--libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.conv/tested_elsewhere.pass.cpp12
-rw-r--r--libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.make/make_reverse_iterator.pass.cpp42
-rw-r--r--libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.op!=/test.pass.cpp42
-rw-r--r--libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.op++/post.pass.cpp37
-rw-r--r--libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.op++/pre.pass.cpp37
-rw-r--r--libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.op+/difference_type.pass.cpp36
-rw-r--r--libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.op+=/difference_type.pass.cpp37
-rw-r--r--libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.op--/post.pass.cpp37
-rw-r--r--libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.op--/pre.pass.cpp37
-rw-r--r--libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.op-/difference_type.pass.cpp36
-rw-r--r--libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.op-=/difference_type.pass.cpp37
-rw-r--r--libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.op.star/op_star.pass.cpp47
-rw-r--r--libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.op=/reverse_iterator.fail.cpp39
-rw-r--r--libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.op=/reverse_iterator.pass.cpp45
-rw-r--r--libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.op==/test.pass.cpp42
-rw-r--r--libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.opdiff/test.pass.cpp43
-rw-r--r--libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.opgt/test.pass.cpp42
-rw-r--r--libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.opgt=/test.pass.cpp42
-rw-r--r--libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.opindex/difference_type.pass.cpp38
-rw-r--r--libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.oplt/test.pass.cpp42
-rw-r--r--libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.oplt=/test.pass.cpp42
-rw-r--r--libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.opref/op_arrow.pass.cpp89
-rw-r--r--libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.opsum/difference_type.pass.cpp37
-rw-r--r--libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.requirements/nothing_to_do.pass.cpp12
-rw-r--r--libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iterator/types.pass.cpp61
-rw-r--r--libcxx/test/iterators/stream.iterators/istream.iterator/istream.iterator.cons/copy.pass.cpp36
-rw-r--r--libcxx/test/iterators/stream.iterators/istream.iterator/istream.iterator.cons/default.pass.cpp23
-rw-r--r--libcxx/test/iterators/stream.iterators/istream.iterator/istream.iterator.cons/istream.pass.cpp30
-rw-r--r--libcxx/test/iterators/stream.iterators/istream.iterator/istream.iterator.ops/arrow.pass.cpp37
-rw-r--r--libcxx/test/iterators/stream.iterators/istream.iterator/istream.iterator.ops/dereference.pass.cpp34
-rw-r--r--libcxx/test/iterators/stream.iterators/istream.iterator/istream.iterator.ops/equal.pass.cpp52
-rw-r--r--libcxx/test/iterators/stream.iterators/istream.iterator/istream.iterator.ops/post_increment.pass.cpp32
-rw-r--r--libcxx/test/iterators/stream.iterators/istream.iterator/istream.iterator.ops/pre_increment.pass.cpp29
-rw-r--r--libcxx/test/iterators/stream.iterators/istream.iterator/types.pass.cpp42
-rw-r--r--libcxx/test/iterators/stream.iterators/istreambuf.iterator/istreambuf.iterator.cons/default.pass.cpp30
-rw-r--r--libcxx/test/iterators/stream.iterators/istreambuf.iterator/istreambuf.iterator.cons/istream.pass.cpp42
-rw-r--r--libcxx/test/iterators/stream.iterators/istreambuf.iterator/istreambuf.iterator.cons/proxy.pass.cpp36
-rw-r--r--libcxx/test/iterators/stream.iterators/istreambuf.iterator/istreambuf.iterator.cons/streambuf.pass.cpp50
-rw-r--r--libcxx/test/iterators/stream.iterators/istreambuf.iterator/istreambuf.iterator_equal/equal.pass.cpp78
-rw-r--r--libcxx/test/iterators/stream.iterators/istreambuf.iterator/istreambuf.iterator_op!=/not_equal.pass.cpp80
-rw-r--r--libcxx/test/iterators/stream.iterators/istreambuf.iterator/istreambuf.iterator_op++/dereference.pass.cpp40
-rw-r--r--libcxx/test/iterators/stream.iterators/istreambuf.iterator/istreambuf.iterator_op==/equal.pass.cpp80
-rw-r--r--libcxx/test/iterators/stream.iterators/istreambuf.iterator/istreambuf.iterator_op_astrk/arrow.pass.cpp28
-rw-r--r--libcxx/test/iterators/stream.iterators/istreambuf.iterator/istreambuf.iterator_op_astrk/post_increment.pass.cpp38
-rw-r--r--libcxx/test/iterators/stream.iterators/istreambuf.iterator/istreambuf.iterator_op_astrk/pre_increment.pass.cpp39
-rw-r--r--libcxx/test/iterators/stream.iterators/istreambuf.iterator/istreambuf.iterator_proxy/proxy.pass.cpp44
-rw-r--r--libcxx/test/iterators/stream.iterators/istreambuf.iterator/types.pass.cpp51
-rw-r--r--libcxx/test/iterators/stream.iterators/iterator.range/begin_array.pass.cpp24
-rw-r--r--libcxx/test/iterators/stream.iterators/iterator.range/begin_const.pass.cpp23
-rw-r--r--libcxx/test/iterators/stream.iterators/iterator.range/begin_non_const.pass.cpp25
-rw-r--r--libcxx/test/iterators/stream.iterators/iterator.range/end_array.pass.cpp24
-rw-r--r--libcxx/test/iterators/stream.iterators/iterator.range/end_const.pass.cpp23
-rw-r--r--libcxx/test/iterators/stream.iterators/iterator.range/end_non_const.pass.cpp23
-rw-r--r--libcxx/test/iterators/stream.iterators/nothing_to_do.pass.cpp12
-rw-r--r--libcxx/test/iterators/stream.iterators/ostream.iterator/ostream.iterator.cons.des/copy.pass.cpp26
-rw-r--r--libcxx/test/iterators/stream.iterators/ostream.iterator/ostream.iterator.cons.des/ostream.pass.cpp25
-rw-r--r--libcxx/test/iterators/stream.iterators/ostream.iterator/ostream.iterator.cons.des/ostream_delem.pass.cpp32
-rw-r--r--libcxx/test/iterators/stream.iterators/ostream.iterator/ostream.iterator.ops/assign_t.pass.cpp46
-rw-r--r--libcxx/test/iterators/stream.iterators/ostream.iterator/ostream.iterator.ops/dereference.pass.cpp26
-rw-r--r--libcxx/test/iterators/stream.iterators/ostream.iterator/ostream.iterator.ops/increment.pass.cpp29
-rw-r--r--libcxx/test/iterators/stream.iterators/ostream.iterator/types.pass.cpp40
-rw-r--r--libcxx/test/iterators/stream.iterators/ostreambuf.iterator/ostreambuf.iter.cons/ostream.pass.cpp32
-rw-r--r--libcxx/test/iterators/stream.iterators/ostreambuf.iterator/ostreambuf.iter.cons/streambuf.pass.cpp32
-rw-r--r--libcxx/test/iterators/stream.iterators/ostreambuf.iterator/ostreambuf.iter.ops/assign_c.pass.cpp39
-rw-r--r--libcxx/test/iterators/stream.iterators/ostreambuf.iterator/ostreambuf.iter.ops/deref.pass.cpp34
-rw-r--r--libcxx/test/iterators/stream.iterators/ostreambuf.iterator/ostreambuf.iter.ops/failed.pass.cpp30
-rw-r--r--libcxx/test/iterators/stream.iterators/ostreambuf.iterator/ostreambuf.iter.ops/increment.pass.cpp39
-rw-r--r--libcxx/test/iterators/stream.iterators/ostreambuf.iterator/types.pass.cpp44
-rw-r--r--libcxx/test/iterators/version.pass.cpp20
168 files changed, 0 insertions, 6216 deletions
diff --git a/libcxx/test/iterators/iterator.container/data.pass.cpp b/libcxx/test/iterators/iterator.container/data.pass.cpp
deleted file mode 100644
index 75ba9505c4b..00000000000
--- a/libcxx/test/iterators/iterator.container/data.pass.cpp
+++ /dev/null
@@ -1,77 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-// template <class C> constexpr auto data(C& c) -> decltype(c.data()); // C++17
-// template <class C> constexpr auto data(const C& c) -> decltype(c.data()); // C++17
-// template <class T, size_t N> constexpr T* data(T (&array)[N]) noexcept; // C++17
-// template <class E> constexpr const E* data(initializer_list<E> il) noexcept; // C++17
-
-#if __cplusplus <= 201402L
-int main () {}
-#else
-
-
-#include <__config>
-
-#include <iterator>
-#include <cassert>
-#include <vector>
-#include <array>
-#include <initializer_list>
-
-template<typename C>
-void test_const_container( const C& c )
-{
- assert ( std::data(c) == c.data());
-}
-
-template<typename T>
-void test_const_container( const std::initializer_list<T>& c )
-{
- assert ( std::data(c) == c.begin());
-}
-
-template<typename C>
-void test_container( C& c )
-{
- assert ( std::data(c) == c.data());
-}
-
-template<typename T>
-void test_container( std::initializer_list<T>& c)
-{
- assert ( std::data(c) == c.begin());
-}
-
-template<typename T, size_t Sz>
-void test_const_array( const T (&array)[Sz] )
-{
- assert ( std::data(array) == &array[0]);
-}
-
-int main()
-{
- std::vector<int> v; v.push_back(1);
- std::array<int, 1> a; a[0] = 3;
- std::initializer_list<int> il = { 4 };
-
- test_container ( v );
- test_container ( a );
- test_container ( il );
-
- test_const_container ( v );
- test_const_container ( a );
- test_const_container ( il );
-
- static constexpr int arrA [] { 1, 2, 3 };
- test_const_array ( arrA );
-}
-
-#endif
diff --git a/libcxx/test/iterators/iterator.container/empty.pass.cpp b/libcxx/test/iterators/iterator.container/empty.pass.cpp
deleted file mode 100644
index 196a0e33bd9..00000000000
--- a/libcxx/test/iterators/iterator.container/empty.pass.cpp
+++ /dev/null
@@ -1,80 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-// template <class C> constexpr auto empty(const C& c) -> decltype(c.empty()); // C++17
-// template <class T, size_t N> constexpr bool empty(const T (&array)[N]) noexcept; // C++17
-// template <class E> constexpr bool empty(initializer_list<E> il) noexcept; // C++17
-
-#if __cplusplus <= 201402L
-int main () {}
-#else
-
-
-#include <__config>
-
-#include <iterator>
-#include <cassert>
-#include <vector>
-#include <array>
-#include <list>
-#include <initializer_list>
-
-template<typename C>
-void test_const_container( const C& c )
-{
- assert ( std::empty(c) == c.empty());
-}
-
-template<typename T>
-void test_const_container( const std::initializer_list<T>& c )
-{
- assert ( std::empty(c) == (c.size() == 0));
-}
-
-template<typename C>
-void test_container( C& c )
-{
- assert ( std::empty(c) == c.empty());
-}
-
-template<typename T>
-void test_container( std::initializer_list<T>& c )
-{
- assert ( std::empty(c) == (c.size() == 0));
-}
-
-template<typename T, size_t Sz>
-void test_const_array( const T (&array)[Sz] )
-{
- assert (!std::empty(array));
-}
-
-int main()
-{
- std::vector<int> v; v.push_back(1);
- std::list<int> l; l.push_back(2);
- std::array<int, 1> a; a[0] = 3;
- std::initializer_list<int> il = { 4 };
-
- test_container ( v );
- test_container ( l );
- test_container ( a );
- test_container ( il );
-
- test_const_container ( v );
- test_const_container ( l );
- test_const_container ( a );
- test_const_container ( il );
-
- static constexpr int arrA [] { 1, 2, 3 };
- test_const_array ( arrA );
-}
-
-#endif
diff --git a/libcxx/test/iterators/iterator.container/size.pass.cpp b/libcxx/test/iterators/iterator.container/size.pass.cpp
deleted file mode 100644
index f8da9bf5041..00000000000
--- a/libcxx/test/iterators/iterator.container/size.pass.cpp
+++ /dev/null
@@ -1,79 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-// template <class C> constexpr auto size(const C& c) -> decltype(c.size()); // C++17
-// template <class T, size_t N> constexpr size_t size(const T (&array)[N]) noexcept; // C++17
-
-#if __cplusplus <= 201402L
-int main () {}
-#else
-
-
-#include <__config>
-
-#include <iterator>
-#include <cassert>
-#include <vector>
-#include <array>
-#include <list>
-#include <initializer_list>
-
-template<typename C>
-void test_const_container( const C& c )
-{
- assert ( std::size(c) == c.size());
-}
-
-template<typename T>
-void test_const_container( const std::initializer_list<T>& c)
-{
- assert ( std::size(c) == c.size());
-}
-
-template<typename C>
-void test_container( C& c)
-{
- assert ( std::size(c) == c.size());
-}
-
-template<typename T>
-void test_container( std::initializer_list<T>& c )
-{
- assert ( std::size(c) == c.size());
-}
-
-template<typename T, size_t Sz>
-void test_const_array( const T (&array)[Sz] )
-{
- assert ( std::size(array) == Sz );
-}
-
-int main()
-{
- std::vector<int> v; v.push_back(1);
- std::list<int> l; l.push_back(2);
- std::array<int, 1> a; a[0] = 3;
- std::initializer_list<int> il = { 4 };
-
- test_container ( v );
- test_container ( l );
- test_container ( a );
- test_container ( il );
-
- test_const_container ( v );
- test_const_container ( l );
- test_const_container ( a );
- test_const_container ( il );
-
- static constexpr int arrA [] { 1, 2, 3 };
- test_const_array ( arrA );
-}
-
-#endif
diff --git a/libcxx/test/iterators/iterator.primitives/iterator.basic/iterator.pass.cpp b/libcxx/test/iterators/iterator.primitives/iterator.basic/iterator.pass.cpp
deleted file mode 100644
index 26d5c866028..00000000000
--- a/libcxx/test/iterators/iterator.primitives/iterator.basic/iterator.pass.cpp
+++ /dev/null
@@ -1,82 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// template<class Category, class T, class Distance = ptrdiff_t,
-// class Pointer = T*, class Reference = T&>
-// struct iterator
-// {
-// typedef T value_type;
-// typedef Distance difference_type;
-// typedef Pointer pointer;
-// typedef Reference reference;
-// typedef Category iterator_category;
-// };
-
-#include <iterator>
-#include <type_traits>
-
-struct A {};
-
-template <class T>
-void
-test2()
-{
- typedef std::iterator<std::forward_iterator_tag, T> It;
- static_assert((std::is_same<typename It::value_type, T>::value), "");
- static_assert((std::is_same<typename It::difference_type, std::ptrdiff_t>::value), "");
- static_assert((std::is_same<typename It::pointer, T*>::value), "");
- static_assert((std::is_same<typename It::reference, T&>::value), "");
- static_assert((std::is_same<typename It::iterator_category, std::forward_iterator_tag>::value), "");
-}
-
-template <class T>
-void
-test3()
-{
- typedef std::iterator<std::bidirectional_iterator_tag, T, short> It;
- static_assert((std::is_same<typename It::value_type, T>::value), "");
- static_assert((std::is_same<typename It::difference_type, short>::value), "");
- static_assert((std::is_same<typename It::pointer, T*>::value), "");
- static_assert((std::is_same<typename It::reference, T&>::value), "");
- static_assert((std::is_same<typename It::iterator_category, std::bidirectional_iterator_tag>::value), "");
-}
-
-template <class T>
-void
-test4()
-{
- typedef std::iterator<std::random_access_iterator_tag, T, int, const T*> It;
- static_assert((std::is_same<typename It::value_type, T>::value), "");
- static_assert((std::is_same<typename It::difference_type, int>::value), "");
- static_assert((std::is_same<typename It::pointer, const T*>::value), "");
- static_assert((std::is_same<typename It::reference, T&>::value), "");
- static_assert((std::is_same<typename It::iterator_category, std::random_access_iterator_tag>::value), "");
-}
-
-template <class T>
-void
-test5()
-{
- typedef std::iterator<std::input_iterator_tag, T, long, const T*, const T&> It;
- static_assert((std::is_same<typename It::value_type, T>::value), "");
- static_assert((std::is_same<typename It::difference_type, long>::value), "");
- static_assert((std::is_same<typename It::pointer, const T*>::value), "");
- static_assert((std::is_same<typename It::reference, const T&>::value), "");
- static_assert((std::is_same<typename It::iterator_category, std::input_iterator_tag>::value), "");
-}
-
-int main()
-{
- test2<A>();
- test3<A>();
- test4<A>();
- test5<A>();
-}
diff --git a/libcxx/test/iterators/iterator.primitives/iterator.operations/advance.pass.cpp b/libcxx/test/iterators/iterator.primitives/iterator.operations/advance.pass.cpp
deleted file mode 100644
index e395da299dc..00000000000
--- a/libcxx/test/iterators/iterator.primitives/iterator.operations/advance.pass.cpp
+++ /dev/null
@@ -1,45 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// template <InputIterator Iter>
-// void advance(Iter& i, Iter::difference_type n);
-//
-// template <BidirectionalIterator Iter>
-// void advance(Iter& i, Iter::difference_type n);
-//
-// template <RandomAccessIterator Iter>
-// void advance(Iter& i, Iter::difference_type n);
-
-#include <iterator>
-#include <cassert>
-
-#include "test_iterators.h"
-
-template <class It>
-void
-test(It i, typename std::iterator_traits<It>::difference_type n, It x)
-{
- std::advance(i, n);
- assert(i == x);
-}
-
-int main()
-{
- const char* s = "1234567890";
- test(input_iterator<const char*>(s), 10, input_iterator<const char*>(s+10));
- test(forward_iterator<const char*>(s), 10, forward_iterator<const char*>(s+10));
- test(bidirectional_iterator<const char*>(s+5), 5, bidirectional_iterator<const char*>(s+10));
- test(bidirectional_iterator<const char*>(s+5), -5, bidirectional_iterator<const char*>(s));
- test(random_access_iterator<const char*>(s+5), 5, random_access_iterator<const char*>(s+10));
- test(random_access_iterator<const char*>(s+5), -5, random_access_iterator<const char*>(s));
- test(s+5, 5, s+10);
- test(s+5, -5, s);
-}
diff --git a/libcxx/test/iterators/iterator.primitives/iterator.operations/distance.pass.cpp b/libcxx/test/iterators/iterator.primitives/iterator.operations/distance.pass.cpp
deleted file mode 100644
index 7fef635838c..00000000000
--- a/libcxx/test/iterators/iterator.primitives/iterator.operations/distance.pass.cpp
+++ /dev/null
@@ -1,40 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// template <InputIterator Iter>
-// Iter::difference_type
-// distance(Iter first, Iter last);
-//
-// template <RandomAccessIterator Iter>
-// Iter::difference_type
-// distance(Iter first, Iter last);
-
-#include <iterator>
-#include <cassert>
-
-#include "test_iterators.h"
-
-template <class It>
-void
-test(It first, It last, typename std::iterator_traits<It>::difference_type x)
-{
- assert(std::distance(first, last) == x);
-}
-
-int main()
-{
- const char* s = "1234567890";
- test(input_iterator<const char*>(s), input_iterator<const char*>(s+10), 10);
- test(forward_iterator<const char*>(s), forward_iterator<const char*>(s+10), 10);
- test(bidirectional_iterator<const char*>(s), bidirectional_iterator<const char*>(s+10), 10);
- test(random_access_iterator<const char*>(s), random_access_iterator<const char*>(s+10), 10);
- test(s, s+10, 10);
-}
diff --git a/libcxx/test/iterators/iterator.primitives/iterator.operations/next.pass.cpp b/libcxx/test/iterators/iterator.primitives/iterator.operations/next.pass.cpp
deleted file mode 100644
index f584110499b..00000000000
--- a/libcxx/test/iterators/iterator.primitives/iterator.operations/next.pass.cpp
+++ /dev/null
@@ -1,46 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// template <InputIterator Iter>
-// Iter next(Iter x, Iter::difference_type n = 1);
-
-#include <iterator>
-#include <cassert>
-
-#include "test_iterators.h"
-
-template <class It>
-void
-test(It i, typename std::iterator_traits<It>::difference_type n, It x)
-{
- assert(std::next(i, n) == x);
-}
-
-template <class It>
-void
-test(It i, It x)
-{
- assert(std::next(i) == x);
-}
-
-int main()
-{
- const char* s = "1234567890";
- test(forward_iterator<const char*>(s), 10, forward_iterator<const char*>(s+10));
- test(bidirectional_iterator<const char*>(s), 10, bidirectional_iterator<const char*>(s+10));
- test(random_access_iterator<const char*>(s), 10, random_access_iterator<const char*>(s+10));
- test(s, 10, s+10);
-
- test(forward_iterator<const char*>(s), forward_iterator<const char*>(s+1));
- test(bidirectional_iterator<const char*>(s), bidirectional_iterator<const char*>(s+1));
- test(random_access_iterator<const char*>(s), random_access_iterator<const char*>(s+1));
- test(s, s+1);
-}
diff --git a/libcxx/test/iterators/iterator.primitives/iterator.operations/prev.pass.cpp b/libcxx/test/iterators/iterator.primitives/iterator.operations/prev.pass.cpp
deleted file mode 100644
index 0641706c928..00000000000
--- a/libcxx/test/iterators/iterator.primitives/iterator.operations/prev.pass.cpp
+++ /dev/null
@@ -1,44 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// template <BidirectionalIterator Iter>
-// Iter prev(Iter x, Iter::difference_type n = 1);
-
-#include <iterator>
-#include <cassert>
-
-#include "test_iterators.h"
-
-template <class It>
-void
-test(It i, typename std::iterator_traits<It>::difference_type n, It x)
-{
- assert(std::prev(i, n) == x);
-}
-
-template <class It>
-void
-test(It i, It x)
-{
- assert(std::prev(i) == x);
-}
-
-int main()
-{
- const char* s = "1234567890";
- test(bidirectional_iterator<const char*>(s+10), 10, bidirectional_iterator<const char*>(s));
- test(random_access_iterator<const char*>(s+10), 10, random_access_iterator<const char*>(s));
- test(s+10, 10, s);
-
- test(bidirectional_iterator<const char*>(s+1), bidirectional_iterator<const char*>(s));
- test(random_access_iterator<const char*>(s+1), random_access_iterator<const char*>(s));
- test(s+1, s);
-}
diff --git a/libcxx/test/iterators/iterator.primitives/iterator.traits/const_pointer.pass.cpp b/libcxx/test/iterators/iterator.primitives/iterator.traits/const_pointer.pass.cpp
deleted file mode 100644
index f40754fd9da..00000000000
--- a/libcxx/test/iterators/iterator.primitives/iterator.traits/const_pointer.pass.cpp
+++ /dev/null
@@ -1,35 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// template<class T>
-// struct iterator_traits<const T*>
-// {
-// typedef ptrdiff_t difference_type;
-// typedef T value_type;
-// typedef const T* pointer;
-// typedef const T& reference;
-// typedef random_access_iterator_tag iterator_category;
-// };
-
-#include <iterator>
-#include <type_traits>
-
-struct A {};
-
-int main()
-{
- typedef std::iterator_traits<const A*> It;
- static_assert((std::is_same<It::difference_type, std::ptrdiff_t>::value), "");
- static_assert((std::is_same<It::value_type, A>::value), "");
- static_assert((std::is_same<It::pointer, const A*>::value), "");
- static_assert((std::is_same<It::reference, const A&>::value), "");
- static_assert((std::is_same<It::iterator_category, std::random_access_iterator_tag>::value), "");
-}
diff --git a/libcxx/test/iterators/iterator.primitives/iterator.traits/empty.pass.cpp b/libcxx/test/iterators/iterator.primitives/iterator.traits/empty.pass.cpp
deleted file mode 100644
index e48e44b3777..00000000000
--- a/libcxx/test/iterators/iterator.primitives/iterator.traits/empty.pass.cpp
+++ /dev/null
@@ -1,38 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// template<class NotAnIterator>
-// struct iterator_traits
-// {
-// };
-
-#include <iterator>
-
-struct not_an_iterator
-{
-};
-
-template <class _Tp>
-struct has_value_type
-{
-private:
- struct two {char lx; char lxx;};
- template <class _Up> static two test(...);
- template <class _Up> static char test(typename _Up::value_type* = 0);
-public:
- static const bool value = sizeof(test<_Tp>(0)) == 1;
-};
-
-int main()
-{
- typedef std::iterator_traits<not_an_iterator> It;
- static_assert(!(has_value_type<It>::value), "");
-}
diff --git a/libcxx/test/iterators/iterator.primitives/iterator.traits/iterator.pass.cpp b/libcxx/test/iterators/iterator.primitives/iterator.traits/iterator.pass.cpp
deleted file mode 100644
index 38f7c0b6b83..00000000000
--- a/libcxx/test/iterators/iterator.primitives/iterator.traits/iterator.pass.cpp
+++ /dev/null
@@ -1,43 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// template<class Iter>
-// struct iterator_traits
-// {
-// typedef typename Iter::difference_type difference_type;
-// typedef typename Iter::value_type value_type;
-// typedef typename Iter::pointer pointer;
-// typedef typename Iter::reference reference;
-// typedef typename Iter::iterator_category iterator_category;
-// };
-
-#include <iterator>
-#include <type_traits>
-
-struct A {};
-
-struct test_iterator
-{
- typedef int difference_type;
- typedef A value_type;
- typedef A* pointer;
- typedef A& reference;
- typedef std::forward_iterator_tag iterator_category;
-};
-
-int main()
-{
- typedef std::iterator_traits<test_iterator> It;
- static_assert((std::is_same<It::difference_type, int>::value), "");
- static_assert((std::is_same<It::value_type, A>::value), "");
- static_assert((std::is_same<It::pointer, A*>::value), "");
- static_assert((std::is_same<It::iterator_category, std::forward_iterator_tag>::value), "");
-}
diff --git a/libcxx/test/iterators/iterator.primitives/iterator.traits/pointer.pass.cpp b/libcxx/test/iterators/iterator.primitives/iterator.traits/pointer.pass.cpp
deleted file mode 100644
index 5a8fe60774e..00000000000
--- a/libcxx/test/iterators/iterator.primitives/iterator.traits/pointer.pass.cpp
+++ /dev/null
@@ -1,35 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// template<class T>
-// struct iterator_traits<T*>
-// {
-// typedef ptrdiff_t difference_type;
-// typedef T value_type;
-// typedef T* pointer;
-// typedef T& reference;
-// typedef random_access_iterator_tag iterator_category;
-// };
-
-#include <iterator>
-#include <type_traits>
-
-struct A {};
-
-int main()
-{
- typedef std::iterator_traits<A*> It;
- static_assert((std::is_same<It::difference_type, std::ptrdiff_t>::value), "");
- static_assert((std::is_same<It::value_type, A>::value), "");
- static_assert((std::is_same<It::pointer, A*>::value), "");
- static_assert((std::is_same<It::reference, A&>::value), "");
- static_assert((std::is_same<It::iterator_category, std::random_access_iterator_tag>::value), "");
-}
diff --git a/libcxx/test/iterators/iterator.primitives/nothing_to_do.pass.cpp b/libcxx/test/iterators/iterator.primitives/nothing_to_do.pass.cpp
deleted file mode 100644
index b58f5c55b64..00000000000
--- a/libcxx/test/iterators/iterator.primitives/nothing_to_do.pass.cpp
+++ /dev/null
@@ -1,12 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-int main()
-{
-}
diff --git a/libcxx/test/iterators/iterator.primitives/std.iterator.tags/bidirectional_iterator_tag.pass.cpp b/libcxx/test/iterators/iterator.primitives/std.iterator.tags/bidirectional_iterator_tag.pass.cpp
deleted file mode 100644
index 0f368c3b765..00000000000
--- a/libcxx/test/iterators/iterator.primitives/std.iterator.tags/bidirectional_iterator_tag.pass.cpp
+++ /dev/null
@@ -1,24 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// struct bidirectional_iterator_tag : public forward_iterator_tag {};
-
-#include <iterator>
-#include <type_traits>
-
-int main()
-{
- std::bidirectional_iterator_tag tag;
- static_assert((std::is_base_of<std::forward_iterator_tag,
- std::bidirectional_iterator_tag>::value), "");
- static_assert((!std::is_base_of<std::output_iterator_tag,
- std::bidirectional_iterator_tag>::value), "");
-}
diff --git a/libcxx/test/iterators/iterator.primitives/std.iterator.tags/forward_iterator_tag.pass.cpp b/libcxx/test/iterators/iterator.primitives/std.iterator.tags/forward_iterator_tag.pass.cpp
deleted file mode 100644
index 0936595c85d..00000000000
--- a/libcxx/test/iterators/iterator.primitives/std.iterator.tags/forward_iterator_tag.pass.cpp
+++ /dev/null
@@ -1,24 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// struct forward_iterator_tag: public input_iterator_tag {};
-
-#include <iterator>
-#include <type_traits>
-
-int main()
-{
- std::forward_iterator_tag tag;
- static_assert((std::is_base_of<std::input_iterator_tag,
- std::forward_iterator_tag>::value), "");
- static_assert((!std::is_base_of<std::output_iterator_tag,
- std::forward_iterator_tag>::value), "");
-}
diff --git a/libcxx/test/iterators/iterator.primitives/std.iterator.tags/input_iterator_tag.pass.cpp b/libcxx/test/iterators/iterator.primitives/std.iterator.tags/input_iterator_tag.pass.cpp
deleted file mode 100644
index afeac3e91ca..00000000000
--- a/libcxx/test/iterators/iterator.primitives/std.iterator.tags/input_iterator_tag.pass.cpp
+++ /dev/null
@@ -1,22 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// struct input_iterator_tag {};
-
-#include <iterator>
-#include <type_traits>
-
-int main()
-{
- std::input_iterator_tag tag;
- static_assert((!std::is_base_of<std::output_iterator_tag,
- std::input_iterator_tag>::value), "");
-}
diff --git a/libcxx/test/iterators/iterator.primitives/std.iterator.tags/output_iterator_tag.pass.cpp b/libcxx/test/iterators/iterator.primitives/std.iterator.tags/output_iterator_tag.pass.cpp
deleted file mode 100644
index 7f7f66a98f4..00000000000
--- a/libcxx/test/iterators/iterator.primitives/std.iterator.tags/output_iterator_tag.pass.cpp
+++ /dev/null
@@ -1,22 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// struct output_iterator_tag {};
-
-#include <iterator>
-#include <type_traits>
-
-int main()
-{
- std::output_iterator_tag tag;
- static_assert((!std::is_base_of<std::input_iterator_tag,
- std::output_iterator_tag>::value), "");
-}
diff --git a/libcxx/test/iterators/iterator.primitives/std.iterator.tags/random_access_iterator_tag.pass.cpp b/libcxx/test/iterators/iterator.primitives/std.iterator.tags/random_access_iterator_tag.pass.cpp
deleted file mode 100644
index 04f830bc310..00000000000
--- a/libcxx/test/iterators/iterator.primitives/std.iterator.tags/random_access_iterator_tag.pass.cpp
+++ /dev/null
@@ -1,24 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// struct random_access_iterator_tag : public bidirectional_iterator_tag {};
-
-#include <iterator>
-#include <type_traits>
-
-int main()
-{
- std::random_access_iterator_tag tag;
- static_assert((std::is_base_of<std::bidirectional_iterator_tag,
- std::random_access_iterator_tag>::value), "");
- static_assert((!std::is_base_of<std::output_iterator_tag,
- std::random_access_iterator_tag>::value), "");
-}
diff --git a/libcxx/test/iterators/iterator.range/begin-end.pass.cpp b/libcxx/test/iterators/iterator.range/begin-end.pass.cpp
deleted file mode 100644
index abb6433e232..00000000000
--- a/libcxx/test/iterators/iterator.range/begin-end.pass.cpp
+++ /dev/null
@@ -1,148 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-// template <class C> auto begin(C& c) -> decltype(c.begin());
-// template <class C> auto begin(const C& c) -> decltype(c.begin());
-// template <class C> auto end(C& c) -> decltype(c.end());
-// template <class C> auto end(const C& c) -> decltype(c.end());
-// template <class E> reverse_iterator<const E*> rbegin(initializer_list<E> il);
-// template <class E> reverse_iterator<const E*> rend(initializer_list<E> il);
-
-#include <__config>
-
-#if __cplusplus >= 201103L
-#include <iterator>
-#include <cassert>
-#include <vector>
-#include <array>
-#include <list>
-#include <initializer_list>
-
-template<typename C>
-void test_const_container( const C & c, typename C::value_type val ) {
- assert ( std::begin(c) == c.begin());
- assert (*std::begin(c) == val );
- assert ( std::begin(c) != c.end());
- assert ( std::end(c) == c.end());
-#if _LIBCPP_STD_VER > 11
- assert ( std::cbegin(c) == c.cbegin());
- assert ( std::cbegin(c) != c.cend());
- assert ( std::cend(c) == c.cend());
- assert ( std::rbegin(c) == c.rbegin());
- assert ( std::rbegin(c) != c.rend());
- assert ( std::rend(c) == c.rend());
- assert ( std::crbegin(c) == c.crbegin());
- assert ( std::crbegin(c) != c.crend());
- assert ( std::crend(c) == c.crend());
-#endif
- }
-
-template<typename T>
-void test_const_container( const std::initializer_list<T> & c, T val ) {
- assert ( std::begin(c) == c.begin());
- assert (*std::begin(c) == val );
- assert ( std::begin(c) != c.end());
- assert ( std::end(c) == c.end());
-#if _LIBCPP_STD_VER > 11
-// initializer_list doesn't have cbegin/cend/rbegin/rend
-// but std::cbegin(),etc work (b/c they're general fn templates)
-// assert ( std::cbegin(c) == c.cbegin());
-// assert ( std::cbegin(c) != c.cend());
-// assert ( std::cend(c) == c.cend());
-// assert ( std::rbegin(c) == c.rbegin());
-// assert ( std::rbegin(c) != c.rend());
-// assert ( std::rend(c) == c.rend());
-// assert ( std::crbegin(c) == c.crbegin());
-// assert ( std::crbegin(c) != c.crend());
-// assert ( std::crend(c) == c.crend());
-#endif
- }
-
-template<typename C>
-void test_container( C & c, typename C::value_type val ) {
- assert ( std::begin(c) == c.begin());
- assert (*std::begin(c) == val );
- assert ( std::begin(c) != c.end());
- assert ( std::end(c) == c.end());
-#if _LIBCPP_STD_VER > 11
- assert ( std::cbegin(c) == c.cbegin());
- assert ( std::cbegin(c) != c.cend());
- assert ( std::cend(c) == c.cend());
- assert ( std::rbegin(c) == c.rbegin());
- assert ( std::rbegin(c) != c.rend());
- assert ( std::rend(c) == c.rend());
- assert ( std::crbegin(c) == c.crbegin());
- assert ( std::crbegin(c) != c.crend());
- assert ( std::crend(c) == c.crend());
-#endif
- }
-
-template<typename T>
-void test_container( std::initializer_list<T> & c, T val ) {
- assert ( std::begin(c) == c.begin());
- assert (*std::begin(c) == val );
- assert ( std::begin(c) != c.end());
- assert ( std::end(c) == c.end());
-#if _LIBCPP_STD_VER > 11
-// initializer_list doesn't have cbegin/cend/rbegin/rend
-// assert ( std::cbegin(c) == c.cbegin());
-// assert ( std::cbegin(c) != c.cend());
-// assert ( std::cend(c) == c.cend());
-// assert ( std::rbegin(c) == c.rbegin());
-// assert ( std::rbegin(c) != c.rend());
-// assert ( std::rend(c) == c.rend());
-// assert ( std::crbegin(c) == c.crbegin());
-// assert ( std::crbegin(c) != c.crend());
-// assert ( std::crend(c) == c.crend());
-#endif
- }
-
-template<typename T, size_t Sz>
-void test_const_array( const T (&array)[Sz] ) {
- assert ( std::begin(array) == array );
- assert (*std::begin(array) == array[0] );
- assert ( std::begin(array) != std::end(array));
- assert ( std::end(array) == array + Sz);
-#if _LIBCPP_STD_VER > 11
- assert ( std::cbegin(array) == array );
- assert (*std::cbegin(array) == array[0] );
- assert ( std::cbegin(array) != std::cend(array));
- assert ( std::cend(array) == array + Sz);
-#endif
- }
-
-int main(){
- std::vector<int> v; v.push_back(1);
- std::list<int> l; l.push_back(2);
- std::array<int, 1> a; a[0] = 3;
- std::initializer_list<int> il = { 4 };
-
- test_container ( v, 1 );
- test_container ( l, 2 );
- test_container ( a, 3 );
- test_container ( il, 4 );
-
- test_const_container ( v, 1 );
- test_const_container ( l, 2 );
- test_const_container ( a, 3 );
- test_const_container ( il, 4 );
-
- static constexpr int arrA [] { 1, 2, 3 };
- test_const_array ( arrA );
-#if _LIBCPP_STD_VER > 11
- constexpr const int *b = std::cbegin(arrA);
- constexpr const int *e = std::cend(arrA);
- static_assert(e - b == 3, "");
-#endif
-}
-
-#else
-int main(){}
-#endif
diff --git a/libcxx/test/iterators/iterator.requirements/bidirectional.iterators/nothing_to_do.pass.cpp b/libcxx/test/iterators/iterator.requirements/bidirectional.iterators/nothing_to_do.pass.cpp
deleted file mode 100644
index b58f5c55b64..00000000000
--- a/libcxx/test/iterators/iterator.requirements/bidirectional.iterators/nothing_to_do.pass.cpp
+++ /dev/null
@@ -1,12 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-int main()
-{
-}
diff --git a/libcxx/test/iterators/iterator.requirements/forward.iterators/nothing_to_do.pass.cpp b/libcxx/test/iterators/iterator.requirements/forward.iterators/nothing_to_do.pass.cpp
deleted file mode 100644
index b58f5c55b64..00000000000
--- a/libcxx/test/iterators/iterator.requirements/forward.iterators/nothing_to_do.pass.cpp
+++ /dev/null
@@ -1,12 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-int main()
-{
-}
diff --git a/libcxx/test/iterators/iterator.requirements/input.iterators/nothing_to_do.pass.cpp b/libcxx/test/iterators/iterator.requirements/input.iterators/nothing_to_do.pass.cpp
deleted file mode 100644
index b58f5c55b64..00000000000
--- a/libcxx/test/iterators/iterator.requirements/input.iterators/nothing_to_do.pass.cpp
+++ /dev/null
@@ -1,12 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-int main()
-{
-}
diff --git a/libcxx/test/iterators/iterator.requirements/iterator.iterators/nothing_to_do.pass.cpp b/libcxx/test/iterators/iterator.requirements/iterator.iterators/nothing_to_do.pass.cpp
deleted file mode 100644
index b58f5c55b64..00000000000
--- a/libcxx/test/iterators/iterator.requirements/iterator.iterators/nothing_to_do.pass.cpp
+++ /dev/null
@@ -1,12 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-int main()
-{
-}
diff --git a/libcxx/test/iterators/iterator.requirements/iterator.requirements.general/nothing_to_do.pass.cpp b/libcxx/test/iterators/iterator.requirements/iterator.requirements.general/nothing_to_do.pass.cpp
deleted file mode 100644
index b58f5c55b64..00000000000
--- a/libcxx/test/iterators/iterator.requirements/iterator.requirements.general/nothing_to_do.pass.cpp
+++ /dev/null
@@ -1,12 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-int main()
-{
-}
diff --git a/libcxx/test/iterators/iterator.requirements/nothing_to_do.pass.cpp b/libcxx/test/iterators/iterator.requirements/nothing_to_do.pass.cpp
deleted file mode 100644
index b58f5c55b64..00000000000
--- a/libcxx/test/iterators/iterator.requirements/nothing_to_do.pass.cpp
+++ /dev/null
@@ -1,12 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-int main()
-{
-}
diff --git a/libcxx/test/iterators/iterator.requirements/output.iterators/nothing_to_do.pass.cpp b/libcxx/test/iterators/iterator.requirements/output.iterators/nothing_to_do.pass.cpp
deleted file mode 100644
index b58f5c55b64..00000000000
--- a/libcxx/test/iterators/iterator.requirements/output.iterators/nothing_to_do.pass.cpp
+++ /dev/null
@@ -1,12 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-int main()
-{
-}
diff --git a/libcxx/test/iterators/iterator.requirements/random.access.iterators/nothing_to_do.pass.cpp b/libcxx/test/iterators/iterator.requirements/random.access.iterators/nothing_to_do.pass.cpp
deleted file mode 100644
index b58f5c55b64..00000000000
--- a/libcxx/test/iterators/iterator.requirements/random.access.iterators/nothing_to_do.pass.cpp
+++ /dev/null
@@ -1,12 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-int main()
-{
-}
diff --git a/libcxx/test/iterators/iterator.synopsis/nothing_to_do.pass.cpp b/libcxx/test/iterators/iterator.synopsis/nothing_to_do.pass.cpp
deleted file mode 100644
index b58f5c55b64..00000000000
--- a/libcxx/test/iterators/iterator.synopsis/nothing_to_do.pass.cpp
+++ /dev/null
@@ -1,12 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-int main()
-{
-}
diff --git a/libcxx/test/iterators/iterators.general/nothing_to_do.pass.cpp b/libcxx/test/iterators/iterators.general/nothing_to_do.pass.cpp
deleted file mode 100644
index b58f5c55b64..00000000000
--- a/libcxx/test/iterators/iterators.general/nothing_to_do.pass.cpp
+++ /dev/null
@@ -1,12 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-int main()
-{
-}
diff --git a/libcxx/test/iterators/predef.iterators/insert.iterators/back.insert.iter.ops/back.insert.iter.cons/container.fail.cpp b/libcxx/test/iterators/predef.iterators/insert.iterators/back.insert.iter.ops/back.insert.iter.cons/container.fail.cpp
deleted file mode 100644
index 5dd49a6254e..00000000000
--- a/libcxx/test/iterators/predef.iterators/insert.iterators/back.insert.iter.ops/back.insert.iter.cons/container.fail.cpp
+++ /dev/null
@@ -1,24 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// back_insert_iterator
-
-// explicit back_insert_iterator(Cont& x);
-
-// test for explicit
-
-#include <iterator>
-#include <vector>
-
-int main()
-{
- std::back_insert_iterator<std::vector<int> > i = std::vector<int>();
-}
diff --git a/libcxx/test/iterators/predef.iterators/insert.iterators/back.insert.iter.ops/back.insert.iter.cons/container.pass.cpp b/libcxx/test/iterators/predef.iterators/insert.iterators/back.insert.iter.ops/back.insert.iter.cons/container.pass.cpp
deleted file mode 100644
index f280adb7351..00000000000
--- a/libcxx/test/iterators/predef.iterators/insert.iterators/back.insert.iter.ops/back.insert.iter.cons/container.pass.cpp
+++ /dev/null
@@ -1,31 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// back_insert_iterator
-
-// explicit back_insert_iterator(Cont& x);
-
-#include <iterator>
-#include <vector>
-#include "nasty_containers.hpp"
-
-template <class C>
-void
-test(C c)
-{
- std::back_insert_iterator<C> i(c);
-}
-
-int main()
-{
- test(std::vector<int>());
- test(nasty_vector<int>());
-}
diff --git a/libcxx/test/iterators/predef.iterators/insert.iterators/back.insert.iter.ops/back.insert.iter.op++/post.pass.cpp b/libcxx/test/iterators/predef.iterators/insert.iterators/back.insert.iter.ops/back.insert.iter.op++/post.pass.cpp
deleted file mode 100644
index c6ff0473ffb..00000000000
--- a/libcxx/test/iterators/predef.iterators/insert.iterators/back.insert.iter.ops/back.insert.iter.op++/post.pass.cpp
+++ /dev/null
@@ -1,36 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// back_insert_iterator
-
-// back_insert_iterator<Cont> operator++(int);
-
-#include <iterator>
-#include <vector>
-#include <cassert>
-#include "nasty_containers.hpp"
-
-template <class C>
-void
-test(C c)
-{
- std::back_insert_iterator<C> i(c);
- std::back_insert_iterator<C> r = i++;
- r = 0;
- assert(c.size() == 1);
- assert(c.back() == 0);
-}
-
-int main()
-{
- test(std::vector<int>());
- test(nasty_vector<int>());
-}
diff --git a/libcxx/test/iterators/predef.iterators/insert.iterators/back.insert.iter.ops/back.insert.iter.op++/pre.pass.cpp b/libcxx/test/iterators/predef.iterators/insert.iterators/back.insert.iter.ops/back.insert.iter.op++/pre.pass.cpp
deleted file mode 100644
index 2b9f245a05a..00000000000
--- a/libcxx/test/iterators/predef.iterators/insert.iterators/back.insert.iter.ops/back.insert.iter.op++/pre.pass.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// back_insert_iterator
-
-// back_insert_iterator<Cont>& operator++();
-
-#include <iterator>
-#include <vector>
-#include <cassert>
-#include "nasty_containers.hpp"
-
-template <class C>
-void
-test(C c)
-{
- std::back_insert_iterator<C> i(c);
- std::back_insert_iterator<C>& r = ++i;
- assert(&r == &i);
-}
-
-int main()
-{
- test(std::vector<int>());
- test(nasty_vector<int>());
-}
diff --git a/libcxx/test/iterators/predef.iterators/insert.iterators/back.insert.iter.ops/back.insert.iter.op=/lv_value.pass.cpp b/libcxx/test/iterators/predef.iterators/insert.iterators/back.insert.iter.ops/back.insert.iter.op=/lv_value.pass.cpp
deleted file mode 100644
index d3d1fbbcb9d..00000000000
--- a/libcxx/test/iterators/predef.iterators/insert.iterators/back.insert.iter.ops/back.insert.iter.op=/lv_value.pass.cpp
+++ /dev/null
@@ -1,46 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// back_insert_iterator
-
-// requires CopyConstructible<Cont::value_type>
-// back_insert_iterator<Cont>&
-// operator=(const Cont::value_type& value);
-
-#include <iterator>
-#include <vector>
-#include <cassert>
-
-template <class C>
-void
-test(C c)
-{
- const typename C::value_type v = typename C::value_type();
- std::back_insert_iterator<C> i(c);
- i = v;
- assert(c.back() == v);
-}
-
-class Copyable
-{
- int data_;
-public:
- Copyable() : data_(0) {}
- ~Copyable() {data_ = -1;}
-
- friend bool operator==(const Copyable& x, const Copyable& y)
- {return x.data_ == y.data_;}
-};
-
-int main()
-{
- test(std::vector<Copyable>());
-}
diff --git a/libcxx/test/iterators/predef.iterators/insert.iterators/back.insert.iter.ops/back.insert.iter.op=/rv_value.pass.cpp b/libcxx/test/iterators/predef.iterators/insert.iterators/back.insert.iter.ops/back.insert.iter.op=/rv_value.pass.cpp
deleted file mode 100644
index a3c11f7881a..00000000000
--- a/libcxx/test/iterators/predef.iterators/insert.iterators/back.insert.iter.ops/back.insert.iter.op=/rv_value.pass.cpp
+++ /dev/null
@@ -1,42 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// back_insert_iterator
-
-// requires CopyConstructible<Cont::value_type>
-// back_insert_iterator<Cont>&
-// operator=(Cont::value_type&& value);
-
-#include <iterator>
-
-#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
-
-#include <vector>
-#include <memory>
-#include <cassert>
-
-template <class C>
-void
-test(C c)
-{
- std::back_insert_iterator<C> i(c);
- i = typename C::value_type();
- assert(c.back() == typename C::value_type());
-}
-
-#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
-
-int main()
-{
-#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
- test(std::vector<std::unique_ptr<int> >());
-#endif
-}
diff --git a/libcxx/test/iterators/predef.iterators/insert.iterators/back.insert.iter.ops/back.insert.iter.op_astrk/test.pass.cpp b/libcxx/test/iterators/predef.iterators/insert.iterators/back.insert.iter.ops/back.insert.iter.op_astrk/test.pass.cpp
deleted file mode 100644
index f50f309e691..00000000000
--- a/libcxx/test/iterators/predef.iterators/insert.iterators/back.insert.iter.ops/back.insert.iter.op_astrk/test.pass.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// back_insert_iterator
-
-// back_insert_iterator<Cont>& operator*();
-
-#include <iterator>
-#include <vector>
-#include <cassert>
-#include "nasty_containers.hpp"
-
-template <class C>
-void
-test(C c)
-{
- std::back_insert_iterator<C> i(c);
- std::back_insert_iterator<C>& r = *i;
- assert(&r == &i);
-}
-
-int main()
-{
- test(std::vector<int>());
- test(nasty_vector<int>());
-}
diff --git a/libcxx/test/iterators/predef.iterators/insert.iterators/back.insert.iter.ops/back.inserter/test.pass.cpp b/libcxx/test/iterators/predef.iterators/insert.iterators/back.insert.iter.ops/back.inserter/test.pass.cpp
deleted file mode 100644
index 30e41407e6a..00000000000
--- a/libcxx/test/iterators/predef.iterators/insert.iterators/back.insert.iter.ops/back.inserter/test.pass.cpp
+++ /dev/null
@@ -1,35 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// template <BackInsertionContainer Cont>
-// back_insert_iterator<Cont>
-// back_inserter(Cont& x);
-
-#include <iterator>
-#include <vector>
-#include <cassert>
-#include "nasty_containers.hpp"
-
-template <class C>
-void
-test(C c)
-{
- std::back_insert_iterator<C> i = std::back_inserter(c);
- i = 0;
- assert(c.size() == 1);
- assert(c.back() == 0);
-}
-
-int main()
-{
- test(std::vector<int>());
- test(nasty_vector<int>());
-}
diff --git a/libcxx/test/iterators/predef.iterators/insert.iterators/back.insert.iter.ops/nothing_to_do.pass.cpp b/libcxx/test/iterators/predef.iterators/insert.iterators/back.insert.iter.ops/nothing_to_do.pass.cpp
deleted file mode 100644
index b58f5c55b64..00000000000
--- a/libcxx/test/iterators/predef.iterators/insert.iterators/back.insert.iter.ops/nothing_to_do.pass.cpp
+++ /dev/null
@@ -1,12 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-int main()
-{
-}
diff --git a/libcxx/test/iterators/predef.iterators/insert.iterators/back.insert.iterator/types.pass.cpp b/libcxx/test/iterators/predef.iterators/insert.iterators/back.insert.iterator/types.pass.cpp
deleted file mode 100644
index 2611c9a4b0c..00000000000
--- a/libcxx/test/iterators/predef.iterators/insert.iterators/back.insert.iterator/types.pass.cpp
+++ /dev/null
@@ -1,59 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// back_insert_iterator
-
-// Test nested types and data member:
-
-// template <BackInsertionContainer Cont>
-// class back_insert_iterator {
-// protected:
-// Cont* container;
-// public:
-// typedef Cont container_type;
-// typedef void value_type;
-// typedef void difference_type;
-// typedef back_insert_iterator<Cont>& reference;
-// typedef void pointer;
-// };
-
-#include <iterator>
-#include <type_traits>
-#include <vector>
-
-template <class C>
-struct find_container
- : private std::back_insert_iterator<C>
-{
- explicit find_container(C& c) : std::back_insert_iterator<C>(c) {}
- void test() {this->container = 0;}
-};
-
-template <class C>
-void
-test()
-{
- typedef std::back_insert_iterator<C> R;
- C c;
- find_container<C> q(c);
- q.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::pointer, void>::value), "");
- static_assert((std::is_same<typename R::iterator_category, std::output_iterator_tag>::value), "");
-}
-
-int main()
-{
- test<std::vector<int> >();
-}
diff --git a/libcxx/test/iterators/predef.iterators/insert.iterators/front.insert.iter.ops/front.insert.iter.cons/container.fail.cpp b/libcxx/test/iterators/predef.iterators/insert.iterators/front.insert.iter.ops/front.insert.iter.cons/container.fail.cpp
deleted file mode 100644
index 96d5d000d5b..00000000000
--- a/libcxx/test/iterators/predef.iterators/insert.iterators/front.insert.iter.ops/front.insert.iter.cons/container.fail.cpp
+++ /dev/null
@@ -1,24 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// front_insert_iterator
-
-// explicit front_insert_iterator(Cont& x);
-
-// test for explicit
-
-#include <iterator>
-#include <list>
-
-int main()
-{
- std::front_insert_iterator<std::list<int> > i = std::list<int>();
-}
diff --git a/libcxx/test/iterators/predef.iterators/insert.iterators/front.insert.iter.ops/front.insert.iter.cons/container.pass.cpp b/libcxx/test/iterators/predef.iterators/insert.iterators/front.insert.iter.ops/front.insert.iter.cons/container.pass.cpp
deleted file mode 100644
index 1a148e613cb..00000000000
--- a/libcxx/test/iterators/predef.iterators/insert.iterators/front.insert.iter.ops/front.insert.iter.cons/container.pass.cpp
+++ /dev/null
@@ -1,31 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// front_insert_iterator
-
-// explicit front_insert_iterator(Cont& x);
-
-#include <iterator>
-#include <list>
-#include "nasty_containers.hpp"
-
-template <class C>
-void
-test(C c)
-{
- std::front_insert_iterator<C> i(c);
-}
-
-int main()
-{
- test(std::list<int>());
- test(nasty_list<int>());
-}
diff --git a/libcxx/test/iterators/predef.iterators/insert.iterators/front.insert.iter.ops/front.insert.iter.op++/post.pass.cpp b/libcxx/test/iterators/predef.iterators/insert.iterators/front.insert.iter.ops/front.insert.iter.op++/post.pass.cpp
deleted file mode 100644
index 74892272e24..00000000000
--- a/libcxx/test/iterators/predef.iterators/insert.iterators/front.insert.iter.ops/front.insert.iter.op++/post.pass.cpp
+++ /dev/null
@@ -1,36 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// front_insert_iterator
-
-// front_insert_iterator<Cont> operator++(int);
-
-#include <iterator>
-#include <list>
-#include <cassert>
-#include "nasty_containers.hpp"
-
-template <class C>
-void
-test(C c)
-{
- std::front_insert_iterator<C> i(c);
- std::front_insert_iterator<C> r = i++;
- r = 0;
- assert(c.size() == 1);
- assert(c.back() == 0);
-}
-
-int main()
-{
- test(std::list<int>());
- test(nasty_list<int>());
-}
diff --git a/libcxx/test/iterators/predef.iterators/insert.iterators/front.insert.iter.ops/front.insert.iter.op++/pre.pass.cpp b/libcxx/test/iterators/predef.iterators/insert.iterators/front.insert.iter.ops/front.insert.iter.op++/pre.pass.cpp
deleted file mode 100644
index e6d6c07604e..00000000000
--- a/libcxx/test/iterators/predef.iterators/insert.iterators/front.insert.iter.ops/front.insert.iter.op++/pre.pass.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// front_insert_iterator
-
-// front_insert_iterator<Cont>& operator++();
-
-#include <iterator>
-#include <list>
-#include <cassert>
-#include "nasty_containers.hpp"
-
-template <class C>
-void
-test(C c)
-{
- std::front_insert_iterator<C> i(c);
- std::front_insert_iterator<C>& r = ++i;
- assert(&r == &i);
-}
-
-int main()
-{
- test(std::list<int>());
- test(nasty_list<int>());
-}
diff --git a/libcxx/test/iterators/predef.iterators/insert.iterators/front.insert.iter.ops/front.insert.iter.op=/lv_value.pass.cpp b/libcxx/test/iterators/predef.iterators/insert.iterators/front.insert.iter.ops/front.insert.iter.op=/lv_value.pass.cpp
deleted file mode 100644
index cdca9bf4bec..00000000000
--- a/libcxx/test/iterators/predef.iterators/insert.iterators/front.insert.iter.ops/front.insert.iter.op=/lv_value.pass.cpp
+++ /dev/null
@@ -1,47 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// front_insert_iterator
-
-// front_insert_iterator<Cont>&
-// operator=(const Cont::value_type& value);
-
-#include <iterator>
-#include <list>
-#include <cassert>
-#include "nasty_containers.hpp"
-
-template <class C>
-void
-test(C c)
-{
- const typename C::value_type v = typename C::value_type();
- std::front_insert_iterator<C> i(c);
- i = v;
- assert(c.front() == v);
-}
-
-class Copyable
-{
- int data_;
-public:
- Copyable() : data_(0) {}
- ~Copyable() {data_ = -1;}
-
- friend bool operator==(const Copyable& x, const Copyable& y)
- {return x.data_ == y.data_;}
-};
-
-int main()
-{
- test(std::list<Copyable>());
- test(nasty_list<Copyable>());
-}
diff --git a/libcxx/test/iterators/predef.iterators/insert.iterators/front.insert.iter.ops/front.insert.iter.op=/rv_value.pass.cpp b/libcxx/test/iterators/predef.iterators/insert.iterators/front.insert.iter.ops/front.insert.iter.op=/rv_value.pass.cpp
deleted file mode 100644
index bd2bd44837a..00000000000
--- a/libcxx/test/iterators/predef.iterators/insert.iterators/front.insert.iter.ops/front.insert.iter.op=/rv_value.pass.cpp
+++ /dev/null
@@ -1,41 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// front_insert_iterator
-
-// front_insert_iterator<Cont>&
-// operator=(Cont::value_type&& value);
-
-#include <iterator>
-
-#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
-
-#include <list>
-#include <memory>
-#include <cassert>
-
-template <class C>
-void
-test(C c)
-{
- std::front_insert_iterator<C> i(c);
- i = typename C::value_type();
- assert(c.front() == typename C::value_type());
-}
-
-#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
-
-int main()
-{
-#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
- test(std::list<std::unique_ptr<int> >());
-#endif
-}
diff --git a/libcxx/test/iterators/predef.iterators/insert.iterators/front.insert.iter.ops/front.insert.iter.op_astrk/test.pass.cpp b/libcxx/test/iterators/predef.iterators/insert.iterators/front.insert.iter.ops/front.insert.iter.op_astrk/test.pass.cpp
deleted file mode 100644
index 1ff49dde451..00000000000
--- a/libcxx/test/iterators/predef.iterators/insert.iterators/front.insert.iter.ops/front.insert.iter.op_astrk/test.pass.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// front_insert_iterator
-
-// front_insert_iterator<Cont>& operator*();
-
-#include <iterator>
-#include <list>
-#include <cassert>
-#include "nasty_containers.hpp"
-
-template <class C>
-void
-test(C c)
-{
- std::front_insert_iterator<C> i(c);
- std::front_insert_iterator<C>& r = *i;
- assert(&r == &i);
-}
-
-int main()
-{
- test(std::list<int>());
- test(nasty_list<int>());
-}
diff --git a/libcxx/test/iterators/predef.iterators/insert.iterators/front.insert.iter.ops/front.inserter/test.pass.cpp b/libcxx/test/iterators/predef.iterators/insert.iterators/front.insert.iter.ops/front.inserter/test.pass.cpp
deleted file mode 100644
index c18f84baf5f..00000000000
--- a/libcxx/test/iterators/predef.iterators/insert.iterators/front.insert.iter.ops/front.inserter/test.pass.cpp
+++ /dev/null
@@ -1,35 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// template <BackInsertionContainer Cont>
-// front_insert_iterator<Cont>
-// front_inserter(Cont& x);
-
-#include <iterator>
-#include <list>
-#include <cassert>
-#include "nasty_containers.hpp"
-
-template <class C>
-void
-test(C c)
-{
- std::front_insert_iterator<C> i = std::front_inserter(c);
- i = 0;
- assert(c.size() == 1);
- assert(c.front() == 0);
-}
-
-int main()
-{
- test(std::list<int>());
- test(nasty_list<int>());
-}
diff --git a/libcxx/test/iterators/predef.iterators/insert.iterators/front.insert.iter.ops/nothing_to_do.pass.cpp b/libcxx/test/iterators/predef.iterators/insert.iterators/front.insert.iter.ops/nothing_to_do.pass.cpp
deleted file mode 100644
index b58f5c55b64..00000000000
--- a/libcxx/test/iterators/predef.iterators/insert.iterators/front.insert.iter.ops/nothing_to_do.pass.cpp
+++ /dev/null
@@ -1,12 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-int main()
-{
-}
diff --git a/libcxx/test/iterators/predef.iterators/insert.iterators/front.insert.iterator/types.pass.cpp b/libcxx/test/iterators/predef.iterators/insert.iterators/front.insert.iterator/types.pass.cpp
deleted file mode 100644
index 755133a9194..00000000000
--- a/libcxx/test/iterators/predef.iterators/insert.iterators/front.insert.iterator/types.pass.cpp
+++ /dev/null
@@ -1,60 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// front_insert_iterator
-
-// Test nested types and data member:
-
-// template <class Container>
-// class front_insert_iterator {
-// protected:
-// Container* container;
-// public:
-// typedef Container container_type;
-// typedef void value_type;
-// typedef void difference_type;
-// typedef front_insert_iterator<Cont>& reference;
-// typedef void pointer;
-// typedef output_iterator_tag iterator_category;
-// };
-
-#include <iterator>
-#include <type_traits>
-#include <vector>
-
-template <class C>
-struct find_container
- : private std::front_insert_iterator<C>
-{
- explicit find_container(C& c) : std::front_insert_iterator<C>(c) {}
- void test() {this->container = 0;}
-};
-
-template <class C>
-void
-test()
-{
- typedef std::front_insert_iterator<C> R;
- C c;
- find_container<C> q(c);
- q.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::pointer, void>::value), "");
- static_assert((std::is_same<typename R::iterator_category, std::output_iterator_tag>::value), "");
-}
-
-int main()
-{
- test<std::vector<int> >();
-}
diff --git a/libcxx/test/iterators/predef.iterators/insert.iterators/insert.iter.ops/insert.iter.cons/test.pass.cpp b/libcxx/test/iterators/predef.iterators/insert.iterators/insert.iter.ops/insert.iter.cons/test.pass.cpp
deleted file mode 100644
index 9f17240a72b..00000000000
--- a/libcxx/test/iterators/predef.iterators/insert.iterators/insert.iter.ops/insert.iter.cons/test.pass.cpp
+++ /dev/null
@@ -1,31 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// insert_iterator
-
-// insert_iterator(Cont& x, Cont::iterator i);
-
-#include <iterator>
-#include <vector>
-#include "nasty_containers.hpp"
-
-template <class C>
-void
-test(C c)
-{
- std::insert_iterator<C> i(c, c.begin());
-}
-
-int main()
-{
- test(std::vector<int>());
- test(nasty_vector<int>());
-}
diff --git a/libcxx/test/iterators/predef.iterators/insert.iterators/insert.iter.ops/insert.iter.op++/post.pass.cpp b/libcxx/test/iterators/predef.iterators/insert.iterators/insert.iter.ops/insert.iter.op++/post.pass.cpp
deleted file mode 100644
index 7d81a7b721d..00000000000
--- a/libcxx/test/iterators/predef.iterators/insert.iterators/insert.iter.ops/insert.iter.op++/post.pass.cpp
+++ /dev/null
@@ -1,36 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// insert_iterator
-
-// insert_iterator<Cont> operator++(int);
-
-#include <iterator>
-#include <vector>
-#include <cassert>
-#include "nasty_containers.hpp"
-
-template <class C>
-void
-test(C c)
-{
- std::insert_iterator<C> i(c, c.end());
- std::insert_iterator<C> r = i++;
- r = 0;
- assert(c.size() == 1);
- assert(c.back() == 0);
-}
-
-int main()
-{
- test(std::vector<int>());
- test(nasty_vector<int>());
-}
diff --git a/libcxx/test/iterators/predef.iterators/insert.iterators/insert.iter.ops/insert.iter.op++/pre.pass.cpp b/libcxx/test/iterators/predef.iterators/insert.iterators/insert.iter.ops/insert.iter.op++/pre.pass.cpp
deleted file mode 100644
index 08e6ced01c6..00000000000
--- a/libcxx/test/iterators/predef.iterators/insert.iterators/insert.iter.ops/insert.iter.op++/pre.pass.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// insert_iterator
-
-// insert_iterator<Cont>& operator++();
-
-#include <iterator>
-#include <vector>
-#include <cassert>
-#include "nasty_containers.hpp"
-
-template <class C>
-void
-test(C c)
-{
- std::insert_iterator<C> i(c, c.end());
- std::insert_iterator<C>& r = ++i;
- assert(&r == &i);
-}
-
-int main()
-{
- test(std::vector<int>());
- test(nasty_vector<int>());
-}
diff --git a/libcxx/test/iterators/predef.iterators/insert.iterators/insert.iter.ops/insert.iter.op=/lv_value.pass.cpp b/libcxx/test/iterators/predef.iterators/insert.iterators/insert.iter.ops/insert.iter.op=/lv_value.pass.cpp
deleted file mode 100644
index 01eb35efc67..00000000000
--- a/libcxx/test/iterators/predef.iterators/insert.iterators/insert.iter.ops/insert.iter.op=/lv_value.pass.cpp
+++ /dev/null
@@ -1,85 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// insert_iterator
-
-// requires CopyConstructible<Cont::value_type>
-// insert_iterator<Cont>&
-// operator=(const Cont::value_type& value);
-
-#include <iterator>
-#include <vector>
-#include <cassert>
-#include "nasty_containers.hpp"
-
-template <class C>
-void
-test(C c1, typename C::difference_type j,
- typename C::value_type x1, typename C::value_type x2,
- typename C::value_type x3, const C& c2)
-{
- std::insert_iterator<C> q(c1, c1.begin() + j);
- q = x1;
- q = x2;
- q = x3;
- assert(c1 == c2);
-}
-
-template <class C>
-void
-insert3at(C& c, typename C::iterator i,
- typename C::value_type x1, typename C::value_type x2,
- typename C::value_type x3)
-{
- i = c.insert(i, x1);
- i = c.insert(++i, x2);
- c.insert(++i, x3);
-}
-
-int main()
-{
- {
- typedef std::vector<int> C;
- C c1;
- for (int i = 0; i < 3; ++i)
- c1.push_back(i);
- C c2 = c1;
- insert3at(c2, c2.begin(), 'a', 'b', 'c');
- test(c1, 0, 'a', 'b', 'c', c2);
- c2 = c1;
- insert3at(c2, c2.begin()+1, 'a', 'b', 'c');
- test(c1, 1, 'a', 'b', 'c', c2);
- c2 = c1;
- insert3at(c2, c2.begin()+2, 'a', 'b', 'c');
- test(c1, 2, 'a', 'b', 'c', c2);
- c2 = c1;
- insert3at(c2, c2.begin()+3, 'a', 'b', 'c');
- test(c1, 3, 'a', 'b', 'c', c2);
- }
- {
- typedef nasty_vector<int> C;
- C c1;
- for (int i = 0; i < 3; ++i)
- c1.push_back(i);
- C c2 = c1;
- insert3at(c2, c2.begin(), 'a', 'b', 'c');
- test(c1, 0, 'a', 'b', 'c', c2);
- c2 = c1;
- insert3at(c2, c2.begin()+1, 'a', 'b', 'c');
- test(c1, 1, 'a', 'b', 'c', c2);
- c2 = c1;
- insert3at(c2, c2.begin()+2, 'a', 'b', 'c');
- test(c1, 2, 'a', 'b', 'c', c2);
- c2 = c1;
- insert3at(c2, c2.begin()+3, 'a', 'b', 'c');
- test(c1, 3, 'a', 'b', 'c', c2);
- }
-}
diff --git a/libcxx/test/iterators/predef.iterators/insert.iterators/insert.iter.ops/insert.iter.op=/rv_value.pass.cpp b/libcxx/test/iterators/predef.iterators/insert.iterators/insert.iter.ops/insert.iter.op=/rv_value.pass.cpp
deleted file mode 100644
index 2033683b9a9..00000000000
--- a/libcxx/test/iterators/predef.iterators/insert.iterators/insert.iter.ops/insert.iter.op=/rv_value.pass.cpp
+++ /dev/null
@@ -1,97 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// insert_iterator
-
-// requires CopyConstructible<Cont::value_type>
-// insert_iterator<Cont>&
-// operator=(const Cont::value_type& value);
-
-#include <iterator>
-
-#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
-#include <vector>
-#include <memory>
-#include <cassert>
-
-template <class C>
-void
-test(C c1, typename C::difference_type j,
- typename C::value_type x1, typename C::value_type x2,
- typename C::value_type x3, const C& c2)
-{
- std::insert_iterator<C> q(c1, c1.begin() + j);
- q = std::move(x1);
- q = std::move(x2);
- q = std::move(x3);
- assert(c1 == c2);
-}
-
-template <class C>
-void
-insert3at(C& c, typename C::iterator i,
- typename C::value_type x1, typename C::value_type x2,
- typename C::value_type x3)
-{
- i = c.insert(i, std::move(x1));
- i = c.insert(++i, std::move(x2));
- c.insert(++i, std::move(x3));
-}
-
-struct do_nothing
-{
- void operator()(void*) const {}
-};
-
-#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
-
-int main()
-{
-#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
- {
- typedef std::unique_ptr<int, do_nothing> Ptr;
- typedef std::vector<Ptr> C;
- C c1;
- int x[6] = {0};
- for (int i = 0; i < 3; ++i)
- c1.push_back(Ptr(x+i));
- C c2;
- for (int i = 0; i < 3; ++i)
- c2.push_back(Ptr(x+i));
- insert3at(c2, c2.begin(), Ptr(x+3), Ptr(x+4), Ptr(x+5));
- test(std::move(c1), 0, Ptr(x+3), Ptr(x+4), Ptr(x+5), c2);
- c1.clear();
- for (int i = 0; i < 3; ++i)
- c1.push_back(Ptr(x+i));
- c2.clear();
- for (int i = 0; i < 3; ++i)
- c2.push_back(Ptr(x+i));
- insert3at(c2, c2.begin()+1, Ptr(x+3), Ptr(x+4), Ptr(x+5));
- test(std::move(c1), 1, Ptr(x+3), Ptr(x+4), Ptr(x+5), c2);
- c1.clear();
- for (int i = 0; i < 3; ++i)
- c1.push_back(Ptr(x+i));
- c2.clear();
- for (int i = 0; i < 3; ++i)
- c2.push_back(Ptr(x+i));
- insert3at(c2, c2.begin()+2, Ptr(x+3), Ptr(x+4), Ptr(x+5));
- test(std::move(c1), 2, Ptr(x+3), Ptr(x+4), Ptr(x+5), c2);
- c1.clear();
- for (int i = 0; i < 3; ++i)
- c1.push_back(Ptr(x+i));
- c2.clear();
- for (int i = 0; i < 3; ++i)
- c2.push_back(Ptr(x+i));
- insert3at(c2, c2.begin()+3, Ptr(x+3), Ptr(x+4), Ptr(x+5));
- test(std::move(c1), 3, Ptr(x+3), Ptr(x+4), Ptr(x+5), c2);
- }
-#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
-}
diff --git a/libcxx/test/iterators/predef.iterators/insert.iterators/insert.iter.ops/insert.iter.op_astrk/test.pass.cpp b/libcxx/test/iterators/predef.iterators/insert.iterators/insert.iter.ops/insert.iter.op_astrk/test.pass.cpp
deleted file mode 100644
index 1a926b5485c..00000000000
--- a/libcxx/test/iterators/predef.iterators/insert.iterators/insert.iter.ops/insert.iter.op_astrk/test.pass.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// insert_iterator
-
-// insert_iterator<Cont>& operator*();
-
-#include <iterator>
-#include <vector>
-#include <cassert>
-#include "nasty_containers.hpp"
-
-template <class C>
-void
-test(C c)
-{
- std::insert_iterator<C> i(c, c.end());
- std::insert_iterator<C>& r = *i;
- assert(&r == &i);
-}
-
-int main()
-{
- test(std::vector<int>());
- test(nasty_vector<int>());
-}
diff --git a/libcxx/test/iterators/predef.iterators/insert.iterators/insert.iter.ops/inserter/test.pass.cpp b/libcxx/test/iterators/predef.iterators/insert.iterators/insert.iter.ops/inserter/test.pass.cpp
deleted file mode 100644
index 43f28d09bcf..00000000000
--- a/libcxx/test/iterators/predef.iterators/insert.iterators/insert.iter.ops/inserter/test.pass.cpp
+++ /dev/null
@@ -1,35 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// template <InsertionContainer Cont>
-// insert_iterator<Cont>
-// inserter(Cont& x, Cont::iterator i);
-
-#include <iterator>
-#include <vector>
-#include <cassert>
-#include "nasty_containers.hpp"
-
-template <class C>
-void
-test(C c)
-{
- std::insert_iterator<C> i = std::inserter(c, c.end());
- i = 0;
- assert(c.size() == 1);
- assert(c.back() == 0);
-}
-
-int main()
-{
- test(std::vector<int>());
- test(nasty_vector<int>());
-}
diff --git a/libcxx/test/iterators/predef.iterators/insert.iterators/insert.iter.ops/nothing_to_do.pass.cpp b/libcxx/test/iterators/predef.iterators/insert.iterators/insert.iter.ops/nothing_to_do.pass.cpp
deleted file mode 100644
index b58f5c55b64..00000000000
--- a/libcxx/test/iterators/predef.iterators/insert.iterators/insert.iter.ops/nothing_to_do.pass.cpp
+++ /dev/null
@@ -1,12 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-int main()
-{
-}
diff --git a/libcxx/test/iterators/predef.iterators/insert.iterators/insert.iterator/types.pass.cpp b/libcxx/test/iterators/predef.iterators/insert.iterators/insert.iterator/types.pass.cpp
deleted file mode 100644
index cf63df63e89..00000000000
--- a/libcxx/test/iterators/predef.iterators/insert.iterators/insert.iterator/types.pass.cpp
+++ /dev/null
@@ -1,64 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// insert_iterator
-
-// Test nested types and data members:
-
-// template <InsertionContainer Cont>
-// class insert_iterator {
-// protected:
-// Cont* container;
-// Cont::iterator iter;
-// public:
-// typedef Cont container_type;
-// typedef void value_type;
-// typedef void difference_type;
-// typedef insert_iterator<Cont>& reference;
-// typedef void pointer;
-// };
-
-#include <iterator>
-#include <type_traits>
-#include <vector>
-
-template <class C>
-struct find_members
- : private std::insert_iterator<C>
-{
- explicit find_members(C& c) : std::insert_iterator<C>(c, c.begin()) {}
- void test()
- {
- this->container = 0;
- (void)(this->iter == this->iter);
- }
-};
-
-template <class C>
-void
-test()
-{
- typedef std::insert_iterator<C> R;
- C c;
- find_members<C> q(c);
- q.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::pointer, void>::value), "");
- static_assert((std::is_same<typename R::iterator_category, std::output_iterator_tag>::value), "");
-}
-
-int main()
-{
- test<std::vector<int> >();
-}
diff --git a/libcxx/test/iterators/predef.iterators/insert.iterators/nothing_to_do.pass.cpp b/libcxx/test/iterators/predef.iterators/insert.iterators/nothing_to_do.pass.cpp
deleted file mode 100644
index b58f5c55b64..00000000000
--- a/libcxx/test/iterators/predef.iterators/insert.iterators/nothing_to_do.pass.cpp
+++ /dev/null
@@ -1,12 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-int main()
-{
-}
diff --git a/libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.nonmember/make_move_iterator.pass.cpp b/libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.nonmember/make_move_iterator.pass.cpp
deleted file mode 100644
index 06834981ef3..00000000000
--- a/libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.nonmember/make_move_iterator.pass.cpp
+++ /dev/null
@@ -1,46 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// move_iterator
-
-// template <InputIterator Iter>
-// move_iterator<Iter>
-// make_move_iterator(const Iter& i);
-
-#include <iterator>
-#include <cassert>
-
-#include "test_iterators.h"
-
-template <class It>
-void
-test(It i)
-{
- const std::move_iterator<It> r(i);
- assert(std::make_move_iterator(i) == r);
-}
-
-int main()
-{
- {
- char s[] = "1234567890";
- test(input_iterator<char*>(s+5));
- test(forward_iterator<char*>(s+5));
- test(bidirectional_iterator<char*>(s+5));
- test(random_access_iterator<char*>(s+5));
- test(s+5);
- }
- {
- int a[] = {1,2,3,4};
- std::make_move_iterator(a+4);
- std::make_move_iterator(a); // test for LWG issue 2061
- }
-}
diff --git a/libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.nonmember/minus.pass.cpp b/libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.nonmember/minus.pass.cpp
deleted file mode 100644
index d52175c9229..00000000000
--- a/libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.nonmember/minus.pass.cpp
+++ /dev/null
@@ -1,39 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// move_iterator
-
-// template <RandomAccessIterator Iter1, RandomAccessIterator Iter2>
-// requires HasMinus<Iter1, Iter2>
-// auto
-// operator-(const move_iterator<Iter1>& x, const move_iterator<Iter2>& y)
-// -> decltype(x.base() - y.base());
-
-#include <iterator>
-#include <cassert>
-
-#include "test_iterators.h"
-
-template <class It>
-void
-test(It l, It r, typename std::iterator_traits<It>::difference_type x)
-{
- const std::move_iterator<It> r1(l);
- const std::move_iterator<It> r2(r);
- assert(r1 - r2 == x);
-}
-
-int main()
-{
- char s[] = "1234567890";
- test(random_access_iterator<char*>(s+5), random_access_iterator<char*>(s), 5);
- test(s+5, s, 5);
-}
diff --git a/libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.nonmember/plus.pass.cpp b/libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.nonmember/plus.pass.cpp
deleted file mode 100644
index e67ebfca371..00000000000
--- a/libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.nonmember/plus.pass.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// move_iterator
-
-// template <RandomAccessIterator Iter>
-// move_iterator<Iter>
-// operator+(Iter::difference_type n, const move_iterator<Iter>& x);
-
-#include <iterator>
-#include <cassert>
-
-#include "test_iterators.h"
-
-template <class It>
-void
-test(It i, typename std::iterator_traits<It>::difference_type n, It x)
-{
- const std::move_iterator<It> r(i);
- std::move_iterator<It> rr = n + r;
- assert(rr.base() == x);
-}
-
-int main()
-{
- char s[] = "1234567890";
- test(random_access_iterator<char*>(s+5), 5, random_access_iterator<char*>(s+10));
- test(s+5, 5, s+10);
-}
diff --git a/libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.+/difference_type.pass.cpp b/libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.+/difference_type.pass.cpp
deleted file mode 100644
index e9a19f4932c..00000000000
--- a/libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.+/difference_type.pass.cpp
+++ /dev/null
@@ -1,36 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// move_iterator
-
-// requires RandomAccessIterator<Iter>
-// move_iterator operator+(difference_type n) const;
-
-#include <iterator>
-#include <cassert>
-
-#include "test_iterators.h"
-
-template <class It>
-void
-test(It i, typename std::iterator_traits<It>::difference_type n, It x)
-{
- const std::move_iterator<It> r(i);
- std::move_iterator<It> rr = r + n;
- assert(rr.base() == x);
-}
-
-int main()
-{
- const char* s = "1234567890";
- test(random_access_iterator<const char*>(s+5), 5, random_access_iterator<const char*>(s+10));
- test(s+5, 5, s+10);
-}
diff --git a/libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.+=/difference_type.pass.cpp b/libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.+=/difference_type.pass.cpp
deleted file mode 100644
index 5de1bccf877..00000000000
--- a/libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.+=/difference_type.pass.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// move_iterator
-
-// requires RandomAccessIterator<Iter>
-// move_iterator& operator+=(difference_type n);
-
-#include <iterator>
-#include <cassert>
-
-#include "test_iterators.h"
-
-template <class It>
-void
-test(It i, typename std::iterator_traits<It>::difference_type n, It x)
-{
- std::move_iterator<It> r(i);
- std::move_iterator<It>& rr = r += n;
- assert(r.base() == x);
- assert(&rr == &r);
-}
-
-int main()
-{
- const char* s = "1234567890";
- test(random_access_iterator<const char*>(s+5), 5, random_access_iterator<const char*>(s+10));
- test(s+5, 5, s+10);
-}
diff --git a/libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.-/difference_type.pass.cpp b/libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.-/difference_type.pass.cpp
deleted file mode 100644
index 852f76a4a4d..00000000000
--- a/libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.-/difference_type.pass.cpp
+++ /dev/null
@@ -1,36 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// move_iterator
-
-// requires RandomAccessIterator<Iter>
-// move_iterator operator-(difference_type n) const;
-
-#include <iterator>
-#include <cassert>
-
-#include "test_iterators.h"
-
-template <class It>
-void
-test(It i, typename std::iterator_traits<It>::difference_type n, It x)
-{
- const std::move_iterator<It> r(i);
- std::move_iterator<It> rr = r - n;
- assert(rr.base() == x);
-}
-
-int main()
-{
- const char* s = "1234567890";
- test(random_access_iterator<const char*>(s+5), 5, random_access_iterator<const char*>(s));
- test(s+5, 5, s);
-}
diff --git a/libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.-=/difference_type.pass.cpp b/libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.-=/difference_type.pass.cpp
deleted file mode 100644
index f8630736980..00000000000
--- a/libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.-=/difference_type.pass.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// move_iterator
-
-// requires RandomAccessIterator<Iter>
-// move_iterator& operator-=(difference_type n);
-
-#include <iterator>
-#include <cassert>
-
-#include "test_iterators.h"
-
-template <class It>
-void
-test(It i, typename std::iterator_traits<It>::difference_type n, It x)
-{
- std::move_iterator<It> r(i);
- std::move_iterator<It>& rr = r -= n;
- assert(r.base() == x);
- assert(&rr == &r);
-}
-
-int main()
-{
- const char* s = "1234567890";
- test(random_access_iterator<const char*>(s+5), 5, random_access_iterator<const char*>(s));
- test(s+5, 5, s);
-}
diff --git a/libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.comp/op_eq.pass.cpp b/libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.comp/op_eq.pass.cpp
deleted file mode 100644
index fb4f0fa1dc1..00000000000
--- a/libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.comp/op_eq.pass.cpp
+++ /dev/null
@@ -1,46 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// move_iterator
-
-// template <InputIterator Iter1, InputIterator Iter2>
-// requires HasEqualTo<Iter1, Iter2>
-// bool
-// operator==(const move_iterator<Iter1>& x, const move_iterator<Iter2>& y);
-
-#include <iterator>
-#include <cassert>
-
-#include "test_iterators.h"
-
-template <class It>
-void
-test(It l, It r, bool x)
-{
- const std::move_iterator<It> r1(l);
- const std::move_iterator<It> r2(r);
- assert((r1 == r2) == x);
-}
-
-int main()
-{
- char s[] = "1234567890";
- test(input_iterator<char*>(s), input_iterator<char*>(s), true);
- test(input_iterator<char*>(s), input_iterator<char*>(s+1), false);
- test(forward_iterator<char*>(s), forward_iterator<char*>(s), true);
- test(forward_iterator<char*>(s), forward_iterator<char*>(s+1), false);
- test(bidirectional_iterator<char*>(s), bidirectional_iterator<char*>(s), true);
- test(bidirectional_iterator<char*>(s), bidirectional_iterator<char*>(s+1), false);
- test(random_access_iterator<char*>(s), random_access_iterator<char*>(s), true);
- test(random_access_iterator<char*>(s), random_access_iterator<char*>(s+1), false);
- test(s, s, true);
- test(s, s+1, false);
-}
diff --git a/libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.comp/op_gt.pass.cpp b/libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.comp/op_gt.pass.cpp
deleted file mode 100644
index 0edd2857c08..00000000000
--- a/libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.comp/op_gt.pass.cpp
+++ /dev/null
@@ -1,42 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// move_iterator
-
-// template <RandomAccessIterator Iter1, RandomAccessIterator Iter2>
-// requires HasLess<Iter2, Iter1>
-// bool
-// operator>(const move_iterator<Iter1>& x, const move_iterator<Iter2>& y);
-
-#include <iterator>
-#include <cassert>
-
-#include "test_iterators.h"
-
-template <class It>
-void
-test(It l, It r, bool x)
-{
- const std::move_iterator<It> r1(l);
- const std::move_iterator<It> r2(r);
- assert((r1 > r2) == x);
-}
-
-int main()
-{
- char s[] = "1234567890";
- test(random_access_iterator<char*>(s), random_access_iterator<char*>(s), false);
- test(random_access_iterator<char*>(s), random_access_iterator<char*>(s+1), false);
- test(random_access_iterator<char*>(s+1), random_access_iterator<char*>(s), true);
- test(s, s, false);
- test(s, s+1, false);
- test(s+1, s, true);
-}
diff --git a/libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.comp/op_gte.pass.cpp b/libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.comp/op_gte.pass.cpp
deleted file mode 100644
index cb9cdb9aeb4..00000000000
--- a/libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.comp/op_gte.pass.cpp
+++ /dev/null
@@ -1,42 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// move_iterator
-
-// template <RandomAccessIterator Iter1, RandomAccessIterator Iter2>
-// requires HasLess<Iter1, Iter2>
-// bool
-// operator>=(const move_iterator<Iter1>& x, const move_iterator<Iter2>& y);
-
-#include <iterator>
-#include <cassert>
-
-#include "test_iterators.h"
-
-template <class It>
-void
-test(It l, It r, bool x)
-{
- const std::move_iterator<It> r1(l);
- const std::move_iterator<It> r2(r);
- assert((r1 >= r2) == x);
-}
-
-int main()
-{
- char s[] = "1234567890";
- test(random_access_iterator<char*>(s), random_access_iterator<char*>(s), true);
- test(random_access_iterator<char*>(s), random_access_iterator<char*>(s+1), false);
- test(random_access_iterator<char*>(s+1), random_access_iterator<char*>(s), true);
- test(s, s, true);
- test(s, s+1, false);
- test(s+1, s, true);
-}
diff --git a/libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.comp/op_lt.pass.cpp b/libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.comp/op_lt.pass.cpp
deleted file mode 100644
index e7979ddd746..00000000000
--- a/libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.comp/op_lt.pass.cpp
+++ /dev/null
@@ -1,42 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// move_iterator
-
-// template <RandomAccessIterator Iter1, RandomAccessIterator Iter2>
-// requires HasLess<Iter1, Iter2>
-// bool
-// operator<(const move_iterator<Iter1>& x, const move_iterator<Iter2>& y);
-
-#include <iterator>
-#include <cassert>
-
-#include "test_iterators.h"
-
-template <class It>
-void
-test(It l, It r, bool x)
-{
- const std::move_iterator<It> r1(l);
- const std::move_iterator<It> r2(r);
- assert((r1 < r2) == x);
-}
-
-int main()
-{
- char s[] = "1234567890";
- test(random_access_iterator<char*>(s), random_access_iterator<char*>(s), false);
- test(random_access_iterator<char*>(s), random_access_iterator<char*>(s+1), true);
- test(random_access_iterator<char*>(s+1), random_access_iterator<char*>(s), false);
- test(s, s, false);
- test(s, s+1, true);
- test(s+1, s, false);
-}
diff --git a/libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.comp/op_lte.pass.cpp b/libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.comp/op_lte.pass.cpp
deleted file mode 100644
index 97a7bfdee46..00000000000
--- a/libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.comp/op_lte.pass.cpp
+++ /dev/null
@@ -1,42 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// move_iterator
-
-// template <RandomAccessIterator Iter1, RandomAccessIterator Iter2>
-// requires HasLess<Iter2, Iter1>
-// bool
-// operator<=(const move_iterator<Iter1>& x, const move_iterator<Iter2>& y);
-
-#include <iterator>
-#include <cassert>
-
-#include "test_iterators.h"
-
-template <class It>
-void
-test(It l, It r, bool x)
-{
- const std::move_iterator<It> r1(l);
- const std::move_iterator<It> r2(r);
- assert((r1 <= r2) == x);
-}
-
-int main()
-{
- char s[] = "1234567890";
- test(random_access_iterator<char*>(s), random_access_iterator<char*>(s), true);
- test(random_access_iterator<char*>(s), random_access_iterator<char*>(s+1), true);
- test(random_access_iterator<char*>(s+1), random_access_iterator<char*>(s), false);
- test(s, s, true);
- test(s, s+1, true);
- test(s+1, s, false);
-}
diff --git a/libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.comp/op_neq.pass.cpp b/libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.comp/op_neq.pass.cpp
deleted file mode 100644
index 9e4b9e37202..00000000000
--- a/libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.comp/op_neq.pass.cpp
+++ /dev/null
@@ -1,46 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// move_iterator
-
-// template <InputIterator Iter1, InputIterator Iter2>
-// requires HasEqualTo<Iter1, Iter2>
-// bool
-// operator!=(const move_iterator<Iter1>& x, const move_iterator<Iter2>& y);
-
-#include <iterator>
-#include <cassert>
-
-#include "test_iterators.h"
-
-template <class It>
-void
-test(It l, It r, bool x)
-{
- const std::move_iterator<It> r1(l);
- const std::move_iterator<It> r2(r);
- assert((r1 != r2) == x);
-}
-
-int main()
-{
- char s[] = "1234567890";
- test(input_iterator<char*>(s), input_iterator<char*>(s), false);
- test(input_iterator<char*>(s), input_iterator<char*>(s+1), true);
- test(forward_iterator<char*>(s), forward_iterator<char*>(s), false);
- test(forward_iterator<char*>(s), forward_iterator<char*>(s+1), true);
- test(bidirectional_iterator<char*>(s), bidirectional_iterator<char*>(s), false);
- test(bidirectional_iterator<char*>(s), bidirectional_iterator<char*>(s+1), true);
- test(random_access_iterator<char*>(s), random_access_iterator<char*>(s), false);
- test(random_access_iterator<char*>(s), random_access_iterator<char*>(s+1), true);
- test(s, s, false);
- test(s, s+1, true);
-}
diff --git a/libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.const/convert.fail.cpp b/libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.const/convert.fail.cpp
deleted file mode 100644
index 22d267af94d..00000000000
--- a/libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.const/convert.fail.cpp
+++ /dev/null
@@ -1,38 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// move_iterator
-
-// template <class U>
-// requires HasConstructor<Iter, const U&>
-// move_iterator(const move_iterator<U> &u);
-
-// test requires
-
-#include <iterator>
-
-template <class It, class U>
-void
-test(U u)
-{
- std::move_iterator<U> r2(u);
- std::move_iterator<It> r1 = r2;
-}
-
-struct base {};
-struct derived {};
-
-int main()
-{
- derived d;
-
- test<base*>(&d);
-}
diff --git a/libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.const/convert.pass.cpp b/libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.const/convert.pass.cpp
deleted file mode 100644
index 8c73a7d5c93..00000000000
--- a/libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.const/convert.pass.cpp
+++ /dev/null
@@ -1,44 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// move_iterator
-
-// template <class U>
-// requires HasConstructor<Iter, const U&>
-// move_iterator(const move_iterator<U> &u);
-
-#include <iterator>
-#include <cassert>
-
-#include "test_iterators.h"
-
-template <class It, class U>
-void
-test(U u)
-{
- const std::move_iterator<U> r2(u);
- std::move_iterator<It> r1 = r2;
- assert(r1.base() == u);
-}
-
-struct Base {};
-struct Derived : Base {};
-
-int main()
-{
- Derived d;
-
- test<input_iterator<Base*> >(input_iterator<Derived*>(&d));
- test<forward_iterator<Base*> >(forward_iterator<Derived*>(&d));
- test<bidirectional_iterator<Base*> >(bidirectional_iterator<Derived*>(&d));
- test<random_access_iterator<const Base*> >(random_access_iterator<Derived*>(&d));
- test<Base*>(&d);
-}
diff --git a/libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.const/default.pass.cpp b/libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.const/default.pass.cpp
deleted file mode 100644
index 782cb602032..00000000000
--- a/libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.const/default.pass.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// move_iterator
-
-// move_iterator();
-
-#include <iterator>
-
-#include "test_iterators.h"
-
-template <class It>
-void
-test()
-{
- std::move_iterator<It> r;
-}
-
-int main()
-{
- test<input_iterator<char*> >();
- test<forward_iterator<char*> >();
- test<bidirectional_iterator<char*> >();
- test<random_access_iterator<char*> >();
- test<char*>();
-}
diff --git a/libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.const/iter.fail.cpp b/libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.const/iter.fail.cpp
deleted file mode 100644
index 188acff69ed..00000000000
--- a/libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.const/iter.fail.cpp
+++ /dev/null
@@ -1,31 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// move_iterator
-
-// explicit move_iterator(Iter );
-
-// test explicit
-
-#include <iterator>
-
-template <class It>
-void
-test(It i)
-{
- std::move_iterator<It> r = i;
-}
-
-int main()
-{
- char s[] = "123";
- test(s);
-}
diff --git a/libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.const/iter.pass.cpp b/libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.const/iter.pass.cpp
deleted file mode 100644
index 4a4a0601837..00000000000
--- a/libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.const/iter.pass.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// move_iterator
-
-// explicit move_iterator(Iter i);
-
-#include <iterator>
-#include <cassert>
-
-#include "test_iterators.h"
-
-template <class It>
-void
-test(It i)
-{
- std::move_iterator<It> r(i);
- assert(r.base() == i);
-}
-
-int main()
-{
- char s[] = "123";
- test(input_iterator<char*>(s));
- test(forward_iterator<char*>(s));
- test(bidirectional_iterator<char*>(s));
- test(random_access_iterator<char*>(s));
- test(s);
-}
diff --git a/libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.conv/tested_elsewhere.pass.cpp b/libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.conv/tested_elsewhere.pass.cpp
deleted file mode 100644
index b58f5c55b64..00000000000
--- a/libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.conv/tested_elsewhere.pass.cpp
+++ /dev/null
@@ -1,12 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-int main()
-{
-}
diff --git a/libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.decr/post.pass.cpp b/libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.decr/post.pass.cpp
deleted file mode 100644
index 26fab5be793..00000000000
--- a/libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.decr/post.pass.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// move_iterator
-
-// move_iterator operator--(int);
-
-#include <iterator>
-#include <cassert>
-
-#include "test_iterators.h"
-
-template <class It>
-void
-test(It i, It x)
-{
- std::move_iterator<It> r(i);
- std::move_iterator<It> rr = r--;
- assert(r.base() == x);
- assert(rr.base() == i);
-}
-
-int main()
-{
- char s[] = "123";
- test(bidirectional_iterator<char*>(s+1), bidirectional_iterator<char*>(s));
- test(random_access_iterator<char*>(s+1), random_access_iterator<char*>(s));
- test(s+1, s);
-}
diff --git a/libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.decr/pre.pass.cpp b/libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.decr/pre.pass.cpp
deleted file mode 100644
index 700b3b63774..00000000000
--- a/libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.decr/pre.pass.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// move_iterator
-
-// move_iterator& operator--();
-
-#include <iterator>
-#include <cassert>
-
-#include "test_iterators.h"
-
-template <class It>
-void
-test(It i, It x)
-{
- std::move_iterator<It> r(i);
- std::move_iterator<It>& rr = --r;
- assert(r.base() == x);
- assert(&rr == &r);
-}
-
-int main()
-{
- char s[] = "123";
- test(bidirectional_iterator<char*>(s+1), bidirectional_iterator<char*>(s));
- test(random_access_iterator<char*>(s+1), random_access_iterator<char*>(s));
- test(s+1, s);
-}
diff --git a/libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.incr/post.pass.cpp b/libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.incr/post.pass.cpp
deleted file mode 100644
index e7c13b57962..00000000000
--- a/libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.incr/post.pass.cpp
+++ /dev/null
@@ -1,39 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// move_iterator
-
-// move_iterator operator++(int);
-
-#include <iterator>
-#include <cassert>
-
-#include "test_iterators.h"
-
-template <class It>
-void
-test(It i, It x)
-{
- std::move_iterator<It> r(i);
- std::move_iterator<It> rr = r++;
- assert(r.base() == x);
- assert(rr.base() == i);
-}
-
-int main()
-{
- char s[] = "123";
- test(input_iterator<char*>(s), input_iterator<char*>(s+1));
- test(forward_iterator<char*>(s), forward_iterator<char*>(s+1));
- test(bidirectional_iterator<char*>(s), bidirectional_iterator<char*>(s+1));
- test(random_access_iterator<char*>(s), random_access_iterator<char*>(s+1));
- test(s, s+1);
-}
diff --git a/libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.incr/pre.pass.cpp b/libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.incr/pre.pass.cpp
deleted file mode 100644
index f27c737277d..00000000000
--- a/libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.incr/pre.pass.cpp
+++ /dev/null
@@ -1,39 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// move_iterator
-
-// move_iterator& operator++();
-
-#include <iterator>
-#include <cassert>
-
-#include "test_iterators.h"
-
-template <class It>
-void
-test(It i, It x)
-{
- std::move_iterator<It> r(i);
- std::move_iterator<It>& rr = ++r;
- assert(r.base() == x);
- assert(&rr == &r);
-}
-
-int main()
-{
- char s[] = "123";
- test(input_iterator<char*>(s), input_iterator<char*>(s+1));
- test(forward_iterator<char*>(s), forward_iterator<char*>(s+1));
- test(bidirectional_iterator<char*>(s), bidirectional_iterator<char*>(s+1));
- test(random_access_iterator<char*>(s), random_access_iterator<char*>(s+1));
- test(s, s+1);
-}
diff --git a/libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.index/difference_type.pass.cpp b/libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.index/difference_type.pass.cpp
deleted file mode 100644
index 8d507b822cd..00000000000
--- a/libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.index/difference_type.pass.cpp
+++ /dev/null
@@ -1,58 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// move_iterator
-
-// requires RandomAccessIterator<Iter>
-// unspecified operator[](difference_type n) const;
-
-#include <iterator>
-#include <cassert>
-#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
-#include <memory>
-#endif
-
-#include "test_iterators.h"
-
-template <class It>
-void
-test(It i, typename std::iterator_traits<It>::difference_type n,
- typename std::iterator_traits<It>::value_type x)
-{
- typedef typename std::iterator_traits<It>::value_type value_type;
- const std::move_iterator<It> r(i);
- value_type rr = r[n];
- assert(rr == x);
-}
-
-#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
-
-struct do_nothing
-{
- void operator()(void*) const {}
-};
-
-#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
-
-int main()
-{
- char s[] = "1234567890";
- test(random_access_iterator<char*>(s+5), 4, '0');
- test(s+5, 4, '0');
-#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
- int i[5];
- typedef std::unique_ptr<int, do_nothing> Ptr;
- Ptr p[5];
- for (unsigned j = 0; j < 5; ++j)
- p[j].reset(i+j);
- test(p, 3, Ptr(i+3));
-#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
-}
diff --git a/libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.ref/op_arrow.pass.cpp b/libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.ref/op_arrow.pass.cpp
deleted file mode 100644
index b0c00e3fbf8..00000000000
--- a/libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.ref/op_arrow.pass.cpp
+++ /dev/null
@@ -1,31 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// move_iterator
-
-// pointer operator->() const;
-
-#include <iterator>
-#include <cassert>
-
-template <class It>
-void
-test(It i)
-{
- std::move_iterator<It> r(i);
- assert(r.operator->() == i);
-}
-
-int main()
-{
- char s[] = "123";
- test(s);
-}
diff --git a/libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.star/op_star.pass.cpp b/libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.star/op_star.pass.cpp
deleted file mode 100644
index 6de708baa32..00000000000
--- a/libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.star/op_star.pass.cpp
+++ /dev/null
@@ -1,61 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// move_iterator
-
-// reference operator*() const;
-
-#include <iterator>
-#include <cassert>
-#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
-#include <memory>
-#endif
-
-class A
-{
- int data_;
-public:
- A() : data_(1) {}
- ~A() {data_ = -1;}
-
- friend bool operator==(const A& x, const A& y)
- {return x.data_ == y.data_;}
-};
-
-template <class It>
-void
-test(It i, typename std::iterator_traits<It>::value_type x)
-{
- std::move_iterator<It> r(i);
- assert(*r == x);
- typename std::iterator_traits<It>::value_type x2 = *r;
- assert(x2 == x);
-}
-
-#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
-
-struct do_nothing
-{
- void operator()(void*) const {}
-};
-
-#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
-
-int main()
-{
- A a;
- test(&a, A());
-#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
- int i;
- std::unique_ptr<int, do_nothing> p(&i);
- test(&p, std::unique_ptr<int, do_nothing>(&i));
-#endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES
-}
diff --git a/libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op=/move_iterator.fail.cpp b/libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op=/move_iterator.fail.cpp
deleted file mode 100644
index 089cc29b2e9..00000000000
--- a/libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op=/move_iterator.fail.cpp
+++ /dev/null
@@ -1,39 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// move_iterator
-
-// template <class U>
-// requires HasAssign<Iter, const U&>
-// move_iterator&
-// operator=(const move_iterator<U>& u);
-
-// test requires
-
-#include <iterator>
-
-template <class It, class U>
-void
-test(U u)
-{
- const std::move_iterator<U> r2(u);
- std::move_iterator<It> r1;
- r1 = r2;
-}
-
-struct base {};
-struct derived {};
-
-int main()
-{
- derived d;
- test<base*>(&d);
-}
diff --git a/libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op=/move_iterator.pass.cpp b/libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op=/move_iterator.pass.cpp
deleted file mode 100644
index 449f7e809db..00000000000
--- a/libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op=/move_iterator.pass.cpp
+++ /dev/null
@@ -1,47 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// move_iterator
-
-// template <class U>
-// requires HasAssign<Iter, const U&>
-// move_iterator&
-// operator=(const move_iterator<U>& u);
-
-#include <iterator>
-#include <cassert>
-
-#include "test_iterators.h"
-
-template <class It, class U>
-void
-test(U u)
-{
- const std::move_iterator<U> r2(u);
- std::move_iterator<It> r1;
- std::move_iterator<It>& rr = r1 = r2;
- assert(r1.base() == u);
- assert(&rr == &r1);
-}
-
-struct Base {};
-struct Derived : Base {};
-
-int main()
-{
- Derived d;
-
- test<input_iterator<Base*> >(input_iterator<Derived*>(&d));
- test<forward_iterator<Base*> >(forward_iterator<Derived*>(&d));
- test<bidirectional_iterator<Base*> >(bidirectional_iterator<Derived*>(&d));
- test<random_access_iterator<const Base*> >(random_access_iterator<Derived*>(&d));
- test<Base*>(&d);
-}
diff --git a/libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/nothing_to_do.pass.cpp b/libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/nothing_to_do.pass.cpp
deleted file mode 100644
index b58f5c55b64..00000000000
--- a/libcxx/test/iterators/predef.iterators/move.iterators/move.iter.ops/nothing_to_do.pass.cpp
+++ /dev/null
@@ -1,12 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-int main()
-{
-}
diff --git a/libcxx/test/iterators/predef.iterators/move.iterators/move.iter.requirements/nothing_to_do.pass.cpp b/libcxx/test/iterators/predef.iterators/move.iterators/move.iter.requirements/nothing_to_do.pass.cpp
deleted file mode 100644
index b58f5c55b64..00000000000
--- a/libcxx/test/iterators/predef.iterators/move.iterators/move.iter.requirements/nothing_to_do.pass.cpp
+++ /dev/null
@@ -1,12 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-int main()
-{
-}
diff --git a/libcxx/test/iterators/predef.iterators/move.iterators/move.iterator/types.pass.cpp b/libcxx/test/iterators/predef.iterators/move.iterators/move.iterator/types.pass.cpp
deleted file mode 100644
index 9bdf7215e9e..00000000000
--- a/libcxx/test/iterators/predef.iterators/move.iterators/move.iterator/types.pass.cpp
+++ /dev/null
@@ -1,56 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// move_iterator
-
-// Test nested types:
-
-// template <InputIterator Iter>
-// class move_iterator {
-// public:
-// typedef Iter iterator_type;
-// typedef Iter::difference_type difference_type;
-// typedef Iterator pointer;
-// typedef Iter::value_type value_type;
-// typedef value_type&& reference;
-// };
-
-#include <iterator>
-#include <type_traits>
-
-#include "test_iterators.h"
-
-template <class It>
-void
-test()
-{
- typedef std::move_iterator<It> R;
- typedef std::iterator_traits<It> T;
- static_assert((std::is_same<typename R::iterator_type, It>::value), "");
- static_assert((std::is_same<typename R::difference_type, typename T::difference_type>::value), "");
- static_assert((std::is_same<typename R::pointer, typename T::pointer>::value), "");
- static_assert((std::is_same<typename R::value_type, typename T::value_type>::value), "");
-#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
- static_assert((std::is_same<typename R::reference, typename R::value_type&&>::value), "");
-#else
- static_assert((std::is_same<typename R::reference, typename T::reference>::value), "");
-#endif
- static_assert((std::is_same<typename R::iterator_category, typename T::iterator_category>::value), "");
-}
-
-int main()
-{
- test<input_iterator<char*> >();
- test<forward_iterator<char*> >();
- test<bidirectional_iterator<char*> >();
- test<random_access_iterator<char*> >();
- test<char*>();
-}
diff --git a/libcxx/test/iterators/predef.iterators/move.iterators/nothing_to_do.pass.cpp b/libcxx/test/iterators/predef.iterators/move.iterators/nothing_to_do.pass.cpp
deleted file mode 100644
index b58f5c55b64..00000000000
--- a/libcxx/test/iterators/predef.iterators/move.iterators/nothing_to_do.pass.cpp
+++ /dev/null
@@ -1,12 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-int main()
-{
-}
diff --git a/libcxx/test/iterators/predef.iterators/nothing_to_do.pass.cpp b/libcxx/test/iterators/predef.iterators/nothing_to_do.pass.cpp
deleted file mode 100644
index b58f5c55b64..00000000000
--- a/libcxx/test/iterators/predef.iterators/nothing_to_do.pass.cpp
+++ /dev/null
@@ -1,12 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-int main()
-{
-}
diff --git a/libcxx/test/iterators/predef.iterators/reverse.iterators/nothing_to_do.pass.cpp b/libcxx/test/iterators/predef.iterators/reverse.iterators/nothing_to_do.pass.cpp
deleted file mode 100644
index b58f5c55b64..00000000000
--- a/libcxx/test/iterators/predef.iterators/reverse.iterators/nothing_to_do.pass.cpp
+++ /dev/null
@@ -1,12 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-int main()
-{
-}
diff --git a/libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/nothing_to_do.pass.cpp b/libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/nothing_to_do.pass.cpp
deleted file mode 100644
index b58f5c55b64..00000000000
--- a/libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/nothing_to_do.pass.cpp
+++ /dev/null
@@ -1,12 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-int main()
-{
-}
diff --git a/libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.cons/default.pass.cpp b/libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.cons/default.pass.cpp
deleted file mode 100644
index 72a767d1711..00000000000
--- a/libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.cons/default.pass.cpp
+++ /dev/null
@@ -1,33 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// reverse_iterator
-
-// reverse_iterator();
-
-#include <iterator>
-
-#include "test_iterators.h"
-
-template <class It>
-void
-test()
-{
- std::reverse_iterator<It> r;
-}
-
-int main()
-{
- test<bidirectional_iterator<const char*> >();
- test<random_access_iterator<char*> >();
- test<char*>();
- test<const char*>();
-}
diff --git a/libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.cons/iter.fail.cpp b/libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.cons/iter.fail.cpp
deleted file mode 100644
index 3f42f06ee08..00000000000
--- a/libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.cons/iter.fail.cpp
+++ /dev/null
@@ -1,31 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// reverse_iterator
-
-// explicit reverse_iterator(Iter x);
-
-// test explicit
-
-#include <iterator>
-
-template <class It>
-void
-test(It i)
-{
- std::reverse_iterator<It> r = i;
-}
-
-int main()
-{
- const char s[] = "123";
- test(s);
-}
diff --git a/libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.cons/iter.pass.cpp b/libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.cons/iter.pass.cpp
deleted file mode 100644
index ea213c0dcf0..00000000000
--- a/libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.cons/iter.pass.cpp
+++ /dev/null
@@ -1,35 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// reverse_iterator
-
-// explicit reverse_iterator(Iter x);
-
-#include <iterator>
-#include <cassert>
-
-#include "test_iterators.h"
-
-template <class It>
-void
-test(It i)
-{
- std::reverse_iterator<It> r(i);
- assert(r.base() == i);
-}
-
-int main()
-{
- const char s[] = "123";
- test(bidirectional_iterator<const char*>(s));
- test(random_access_iterator<const char*>(s));
- test(s);
-}
diff --git a/libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.cons/reverse_iterator.fail.cpp b/libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.cons/reverse_iterator.fail.cpp
deleted file mode 100644
index c0a9afecbd3..00000000000
--- a/libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.cons/reverse_iterator.fail.cpp
+++ /dev/null
@@ -1,38 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// reverse_iterator
-
-// template <class U>
-// requires HasConstructor<Iter, const U&>
-// reverse_iterator(const reverse_iterator<U> &u);
-
-// test requires
-
-#include <iterator>
-
-template <class It, class U>
-void
-test(U u)
-{
- std::reverse_iterator<U> r2(u);
- std::reverse_iterator<It> r1 = r2;
-}
-
-struct base {};
-struct derived {};
-
-int main()
-{
- derived d;
-
- test<base*>(&d);
-}
diff --git a/libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.cons/reverse_iterator.pass.cpp b/libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.cons/reverse_iterator.pass.cpp
deleted file mode 100644
index 280e7d59ae8..00000000000
--- a/libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.cons/reverse_iterator.pass.cpp
+++ /dev/null
@@ -1,42 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// reverse_iterator
-
-// template <class U>
-// requires HasConstructor<Iter, const U&>
-// reverse_iterator(const reverse_iterator<U> &u);
-
-#include <iterator>
-#include <cassert>
-
-#include "test_iterators.h"
-
-template <class It, class U>
-void
-test(U u)
-{
- const std::reverse_iterator<U> r2(u);
- std::reverse_iterator<It> r1 = r2;
- assert(r1.base() == u);
-}
-
-struct Base {};
-struct Derived : Base {};
-
-int main()
-{
- Derived d;
-
- test<bidirectional_iterator<Base*> >(bidirectional_iterator<Derived*>(&d));
- test<random_access_iterator<const Base*> >(random_access_iterator<Derived*>(&d));
- test<Base*>(&d);
-}
diff --git a/libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.conv/tested_elsewhere.pass.cpp b/libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.conv/tested_elsewhere.pass.cpp
deleted file mode 100644
index b58f5c55b64..00000000000
--- a/libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.conv/tested_elsewhere.pass.cpp
+++ /dev/null
@@ -1,12 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-int main()
-{
-}
diff --git a/libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.make/make_reverse_iterator.pass.cpp b/libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.make/make_reverse_iterator.pass.cpp
deleted file mode 100644
index 98b7331cd38..00000000000
--- a/libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.make/make_reverse_iterator.pass.cpp
+++ /dev/null
@@ -1,42 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// reverse_iterator
-
-// template <class Iterator> reverse_iterator<Iterator>
-// make_reverse_iterator(Iterator i);
-
-#include <iterator>
-#include <cassert>
-
-#include "test_iterators.h"
-
-#if _LIBCPP_STD_VER > 11
-
-template <class It>
-void
-test(It i)
-{
- const std::reverse_iterator<It> r = std::make_reverse_iterator(i);
- assert(r.base() == i);
-}
-
-int main()
-{
- const char* s = "1234567890";
- random_access_iterator<const char*>b(s);
- random_access_iterator<const char*>e(s+10);
- while ( b != e )
- test ( b++ );
-}
-#else
-int main () {}
-#endif
diff --git a/libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.op!=/test.pass.cpp b/libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.op!=/test.pass.cpp
deleted file mode 100644
index 29da57e3b5a..00000000000
--- a/libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.op!=/test.pass.cpp
+++ /dev/null
@@ -1,42 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// reverse_iterator
-
-// template <BidirectionalIterator Iter1, BidirectionalIterator Iter2>
-// requires HasEqualTo<Iter1, Iter2>
-// bool
-// operator!=(const reverse_iterator<Iter1>& x, const reverse_iterator<Iter2>& y);
-
-#include <iterator>
-#include <cassert>
-
-#include "test_iterators.h"
-
-template <class It>
-void
-test(It l, It r, bool x)
-{
- const std::reverse_iterator<It> r1(l);
- const std::reverse_iterator<It> r2(r);
- assert((r1 != r2) == x);
-}
-
-int main()
-{
- const char* s = "1234567890";
- test(bidirectional_iterator<const char*>(s), bidirectional_iterator<const char*>(s), false);
- test(bidirectional_iterator<const char*>(s), bidirectional_iterator<const char*>(s+1), true);
- test(random_access_iterator<const char*>(s), random_access_iterator<const char*>(s), false);
- test(random_access_iterator<const char*>(s), random_access_iterator<const char*>(s+1), true);
- test(s, s, false);
- test(s, s+1, true);
-}
diff --git a/libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.op++/post.pass.cpp b/libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.op++/post.pass.cpp
deleted file mode 100644
index bd936060c4d..00000000000
--- a/libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.op++/post.pass.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// reverse_iterator
-
-// reverse_iterator operator++(int);
-
-#include <iterator>
-#include <cassert>
-
-#include "test_iterators.h"
-
-template <class It>
-void
-test(It i, It x)
-{
- std::reverse_iterator<It> r(i);
- std::reverse_iterator<It> rr = r++;
- assert(r.base() == x);
- assert(rr.base() == i);
-}
-
-int main()
-{
- const char* s = "123";
- test(bidirectional_iterator<const char*>(s+1), bidirectional_iterator<const char*>(s));
- test(random_access_iterator<const char*>(s+1), random_access_iterator<const char*>(s));
- test(s+1, s);
-}
diff --git a/libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.op++/pre.pass.cpp b/libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.op++/pre.pass.cpp
deleted file mode 100644
index f68a612fae6..00000000000
--- a/libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.op++/pre.pass.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// reverse_iterator
-
-// reverse_iterator& operator++();
-
-#include <iterator>
-#include <cassert>
-
-#include "test_iterators.h"
-
-template <class It>
-void
-test(It i, It x)
-{
- std::reverse_iterator<It> r(i);
- std::reverse_iterator<It>& rr = ++r;
- assert(r.base() == x);
- assert(&rr == &r);
-}
-
-int main()
-{
- const char* s = "123";
- test(bidirectional_iterator<const char*>(s+1), bidirectional_iterator<const char*>(s));
- test(random_access_iterator<const char*>(s+1), random_access_iterator<const char*>(s));
- test(s+1, s);
-}
diff --git a/libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.op+/difference_type.pass.cpp b/libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.op+/difference_type.pass.cpp
deleted file mode 100644
index 39129d6b64d..00000000000
--- a/libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.op+/difference_type.pass.cpp
+++ /dev/null
@@ -1,36 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// reverse_iterator
-
-// requires RandomAccessIterator<Iter>
-// reverse_iterator operator+(difference_type n) const;
-
-#include <iterator>
-#include <cassert>
-
-#include "test_iterators.h"
-
-template <class It>
-void
-test(It i, typename std::iterator_traits<It>::difference_type n, It x)
-{
- const std::reverse_iterator<It> r(i);
- std::reverse_iterator<It> rr = r + n;
- assert(rr.base() == x);
-}
-
-int main()
-{
- const char* s = "1234567890";
- test(random_access_iterator<const char*>(s+5), 5, random_access_iterator<const char*>(s));
- test(s+5, 5, s);
-}
diff --git a/libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.op+=/difference_type.pass.cpp b/libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.op+=/difference_type.pass.cpp
deleted file mode 100644
index ac97aaf8c20..00000000000
--- a/libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.op+=/difference_type.pass.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// reverse_iterator
-
-// requires RandomAccessIterator<Iter>
-// reverse_iterator& operator+=(difference_type n);
-
-#include <iterator>
-#include <cassert>
-
-#include "test_iterators.h"
-
-template <class It>
-void
-test(It i, typename std::iterator_traits<It>::difference_type n, It x)
-{
- std::reverse_iterator<It> r(i);
- std::reverse_iterator<It>& rr = r += n;
- assert(r.base() == x);
- assert(&rr == &r);
-}
-
-int main()
-{
- const char* s = "1234567890";
- test(random_access_iterator<const char*>(s+5), 5, random_access_iterator<const char*>(s));
- test(s+5, 5, s);
-}
diff --git a/libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.op--/post.pass.cpp b/libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.op--/post.pass.cpp
deleted file mode 100644
index c3126e8c21f..00000000000
--- a/libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.op--/post.pass.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// reverse_iterator
-
-// reverse_iterator operator--(int);
-
-#include <iterator>
-#include <cassert>
-
-#include "test_iterators.h"
-
-template <class It>
-void
-test(It i, It x)
-{
- std::reverse_iterator<It> r(i);
- std::reverse_iterator<It> rr = r--;
- assert(r.base() == x);
- assert(rr.base() == i);
-}
-
-int main()
-{
- const char* s = "123";
- test(bidirectional_iterator<const char*>(s+1), bidirectional_iterator<const char*>(s+2));
- test(random_access_iterator<const char*>(s+1), random_access_iterator<const char*>(s+2));
- test(s+1, s+2);
-}
diff --git a/libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.op--/pre.pass.cpp b/libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.op--/pre.pass.cpp
deleted file mode 100644
index f9361cf9c72..00000000000
--- a/libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.op--/pre.pass.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// reverse_iterator
-
-// reverse_iterator& operator--();
-
-#include <iterator>
-#include <cassert>
-
-#include "test_iterators.h"
-
-template <class It>
-void
-test(It i, It x)
-{
- std::reverse_iterator<It> r(i);
- std::reverse_iterator<It>& rr = --r;
- assert(r.base() == x);
- assert(&rr == &r);
-}
-
-int main()
-{
- const char* s = "123";
- test(bidirectional_iterator<const char*>(s+1), bidirectional_iterator<const char*>(s+2));
- test(random_access_iterator<const char*>(s+1), random_access_iterator<const char*>(s+2));
- test(s+1, s+2);
-}
diff --git a/libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.op-/difference_type.pass.cpp b/libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.op-/difference_type.pass.cpp
deleted file mode 100644
index 79d477976fb..00000000000
--- a/libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.op-/difference_type.pass.cpp
+++ /dev/null
@@ -1,36 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// reverse_iterator
-
-// requires RandomAccessIterator<Iter>
-// reverse_iterator operator-(difference_type n) const;
-
-#include <iterator>
-#include <cassert>
-
-#include "test_iterators.h"
-
-template <class It>
-void
-test(It i, typename std::iterator_traits<It>::difference_type n, It x)
-{
- const std::reverse_iterator<It> r(i);
- std::reverse_iterator<It> rr = r - n;
- assert(rr.base() == x);
-}
-
-int main()
-{
- const char* s = "1234567890";
- test(random_access_iterator<const char*>(s+5), 5, random_access_iterator<const char*>(s+10));
- test(s+5, 5, s+10);
-}
diff --git a/libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.op-=/difference_type.pass.cpp b/libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.op-=/difference_type.pass.cpp
deleted file mode 100644
index 93addf99dc6..00000000000
--- a/libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.op-=/difference_type.pass.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// reverse_iterator
-
-// requires RandomAccessIterator<Iter>
-// reverse_iterator& operator-=(difference_type n);
-
-#include <iterator>
-#include <cassert>
-
-#include "test_iterators.h"
-
-template <class It>
-void
-test(It i, typename std::iterator_traits<It>::difference_type n, It x)
-{
- std::reverse_iterator<It> r(i);
- std::reverse_iterator<It>& rr = r -= n;
- assert(r.base() == x);
- assert(&rr == &r);
-}
-
-int main()
-{
- const char* s = "1234567890";
- test(random_access_iterator<const char*>(s+5), 5, random_access_iterator<const char*>(s+10));
- test(s+5, 5, s+10);
-}
diff --git a/libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.op.star/op_star.pass.cpp b/libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.op.star/op_star.pass.cpp
deleted file mode 100644
index 7a7759843ee..00000000000
--- a/libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.op.star/op_star.pass.cpp
+++ /dev/null
@@ -1,47 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// reverse_iterator
-
-// reference operator*() const;
-
-// Be sure to respect LWG 198:
-// http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#198
-// LWG 198 was superseded by LWG 2360
-// http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2360
-
-#include <iterator>
-#include <cassert>
-
-class A
-{
- int data_;
-public:
- A() : data_(1) {}
- ~A() {data_ = -1;}
-
- friend bool operator==(const A& x, const A& y)
- {return x.data_ == y.data_;}
-};
-
-template <class It>
-void
-test(It i, typename std::iterator_traits<It>::value_type x)
-{
- std::reverse_iterator<It> r(i);
- assert(*r == x);
-}
-
-int main()
-{
- A a;
- test(&a+1, A());
-}
diff --git a/libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.op=/reverse_iterator.fail.cpp b/libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.op=/reverse_iterator.fail.cpp
deleted file mode 100644
index 18f97801251..00000000000
--- a/libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.op=/reverse_iterator.fail.cpp
+++ /dev/null
@@ -1,39 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// reverse_iterator
-
-// template <class U>
-// requires HasAssign<Iter, const U&>
-// reverse_iterator&
-// operator=(const reverse_iterator<U>& u);
-
-// test requires
-
-#include <iterator>
-
-template <class It, class U>
-void
-test(U u)
-{
- const std::reverse_iterator<U> r2(u);
- std::reverse_iterator<It> r1;
- r1 = r2;
-}
-
-struct base {};
-struct derived {};
-
-int main()
-{
- derived d;
- test<base*>(&d);
-}
diff --git a/libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.op=/reverse_iterator.pass.cpp b/libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.op=/reverse_iterator.pass.cpp
deleted file mode 100644
index 92573f9a924..00000000000
--- a/libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.op=/reverse_iterator.pass.cpp
+++ /dev/null
@@ -1,45 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// reverse_iterator
-
-// template <class U>
-// requires HasAssign<Iter, const U&>
-// reverse_iterator&
-// operator=(const reverse_iterator<U>& u);
-
-#include <iterator>
-#include <cassert>
-
-#include "test_iterators.h"
-
-template <class It, class U>
-void
-test(U u)
-{
- const std::reverse_iterator<U> r2(u);
- std::reverse_iterator<It> r1;
- std::reverse_iterator<It>& rr = r1 = r2;
- assert(r1.base() == u);
- assert(&rr == &r1);
-}
-
-struct Base {};
-struct Derived : Base {};
-
-int main()
-{
- Derived d;
-
- test<bidirectional_iterator<Base*> >(bidirectional_iterator<Derived*>(&d));
- test<random_access_iterator<const Base*> >(random_access_iterator<Derived*>(&d));
- test<Base*>(&d);
-}
diff --git a/libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.op==/test.pass.cpp b/libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.op==/test.pass.cpp
deleted file mode 100644
index 3da4b951df1..00000000000
--- a/libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.op==/test.pass.cpp
+++ /dev/null
@@ -1,42 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// reverse_iterator
-
-// template <BidirectionalIterator Iter1, BidirectionalIterator Iter2>
-// requires HasEqualTo<Iter1, Iter2>
-// bool
-// operator==(const reverse_iterator<Iter1>& x, const reverse_iterator<Iter2>& y);
-
-#include <iterator>
-#include <cassert>
-
-#include "test_iterators.h"
-
-template <class It>
-void
-test(It l, It r, bool x)
-{
- const std::reverse_iterator<It> r1(l);
- const std::reverse_iterator<It> r2(r);
- assert((r1 == r2) == x);
-}
-
-int main()
-{
- const char* s = "1234567890";
- test(bidirectional_iterator<const char*>(s), bidirectional_iterator<const char*>(s), true);
- test(bidirectional_iterator<const char*>(s), bidirectional_iterator<const char*>(s+1), false);
- test(random_access_iterator<const char*>(s), random_access_iterator<const char*>(s), true);
- test(random_access_iterator<const char*>(s), random_access_iterator<const char*>(s+1), false);
- test(s, s, true);
- test(s, s+1, false);
-}
diff --git a/libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.opdiff/test.pass.cpp b/libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.opdiff/test.pass.cpp
deleted file mode 100644
index 437bb6f9f7e..00000000000
--- a/libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.opdiff/test.pass.cpp
+++ /dev/null
@@ -1,43 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// reverse_iterator
-
-// template <RandomAccessIterator Iter1, RandomAccessIterator Iter2>
-// requires HasMinus<Iter2, Iter1>
-// auto operator-(const reverse_iterator<Iter1>& x, const reverse_iterator<Iter2>& y)
-// -> decltype(y.base() - x.base());
-
-#include <iterator>
-#include <cstddef>
-#include <cassert>
-
-#include "test_iterators.h"
-
-template <class It1, class It2>
-void
-test(It1 l, It2 r, std::ptrdiff_t x)
-{
- const std::reverse_iterator<It1> r1(l);
- const std::reverse_iterator<It2> r2(r);
- assert((r1 - r2) == x);
-}
-
-int main()
-{
- char s[3] = {0};
- test(random_access_iterator<const char*>(s), random_access_iterator<char*>(s), 0);
- test(random_access_iterator<char*>(s), random_access_iterator<const char*>(s+1), 1);
- test(random_access_iterator<const char*>(s+1), random_access_iterator<char*>(s), -1);
- test(s, s, 0);
- test(s, s+1, 1);
- test(s+1, s, -1);
-}
diff --git a/libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.opgt/test.pass.cpp b/libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.opgt/test.pass.cpp
deleted file mode 100644
index afbb334ebfd..00000000000
--- a/libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.opgt/test.pass.cpp
+++ /dev/null
@@ -1,42 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// reverse_iterator
-
-// template <RandomAccessIterator Iter1, RandomAccessIterator Iter2>
-// requires HasGreater<Iter1, Iter2>
-// bool
-// operator>(const reverse_iterator<Iter1>& x, const reverse_iterator<Iter2>& y);
-
-#include <iterator>
-#include <cassert>
-
-#include "test_iterators.h"
-
-template <class It>
-void
-test(It l, It r, bool x)
-{
- const std::reverse_iterator<It> r1(l);
- const std::reverse_iterator<It> r2(r);
- assert((r1 > r2) == x);
-}
-
-int main()
-{
- const char* s = "1234567890";
- test(random_access_iterator<const char*>(s), random_access_iterator<const char*>(s), false);
- test(random_access_iterator<const char*>(s), random_access_iterator<const char*>(s+1), true);
- test(random_access_iterator<const char*>(s+1), random_access_iterator<const char*>(s), false);
- test(s, s, false);
- test(s, s+1, true);
- test(s+1, s, false);
-}
diff --git a/libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.opgt=/test.pass.cpp b/libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.opgt=/test.pass.cpp
deleted file mode 100644
index c6e79aff126..00000000000
--- a/libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.opgt=/test.pass.cpp
+++ /dev/null
@@ -1,42 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// reverse_iterator
-
-// template <RandomAccessIterator Iter1, RandomAccessIterator Iter2>
-// requires HasGreater<Iter1, Iter2>
-// bool
-// operator>=(const reverse_iterator<Iter1>& x, const reverse_iterator<Iter2>& y);
-
-#include <iterator>
-#include <cassert>
-
-#include "test_iterators.h"
-
-template <class It>
-void
-test(It l, It r, bool x)
-{
- const std::reverse_iterator<It> r1(l);
- const std::reverse_iterator<It> r2(r);
- assert((r1 >= r2) == x);
-}
-
-int main()
-{
- const char* s = "1234567890";
- test(random_access_iterator<const char*>(s), random_access_iterator<const char*>(s), true);
- test(random_access_iterator<const char*>(s), random_access_iterator<const char*>(s+1), true);
- test(random_access_iterator<const char*>(s+1), random_access_iterator<const char*>(s), false);
- test(s, s, true);
- test(s, s+1, true);
- test(s+1, s, false);
-}
diff --git a/libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.opindex/difference_type.pass.cpp b/libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.opindex/difference_type.pass.cpp
deleted file mode 100644
index 16f4a072855..00000000000
--- a/libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.opindex/difference_type.pass.cpp
+++ /dev/null
@@ -1,38 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// reverse_iterator
-
-// requires RandomAccessIterator<Iter>
-// unspecified operator[](difference_type n) const;
-
-#include <iterator>
-#include <cassert>
-
-#include "test_iterators.h"
-
-template <class It>
-void
-test(It i, typename std::iterator_traits<It>::difference_type n,
- typename std::iterator_traits<It>::value_type x)
-{
- typedef typename std::iterator_traits<It>::value_type value_type;
- const std::reverse_iterator<It> r(i);
- value_type rr = r[n];
- assert(rr == x);
-}
-
-int main()
-{
- const char* s = "1234567890";
- test(random_access_iterator<const char*>(s+5), 4, '1');
- test(s+5, 4, '1');
-}
diff --git a/libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.oplt/test.pass.cpp b/libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.oplt/test.pass.cpp
deleted file mode 100644
index 2b389b853a5..00000000000
--- a/libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.oplt/test.pass.cpp
+++ /dev/null
@@ -1,42 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// reverse_iterator
-
-// template <RandomAccessIterator Iter1, RandomAccessIterator Iter2>
-// requires HasGreater<Iter1, Iter2>
-// bool
-// operator<(const reverse_iterator<Iter1>& x, const reverse_iterator<Iter2>& y);
-
-#include <iterator>
-#include <cassert>
-
-#include "test_iterators.h"
-
-template <class It>
-void
-test(It l, It r, bool x)
-{
- const std::reverse_iterator<It> r1(l);
- const std::reverse_iterator<It> r2(r);
- assert((r1 < r2) == x);
-}
-
-int main()
-{
- const char* s = "1234567890";
- test(random_access_iterator<const char*>(s), random_access_iterator<const char*>(s), false);
- test(random_access_iterator<const char*>(s), random_access_iterator<const char*>(s+1), false);
- test(random_access_iterator<const char*>(s+1), random_access_iterator<const char*>(s), true);
- test(s, s, false);
- test(s, s+1, false);
- test(s+1, s, true);
-}
diff --git a/libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.oplt=/test.pass.cpp b/libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.oplt=/test.pass.cpp
deleted file mode 100644
index 6c4f05cdf65..00000000000
--- a/libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.oplt=/test.pass.cpp
+++ /dev/null
@@ -1,42 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// reverse_iterator
-
-// template <RandomAccessIterator Iter1, RandomAccessIterator Iter2>
-// requires HasGreater<Iter1, Iter2>
-// bool
-// operator<=(const reverse_iterator<Iter1>& x, const reverse_iterator<Iter2>& y);
-
-#include <iterator>
-#include <cassert>
-
-#include "test_iterators.h"
-
-template <class It>
-void
-test(It l, It r, bool x)
-{
- const std::reverse_iterator<It> r1(l);
- const std::reverse_iterator<It> r2(r);
- assert((r1 <= r2) == x);
-}
-
-int main()
-{
- const char* s = "1234567890";
- test(random_access_iterator<const char*>(s), random_access_iterator<const char*>(s), true);
- test(random_access_iterator<const char*>(s), random_access_iterator<const char*>(s+1), false);
- test(random_access_iterator<const char*>(s+1), random_access_iterator<const char*>(s), true);
- test(s, s, true);
- test(s, s+1, false);
- test(s+1, s, true);
-}
diff --git a/libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.opref/op_arrow.pass.cpp b/libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.opref/op_arrow.pass.cpp
deleted file mode 100644
index efbdf1406c9..00000000000
--- a/libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.opref/op_arrow.pass.cpp
+++ /dev/null
@@ -1,89 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// reverse_iterator
-
-// pointer operator->() const;
-
-// Be sure to respect LWG 198:
-// http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#198
-// LWG 198 was superseded by LWG 2360
-// http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#2360
-
-
-#include <iterator>
-#include <list>
-#include <cassert>
-
-class A
-{
- int data_;
-public:
- A() : data_(1) {}
- ~A() {data_ = -1;}
-
- int get() const {return data_;}
-
- friend bool operator==(const A& x, const A& y)
- {return x.data_ == y.data_;}
-};
-
-template <class It>
-void
-test(It i, typename std::iterator_traits<It>::value_type x)
-{
- std::reverse_iterator<It> r(i);
- assert(r->get() == x.get());
-}
-
-class B
-{
- int data_;
-public:
- B(int d=1) : data_(d) {}
- ~B() {data_ = -1;}
-
- int get() const {return data_;}
-
- friend bool operator==(const B& x, const B& y)
- {return x.data_ == y.data_;}
- const B *operator&() const { return nullptr; }
- B *operator&() { return nullptr; }
-};
-
-int main()
-{
- A a;
- test(&a+1, A());
-
- {
- std::list<B> l;
- l.push_back(B(0));
- l.push_back(B(1));
- l.push_back(B(2));
-
- {
- std::list<B>::const_iterator i = l.begin();
- assert ( i->get() == 0 ); ++i;
- assert ( i->get() == 1 ); ++i;
- assert ( i->get() == 2 ); ++i;
- assert ( i == l.end ());
- }
-
- {
- std::list<B>::const_reverse_iterator ri = l.rbegin();
- assert ( ri->get() == 2 ); ++ri;
- assert ( ri->get() == 1 ); ++ri;
- assert ( ri->get() == 0 ); ++ri;
- assert ( ri == l.rend ());
- }
- }
-}
diff --git a/libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.opsum/difference_type.pass.cpp b/libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.opsum/difference_type.pass.cpp
deleted file mode 100644
index 74747cb1f0f..00000000000
--- a/libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.opsum/difference_type.pass.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// reverse_iterator
-
-// template <RandomAccessIterator Iterator>
-// reverse_iterator<Iter>
-// operator+(Iter::difference_type n, const reverse_iterator<Iter>& x);
-
-#include <iterator>
-#include <cassert>
-
-#include "test_iterators.h"
-
-template <class It>
-void
-test(It i, typename std::iterator_traits<It>::difference_type n, It x)
-{
- const std::reverse_iterator<It> r(i);
- std::reverse_iterator<It> rr = n + r;
- assert(rr.base() == x);
-}
-
-int main()
-{
- const char* s = "1234567890";
- test(random_access_iterator<const char*>(s+5), 5, random_access_iterator<const char*>(s));
- test(s+5, 5, s);
-}
diff --git a/libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.requirements/nothing_to_do.pass.cpp b/libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.requirements/nothing_to_do.pass.cpp
deleted file mode 100644
index b58f5c55b64..00000000000
--- a/libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iter.requirements/nothing_to_do.pass.cpp
+++ /dev/null
@@ -1,12 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-int main()
-{
-}
diff --git a/libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iterator/types.pass.cpp b/libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iterator/types.pass.cpp
deleted file mode 100644
index 292a777876f..00000000000
--- a/libcxx/test/iterators/predef.iterators/reverse.iterators/reverse.iterator/types.pass.cpp
+++ /dev/null
@@ -1,61 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// reverse_iterator
-
-// Test nested types and data member:
-
-// template <BidirectionalIterator Iter>
-// class reverse_iterator {
-// protected:
-// Iter current;
-// public:
-// iterator<typename iterator_traits<Iterator>::iterator_category,
-// typename iterator_traits<Iterator>::value_type,
-// typename iterator_traits<Iterator>::difference_type,
-// typename iterator_traits<Iterator>::pointer,
-// typename iterator_traits<Iterator>::reference> {
-// };
-
-#include <iterator>
-#include <type_traits>
-
-#include "test_iterators.h"
-
-template <class It>
-struct find_current
- : private std::reverse_iterator<It>
-{
- void test() {++(this->current);}
-};
-
-template <class It>
-void
-test()
-{
- typedef std::reverse_iterator<It> R;
- typedef std::iterator_traits<It> T;
- find_current<It> q;
- q.test();
- static_assert((std::is_same<typename R::iterator_type, It>::value), "");
- static_assert((std::is_same<typename R::value_type, typename T::value_type>::value), "");
- static_assert((std::is_same<typename R::difference_type, typename T::difference_type>::value), "");
- static_assert((std::is_same<typename R::reference, typename T::reference>::value), "");
- static_assert((std::is_same<typename R::pointer, typename std::iterator_traits<It>::pointer>::value), "");
- static_assert((std::is_same<typename R::iterator_category, typename T::iterator_category>::value), "");
-}
-
-int main()
-{
- test<bidirectional_iterator<char*> >();
- test<random_access_iterator<char*> >();
- test<char*>();
-}
diff --git a/libcxx/test/iterators/stream.iterators/istream.iterator/istream.iterator.cons/copy.pass.cpp b/libcxx/test/iterators/stream.iterators/istream.iterator/istream.iterator.cons/copy.pass.cpp
deleted file mode 100644
index 0d70c7fc9ed..00000000000
--- a/libcxx/test/iterators/stream.iterators/istream.iterator/istream.iterator.cons/copy.pass.cpp
+++ /dev/null
@@ -1,36 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// class istream_iterator
-
-// istream_iterator(const istream_iterator& x);
-
-#include <iterator>
-#include <sstream>
-#include <cassert>
-
-int main()
-{
- {
- std::istream_iterator<int> io;
- std::istream_iterator<int> i = io;
- assert(i == std::istream_iterator<int>());
- }
- {
- std::istringstream inf(" 1 23");
- std::istream_iterator<int> io(inf);
- std::istream_iterator<int> i = io;
- assert(i != std::istream_iterator<int>());
- int j = 0;
- j = *i;
- assert(j == 1);
- }
-}
diff --git a/libcxx/test/iterators/stream.iterators/istream.iterator/istream.iterator.cons/default.pass.cpp b/libcxx/test/iterators/stream.iterators/istream.iterator/istream.iterator.cons/default.pass.cpp
deleted file mode 100644
index f6c3dba7ae6..00000000000
--- a/libcxx/test/iterators/stream.iterators/istream.iterator/istream.iterator.cons/default.pass.cpp
+++ /dev/null
@@ -1,23 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// class istream_iterator
-
-// istream_iterator();
-
-#include <iterator>
-#include <cassert>
-
-int main()
-{
- std::istream_iterator<int> i;
- assert(i == std::istream_iterator<int>());
-}
diff --git a/libcxx/test/iterators/stream.iterators/istream.iterator/istream.iterator.cons/istream.pass.cpp b/libcxx/test/iterators/stream.iterators/istream.iterator/istream.iterator.cons/istream.pass.cpp
deleted file mode 100644
index 12a6f90e889..00000000000
--- a/libcxx/test/iterators/stream.iterators/istream.iterator/istream.iterator.cons/istream.pass.cpp
+++ /dev/null
@@ -1,30 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// class istream_iterator
-
-// istream_iterator(istream_type& s);
-
-#include <iterator>
-#include <sstream>
-#include <cassert>
-
-int main()
-{
- std::istringstream inf(" 1 23");
- std::istream_iterator<int> i(inf);
- assert(i != std::istream_iterator<int>());
- assert(inf.peek() == ' ');
- assert(inf.good());
- int j = 0;
- inf >> j;
- assert(j == 23);
-}
diff --git a/libcxx/test/iterators/stream.iterators/istream.iterator/istream.iterator.ops/arrow.pass.cpp b/libcxx/test/iterators/stream.iterators/istream.iterator/istream.iterator.ops/arrow.pass.cpp
deleted file mode 100644
index 5c4ddcad32e..00000000000
--- a/libcxx/test/iterators/stream.iterators/istream.iterator/istream.iterator.ops/arrow.pass.cpp
+++ /dev/null
@@ -1,37 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// class istream_iterator
-
-// const T* operator->() const;
-
-#include <iterator>
-#include <sstream>
-#include <cassert>
-
-struct A
-{
- double d_;
- int i_;
-};
-
-std::istream& operator>>(std::istream& is, A& a)
-{
- return is >> a.d_ >> a.i_;
-}
-
-int main()
-{
- std::istringstream inf("1.5 23 ");
- std::istream_iterator<A> i(inf);
- assert(i->d_ == 1.5);
- assert(i->i_ == 23);
-}
diff --git a/libcxx/test/iterators/stream.iterators/istream.iterator/istream.iterator.ops/dereference.pass.cpp b/libcxx/test/iterators/stream.iterators/istream.iterator/istream.iterator.ops/dereference.pass.cpp
deleted file mode 100644
index e6f86d48336..00000000000
--- a/libcxx/test/iterators/stream.iterators/istream.iterator/istream.iterator.ops/dereference.pass.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// class istream_iterator
-
-// const T& operator*() const;
-
-#include <iterator>
-#include <sstream>
-#include <cassert>
-
-int main()
-{
- std::istringstream inf(" 1 23");
- std::istream_iterator<int> i(inf);
- int j = 0;
- j = *i;
- assert(j == 1);
- j = *i;
- assert(j == 1);
- ++i;
- j = *i;
- assert(j == 23);
- j = *i;
- assert(j == 23);
-}
diff --git a/libcxx/test/iterators/stream.iterators/istream.iterator/istream.iterator.ops/equal.pass.cpp b/libcxx/test/iterators/stream.iterators/istream.iterator/istream.iterator.ops/equal.pass.cpp
deleted file mode 100644
index 0bee916d50c..00000000000
--- a/libcxx/test/iterators/stream.iterators/istream.iterator/istream.iterator.ops/equal.pass.cpp
+++ /dev/null
@@ -1,52 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// class istream_iterator
-
-// template <class T, class charT, class traits, class Distance>
-// bool operator==(const istream_iterator<T,charT,traits,Distance> &x,
-// const istream_iterator<T,charT,traits,Distance> &y);
-//
-// template <class T, class charT, class traits, class Distance>
-// bool operator!=(const istream_iterator<T,charT,traits,Distance> &x,
-// const istream_iterator<T,charT,traits,Distance> &y);
-
-#include <iterator>
-#include <sstream>
-#include <cassert>
-
-int main()
-{
- std::istringstream inf1(" 1 23");
- std::istringstream inf2(" 1 23");
- std::istream_iterator<int> i1(inf1);
- std::istream_iterator<int> i2(inf1);
- std::istream_iterator<int> i3(inf2);
- std::istream_iterator<int> i4;
- std::istream_iterator<int> i5;
- assert(i1 == i1);
- assert(i1 == i2);
- assert(i1 != i3);
- assert(i1 != i4);
- assert(i1 != i5);
-
- assert(i2 == i2);
- assert(i2 != i3);
- assert(i2 != i4);
- assert(i2 != i5);
-
- assert(i3 == i3);
- assert(i3 != i4);
- assert(i3 != i5);
-
- assert(i4 == i4);
- assert(i4 == i5);
-}
diff --git a/libcxx/test/iterators/stream.iterators/istream.iterator/istream.iterator.ops/post_increment.pass.cpp b/libcxx/test/iterators/stream.iterators/istream.iterator/istream.iterator.ops/post_increment.pass.cpp
deleted file mode 100644
index f5c49e37918..00000000000
--- a/libcxx/test/iterators/stream.iterators/istream.iterator/istream.iterator.ops/post_increment.pass.cpp
+++ /dev/null
@@ -1,32 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// class istream_iterator
-
-// istream_iterator operator++(int);
-
-#include <iterator>
-#include <sstream>
-#include <cassert>
-
-int main()
-{
- std::istringstream inf(" 1 23");
- std::istream_iterator<int> i(inf);
- std::istream_iterator<int> icopy = i++;
- assert(icopy == i);
- int j = 0;
- j = *i;
- assert(j == 23);
- j = 0;
- j = *icopy;
- assert(j == 1);
-}
diff --git a/libcxx/test/iterators/stream.iterators/istream.iterator/istream.iterator.ops/pre_increment.pass.cpp b/libcxx/test/iterators/stream.iterators/istream.iterator/istream.iterator.ops/pre_increment.pass.cpp
deleted file mode 100644
index 87173f7dc18..00000000000
--- a/libcxx/test/iterators/stream.iterators/istream.iterator/istream.iterator.ops/pre_increment.pass.cpp
+++ /dev/null
@@ -1,29 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// class istream_iterator
-
-// istream_iterator& operator++();
-
-#include <iterator>
-#include <sstream>
-#include <cassert>
-
-int main()
-{
- std::istringstream inf(" 1 23");
- std::istream_iterator<int> i(inf);
- std::istream_iterator<int>& iref = ++i;
- assert(&iref == &i);
- int j = 0;
- j = *i;
- assert(j == 23);
-}
diff --git a/libcxx/test/iterators/stream.iterators/istream.iterator/types.pass.cpp b/libcxx/test/iterators/stream.iterators/istream.iterator/types.pass.cpp
deleted file mode 100644
index be55c97773d..00000000000
--- a/libcxx/test/iterators/stream.iterators/istream.iterator/types.pass.cpp
+++ /dev/null
@@ -1,42 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// template <class T, class charT = char, class traits = char_traits<charT>,
-// class Distance = ptrdiff_t>
-// class istream_iterator
-// : public iterator<input_iterator_tag, T, Distance, const T*, const T&>
-// {
-// public:
-// typedef charT char_type;
-// typedef traits traits_type;
-// typedef basic_istream<charT,traits> istream_type;
-// ...
-
-#include <iterator>
-#include <type_traits>
-
-int main()
-{
- typedef std::istream_iterator<double> I1;
- static_assert((std::is_convertible<I1,
- std::iterator<std::input_iterator_tag, double, std::ptrdiff_t,
- const double*, const double&> >::value), "");
- static_assert((std::is_same<I1::char_type, char>::value), "");
- static_assert((std::is_same<I1::traits_type, std::char_traits<char> >::value), "");
- static_assert((std::is_same<I1::istream_type, std::istream>::value), "");
- typedef std::istream_iterator<unsigned, wchar_t> I2;
- static_assert((std::is_convertible<I2,
- std::iterator<std::input_iterator_tag, unsigned, std::ptrdiff_t,
- const unsigned*, const unsigned&> >::value), "");
- static_assert((std::is_same<I2::char_type, wchar_t>::value), "");
- static_assert((std::is_same<I2::traits_type, std::char_traits<wchar_t> >::value), "");
- static_assert((std::is_same<I2::istream_type, std::wistream>::value), "");
-}
diff --git a/libcxx/test/iterators/stream.iterators/istreambuf.iterator/istreambuf.iterator.cons/default.pass.cpp b/libcxx/test/iterators/stream.iterators/istreambuf.iterator/istreambuf.iterator.cons/default.pass.cpp
deleted file mode 100644
index d1eabbacef2..00000000000
--- a/libcxx/test/iterators/stream.iterators/istreambuf.iterator/istreambuf.iterator.cons/default.pass.cpp
+++ /dev/null
@@ -1,30 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// istreambuf_iterator
-
-// istreambuf_iterator() throw();
-
-#include <iterator>
-#include <sstream>
-#include <cassert>
-
-int main()
-{
- {
- std::istreambuf_iterator<char> i;
- assert(i == std::istreambuf_iterator<char>());
- }
- {
- std::istreambuf_iterator<wchar_t> i;
- assert(i == std::istreambuf_iterator<wchar_t>());
- }
-}
diff --git a/libcxx/test/iterators/stream.iterators/istreambuf.iterator/istreambuf.iterator.cons/istream.pass.cpp b/libcxx/test/iterators/stream.iterators/istreambuf.iterator/istreambuf.iterator.cons/istream.pass.cpp
deleted file mode 100644
index 69e98265e2f..00000000000
--- a/libcxx/test/iterators/stream.iterators/istreambuf.iterator/istreambuf.iterator.cons/istream.pass.cpp
+++ /dev/null
@@ -1,42 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// istreambuf_iterator
-
-// istreambuf_iterator(basic_istream<charT,traits>& s) throw();
-
-#include <iterator>
-#include <sstream>
-#include <cassert>
-
-int main()
-{
- {
- std::istringstream inf;
- std::istreambuf_iterator<char> i(inf);
- assert(i == std::istreambuf_iterator<char>());
- }
- {
- std::istringstream inf("a");
- std::istreambuf_iterator<char> i(inf);
- assert(i != std::istreambuf_iterator<char>());
- }
- {
- std::wistringstream inf;
- std::istreambuf_iterator<wchar_t> i(inf);
- assert(i == std::istreambuf_iterator<wchar_t>());
- }
- {
- std::wistringstream inf(L"a");
- std::istreambuf_iterator<wchar_t> i(inf);
- assert(i != std::istreambuf_iterator<wchar_t>());
- }
-}
diff --git a/libcxx/test/iterators/stream.iterators/istreambuf.iterator/istreambuf.iterator.cons/proxy.pass.cpp b/libcxx/test/iterators/stream.iterators/istreambuf.iterator/istreambuf.iterator.cons/proxy.pass.cpp
deleted file mode 100644
index f5a5fa0c643..00000000000
--- a/libcxx/test/iterators/stream.iterators/istreambuf.iterator/istreambuf.iterator.cons/proxy.pass.cpp
+++ /dev/null
@@ -1,36 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// istreambuf_iterator
-
-// istreambuf_iterator(const proxy& p) throw();
-
-#include <iterator>
-#include <sstream>
-#include <cassert>
-
-int main()
-{
- {
- std::istringstream inf("abc");
- std::istreambuf_iterator<char> j(inf);
- std::istreambuf_iterator<char> i = j++;
- assert(i != std::istreambuf_iterator<char>());
- assert(*i == 'b');
- }
- {
- std::wistringstream inf(L"abc");
- std::istreambuf_iterator<wchar_t> j(inf);
- std::istreambuf_iterator<wchar_t> i = j++;
- assert(i != std::istreambuf_iterator<wchar_t>());
- assert(*i == L'b');
- }
-}
diff --git a/libcxx/test/iterators/stream.iterators/istreambuf.iterator/istreambuf.iterator.cons/streambuf.pass.cpp b/libcxx/test/iterators/stream.iterators/istreambuf.iterator/istreambuf.iterator.cons/streambuf.pass.cpp
deleted file mode 100644
index 020b4f24bce..00000000000
--- a/libcxx/test/iterators/stream.iterators/istreambuf.iterator/istreambuf.iterator.cons/streambuf.pass.cpp
+++ /dev/null
@@ -1,50 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// istreambuf_iterator
-
-// istreambuf_iterator(basic_streambuf<charT,traits>* s) throw();
-
-#include <iterator>
-#include <sstream>
-#include <cassert>
-
-int main()
-{
- {
- std::istreambuf_iterator<char> i(nullptr);
- assert(i == std::istreambuf_iterator<char>());
- }
- {
- std::istringstream inf;
- std::istreambuf_iterator<char> i(inf.rdbuf());
- assert(i == std::istreambuf_iterator<char>());
- }
- {
- std::istringstream inf("a");
- std::istreambuf_iterator<char> i(inf.rdbuf());
- assert(i != std::istreambuf_iterator<char>());
- }
- {
- std::istreambuf_iterator<wchar_t> i(nullptr);
- assert(i == std::istreambuf_iterator<wchar_t>());
- }
- {
- std::wistringstream inf;
- std::istreambuf_iterator<wchar_t> i(inf.rdbuf());
- assert(i == std::istreambuf_iterator<wchar_t>());
- }
- {
- std::wistringstream inf(L"a");
- std::istreambuf_iterator<wchar_t> i(inf.rdbuf());
- assert(i != std::istreambuf_iterator<wchar_t>());
- }
-}
diff --git a/libcxx/test/iterators/stream.iterators/istreambuf.iterator/istreambuf.iterator_equal/equal.pass.cpp b/libcxx/test/iterators/stream.iterators/istreambuf.iterator/istreambuf.iterator_equal/equal.pass.cpp
deleted file mode 100644
index 2005d303fb3..00000000000
--- a/libcxx/test/iterators/stream.iterators/istreambuf.iterator/istreambuf.iterator_equal/equal.pass.cpp
+++ /dev/null
@@ -1,78 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// istreambuf_iterator
-
-// bool equal(istreambuf_iterator<charT,traits>& b) const;
-
-#include <iterator>
-#include <sstream>
-#include <cassert>
-
-int main()
-{
- {
- std::istringstream inf1("abc");
- std::istringstream inf2("def");
- std::istreambuf_iterator<char> i1(inf1);
- std::istreambuf_iterator<char> i2(inf2);
- std::istreambuf_iterator<char> i3;
- std::istreambuf_iterator<char> i4;
-
- assert( i1.equal(i1));
- assert( i1.equal(i2));
- assert(!i1.equal(i3));
- assert(!i1.equal(i4));
-
- assert( i2.equal(i1));
- assert( i2.equal(i2));
- assert(!i2.equal(i3));
- assert(!i2.equal(i4));
-
- assert(!i3.equal(i1));
- assert(!i3.equal(i2));
- assert( i3.equal(i3));
- assert( i3.equal(i4));
-
- assert(!i4.equal(i1));
- assert(!i4.equal(i2));
- assert( i4.equal(i3));
- assert( i4.equal(i4));
- }
- {
- std::wistringstream inf1(L"abc");
- std::wistringstream inf2(L"def");
- std::istreambuf_iterator<wchar_t> i1(inf1);
- std::istreambuf_iterator<wchar_t> i2(inf2);
- std::istreambuf_iterator<wchar_t> i3;
- std::istreambuf_iterator<wchar_t> i4;
-
- assert( i1.equal(i1));
- assert( i1.equal(i2));
- assert(!i1.equal(i3));
- assert(!i1.equal(i4));
-
- assert( i2.equal(i1));
- assert( i2.equal(i2));
- assert(!i2.equal(i3));
- assert(!i2.equal(i4));
-
- assert(!i3.equal(i1));
- assert(!i3.equal(i2));
- assert( i3.equal(i3));
- assert( i3.equal(i4));
-
- assert(!i4.equal(i1));
- assert(!i4.equal(i2));
- assert( i4.equal(i3));
- assert( i4.equal(i4));
- }
-}
diff --git a/libcxx/test/iterators/stream.iterators/istreambuf.iterator/istreambuf.iterator_op!=/not_equal.pass.cpp b/libcxx/test/iterators/stream.iterators/istreambuf.iterator/istreambuf.iterator_op!=/not_equal.pass.cpp
deleted file mode 100644
index 5e8536423d8..00000000000
--- a/libcxx/test/iterators/stream.iterators/istreambuf.iterator/istreambuf.iterator_op!=/not_equal.pass.cpp
+++ /dev/null
@@ -1,80 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// istreambuf_iterator
-
-// template <class charT, class traits>
-// bool operator!=(const istreambuf_iterator<charT,traits>& a,
-// const istreambuf_iterator<charT,traits>& b);
-
-#include <iterator>
-#include <sstream>
-#include <cassert>
-
-int main()
-{
- {
- std::istringstream inf1("abc");
- std::istringstream inf2("def");
- std::istreambuf_iterator<char> i1(inf1);
- std::istreambuf_iterator<char> i2(inf2);
- std::istreambuf_iterator<char> i3;
- std::istreambuf_iterator<char> i4;
-
- assert(!(i1 != i1));
- assert(!(i1 != i2));
- assert( (i1 != i3));
- assert( (i1 != i4));
-
- assert(!(i2 != i1));
- assert(!(i2 != i2));
- assert( (i2 != i3));
- assert( (i2 != i4));
-
- assert( (i3 != i1));
- assert( (i3 != i2));
- assert(!(i3 != i3));
- assert(!(i3 != i4));
-
- assert( (i4 != i1));
- assert( (i4 != i2));
- assert(!(i4 != i3));
- assert(!(i4 != i4));
- }
- {
- std::wistringstream inf1(L"abc");
- std::wistringstream inf2(L"def");
- std::istreambuf_iterator<wchar_t> i1(inf1);
- std::istreambuf_iterator<wchar_t> i2(inf2);
- std::istreambuf_iterator<wchar_t> i3;
- std::istreambuf_iterator<wchar_t> i4;
-
- assert(!(i1 != i1));
- assert(!(i1 != i2));
- assert( (i1 != i3));
- assert( (i1 != i4));
-
- assert(!(i2 != i1));
- assert(!(i2 != i2));
- assert( (i2 != i3));
- assert( (i2 != i4));
-
- assert( (i3 != i1));
- assert( (i3 != i2));
- assert(!(i3 != i3));
- assert(!(i3 != i4));
-
- assert( (i4 != i1));
- assert( (i4 != i2));
- assert(!(i4 != i3));
- assert(!(i4 != i4));
- }
-}
diff --git a/libcxx/test/iterators/stream.iterators/istreambuf.iterator/istreambuf.iterator_op++/dereference.pass.cpp b/libcxx/test/iterators/stream.iterators/istreambuf.iterator/istreambuf.iterator_op++/dereference.pass.cpp
deleted file mode 100644
index 19fb02fc46c..00000000000
--- a/libcxx/test/iterators/stream.iterators/istreambuf.iterator/istreambuf.iterator_op++/dereference.pass.cpp
+++ /dev/null
@@ -1,40 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// istreambuf_iterator
-
-// charT operator*() const
-
-#include <iterator>
-#include <sstream>
-#include <cassert>
-
-int main()
-{
- {
- std::istringstream inf("abc");
- std::istreambuf_iterator<char> i(inf);
- assert(*i == 'a');
- ++i;
- assert(*i == 'b');
- ++i;
- assert(*i == 'c');
- }
- {
- std::wistringstream inf(L"abc");
- std::istreambuf_iterator<wchar_t> i(inf);
- assert(*i == L'a');
- ++i;
- assert(*i == L'b');
- ++i;
- assert(*i == L'c');
- }
-}
diff --git a/libcxx/test/iterators/stream.iterators/istreambuf.iterator/istreambuf.iterator_op==/equal.pass.cpp b/libcxx/test/iterators/stream.iterators/istreambuf.iterator/istreambuf.iterator_op==/equal.pass.cpp
deleted file mode 100644
index 919576920ef..00000000000
--- a/libcxx/test/iterators/stream.iterators/istreambuf.iterator/istreambuf.iterator_op==/equal.pass.cpp
+++ /dev/null
@@ -1,80 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// istreambuf_iterator
-
-// template <class charT, class traits>
-// bool operator==(const istreambuf_iterator<charT,traits>& a,
-// const istreambuf_iterator<charT,traits>& b);
-
-#include <iterator>
-#include <sstream>
-#include <cassert>
-
-int main()
-{
- {
- std::istringstream inf1("abc");
- std::istringstream inf2("def");
- std::istreambuf_iterator<char> i1(inf1);
- std::istreambuf_iterator<char> i2(inf2);
- std::istreambuf_iterator<char> i3;
- std::istreambuf_iterator<char> i4;
-
- assert( (i1 == i1));
- assert( (i1 == i2));
- assert(!(i1 == i3));
- assert(!(i1 == i4));
-
- assert( (i2 == i1));
- assert( (i2 == i2));
- assert(!(i2 == i3));
- assert(!(i2 == i4));
-
- assert(!(i3 == i1));
- assert(!(i3 == i2));
- assert( (i3 == i3));
- assert( (i3 == i4));
-
- assert(!(i4 == i1));
- assert(!(i4 == i2));
- assert( (i4 == i3));
- assert( (i4 == i4));
- }
- {
- std::wistringstream inf1(L"abc");
- std::wistringstream inf2(L"def");
- std::istreambuf_iterator<wchar_t> i1(inf1);
- std::istreambuf_iterator<wchar_t> i2(inf2);
- std::istreambuf_iterator<wchar_t> i3;
- std::istreambuf_iterator<wchar_t> i4;
-
- assert( (i1 == i1));
- assert( (i1 == i2));
- assert(!(i1 == i3));
- assert(!(i1 == i4));
-
- assert( (i2 == i1));
- assert( (i2 == i2));
- assert(!(i2 == i3));
- assert(!(i2 == i4));
-
- assert(!(i3 == i1));
- assert(!(i3 == i2));
- assert( (i3 == i3));
- assert( (i3 == i4));
-
- assert(!(i4 == i1));
- assert(!(i4 == i2));
- assert( (i4 == i3));
- assert( (i4 == i4));
- }
-}
diff --git a/libcxx/test/iterators/stream.iterators/istreambuf.iterator/istreambuf.iterator_op_astrk/arrow.pass.cpp b/libcxx/test/iterators/stream.iterators/istreambuf.iterator/istreambuf.iterator_op_astrk/arrow.pass.cpp
deleted file mode 100644
index e3bf5e2bd84..00000000000
--- a/libcxx/test/iterators/stream.iterators/istreambuf.iterator/istreambuf.iterator_op_astrk/arrow.pass.cpp
+++ /dev/null
@@ -1,28 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// istreambuf_iterator
-
-// pointer operator->() const;
-
-#include <iostream>
-#include <sstream>
-#include <streambuf>
-
-typedef char C;
-int main ()
-{
- std::istringstream s("filename");
- std::istreambuf_iterator<char> i(s);
-
- (*i).~C(); // This is well-formed...
- i->~C(); // ... so this should be supported!
-}
diff --git a/libcxx/test/iterators/stream.iterators/istreambuf.iterator/istreambuf.iterator_op_astrk/post_increment.pass.cpp b/libcxx/test/iterators/stream.iterators/istreambuf.iterator/istreambuf.iterator_op_astrk/post_increment.pass.cpp
deleted file mode 100644
index 2e4f52ce71b..00000000000
--- a/libcxx/test/iterators/stream.iterators/istreambuf.iterator/istreambuf.iterator_op_astrk/post_increment.pass.cpp
+++ /dev/null
@@ -1,38 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// istreambuf_iterator
-
-// proxy istreambuf_iterator<charT,traits>::operator++(int);
-
-#include <iterator>
-#include <sstream>
-#include <cassert>
-
-int main()
-{
- {
- std::istringstream inf("abc");
- std::istreambuf_iterator<char> i(inf);
- assert(*i++ == 'a');
- assert(*i++ == 'b');
- assert(*i++ == 'c');
- assert(i == std::istreambuf_iterator<char>());
- }
- {
- std::wistringstream inf(L"abc");
- std::istreambuf_iterator<wchar_t> i(inf);
- assert(*i++ == L'a');
- assert(*i++ == L'b');
- assert(*i++ == L'c');
- assert(i == std::istreambuf_iterator<wchar_t>());
- }
-}
diff --git a/libcxx/test/iterators/stream.iterators/istreambuf.iterator/istreambuf.iterator_op_astrk/pre_increment.pass.cpp b/libcxx/test/iterators/stream.iterators/istreambuf.iterator/istreambuf.iterator_op_astrk/pre_increment.pass.cpp
deleted file mode 100644
index cb7960a0e4e..00000000000
--- a/libcxx/test/iterators/stream.iterators/istreambuf.iterator/istreambuf.iterator_op_astrk/pre_increment.pass.cpp
+++ /dev/null
@@ -1,39 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// istreambuf_iterator
-
-// istreambuf_iterator<charT,traits>&
-// istreambuf_iterator<charT,traits>::operator++();
-
-#include <iterator>
-#include <sstream>
-#include <cassert>
-
-int main()
-{
- {
- std::istringstream inf("abc");
- std::istreambuf_iterator<char> i(inf);
- assert(*i == 'a');
- assert(*++i == 'b');
- assert(*++i == 'c');
- assert(++i == std::istreambuf_iterator<char>());
- }
- {
- std::wistringstream inf(L"abc");
- std::istreambuf_iterator<wchar_t> i(inf);
- assert(*i == L'a');
- assert(*++i == L'b');
- assert(*++i == L'c');
- assert(++i == std::istreambuf_iterator<wchar_t>());
- }
-}
diff --git a/libcxx/test/iterators/stream.iterators/istreambuf.iterator/istreambuf.iterator_proxy/proxy.pass.cpp b/libcxx/test/iterators/stream.iterators/istreambuf.iterator/istreambuf.iterator_proxy/proxy.pass.cpp
deleted file mode 100644
index acaf2f569b1..00000000000
--- a/libcxx/test/iterators/stream.iterators/istreambuf.iterator/istreambuf.iterator_proxy/proxy.pass.cpp
+++ /dev/null
@@ -1,44 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// template<class charT, class traits = char_traits<charT> >
-// class istreambuf_iterator
-// : public iterator<input_iterator_tag, charT,
-// typename traits::off_type, charT*,
-// charT>
-// {
-// public:
-// ...
-// proxy operator++(int);
-
-// class proxy
-// {
-// public:
-// charT operator*();
-// };
-
-#include <iterator>
-#include <sstream>
-#include <cassert>
-
-int main()
-{
- {
- std::istringstream inf("abc");
- std::istreambuf_iterator<char> i(inf);
- assert(*i++ == 'a');
- }
- {
- std::wistringstream inf(L"abc");
- std::istreambuf_iterator<wchar_t> i(inf);
- assert(*i++ == L'a');
- }
-}
diff --git a/libcxx/test/iterators/stream.iterators/istreambuf.iterator/types.pass.cpp b/libcxx/test/iterators/stream.iterators/istreambuf.iterator/types.pass.cpp
deleted file mode 100644
index 75894a82f59..00000000000
--- a/libcxx/test/iterators/stream.iterators/istreambuf.iterator/types.pass.cpp
+++ /dev/null
@@ -1,51 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// template<class charT, class traits = char_traits<charT> >
-// class istreambuf_iterator
-// : public iterator<input_iterator_tag, charT,
-// typename traits::off_type, unspecified,
-// charT>
-// {
-// public:
-// typedef charT char_type;
-// typedef traits traits_type;
-// typedef typename traits::int_type int_type;
-// typedef basic_streambuf<charT,traits> streambuf_type;
-// typedef basic_istream<charT,traits> istream_type;
-// ...
-
-#include <iterator>
-#include <string>
-#include <type_traits>
-
-int main()
-{
- typedef std::istreambuf_iterator<char> I1;
- static_assert((std::is_convertible<I1,
- std::iterator<std::input_iterator_tag, char, std::char_traits<char>::off_type,
- char*, char> >::value), "");
- static_assert((std::is_same<I1::char_type, char>::value), "");
- static_assert((std::is_same<I1::traits_type, std::char_traits<char> >::value), "");
- static_assert((std::is_same<I1::int_type, I1::traits_type::int_type>::value), "");
- static_assert((std::is_same<I1::streambuf_type, std::streambuf>::value), "");
- static_assert((std::is_same<I1::istream_type, std::istream>::value), "");
-
- typedef std::istreambuf_iterator<wchar_t> I2;
- static_assert((std::is_convertible<I2,
- std::iterator<std::input_iterator_tag, wchar_t, std::char_traits<wchar_t>::off_type,
- wchar_t*, wchar_t> >::value), "");
- static_assert((std::is_same<I2::char_type, wchar_t>::value), "");
- static_assert((std::is_same<I2::traits_type, std::char_traits<wchar_t> >::value), "");
- static_assert((std::is_same<I2::int_type, I2::traits_type::int_type>::value), "");
- static_assert((std::is_same<I2::streambuf_type, std::wstreambuf>::value), "");
- static_assert((std::is_same<I2::istream_type, std::wistream>::value), "");
-}
diff --git a/libcxx/test/iterators/stream.iterators/iterator.range/begin_array.pass.cpp b/libcxx/test/iterators/stream.iterators/iterator.range/begin_array.pass.cpp
deleted file mode 100644
index 42c8c3dd93d..00000000000
--- a/libcxx/test/iterators/stream.iterators/iterator.range/begin_array.pass.cpp
+++ /dev/null
@@ -1,24 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// template <class T, size_t N> T* begin(T (&array)[N]);
-
-#include <iterator>
-#include <cassert>
-
-int main()
-{
- int ia[] = {1, 2, 3};
- int* i = std::begin(ia);
- assert(*i == 1);
- *i = 2;
- assert(ia[0] == 2);
-}
diff --git a/libcxx/test/iterators/stream.iterators/iterator.range/begin_const.pass.cpp b/libcxx/test/iterators/stream.iterators/iterator.range/begin_const.pass.cpp
deleted file mode 100644
index 7dca8b071e1..00000000000
--- a/libcxx/test/iterators/stream.iterators/iterator.range/begin_const.pass.cpp
+++ /dev/null
@@ -1,23 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// template <class C> auto begin(const C& c) -> decltype(c.begin());
-
-#include <vector>
-#include <cassert>
-
-int main()
-{
- int ia[] = {1, 2, 3};
- const std::vector<int> v(ia, ia + sizeof(ia)/sizeof(ia[0]));
- std::vector<int>::const_iterator i = begin(v);
- assert(*i == 1);
-}
diff --git a/libcxx/test/iterators/stream.iterators/iterator.range/begin_non_const.pass.cpp b/libcxx/test/iterators/stream.iterators/iterator.range/begin_non_const.pass.cpp
deleted file mode 100644
index de4c8b0f247..00000000000
--- a/libcxx/test/iterators/stream.iterators/iterator.range/begin_non_const.pass.cpp
+++ /dev/null
@@ -1,25 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// template <class C> auto begin(C& c) -> decltype(c.begin());
-
-#include <vector>
-#include <cassert>
-
-int main()
-{
- int ia[] = {1, 2, 3};
- std::vector<int> v(ia, ia + sizeof(ia)/sizeof(ia[0]));
- std::vector<int>::iterator i = begin(v);
- assert(*i == 1);
- *i = 2;
- assert(*i == 2);
-}
diff --git a/libcxx/test/iterators/stream.iterators/iterator.range/end_array.pass.cpp b/libcxx/test/iterators/stream.iterators/iterator.range/end_array.pass.cpp
deleted file mode 100644
index 628e5e901e6..00000000000
--- a/libcxx/test/iterators/stream.iterators/iterator.range/end_array.pass.cpp
+++ /dev/null
@@ -1,24 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// template <class T, size_t N> T* end(T (&array)[N]);
-
-#include <iterator>
-#include <cassert>
-
-int main()
-{
- int ia[] = {1, 2, 3};
- int* i = std::begin(ia);
- int* e = std::end(ia);
- assert(e == ia + 3);
- assert(e - i == 3);
-}
diff --git a/libcxx/test/iterators/stream.iterators/iterator.range/end_const.pass.cpp b/libcxx/test/iterators/stream.iterators/iterator.range/end_const.pass.cpp
deleted file mode 100644
index 7fa26171f10..00000000000
--- a/libcxx/test/iterators/stream.iterators/iterator.range/end_const.pass.cpp
+++ /dev/null
@@ -1,23 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// template <class C> auto end(const C& c) -> decltype(c.end());
-
-#include <vector>
-#include <cassert>
-
-int main()
-{
- int ia[] = {1, 2, 3};
- const std::vector<int> v(ia, ia + sizeof(ia)/sizeof(ia[0]));
- std::vector<int>::const_iterator i = end(v);
- assert(i == v.cend());
-}
diff --git a/libcxx/test/iterators/stream.iterators/iterator.range/end_non_const.pass.cpp b/libcxx/test/iterators/stream.iterators/iterator.range/end_non_const.pass.cpp
deleted file mode 100644
index 8c75433638f..00000000000
--- a/libcxx/test/iterators/stream.iterators/iterator.range/end_non_const.pass.cpp
+++ /dev/null
@@ -1,23 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// template <class C> auto end(C& c) -> decltype(c.end());
-
-#include <vector>
-#include <cassert>
-
-int main()
-{
- int ia[] = {1, 2, 3};
- std::vector<int> v(ia, ia + sizeof(ia)/sizeof(ia[0]));
- std::vector<int>::iterator i = end(v);
- assert(i == v.end());
-}
diff --git a/libcxx/test/iterators/stream.iterators/nothing_to_do.pass.cpp b/libcxx/test/iterators/stream.iterators/nothing_to_do.pass.cpp
deleted file mode 100644
index b58f5c55b64..00000000000
--- a/libcxx/test/iterators/stream.iterators/nothing_to_do.pass.cpp
+++ /dev/null
@@ -1,12 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-int main()
-{
-}
diff --git a/libcxx/test/iterators/stream.iterators/ostream.iterator/ostream.iterator.cons.des/copy.pass.cpp b/libcxx/test/iterators/stream.iterators/ostream.iterator/ostream.iterator.cons.des/copy.pass.cpp
deleted file mode 100644
index 88624581df9..00000000000
--- a/libcxx/test/iterators/stream.iterators/ostream.iterator/ostream.iterator.cons.des/copy.pass.cpp
+++ /dev/null
@@ -1,26 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// class ostream_iterator
-
-// ostream_iterator(const ostream_iterator& x);
-
-#include <iterator>
-#include <sstream>
-#include <cassert>
-
-int main()
-{
- std::ostringstream outf;
- std::ostream_iterator<int> i(outf);
- std::ostream_iterator<int> j = i;
- assert(outf.good());
-}
diff --git a/libcxx/test/iterators/stream.iterators/ostream.iterator/ostream.iterator.cons.des/ostream.pass.cpp b/libcxx/test/iterators/stream.iterators/ostream.iterator/ostream.iterator.cons.des/ostream.pass.cpp
deleted file mode 100644
index 321cfbdb82c..00000000000
--- a/libcxx/test/iterators/stream.iterators/ostream.iterator/ostream.iterator.cons.des/ostream.pass.cpp
+++ /dev/null
@@ -1,25 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// class ostream_iterator
-
-// ostream_iterator(ostream_type& s);
-
-#include <iterator>
-#include <sstream>
-#include <cassert>
-
-int main()
-{
- std::ostringstream outf;
- std::ostream_iterator<int> i(outf);
- assert(outf.good());
-}
diff --git a/libcxx/test/iterators/stream.iterators/ostream.iterator/ostream.iterator.cons.des/ostream_delem.pass.cpp b/libcxx/test/iterators/stream.iterators/ostream.iterator/ostream.iterator.cons.des/ostream_delem.pass.cpp
deleted file mode 100644
index 8e5c771a4ab..00000000000
--- a/libcxx/test/iterators/stream.iterators/ostream.iterator/ostream.iterator.cons.des/ostream_delem.pass.cpp
+++ /dev/null
@@ -1,32 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// class ostream_iterator
-
-// ostream_iterator(ostream_type& s, const charT* delimiter);
-
-#include <iterator>
-#include <sstream>
-#include <cassert>
-
-int main()
-{
- {
- std::ostringstream outf;
- std::ostream_iterator<int> i(outf, ", ");
- assert(outf.good());
- }
- {
- std::wostringstream outf;
- std::ostream_iterator<double, wchar_t> i(outf, L", ");
- assert(outf.good());
- }
-}
diff --git a/libcxx/test/iterators/stream.iterators/ostream.iterator/ostream.iterator.ops/assign_t.pass.cpp b/libcxx/test/iterators/stream.iterators/ostream.iterator/ostream.iterator.ops/assign_t.pass.cpp
deleted file mode 100644
index 02ef571a06f..00000000000
--- a/libcxx/test/iterators/stream.iterators/ostream.iterator/ostream.iterator.ops/assign_t.pass.cpp
+++ /dev/null
@@ -1,46 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// class ostream_iterator
-
-// ostream_iterator& operator=(const T& value);
-
-#include <iterator>
-#include <sstream>
-#include <cassert>
-
-int main()
-{
- {
- std::ostringstream outf;
- std::ostream_iterator<int> i(outf);
- i = 2.4;
- assert(outf.str() == "2");
- }
- {
- std::ostringstream outf;
- std::ostream_iterator<int> i(outf, ", ");
- i = 2.4;
- assert(outf.str() == "2, ");
- }
- {
- std::wostringstream outf;
- std::ostream_iterator<int, wchar_t> i(outf);
- i = 2.4;
- assert(outf.str() == L"2");
- }
- {
- std::wostringstream outf;
- std::ostream_iterator<int, wchar_t> i(outf, L", ");
- i = 2.4;
- assert(outf.str() == L"2, ");
- }
-}
diff --git a/libcxx/test/iterators/stream.iterators/ostream.iterator/ostream.iterator.ops/dereference.pass.cpp b/libcxx/test/iterators/stream.iterators/ostream.iterator/ostream.iterator.ops/dereference.pass.cpp
deleted file mode 100644
index 322107528f4..00000000000
--- a/libcxx/test/iterators/stream.iterators/ostream.iterator/ostream.iterator.ops/dereference.pass.cpp
+++ /dev/null
@@ -1,26 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// class ostream_iterator
-
-// ostream_iterator& operator*() const;
-
-#include <iterator>
-#include <sstream>
-#include <cassert>
-
-int main()
-{
- std::ostringstream os;
- std::ostream_iterator<int> i(os);
- std::ostream_iterator<int>& iref = *i;
- assert(&iref == &i);
-}
diff --git a/libcxx/test/iterators/stream.iterators/ostream.iterator/ostream.iterator.ops/increment.pass.cpp b/libcxx/test/iterators/stream.iterators/ostream.iterator/ostream.iterator.ops/increment.pass.cpp
deleted file mode 100644
index 00b63e8da9b..00000000000
--- a/libcxx/test/iterators/stream.iterators/ostream.iterator/ostream.iterator.ops/increment.pass.cpp
+++ /dev/null
@@ -1,29 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// class ostream_iterator
-
-// ostream_iterator& operator++();
-// ostream_iterator& operator++(int);
-
-#include <iterator>
-#include <sstream>
-#include <cassert>
-
-int main()
-{
- std::ostringstream os;
- std::ostream_iterator<int> i(os);
- std::ostream_iterator<int>& iref1 = ++i;
- assert(&iref1 == &i);
- std::ostream_iterator<int>& iref2 = i++;
- assert(&iref2 == &i);
-}
diff --git a/libcxx/test/iterators/stream.iterators/ostream.iterator/types.pass.cpp b/libcxx/test/iterators/stream.iterators/ostream.iterator/types.pass.cpp
deleted file mode 100644
index 460da642bc6..00000000000
--- a/libcxx/test/iterators/stream.iterators/ostream.iterator/types.pass.cpp
+++ /dev/null
@@ -1,40 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// template <class T, class charT = char, class traits = char_traits<charT>,
-// class Distance = ptrdiff_t>
-// class ostream_iterator
-// : public iterator<output_iterator_tag, void, void, void, void>
-// {
-// public:
-// typedef charT char_type;
-// typedef traits traits_type;
-// typedef basic_istream<charT,traits> istream_type;
-// ...
-
-#include <iterator>
-#include <type_traits>
-
-int main()
-{
- typedef std::ostream_iterator<double> I1;
- static_assert((std::is_convertible<I1,
- std::iterator<std::output_iterator_tag, void, void, void, void> >::value), "");
- static_assert((std::is_same<I1::char_type, char>::value), "");
- static_assert((std::is_same<I1::traits_type, std::char_traits<char> >::value), "");
- static_assert((std::is_same<I1::ostream_type, std::ostream>::value), "");
- typedef std::ostream_iterator<unsigned, wchar_t> I2;
- static_assert((std::is_convertible<I2,
- std::iterator<std::output_iterator_tag, void, void, void, void> >::value), "");
- static_assert((std::is_same<I2::char_type, wchar_t>::value), "");
- static_assert((std::is_same<I2::traits_type, std::char_traits<wchar_t> >::value), "");
- static_assert((std::is_same<I2::ostream_type, std::wostream>::value), "");
-}
diff --git a/libcxx/test/iterators/stream.iterators/ostreambuf.iterator/ostreambuf.iter.cons/ostream.pass.cpp b/libcxx/test/iterators/stream.iterators/ostreambuf.iterator/ostreambuf.iter.cons/ostream.pass.cpp
deleted file mode 100644
index c46cf482229..00000000000
--- a/libcxx/test/iterators/stream.iterators/ostreambuf.iterator/ostreambuf.iter.cons/ostream.pass.cpp
+++ /dev/null
@@ -1,32 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// class ostreambuf_iterator
-
-// ostreambuf_iterator(ostream_type& s) throw();
-
-#include <iterator>
-#include <sstream>
-#include <cassert>
-
-int main()
-{
- {
- std::ostringstream outf;
- std::ostreambuf_iterator<char> i(outf);
- assert(!i.failed());
- }
- {
- std::wostringstream outf;
- std::ostreambuf_iterator<wchar_t> i(outf);
- assert(!i.failed());
- }
-}
diff --git a/libcxx/test/iterators/stream.iterators/ostreambuf.iterator/ostreambuf.iter.cons/streambuf.pass.cpp b/libcxx/test/iterators/stream.iterators/ostreambuf.iterator/ostreambuf.iter.cons/streambuf.pass.cpp
deleted file mode 100644
index 1576b7d481a..00000000000
--- a/libcxx/test/iterators/stream.iterators/ostreambuf.iterator/ostreambuf.iter.cons/streambuf.pass.cpp
+++ /dev/null
@@ -1,32 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// class ostreambuf_iterator
-
-// ostreambuf_iterator(streambuf_type* s) throw();
-
-#include <iterator>
-#include <sstream>
-#include <cassert>
-
-int main()
-{
- {
- std::ostringstream outf;
- std::ostreambuf_iterator<char> i(outf.rdbuf());
- assert(!i.failed());
- }
- {
- std::wostringstream outf;
- std::ostreambuf_iterator<wchar_t> i(outf.rdbuf());
- assert(!i.failed());
- }
-}
diff --git a/libcxx/test/iterators/stream.iterators/ostreambuf.iterator/ostreambuf.iter.ops/assign_c.pass.cpp b/libcxx/test/iterators/stream.iterators/ostreambuf.iterator/ostreambuf.iter.ops/assign_c.pass.cpp
deleted file mode 100644
index 91d7b692791..00000000000
--- a/libcxx/test/iterators/stream.iterators/ostreambuf.iterator/ostreambuf.iter.ops/assign_c.pass.cpp
+++ /dev/null
@@ -1,39 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// class ostreambuf_iterator
-
-// ostreambuf_iterator<charT,traits>&
-// operator=(charT c);
-
-#include <iterator>
-#include <sstream>
-#include <cassert>
-
-int main()
-{
- {
- std::ostringstream outf;
- std::ostreambuf_iterator<char> i(outf);
- i = 'a';
- assert(outf.str() == "a");
- i = 'b';
- assert(outf.str() == "ab");
- }
- {
- std::wostringstream outf;
- std::ostreambuf_iterator<wchar_t> i(outf);
- i = L'a';
- assert(outf.str() == L"a");
- i = L'b';
- assert(outf.str() == L"ab");
- }
-}
diff --git a/libcxx/test/iterators/stream.iterators/ostreambuf.iterator/ostreambuf.iter.ops/deref.pass.cpp b/libcxx/test/iterators/stream.iterators/ostreambuf.iterator/ostreambuf.iter.ops/deref.pass.cpp
deleted file mode 100644
index d0861641025..00000000000
--- a/libcxx/test/iterators/stream.iterators/ostreambuf.iterator/ostreambuf.iter.ops/deref.pass.cpp
+++ /dev/null
@@ -1,34 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// class ostreambuf_iterator
-
-// ostreambuf_iterator<charT,traits>& operator*();
-
-#include <iterator>
-#include <sstream>
-#include <cassert>
-
-int main()
-{
- {
- std::ostringstream outf;
- std::ostreambuf_iterator<char> i(outf);
- std::ostreambuf_iterator<char>& iref = *i;
- assert(&iref == &i);
- }
- {
- std::wostringstream outf;
- std::ostreambuf_iterator<wchar_t> i(outf);
- std::ostreambuf_iterator<wchar_t>& iref = *i;
- assert(&iref == &i);
- }
-}
diff --git a/libcxx/test/iterators/stream.iterators/ostreambuf.iterator/ostreambuf.iter.ops/failed.pass.cpp b/libcxx/test/iterators/stream.iterators/ostreambuf.iterator/ostreambuf.iter.ops/failed.pass.cpp
deleted file mode 100644
index 9d93bad370d..00000000000
--- a/libcxx/test/iterators/stream.iterators/ostreambuf.iterator/ostreambuf.iter.ops/failed.pass.cpp
+++ /dev/null
@@ -1,30 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// class ostreambuf_iterator
-
-// bool failed() const throw();
-
-#include <iterator>
-#include <sstream>
-#include <cassert>
-
-int main()
-{
- {
- std::ostreambuf_iterator<char> i(nullptr);
- assert(i.failed());
- }
- {
- std::ostreambuf_iterator<wchar_t> i(nullptr);
- assert(i.failed());
- }
-}
diff --git a/libcxx/test/iterators/stream.iterators/ostreambuf.iterator/ostreambuf.iter.ops/increment.pass.cpp b/libcxx/test/iterators/stream.iterators/ostreambuf.iterator/ostreambuf.iter.ops/increment.pass.cpp
deleted file mode 100644
index 7461ce16347..00000000000
--- a/libcxx/test/iterators/stream.iterators/ostreambuf.iterator/ostreambuf.iter.ops/increment.pass.cpp
+++ /dev/null
@@ -1,39 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// class ostreambuf_iterator
-
-// ostreambuf_iterator<charT,traits>& operator++();
-// ostreambuf_iterator<charT,traits>& operator++(int);
-
-#include <iterator>
-#include <sstream>
-#include <cassert>
-
-int main()
-{
- {
- std::ostringstream outf;
- std::ostreambuf_iterator<char> i(outf);
- std::ostreambuf_iterator<char>& iref = ++i;
- assert(&iref == &i);
- std::ostreambuf_iterator<char>& iref2 = i++;
- assert(&iref2 == &i);
- }
- {
- std::wostringstream outf;
- std::ostreambuf_iterator<wchar_t> i(outf);
- std::ostreambuf_iterator<wchar_t>& iref = ++i;
- assert(&iref == &i);
- std::ostreambuf_iterator<wchar_t>& iref2 = i++;
- assert(&iref2 == &i);
- }
-}
diff --git a/libcxx/test/iterators/stream.iterators/ostreambuf.iterator/types.pass.cpp b/libcxx/test/iterators/stream.iterators/ostreambuf.iterator/types.pass.cpp
deleted file mode 100644
index a699b241983..00000000000
--- a/libcxx/test/iterators/stream.iterators/ostreambuf.iterator/types.pass.cpp
+++ /dev/null
@@ -1,44 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-// template <class charT, class traits = char_traits<charT> >
-// class ostreambuf_iterator
-// : public iterator<output_iterator_tag, void, void, void, void>
-// {
-// public:
-// typedef charT char_type;
-// typedef traits traits_type;
-// typedef basic_streambuf<charT, traits> streambuf_type;
-// typedef basic_ostream<charT, traits> ostream_type;
-// ...
-
-#include <iterator>
-#include <string>
-#include <type_traits>
-
-int main()
-{
- typedef std::ostreambuf_iterator<char> I1;
- static_assert((std::is_convertible<I1,
- std::iterator<std::output_iterator_tag, void, void, void, void> >::value), "");
- static_assert((std::is_same<I1::char_type, char>::value), "");
- static_assert((std::is_same<I1::traits_type, std::char_traits<char> >::value), "");
- static_assert((std::is_same<I1::streambuf_type, std::streambuf>::value), "");
- static_assert((std::is_same<I1::ostream_type, std::ostream>::value), "");
-
- typedef std::ostreambuf_iterator<wchar_t> I2;
- static_assert((std::is_convertible<I2,
- std::iterator<std::output_iterator_tag, void, void, void, void> >::value), "");
- static_assert((std::is_same<I2::char_type, wchar_t>::value), "");
- static_assert((std::is_same<I2::traits_type, std::char_traits<wchar_t> >::value), "");
- static_assert((std::is_same<I2::streambuf_type, std::wstreambuf>::value), "");
- static_assert((std::is_same<I2::ostream_type, std::wostream>::value), "");
-}
diff --git a/libcxx/test/iterators/version.pass.cpp b/libcxx/test/iterators/version.pass.cpp
deleted file mode 100644
index dd097850388..00000000000
--- a/libcxx/test/iterators/version.pass.cpp
+++ /dev/null
@@ -1,20 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is dual licensed under the MIT and the University of Illinois Open
-// Source Licenses. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-// <iterator>
-
-#include <iterator>
-
-#ifndef _LIBCPP_VERSION
-#error _LIBCPP_VERSION not defined
-#endif
-
-int main()
-{
-}
OpenPOWER on IntegriCloud