[libcxx] r224658 - Move test into test/std subdirectory.

Eric Fiselier eric at efcs.ca
Fri Dec 19 17:40:31 PST 2014


Author: ericwf
Date: Fri Dec 19 19:40:03 2014
New Revision: 224658

URL: http://llvm.org/viewvc/llvm-project?rev=224658&view=rev
Log:
Move test into test/std subdirectory.

Added:
    libcxx/trunk/test/std/
    libcxx/trunk/test/std/algorithms/
    libcxx/trunk/test/std/algorithms/alg.c.library/
    libcxx/trunk/test/std/algorithms/alg.c.library/tested_elsewhere.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.modifying.operations/
    libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.copy/
    libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.copy/copy.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.copy/copy_backward.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.copy/copy_if.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.copy/copy_n.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.fill/
    libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.fill/fill.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.fill/fill_n.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.generate/
    libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.generate/generate.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.generate/generate_n.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.move/
    libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.move/move.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.move/move_backward.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.partitions/
    libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.partitions/is_partitioned.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.partitions/partition.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.partitions/partition_copy.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.partitions/partition_point.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.partitions/stable_partition.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.random.shuffle/
    libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.random.shuffle/random_shuffle.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.random.shuffle/random_shuffle_rand.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.random.shuffle/random_shuffle_urng.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.remove/
    libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.remove/remove.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.remove/remove_copy.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.remove/remove_copy_if.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.remove/remove_if.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.replace/
    libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.replace/replace.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.replace/replace_copy.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.replace/replace_copy_if.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.replace/replace_if.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.reverse/
    libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.reverse/reverse.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.reverse/reverse_copy.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.rotate/
    libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.rotate/rotate.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.rotate/rotate_copy.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.swap/
    libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.swap/iter_swap.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.swap/swap_ranges.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.transform/
    libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.transform/binary_transform.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.transform/unary_transform.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.unique/
    libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.unique/unique.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.unique/unique_copy.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.unique/unique_copy_pred.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.unique/unique_pred.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.modifying.operations/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.nonmodifying/
    libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.adjacent.find/
    libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.adjacent.find/adjacent_find.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.adjacent.find/adjacent_find_pred.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.all_of/
    libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.all_of/all_of.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.any_of/
    libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.any_of/any_of.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.count/
    libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.count/count.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.count/count_if.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.equal/
    libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.equal/equal.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.equal/equal_pred.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.find/
    libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.find.end/
    libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.find.end/find_end.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.find.end/find_end_pred.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.find.first.of/
    libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.find.first.of/find_first_of.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.find.first.of/find_first_of_pred.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.find/find.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.find/find_if.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.find/find_if_not.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.foreach/
    libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.foreach/test.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.is_permutation/
    libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.is_permutation/is_permutation.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.is_permutation/is_permutation_pred.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.none_of/
    libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.none_of/none_of.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.search/
    libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.search/search.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.search/search_n.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.search/search_n_pred.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.search/search_pred.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.nonmodifying/mismatch/
    libcxx/trunk/test/std/algorithms/alg.nonmodifying/mismatch/mismatch.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.nonmodifying/mismatch/mismatch_pred.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.nonmodifying/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.sorting/
    libcxx/trunk/test/std/algorithms/alg.sorting/alg.binary.search/
    libcxx/trunk/test/std/algorithms/alg.sorting/alg.binary.search/binary.search/
    libcxx/trunk/test/std/algorithms/alg.sorting/alg.binary.search/binary.search/binary_search.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.sorting/alg.binary.search/binary.search/binary_search_comp.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.sorting/alg.binary.search/equal.range/
    libcxx/trunk/test/std/algorithms/alg.sorting/alg.binary.search/equal.range/equal_range.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.sorting/alg.binary.search/equal.range/equal_range_comp.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.sorting/alg.binary.search/lower.bound/
    libcxx/trunk/test/std/algorithms/alg.sorting/alg.binary.search/lower.bound/lower_bound.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.sorting/alg.binary.search/lower.bound/lower_bound_comp.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.sorting/alg.binary.search/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.sorting/alg.binary.search/upper.bound/
    libcxx/trunk/test/std/algorithms/alg.sorting/alg.binary.search/upper.bound/upper_bound.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.sorting/alg.binary.search/upper.bound/upper_bound_comp.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.sorting/alg.heap.operations/
    libcxx/trunk/test/std/algorithms/alg.sorting/alg.heap.operations/is.heap/
    libcxx/trunk/test/std/algorithms/alg.sorting/alg.heap.operations/is.heap/is_heap.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.sorting/alg.heap.operations/is.heap/is_heap_comp.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.sorting/alg.heap.operations/is.heap/is_heap_until.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.sorting/alg.heap.operations/is.heap/is_heap_until_comp.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.sorting/alg.heap.operations/make.heap/
    libcxx/trunk/test/std/algorithms/alg.sorting/alg.heap.operations/make.heap/make_heap.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.sorting/alg.heap.operations/make.heap/make_heap_comp.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.sorting/alg.heap.operations/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.sorting/alg.heap.operations/pop.heap/
    libcxx/trunk/test/std/algorithms/alg.sorting/alg.heap.operations/pop.heap/pop_heap.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.sorting/alg.heap.operations/pop.heap/pop_heap_comp.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.sorting/alg.heap.operations/push.heap/
    libcxx/trunk/test/std/algorithms/alg.sorting/alg.heap.operations/push.heap/push_heap.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.sorting/alg.heap.operations/push.heap/push_heap_comp.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.sorting/alg.heap.operations/sort.heap/
    libcxx/trunk/test/std/algorithms/alg.sorting/alg.heap.operations/sort.heap/sort_heap.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.sorting/alg.heap.operations/sort.heap/sort_heap_comp.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.sorting/alg.lex.comparison/
    libcxx/trunk/test/std/algorithms/alg.sorting/alg.lex.comparison/lexicographical_compare.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.sorting/alg.lex.comparison/lexicographical_compare_comp.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.sorting/alg.merge/
    libcxx/trunk/test/std/algorithms/alg.sorting/alg.merge/inplace_merge.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.sorting/alg.merge/inplace_merge_comp.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.sorting/alg.merge/merge.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.sorting/alg.merge/merge_comp.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.sorting/alg.min.max/
    libcxx/trunk/test/std/algorithms/alg.sorting/alg.min.max/max.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.sorting/alg.min.max/max_comp.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.sorting/alg.min.max/max_element.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.sorting/alg.min.max/max_element_comp.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.sorting/alg.min.max/max_init_list.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.sorting/alg.min.max/max_init_list_comp.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.sorting/alg.min.max/min.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.sorting/alg.min.max/min_comp.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.sorting/alg.min.max/min_element.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.sorting/alg.min.max/min_element_comp.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.sorting/alg.min.max/min_init_list.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.sorting/alg.min.max/min_init_list_comp.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.sorting/alg.min.max/minmax.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.sorting/alg.min.max/minmax_comp.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.sorting/alg.min.max/minmax_element.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.sorting/alg.min.max/minmax_element_comp.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.sorting/alg.min.max/minmax_init_list.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.sorting/alg.min.max/minmax_init_list_comp.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.sorting/alg.nth.element/
    libcxx/trunk/test/std/algorithms/alg.sorting/alg.nth.element/nth_element.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.sorting/alg.nth.element/nth_element_comp.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.sorting/alg.permutation.generators/
    libcxx/trunk/test/std/algorithms/alg.sorting/alg.permutation.generators/next_permutation.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.sorting/alg.permutation.generators/next_permutation_comp.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.sorting/alg.permutation.generators/prev_permutation.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.sorting/alg.permutation.generators/prev_permutation_comp.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.sorting/alg.set.operations/
    libcxx/trunk/test/std/algorithms/alg.sorting/alg.set.operations/includes/
    libcxx/trunk/test/std/algorithms/alg.sorting/alg.set.operations/includes/includes.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.sorting/alg.set.operations/includes/includes_comp.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.sorting/alg.set.operations/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.sorting/alg.set.operations/set.difference/
    libcxx/trunk/test/std/algorithms/alg.sorting/alg.set.operations/set.difference/set_difference.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.sorting/alg.set.operations/set.difference/set_difference_comp.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.sorting/alg.set.operations/set.intersection/
    libcxx/trunk/test/std/algorithms/alg.sorting/alg.set.operations/set.intersection/set_intersection.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.sorting/alg.set.operations/set.intersection/set_intersection_comp.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.sorting/alg.set.operations/set.symmetric.difference/
    libcxx/trunk/test/std/algorithms/alg.sorting/alg.set.operations/set.symmetric.difference/set_symmetric_difference.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.sorting/alg.set.operations/set.symmetric.difference/set_symmetric_difference_comp.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.sorting/alg.set.operations/set.union/
    libcxx/trunk/test/std/algorithms/alg.sorting/alg.set.operations/set.union/set_union.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.sorting/alg.set.operations/set.union/set_union_comp.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.sorting/alg.sort/
    libcxx/trunk/test/std/algorithms/alg.sorting/alg.sort/is.sorted/
    libcxx/trunk/test/std/algorithms/alg.sorting/alg.sort/is.sorted/is_sorted.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.sorting/alg.sort/is.sorted/is_sorted_comp.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.sorting/alg.sort/is.sorted/is_sorted_until.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.sorting/alg.sort/is.sorted/is_sorted_until_comp.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.sorting/alg.sort/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.sorting/alg.sort/partial.sort/
    libcxx/trunk/test/std/algorithms/alg.sorting/alg.sort/partial.sort.copy/
    libcxx/trunk/test/std/algorithms/alg.sorting/alg.sort/partial.sort.copy/partial_sort_copy.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.sorting/alg.sort/partial.sort.copy/partial_sort_copy_comp.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.sorting/alg.sort/partial.sort/partial_sort.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.sorting/alg.sort/partial.sort/partial_sort_comp.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.sorting/alg.sort/sort/
    libcxx/trunk/test/std/algorithms/alg.sorting/alg.sort/sort/sort.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.sorting/alg.sort/sort/sort_comp.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.sorting/alg.sort/stable.sort/
    libcxx/trunk/test/std/algorithms/alg.sorting/alg.sort/stable.sort/stable_sort.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.sorting/alg.sort/stable.sort/stable_sort_comp.pass.cpp
    libcxx/trunk/test/std/algorithms/alg.sorting/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/algorithms/algorithms.general/
    libcxx/trunk/test/std/algorithms/algorithms.general/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/algorithms/version.pass.cpp
    libcxx/trunk/test/std/atomics/
    libcxx/trunk/test/std/atomics/atomics.fences/
    libcxx/trunk/test/std/atomics/atomics.fences/atomic_signal_fence.pass.cpp
    libcxx/trunk/test/std/atomics/atomics.fences/atomic_thread_fence.pass.cpp
    libcxx/trunk/test/std/atomics/atomics.flag/
    libcxx/trunk/test/std/atomics/atomics.flag/atomic_flag_clear.pass.cpp
    libcxx/trunk/test/std/atomics/atomics.flag/atomic_flag_clear_explicit.pass.cpp
    libcxx/trunk/test/std/atomics/atomics.flag/atomic_flag_test_and_set.pass.cpp
    libcxx/trunk/test/std/atomics/atomics.flag/atomic_flag_test_and_set_explicit.pass.cpp
    libcxx/trunk/test/std/atomics/atomics.flag/clear.pass.cpp
    libcxx/trunk/test/std/atomics/atomics.flag/copy_assign.fail.cpp
    libcxx/trunk/test/std/atomics/atomics.flag/copy_ctor.fail.cpp
    libcxx/trunk/test/std/atomics/atomics.flag/copy_volatile_assign.fail.cpp
    libcxx/trunk/test/std/atomics/atomics.flag/default.pass.cpp
    libcxx/trunk/test/std/atomics/atomics.flag/init.pass.cpp
    libcxx/trunk/test/std/atomics/atomics.flag/test_and_set.pass.cpp
    libcxx/trunk/test/std/atomics/atomics.general/
    libcxx/trunk/test/std/atomics/atomics.general/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/atomics/atomics.lockfree/
    libcxx/trunk/test/std/atomics/atomics.lockfree/lockfree.pass.cpp
    libcxx/trunk/test/std/atomics/atomics.order/
    libcxx/trunk/test/std/atomics/atomics.order/kill_dependency.pass.cpp
    libcxx/trunk/test/std/atomics/atomics.order/memory_order.pass.cpp
    libcxx/trunk/test/std/atomics/atomics.syn/
    libcxx/trunk/test/std/atomics/atomics.syn/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/atomics/atomics.types.generic/
    libcxx/trunk/test/std/atomics/atomics.types.generic/address.pass.cpp
    libcxx/trunk/test/std/atomics/atomics.types.generic/bool.pass.cpp
    libcxx/trunk/test/std/atomics/atomics.types.generic/cstdint_typedefs.pass.cpp
    libcxx/trunk/test/std/atomics/atomics.types.generic/integral.pass.cpp
    libcxx/trunk/test/std/atomics/atomics.types.generic/integral_typedefs.pass.cpp
    libcxx/trunk/test/std/atomics/atomics.types.generic/trivially_copyable.fail.cpp
    libcxx/trunk/test/std/atomics/atomics.types.generic/trivially_copyable.pass.cpp
    libcxx/trunk/test/std/atomics/atomics.types.operations/
    libcxx/trunk/test/std/atomics/atomics.types.operations/atomics.types.operations.arith/
    libcxx/trunk/test/std/atomics/atomics.types.operations/atomics.types.operations.arith/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/atomics/atomics.types.operations/atomics.types.operations.general/
    libcxx/trunk/test/std/atomics/atomics.types.operations/atomics.types.operations.general/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/atomics/atomics.types.operations/atomics.types.operations.pointer/
    libcxx/trunk/test/std/atomics/atomics.types.operations/atomics.types.operations.pointer/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/atomics/atomics.types.operations/atomics.types.operations.req/
    libcxx/trunk/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_strong.pass.cpp
    libcxx/trunk/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_strong_explicit.pass.cpp
    libcxx/trunk/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_weak.pass.cpp
    libcxx/trunk/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_compare_exchange_weak_explicit.pass.cpp
    libcxx/trunk/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_exchange.pass.cpp
    libcxx/trunk/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_exchange_explicit.pass.cpp
    libcxx/trunk/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_add.pass.cpp
    libcxx/trunk/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_add_explicit.pass.cpp
    libcxx/trunk/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_and.pass.cpp
    libcxx/trunk/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_and_explicit.pass.cpp
    libcxx/trunk/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_or.pass.cpp
    libcxx/trunk/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_or_explicit.pass.cpp
    libcxx/trunk/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_sub.pass.cpp
    libcxx/trunk/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_sub_explicit.pass.cpp
    libcxx/trunk/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_xor.pass.cpp
    libcxx/trunk/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_xor_explicit.pass.cpp
    libcxx/trunk/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_init.pass.cpp
    libcxx/trunk/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_is_lock_free.pass.cpp
    libcxx/trunk/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_load.pass.cpp
    libcxx/trunk/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_load_explicit.pass.cpp
    libcxx/trunk/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_store.pass.cpp
    libcxx/trunk/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_store_explicit.pass.cpp
    libcxx/trunk/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_var_init.pass.cpp
    libcxx/trunk/test/std/atomics/atomics.types.operations/atomics.types.operations.templ/
    libcxx/trunk/test/std/atomics/atomics.types.operations/atomics.types.operations.templ/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/atomics/atomics.types.operations/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/atomics/libcpp-has-no-threads.fail.cpp
    libcxx/trunk/test/std/atomics/libcpp-has-no-threads.pass.cpp
    libcxx/trunk/test/std/atomics/version.pass.cpp
    libcxx/trunk/test/std/containers/
    libcxx/trunk/test/std/containers/Copyable.h
    libcxx/trunk/test/std/containers/Emplaceable.h
    libcxx/trunk/test/std/containers/MoveOnly.h
    libcxx/trunk/test/std/containers/NotConstructible.h
    libcxx/trunk/test/std/containers/associative/
    libcxx/trunk/test/std/containers/associative/map/
    libcxx/trunk/test/std/containers/associative/map/compare.pass.cpp
    libcxx/trunk/test/std/containers/associative/map/map.access/
    libcxx/trunk/test/std/containers/associative/map/map.access/at.pass.cpp
    libcxx/trunk/test/std/containers/associative/map/map.access/empty.pass.cpp
    libcxx/trunk/test/std/containers/associative/map/map.access/index_key.pass.cpp
    libcxx/trunk/test/std/containers/associative/map/map.access/index_rv_key.pass.cpp
    libcxx/trunk/test/std/containers/associative/map/map.access/index_tuple.pass.cpp
    libcxx/trunk/test/std/containers/associative/map/map.access/iterator.pass.cpp
    libcxx/trunk/test/std/containers/associative/map/map.access/max_size.pass.cpp
    libcxx/trunk/test/std/containers/associative/map/map.access/size.pass.cpp
    libcxx/trunk/test/std/containers/associative/map/map.cons/
    libcxx/trunk/test/std/containers/associative/map/map.cons/alloc.pass.cpp
    libcxx/trunk/test/std/containers/associative/map/map.cons/assign_initializer_list.pass.cpp
    libcxx/trunk/test/std/containers/associative/map/map.cons/compare.pass.cpp
    libcxx/trunk/test/std/containers/associative/map/map.cons/compare_alloc.pass.cpp
    libcxx/trunk/test/std/containers/associative/map/map.cons/copy.pass.cpp
    libcxx/trunk/test/std/containers/associative/map/map.cons/copy_alloc.pass.cpp
    libcxx/trunk/test/std/containers/associative/map/map.cons/copy_assign.pass.cpp
    libcxx/trunk/test/std/containers/associative/map/map.cons/default.pass.cpp
    libcxx/trunk/test/std/containers/associative/map/map.cons/default_noexcept.pass.cpp
    libcxx/trunk/test/std/containers/associative/map/map.cons/default_recursive.pass.cpp
    libcxx/trunk/test/std/containers/associative/map/map.cons/dtor_noexcept.pass.cpp
    libcxx/trunk/test/std/containers/associative/map/map.cons/initializer_list.pass.cpp
    libcxx/trunk/test/std/containers/associative/map/map.cons/initializer_list_compare.pass.cpp
    libcxx/trunk/test/std/containers/associative/map/map.cons/initializer_list_compare_alloc.pass.cpp
    libcxx/trunk/test/std/containers/associative/map/map.cons/iter_iter.pass.cpp
    libcxx/trunk/test/std/containers/associative/map/map.cons/iter_iter_comp.pass.cpp
    libcxx/trunk/test/std/containers/associative/map/map.cons/iter_iter_comp_alloc.pass.cpp
    libcxx/trunk/test/std/containers/associative/map/map.cons/move.pass.cpp
    libcxx/trunk/test/std/containers/associative/map/map.cons/move_alloc.pass.cpp
    libcxx/trunk/test/std/containers/associative/map/map.cons/move_assign.pass.cpp
    libcxx/trunk/test/std/containers/associative/map/map.cons/move_assign_noexcept.pass.cpp
    libcxx/trunk/test/std/containers/associative/map/map.cons/move_noexcept.pass.cpp
    libcxx/trunk/test/std/containers/associative/map/map.modifiers/
    libcxx/trunk/test/std/containers/associative/map/map.modifiers/clear.pass.cpp
    libcxx/trunk/test/std/containers/associative/map/map.modifiers/emplace.pass.cpp
    libcxx/trunk/test/std/containers/associative/map/map.modifiers/emplace_hint.pass.cpp
    libcxx/trunk/test/std/containers/associative/map/map.modifiers/erase_iter.pass.cpp
    libcxx/trunk/test/std/containers/associative/map/map.modifiers/erase_iter_iter.pass.cpp
    libcxx/trunk/test/std/containers/associative/map/map.modifiers/erase_key.pass.cpp
    libcxx/trunk/test/std/containers/associative/map/map.modifiers/insert_cv.pass.cpp
    libcxx/trunk/test/std/containers/associative/map/map.modifiers/insert_initializer_list.pass.cpp
    libcxx/trunk/test/std/containers/associative/map/map.modifiers/insert_iter_cv.pass.cpp
    libcxx/trunk/test/std/containers/associative/map/map.modifiers/insert_iter_iter.pass.cpp
    libcxx/trunk/test/std/containers/associative/map/map.modifiers/insert_iter_rv.pass.cpp
    libcxx/trunk/test/std/containers/associative/map/map.modifiers/insert_rv.pass.cpp
    libcxx/trunk/test/std/containers/associative/map/map.ops/
    libcxx/trunk/test/std/containers/associative/map/map.ops/count.pass.cpp
    libcxx/trunk/test/std/containers/associative/map/map.ops/equal_range.pass.cpp
    libcxx/trunk/test/std/containers/associative/map/map.ops/find.pass.cpp
    libcxx/trunk/test/std/containers/associative/map/map.ops/lower_bound.pass.cpp
    libcxx/trunk/test/std/containers/associative/map/map.ops/upper_bound.pass.cpp
    libcxx/trunk/test/std/containers/associative/map/map.special/
    libcxx/trunk/test/std/containers/associative/map/map.special/member_swap.pass.cpp
    libcxx/trunk/test/std/containers/associative/map/map.special/non_member_swap.pass.cpp
    libcxx/trunk/test/std/containers/associative/map/map.special/swap_noexcept.pass.cpp
    libcxx/trunk/test/std/containers/associative/map/types.pass.cpp
    libcxx/trunk/test/std/containers/associative/map/version.pass.cpp
    libcxx/trunk/test/std/containers/associative/multimap/
    libcxx/trunk/test/std/containers/associative/multimap/empty.pass.cpp
    libcxx/trunk/test/std/containers/associative/multimap/iterator.pass.cpp
    libcxx/trunk/test/std/containers/associative/multimap/max_size.pass.cpp
    libcxx/trunk/test/std/containers/associative/multimap/multimap.cons/
    libcxx/trunk/test/std/containers/associative/multimap/multimap.cons/alloc.pass.cpp
    libcxx/trunk/test/std/containers/associative/multimap/multimap.cons/assign_initializer_list.pass.cpp
    libcxx/trunk/test/std/containers/associative/multimap/multimap.cons/compare.pass.cpp
    libcxx/trunk/test/std/containers/associative/multimap/multimap.cons/compare_alloc.pass.cpp
    libcxx/trunk/test/std/containers/associative/multimap/multimap.cons/copy.pass.cpp
    libcxx/trunk/test/std/containers/associative/multimap/multimap.cons/copy_alloc.pass.cpp
    libcxx/trunk/test/std/containers/associative/multimap/multimap.cons/copy_assign.pass.cpp
    libcxx/trunk/test/std/containers/associative/multimap/multimap.cons/default.pass.cpp
    libcxx/trunk/test/std/containers/associative/multimap/multimap.cons/default_noexcept.pass.cpp
    libcxx/trunk/test/std/containers/associative/multimap/multimap.cons/dtor_noexcept.pass.cpp
    libcxx/trunk/test/std/containers/associative/multimap/multimap.cons/initializer_list.pass.cpp
    libcxx/trunk/test/std/containers/associative/multimap/multimap.cons/initializer_list_compare.pass.cpp
    libcxx/trunk/test/std/containers/associative/multimap/multimap.cons/initializer_list_compare_alloc.pass.cpp
    libcxx/trunk/test/std/containers/associative/multimap/multimap.cons/iter_iter.pass.cpp
    libcxx/trunk/test/std/containers/associative/multimap/multimap.cons/iter_iter_comp.pass.cpp
    libcxx/trunk/test/std/containers/associative/multimap/multimap.cons/iter_iter_comp_alloc.pass.cpp
    libcxx/trunk/test/std/containers/associative/multimap/multimap.cons/move.pass.cpp
    libcxx/trunk/test/std/containers/associative/multimap/multimap.cons/move_alloc.pass.cpp
    libcxx/trunk/test/std/containers/associative/multimap/multimap.cons/move_assign.pass.cpp
    libcxx/trunk/test/std/containers/associative/multimap/multimap.cons/move_assign_noexcept.pass.cpp
    libcxx/trunk/test/std/containers/associative/multimap/multimap.cons/move_noexcept.pass.cpp
    libcxx/trunk/test/std/containers/associative/multimap/multimap.modifiers/
    libcxx/trunk/test/std/containers/associative/multimap/multimap.modifiers/clear.pass.cpp
    libcxx/trunk/test/std/containers/associative/multimap/multimap.modifiers/emplace.pass.cpp
    libcxx/trunk/test/std/containers/associative/multimap/multimap.modifiers/emplace_hint.pass.cpp
    libcxx/trunk/test/std/containers/associative/multimap/multimap.modifiers/erase_iter.pass.cpp
    libcxx/trunk/test/std/containers/associative/multimap/multimap.modifiers/erase_iter_iter.pass.cpp
    libcxx/trunk/test/std/containers/associative/multimap/multimap.modifiers/erase_key.pass.cpp
    libcxx/trunk/test/std/containers/associative/multimap/multimap.modifiers/insert_cv.pass.cpp
    libcxx/trunk/test/std/containers/associative/multimap/multimap.modifiers/insert_initializer_list.pass.cpp
    libcxx/trunk/test/std/containers/associative/multimap/multimap.modifiers/insert_iter_cv.pass.cpp
    libcxx/trunk/test/std/containers/associative/multimap/multimap.modifiers/insert_iter_iter.pass.cpp
    libcxx/trunk/test/std/containers/associative/multimap/multimap.modifiers/insert_iter_rv.pass.cpp
    libcxx/trunk/test/std/containers/associative/multimap/multimap.modifiers/insert_rv.pass.cpp
    libcxx/trunk/test/std/containers/associative/multimap/multimap.ops/
    libcxx/trunk/test/std/containers/associative/multimap/multimap.ops/count.pass.cpp
    libcxx/trunk/test/std/containers/associative/multimap/multimap.ops/equal_range.pass.cpp
    libcxx/trunk/test/std/containers/associative/multimap/multimap.ops/find.pass.cpp
    libcxx/trunk/test/std/containers/associative/multimap/multimap.ops/lower_bound.pass.cpp
    libcxx/trunk/test/std/containers/associative/multimap/multimap.ops/upper_bound.pass.cpp
    libcxx/trunk/test/std/containers/associative/multimap/multimap.special/
    libcxx/trunk/test/std/containers/associative/multimap/multimap.special/member_swap.pass.cpp
    libcxx/trunk/test/std/containers/associative/multimap/multimap.special/non_member_swap.pass.cpp
    libcxx/trunk/test/std/containers/associative/multimap/multimap.special/swap_noexcept.pass.cpp
    libcxx/trunk/test/std/containers/associative/multimap/scary.pass.cpp
    libcxx/trunk/test/std/containers/associative/multimap/size.pass.cpp
    libcxx/trunk/test/std/containers/associative/multimap/types.pass.cpp
    libcxx/trunk/test/std/containers/associative/multiset/
    libcxx/trunk/test/std/containers/associative/multiset/clear.pass.cpp
    libcxx/trunk/test/std/containers/associative/multiset/count.pass.cpp
    libcxx/trunk/test/std/containers/associative/multiset/emplace.pass.cpp
    libcxx/trunk/test/std/containers/associative/multiset/emplace_hint.pass.cpp
    libcxx/trunk/test/std/containers/associative/multiset/empty.pass.cpp
    libcxx/trunk/test/std/containers/associative/multiset/equal_range.pass.cpp
    libcxx/trunk/test/std/containers/associative/multiset/erase_iter.pass.cpp
    libcxx/trunk/test/std/containers/associative/multiset/erase_iter_iter.pass.cpp
    libcxx/trunk/test/std/containers/associative/multiset/erase_key.pass.cpp
    libcxx/trunk/test/std/containers/associative/multiset/find.pass.cpp
    libcxx/trunk/test/std/containers/associative/multiset/insert_cv.pass.cpp
    libcxx/trunk/test/std/containers/associative/multiset/insert_initializer_list.pass.cpp
    libcxx/trunk/test/std/containers/associative/multiset/insert_iter_cv.pass.cpp
    libcxx/trunk/test/std/containers/associative/multiset/insert_iter_iter.pass.cpp
    libcxx/trunk/test/std/containers/associative/multiset/insert_iter_rv.pass.cpp
    libcxx/trunk/test/std/containers/associative/multiset/insert_rv.pass.cpp
    libcxx/trunk/test/std/containers/associative/multiset/iterator.pass.cpp
    libcxx/trunk/test/std/containers/associative/multiset/lower_bound.pass.cpp
    libcxx/trunk/test/std/containers/associative/multiset/max_size.pass.cpp
    libcxx/trunk/test/std/containers/associative/multiset/multiset.cons/
    libcxx/trunk/test/std/containers/associative/multiset/multiset.cons/alloc.pass.cpp
    libcxx/trunk/test/std/containers/associative/multiset/multiset.cons/assign_initializer_list.pass.cpp
    libcxx/trunk/test/std/containers/associative/multiset/multiset.cons/compare.pass.cpp
    libcxx/trunk/test/std/containers/associative/multiset/multiset.cons/compare_alloc.pass.cpp
    libcxx/trunk/test/std/containers/associative/multiset/multiset.cons/copy.pass.cpp
    libcxx/trunk/test/std/containers/associative/multiset/multiset.cons/copy_alloc.pass.cpp
    libcxx/trunk/test/std/containers/associative/multiset/multiset.cons/copy_assign.pass.cpp
    libcxx/trunk/test/std/containers/associative/multiset/multiset.cons/default.pass.cpp
    libcxx/trunk/test/std/containers/associative/multiset/multiset.cons/default_noexcept.pass.cpp
    libcxx/trunk/test/std/containers/associative/multiset/multiset.cons/dtor_noexcept.pass.cpp
    libcxx/trunk/test/std/containers/associative/multiset/multiset.cons/initializer_list.pass.cpp
    libcxx/trunk/test/std/containers/associative/multiset/multiset.cons/initializer_list_compare.pass.cpp
    libcxx/trunk/test/std/containers/associative/multiset/multiset.cons/initializer_list_compare_alloc.pass.cpp
    libcxx/trunk/test/std/containers/associative/multiset/multiset.cons/iter_iter.pass.cpp
    libcxx/trunk/test/std/containers/associative/multiset/multiset.cons/iter_iter_alloc.pass.cpp
    libcxx/trunk/test/std/containers/associative/multiset/multiset.cons/iter_iter_comp.pass.cpp
    libcxx/trunk/test/std/containers/associative/multiset/multiset.cons/move.pass.cpp
    libcxx/trunk/test/std/containers/associative/multiset/multiset.cons/move_alloc.pass.cpp
    libcxx/trunk/test/std/containers/associative/multiset/multiset.cons/move_assign.pass.cpp
    libcxx/trunk/test/std/containers/associative/multiset/multiset.cons/move_assign_noexcept.pass.cpp
    libcxx/trunk/test/std/containers/associative/multiset/multiset.cons/move_noexcept.pass.cpp
    libcxx/trunk/test/std/containers/associative/multiset/multiset.special/
    libcxx/trunk/test/std/containers/associative/multiset/multiset.special/member_swap.pass.cpp
    libcxx/trunk/test/std/containers/associative/multiset/multiset.special/non_member_swap.pass.cpp
    libcxx/trunk/test/std/containers/associative/multiset/multiset.special/swap_noexcept.pass.cpp
    libcxx/trunk/test/std/containers/associative/multiset/scary.pass.cpp
    libcxx/trunk/test/std/containers/associative/multiset/size.pass.cpp
    libcxx/trunk/test/std/containers/associative/multiset/types.pass.cpp
    libcxx/trunk/test/std/containers/associative/multiset/upper_bound.pass.cpp
    libcxx/trunk/test/std/containers/associative/set/
    libcxx/trunk/test/std/containers/associative/set/clear.pass.cpp
    libcxx/trunk/test/std/containers/associative/set/count.pass.cpp
    libcxx/trunk/test/std/containers/associative/set/emplace.pass.cpp
    libcxx/trunk/test/std/containers/associative/set/emplace_hint.pass.cpp
    libcxx/trunk/test/std/containers/associative/set/empty.pass.cpp
    libcxx/trunk/test/std/containers/associative/set/equal_range.pass.cpp
    libcxx/trunk/test/std/containers/associative/set/erase_iter.pass.cpp
    libcxx/trunk/test/std/containers/associative/set/erase_iter_iter.pass.cpp
    libcxx/trunk/test/std/containers/associative/set/erase_key.pass.cpp
    libcxx/trunk/test/std/containers/associative/set/find.pass.cpp
    libcxx/trunk/test/std/containers/associative/set/insert_cv.pass.cpp
    libcxx/trunk/test/std/containers/associative/set/insert_initializer_list.pass.cpp
    libcxx/trunk/test/std/containers/associative/set/insert_iter_cv.pass.cpp
    libcxx/trunk/test/std/containers/associative/set/insert_iter_iter.pass.cpp
    libcxx/trunk/test/std/containers/associative/set/insert_iter_rv.pass.cpp
    libcxx/trunk/test/std/containers/associative/set/insert_rv.pass.cpp
    libcxx/trunk/test/std/containers/associative/set/iterator.pass.cpp
    libcxx/trunk/test/std/containers/associative/set/lower_bound.pass.cpp
    libcxx/trunk/test/std/containers/associative/set/max_size.pass.cpp
    libcxx/trunk/test/std/containers/associative/set/set.cons/
    libcxx/trunk/test/std/containers/associative/set/set.cons/alloc.pass.cpp
    libcxx/trunk/test/std/containers/associative/set/set.cons/assign_initializer_list.pass.cpp
    libcxx/trunk/test/std/containers/associative/set/set.cons/compare.pass.cpp
    libcxx/trunk/test/std/containers/associative/set/set.cons/compare_alloc.pass.cpp
    libcxx/trunk/test/std/containers/associative/set/set.cons/copy.pass.cpp
    libcxx/trunk/test/std/containers/associative/set/set.cons/copy_alloc.pass.cpp
    libcxx/trunk/test/std/containers/associative/set/set.cons/copy_assign.pass.cpp
    libcxx/trunk/test/std/containers/associative/set/set.cons/default.pass.cpp
    libcxx/trunk/test/std/containers/associative/set/set.cons/default_noexcept.pass.cpp
    libcxx/trunk/test/std/containers/associative/set/set.cons/dtor_noexcept.pass.cpp
    libcxx/trunk/test/std/containers/associative/set/set.cons/initializer_list.pass.cpp
    libcxx/trunk/test/std/containers/associative/set/set.cons/initializer_list_compare.pass.cpp
    libcxx/trunk/test/std/containers/associative/set/set.cons/initializer_list_compare_alloc.pass.cpp
    libcxx/trunk/test/std/containers/associative/set/set.cons/iter_iter.pass.cpp
    libcxx/trunk/test/std/containers/associative/set/set.cons/iter_iter_alloc.pass.cpp
    libcxx/trunk/test/std/containers/associative/set/set.cons/iter_iter_comp.pass.cpp
    libcxx/trunk/test/std/containers/associative/set/set.cons/move.pass.cpp
    libcxx/trunk/test/std/containers/associative/set/set.cons/move_alloc.pass.cpp
    libcxx/trunk/test/std/containers/associative/set/set.cons/move_assign.pass.cpp
    libcxx/trunk/test/std/containers/associative/set/set.cons/move_assign_noexcept.pass.cpp
    libcxx/trunk/test/std/containers/associative/set/set.cons/move_noexcept.pass.cpp
    libcxx/trunk/test/std/containers/associative/set/set.special/
    libcxx/trunk/test/std/containers/associative/set/set.special/member_swap.pass.cpp
    libcxx/trunk/test/std/containers/associative/set/set.special/non_member_swap.pass.cpp
    libcxx/trunk/test/std/containers/associative/set/set.special/swap_noexcept.pass.cpp
    libcxx/trunk/test/std/containers/associative/set/size.pass.cpp
    libcxx/trunk/test/std/containers/associative/set/types.pass.cpp
    libcxx/trunk/test/std/containers/associative/set/upper_bound.pass.cpp
    libcxx/trunk/test/std/containers/associative/set/version.pass.cpp
    libcxx/trunk/test/std/containers/associative/tree_balance_after_insert.pass.cpp
    libcxx/trunk/test/std/containers/associative/tree_left_rotate.pass.cpp
    libcxx/trunk/test/std/containers/associative/tree_remove.pass.cpp
    libcxx/trunk/test/std/containers/associative/tree_right_rotate.pass.cpp
    libcxx/trunk/test/std/containers/container.adaptors/
    libcxx/trunk/test/std/containers/container.adaptors/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/containers/container.adaptors/priority.queue/
    libcxx/trunk/test/std/containers/container.adaptors/priority.queue/priqueue.cons/
    libcxx/trunk/test/std/containers/container.adaptors/priority.queue/priqueue.cons.alloc/
    libcxx/trunk/test/std/containers/container.adaptors/priority.queue/priqueue.cons.alloc/ctor_alloc.pass.cpp
    libcxx/trunk/test/std/containers/container.adaptors/priority.queue/priqueue.cons.alloc/ctor_comp_alloc.pass.cpp
    libcxx/trunk/test/std/containers/container.adaptors/priority.queue/priqueue.cons.alloc/ctor_comp_cont_alloc.pass.cpp
    libcxx/trunk/test/std/containers/container.adaptors/priority.queue/priqueue.cons.alloc/ctor_comp_rcont_alloc.pass.cpp
    libcxx/trunk/test/std/containers/container.adaptors/priority.queue/priqueue.cons.alloc/ctor_copy_alloc.pass.cpp
    libcxx/trunk/test/std/containers/container.adaptors/priority.queue/priqueue.cons.alloc/ctor_move_alloc.pass.cpp
    libcxx/trunk/test/std/containers/container.adaptors/priority.queue/priqueue.cons/assign_copy.pass.cpp
    libcxx/trunk/test/std/containers/container.adaptors/priority.queue/priqueue.cons/assign_move.pass.cpp
    libcxx/trunk/test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_comp.pass.cpp
    libcxx/trunk/test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_comp_container.pass.cpp
    libcxx/trunk/test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_comp_rcontainer.pass.cpp
    libcxx/trunk/test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_copy.pass.cpp
    libcxx/trunk/test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_default.pass.cpp
    libcxx/trunk/test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_iter_iter.pass.cpp
    libcxx/trunk/test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_iter_iter_comp.pass.cpp
    libcxx/trunk/test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_iter_iter_comp_cont.pass.cpp
    libcxx/trunk/test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_iter_iter_comp_rcont.pass.cpp
    libcxx/trunk/test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_move.pass.cpp
    libcxx/trunk/test/std/containers/container.adaptors/priority.queue/priqueue.cons/default_noexcept.pass.cpp
    libcxx/trunk/test/std/containers/container.adaptors/priority.queue/priqueue.cons/dtor_noexcept.pass.cpp
    libcxx/trunk/test/std/containers/container.adaptors/priority.queue/priqueue.cons/move_assign_noexcept.pass.cpp
    libcxx/trunk/test/std/containers/container.adaptors/priority.queue/priqueue.cons/move_noexcept.pass.cpp
    libcxx/trunk/test/std/containers/container.adaptors/priority.queue/priqueue.members/
    libcxx/trunk/test/std/containers/container.adaptors/priority.queue/priqueue.members/emplace.pass.cpp
    libcxx/trunk/test/std/containers/container.adaptors/priority.queue/priqueue.members/empty.pass.cpp
    libcxx/trunk/test/std/containers/container.adaptors/priority.queue/priqueue.members/pop.pass.cpp
    libcxx/trunk/test/std/containers/container.adaptors/priority.queue/priqueue.members/push.pass.cpp
    libcxx/trunk/test/std/containers/container.adaptors/priority.queue/priqueue.members/push_rvalue.pass.cpp
    libcxx/trunk/test/std/containers/container.adaptors/priority.queue/priqueue.members/size.pass.cpp
    libcxx/trunk/test/std/containers/container.adaptors/priority.queue/priqueue.members/swap.pass.cpp
    libcxx/trunk/test/std/containers/container.adaptors/priority.queue/priqueue.members/top.pass.cpp
    libcxx/trunk/test/std/containers/container.adaptors/priority.queue/priqueue.special/
    libcxx/trunk/test/std/containers/container.adaptors/priority.queue/priqueue.special/swap.pass.cpp
    libcxx/trunk/test/std/containers/container.adaptors/priority.queue/priqueue.special/swap_noexcept.pass.cpp
    libcxx/trunk/test/std/containers/container.adaptors/priority.queue/types.pass.cpp
    libcxx/trunk/test/std/containers/container.adaptors/queue/
    libcxx/trunk/test/std/containers/container.adaptors/queue/queue.cons/
    libcxx/trunk/test/std/containers/container.adaptors/queue/queue.cons.alloc/
    libcxx/trunk/test/std/containers/container.adaptors/queue/queue.cons.alloc/ctor_alloc.pass.cpp
    libcxx/trunk/test/std/containers/container.adaptors/queue/queue.cons.alloc/ctor_container_alloc.pass.cpp
    libcxx/trunk/test/std/containers/container.adaptors/queue/queue.cons.alloc/ctor_queue_alloc.pass.cpp
    libcxx/trunk/test/std/containers/container.adaptors/queue/queue.cons.alloc/ctor_rcontainer_alloc.pass.cpp
    libcxx/trunk/test/std/containers/container.adaptors/queue/queue.cons.alloc/ctor_rqueue_alloc.pass.cpp
    libcxx/trunk/test/std/containers/container.adaptors/queue/queue.cons/ctor_container.pass.cpp
    libcxx/trunk/test/std/containers/container.adaptors/queue/queue.cons/ctor_copy.pass.cpp
    libcxx/trunk/test/std/containers/container.adaptors/queue/queue.cons/ctor_default.pass.cpp
    libcxx/trunk/test/std/containers/container.adaptors/queue/queue.cons/ctor_move.pass.cpp
    libcxx/trunk/test/std/containers/container.adaptors/queue/queue.cons/ctor_rcontainer.pass.cpp
    libcxx/trunk/test/std/containers/container.adaptors/queue/queue.cons/default_noexcept.pass.cpp
    libcxx/trunk/test/std/containers/container.adaptors/queue/queue.cons/dtor_noexcept.pass.cpp
    libcxx/trunk/test/std/containers/container.adaptors/queue/queue.cons/move_assign_noexcept.pass.cpp
    libcxx/trunk/test/std/containers/container.adaptors/queue/queue.cons/move_noexcept.pass.cpp
    libcxx/trunk/test/std/containers/container.adaptors/queue/queue.defn/
    libcxx/trunk/test/std/containers/container.adaptors/queue/queue.defn/assign_copy.pass.cpp
    libcxx/trunk/test/std/containers/container.adaptors/queue/queue.defn/assign_move.pass.cpp
    libcxx/trunk/test/std/containers/container.adaptors/queue/queue.defn/back.pass.cpp
    libcxx/trunk/test/std/containers/container.adaptors/queue/queue.defn/back_const.pass.cpp
    libcxx/trunk/test/std/containers/container.adaptors/queue/queue.defn/emplace.pass.cpp
    libcxx/trunk/test/std/containers/container.adaptors/queue/queue.defn/empty.pass.cpp
    libcxx/trunk/test/std/containers/container.adaptors/queue/queue.defn/front.pass.cpp
    libcxx/trunk/test/std/containers/container.adaptors/queue/queue.defn/front_const.pass.cpp
    libcxx/trunk/test/std/containers/container.adaptors/queue/queue.defn/pop.pass.cpp
    libcxx/trunk/test/std/containers/container.adaptors/queue/queue.defn/push.pass.cpp
    libcxx/trunk/test/std/containers/container.adaptors/queue/queue.defn/push_rv.pass.cpp
    libcxx/trunk/test/std/containers/container.adaptors/queue/queue.defn/size.pass.cpp
    libcxx/trunk/test/std/containers/container.adaptors/queue/queue.defn/swap.pass.cpp
    libcxx/trunk/test/std/containers/container.adaptors/queue/queue.defn/types.pass.cpp
    libcxx/trunk/test/std/containers/container.adaptors/queue/queue.ops/
    libcxx/trunk/test/std/containers/container.adaptors/queue/queue.ops/eq.pass.cpp
    libcxx/trunk/test/std/containers/container.adaptors/queue/queue.ops/lt.pass.cpp
    libcxx/trunk/test/std/containers/container.adaptors/queue/queue.special/
    libcxx/trunk/test/std/containers/container.adaptors/queue/queue.special/swap.pass.cpp
    libcxx/trunk/test/std/containers/container.adaptors/queue/queue.special/swap_noexcept.pass.cpp
    libcxx/trunk/test/std/containers/container.adaptors/queue/version.pass.cpp
    libcxx/trunk/test/std/containers/container.adaptors/stack/
    libcxx/trunk/test/std/containers/container.adaptors/stack/stack.cons/
    libcxx/trunk/test/std/containers/container.adaptors/stack/stack.cons.alloc/
    libcxx/trunk/test/std/containers/container.adaptors/stack/stack.cons.alloc/ctor_alloc.pass.cpp
    libcxx/trunk/test/std/containers/container.adaptors/stack/stack.cons.alloc/ctor_container_alloc.pass.cpp
    libcxx/trunk/test/std/containers/container.adaptors/stack/stack.cons.alloc/ctor_copy_alloc.pass.cpp
    libcxx/trunk/test/std/containers/container.adaptors/stack/stack.cons.alloc/ctor_rcontainer_alloc.pass.cpp
    libcxx/trunk/test/std/containers/container.adaptors/stack/stack.cons.alloc/ctor_rqueue_alloc.pass.cpp
    libcxx/trunk/test/std/containers/container.adaptors/stack/stack.cons/ctor_container.pass.cpp
    libcxx/trunk/test/std/containers/container.adaptors/stack/stack.cons/ctor_copy.pass.cpp
    libcxx/trunk/test/std/containers/container.adaptors/stack/stack.cons/ctor_default.pass.cpp
    libcxx/trunk/test/std/containers/container.adaptors/stack/stack.cons/ctor_move.pass.cpp
    libcxx/trunk/test/std/containers/container.adaptors/stack/stack.cons/ctor_rcontainer.pass.cpp
    libcxx/trunk/test/std/containers/container.adaptors/stack/stack.cons/default_noexcept.pass.cpp
    libcxx/trunk/test/std/containers/container.adaptors/stack/stack.cons/dtor_noexcept.pass.cpp
    libcxx/trunk/test/std/containers/container.adaptors/stack/stack.cons/move_assign_noexcept.pass.cpp
    libcxx/trunk/test/std/containers/container.adaptors/stack/stack.cons/move_noexcept.pass.cpp
    libcxx/trunk/test/std/containers/container.adaptors/stack/stack.defn/
    libcxx/trunk/test/std/containers/container.adaptors/stack/stack.defn/assign_copy.pass.cpp
    libcxx/trunk/test/std/containers/container.adaptors/stack/stack.defn/assign_move.pass.cpp
    libcxx/trunk/test/std/containers/container.adaptors/stack/stack.defn/emplace.pass.cpp
    libcxx/trunk/test/std/containers/container.adaptors/stack/stack.defn/empty.pass.cpp
    libcxx/trunk/test/std/containers/container.adaptors/stack/stack.defn/pop.pass.cpp
    libcxx/trunk/test/std/containers/container.adaptors/stack/stack.defn/push.pass.cpp
    libcxx/trunk/test/std/containers/container.adaptors/stack/stack.defn/push_rv.pass.cpp
    libcxx/trunk/test/std/containers/container.adaptors/stack/stack.defn/size.pass.cpp
    libcxx/trunk/test/std/containers/container.adaptors/stack/stack.defn/swap.pass.cpp
    libcxx/trunk/test/std/containers/container.adaptors/stack/stack.defn/top.pass.cpp
    libcxx/trunk/test/std/containers/container.adaptors/stack/stack.defn/top_const.pass.cpp
    libcxx/trunk/test/std/containers/container.adaptors/stack/stack.defn/types.pass.cpp
    libcxx/trunk/test/std/containers/container.adaptors/stack/stack.ops/
    libcxx/trunk/test/std/containers/container.adaptors/stack/stack.ops/eq.pass.cpp
    libcxx/trunk/test/std/containers/container.adaptors/stack/stack.ops/lt.pass.cpp
    libcxx/trunk/test/std/containers/container.adaptors/stack/stack.special/
    libcxx/trunk/test/std/containers/container.adaptors/stack/stack.special/swap.pass.cpp
    libcxx/trunk/test/std/containers/container.adaptors/stack/stack.special/swap_noexcept.pass.cpp
    libcxx/trunk/test/std/containers/container.adaptors/stack/version.pass.cpp
    libcxx/trunk/test/std/containers/container.requirements/
    libcxx/trunk/test/std/containers/container.requirements/associative.reqmts/
    libcxx/trunk/test/std/containers/container.requirements/associative.reqmts/associative.reqmts.except/
    libcxx/trunk/test/std/containers/container.requirements/associative.reqmts/associative.reqmts.except/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/containers/container.requirements/associative.reqmts/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/containers/container.requirements/container.requirements.dataraces/
    libcxx/trunk/test/std/containers/container.requirements/container.requirements.dataraces/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/containers/container.requirements/container.requirements.general/
    libcxx/trunk/test/std/containers/container.requirements/container.requirements.general/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/containers/container.requirements/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/containers/container.requirements/sequence.reqmts/
    libcxx/trunk/test/std/containers/container.requirements/sequence.reqmts/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/containers/container.requirements/unord.req/
    libcxx/trunk/test/std/containers/container.requirements/unord.req/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/containers/container.requirements/unord.req/unord.req.except/
    libcxx/trunk/test/std/containers/container.requirements/unord.req/unord.req.except/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/containers/containers.general/
    libcxx/trunk/test/std/containers/containers.general/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/containers/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/containers/sequences/
    libcxx/trunk/test/std/containers/sequences/array/
    libcxx/trunk/test/std/containers/sequences/array/array.cons/
    libcxx/trunk/test/std/containers/sequences/array/array.cons/default.pass.cpp
    libcxx/trunk/test/std/containers/sequences/array/array.cons/initializer_list.pass.cpp
    libcxx/trunk/test/std/containers/sequences/array/array.data/
    libcxx/trunk/test/std/containers/sequences/array/array.data/data.pass.cpp
    libcxx/trunk/test/std/containers/sequences/array/array.data/data_const.pass.cpp
    libcxx/trunk/test/std/containers/sequences/array/array.fill/
    libcxx/trunk/test/std/containers/sequences/array/array.fill/fill.pass.cpp
    libcxx/trunk/test/std/containers/sequences/array/array.size/
    libcxx/trunk/test/std/containers/sequences/array/array.size/size.pass.cpp
    libcxx/trunk/test/std/containers/sequences/array/array.special/
    libcxx/trunk/test/std/containers/sequences/array/array.special/swap.pass.cpp
    libcxx/trunk/test/std/containers/sequences/array/array.swap/
    libcxx/trunk/test/std/containers/sequences/array/array.swap/swap.pass.cpp
    libcxx/trunk/test/std/containers/sequences/array/array.tuple/
    libcxx/trunk/test/std/containers/sequences/array/array.tuple/get.fail.cpp
    libcxx/trunk/test/std/containers/sequences/array/array.tuple/get.pass.cpp
    libcxx/trunk/test/std/containers/sequences/array/array.tuple/get_const.pass.cpp
    libcxx/trunk/test/std/containers/sequences/array/array.tuple/get_rv.pass.cpp
    libcxx/trunk/test/std/containers/sequences/array/array.tuple/tuple_element.pass.cpp
    libcxx/trunk/test/std/containers/sequences/array/array.tuple/tuple_size.pass.cpp
    libcxx/trunk/test/std/containers/sequences/array/array.zero/
    libcxx/trunk/test/std/containers/sequences/array/array.zero/tested_elsewhere.pass.cpp
    libcxx/trunk/test/std/containers/sequences/array/at.pass.cpp
    libcxx/trunk/test/std/containers/sequences/array/begin.pass.cpp
    libcxx/trunk/test/std/containers/sequences/array/front_back.pass.cpp
    libcxx/trunk/test/std/containers/sequences/array/indexing.pass.cpp
    libcxx/trunk/test/std/containers/sequences/array/iterators.pass.cpp
    libcxx/trunk/test/std/containers/sequences/array/types.pass.cpp
    libcxx/trunk/test/std/containers/sequences/array/version.pass.cpp
    libcxx/trunk/test/std/containers/sequences/deque/
    libcxx/trunk/test/std/containers/sequences/deque/deque.capacity/
    libcxx/trunk/test/std/containers/sequences/deque/deque.capacity/access.pass.cpp
    libcxx/trunk/test/std/containers/sequences/deque/deque.capacity/resize_size.pass.cpp
    libcxx/trunk/test/std/containers/sequences/deque/deque.capacity/resize_size_value.pass.cpp
    libcxx/trunk/test/std/containers/sequences/deque/deque.capacity/shrink_to_fit.pass.cpp
    libcxx/trunk/test/std/containers/sequences/deque/deque.cons/
    libcxx/trunk/test/std/containers/sequences/deque/deque.cons/alloc.pass.cpp
    libcxx/trunk/test/std/containers/sequences/deque/deque.cons/assign_initializer_list.pass.cpp
    libcxx/trunk/test/std/containers/sequences/deque/deque.cons/assign_iter_iter.pass.cpp
    libcxx/trunk/test/std/containers/sequences/deque/deque.cons/assign_size_value.pass.cpp
    libcxx/trunk/test/std/containers/sequences/deque/deque.cons/copy.pass.cpp
    libcxx/trunk/test/std/containers/sequences/deque/deque.cons/copy_alloc.pass.cpp
    libcxx/trunk/test/std/containers/sequences/deque/deque.cons/default.pass.cpp
    libcxx/trunk/test/std/containers/sequences/deque/deque.cons/default_noexcept.pass.cpp
    libcxx/trunk/test/std/containers/sequences/deque/deque.cons/dtor_noexcept.pass.cpp
    libcxx/trunk/test/std/containers/sequences/deque/deque.cons/initializer_list.pass.cpp
    libcxx/trunk/test/std/containers/sequences/deque/deque.cons/initializer_list_alloc.pass.cpp
    libcxx/trunk/test/std/containers/sequences/deque/deque.cons/iter_iter.pass.cpp
    libcxx/trunk/test/std/containers/sequences/deque/deque.cons/iter_iter_alloc.pass.cpp
    libcxx/trunk/test/std/containers/sequences/deque/deque.cons/move.pass.cpp
    libcxx/trunk/test/std/containers/sequences/deque/deque.cons/move_alloc.pass.cpp
    libcxx/trunk/test/std/containers/sequences/deque/deque.cons/move_assign.pass.cpp
    libcxx/trunk/test/std/containers/sequences/deque/deque.cons/move_assign_noexcept.pass.cpp
    libcxx/trunk/test/std/containers/sequences/deque/deque.cons/move_noexcept.pass.cpp
    libcxx/trunk/test/std/containers/sequences/deque/deque.cons/op_equal.pass.cpp
    libcxx/trunk/test/std/containers/sequences/deque/deque.cons/op_equal_initializer_list.pass.cpp
    libcxx/trunk/test/std/containers/sequences/deque/deque.cons/size.pass.cpp
    libcxx/trunk/test/std/containers/sequences/deque/deque.cons/size_value.pass.cpp
    libcxx/trunk/test/std/containers/sequences/deque/deque.cons/size_value_alloc.pass.cpp
    libcxx/trunk/test/std/containers/sequences/deque/deque.modifiers/
    libcxx/trunk/test/std/containers/sequences/deque/deque.modifiers/emplace.pass.cpp
    libcxx/trunk/test/std/containers/sequences/deque/deque.modifiers/emplace_back.pass.cpp
    libcxx/trunk/test/std/containers/sequences/deque/deque.modifiers/emplace_front.pass.cpp
    libcxx/trunk/test/std/containers/sequences/deque/deque.modifiers/erase_iter.pass.cpp
    libcxx/trunk/test/std/containers/sequences/deque/deque.modifiers/erase_iter_iter.pass.cpp
    libcxx/trunk/test/std/containers/sequences/deque/deque.modifiers/insert_iter_initializer_list.pass.cpp
    libcxx/trunk/test/std/containers/sequences/deque/deque.modifiers/insert_iter_iter.pass.cpp
    libcxx/trunk/test/std/containers/sequences/deque/deque.modifiers/insert_rvalue.pass.cpp
    libcxx/trunk/test/std/containers/sequences/deque/deque.modifiers/insert_size_value.pass.cpp
    libcxx/trunk/test/std/containers/sequences/deque/deque.modifiers/insert_value.pass.cpp
    libcxx/trunk/test/std/containers/sequences/deque/deque.modifiers/pop_back.pass.cpp
    libcxx/trunk/test/std/containers/sequences/deque/deque.modifiers/pop_front.pass.cpp
    libcxx/trunk/test/std/containers/sequences/deque/deque.modifiers/push_back.pass.cpp
    libcxx/trunk/test/std/containers/sequences/deque/deque.modifiers/push_back_exception_safety.pass.cpp
    libcxx/trunk/test/std/containers/sequences/deque/deque.modifiers/push_back_rvalue.pass.cpp
    libcxx/trunk/test/std/containers/sequences/deque/deque.modifiers/push_front.pass.cpp
    libcxx/trunk/test/std/containers/sequences/deque/deque.modifiers/push_front_exception_safety.pass.cpp
    libcxx/trunk/test/std/containers/sequences/deque/deque.modifiers/push_front_rvalue.pass.cpp
    libcxx/trunk/test/std/containers/sequences/deque/deque.special/
    libcxx/trunk/test/std/containers/sequences/deque/deque.special/copy.pass.cpp
    libcxx/trunk/test/std/containers/sequences/deque/deque.special/copy_backward.pass.cpp
    libcxx/trunk/test/std/containers/sequences/deque/deque.special/move.pass.cpp
    libcxx/trunk/test/std/containers/sequences/deque/deque.special/move_backward.pass.cpp
    libcxx/trunk/test/std/containers/sequences/deque/deque.special/swap.pass.cpp
    libcxx/trunk/test/std/containers/sequences/deque/deque.special/swap_noexcept.pass.cpp
    libcxx/trunk/test/std/containers/sequences/deque/iterators.pass.cpp
    libcxx/trunk/test/std/containers/sequences/deque/types.pass.cpp
    libcxx/trunk/test/std/containers/sequences/deque/version.pass.cpp
    libcxx/trunk/test/std/containers/sequences/dynarray/
    libcxx/trunk/test/std/containers/sequences/dynarray/dynarray.cons/
    libcxx/trunk/test/std/containers/sequences/dynarray/dynarray.cons/alloc.pass.cpp
    libcxx/trunk/test/std/containers/sequences/dynarray/dynarray.cons/default.pass.cpp
    libcxx/trunk/test/std/containers/sequences/dynarray/dynarray.data/
    libcxx/trunk/test/std/containers/sequences/dynarray/dynarray.data/default.pass.cpp
    libcxx/trunk/test/std/containers/sequences/dynarray/dynarray.mutate/
    libcxx/trunk/test/std/containers/sequences/dynarray/dynarray.mutate/default.pass.cpp
    libcxx/trunk/test/std/containers/sequences/dynarray/dynarray.overview/
    libcxx/trunk/test/std/containers/sequences/dynarray/dynarray.overview/at.pass.cpp
    libcxx/trunk/test/std/containers/sequences/dynarray/dynarray.overview/begin_end.pass.cpp
    libcxx/trunk/test/std/containers/sequences/dynarray/dynarray.overview/capacity.pass.cpp
    libcxx/trunk/test/std/containers/sequences/dynarray/dynarray.overview/front_back.pass.cpp
    libcxx/trunk/test/std/containers/sequences/dynarray/dynarray.overview/indexing.pass.cpp
    libcxx/trunk/test/std/containers/sequences/dynarray/dynarray.traits/
    libcxx/trunk/test/std/containers/sequences/dynarray/dynarray.traits/default.pass.cpp
    libcxx/trunk/test/std/containers/sequences/dynarray/dynarray.zero/
    libcxx/trunk/test/std/containers/sequences/dynarray/dynarray.zero/default.pass.cpp
    libcxx/trunk/test/std/containers/sequences/dynarray/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/containers/sequences/forwardlist/
    libcxx/trunk/test/std/containers/sequences/forwardlist/forwardlist.access/
    libcxx/trunk/test/std/containers/sequences/forwardlist/forwardlist.access/front.pass.cpp
    libcxx/trunk/test/std/containers/sequences/forwardlist/forwardlist.cons/
    libcxx/trunk/test/std/containers/sequences/forwardlist/forwardlist.cons/alloc.fail.cpp
    libcxx/trunk/test/std/containers/sequences/forwardlist/forwardlist.cons/alloc.pass.cpp
    libcxx/trunk/test/std/containers/sequences/forwardlist/forwardlist.cons/assign_copy.pass.cpp
    libcxx/trunk/test/std/containers/sequences/forwardlist/forwardlist.cons/assign_init.pass.cpp
    libcxx/trunk/test/std/containers/sequences/forwardlist/forwardlist.cons/assign_move.pass.cpp
    libcxx/trunk/test/std/containers/sequences/forwardlist/forwardlist.cons/assign_op_init.pass.cpp
    libcxx/trunk/test/std/containers/sequences/forwardlist/forwardlist.cons/assign_range.pass.cpp
    libcxx/trunk/test/std/containers/sequences/forwardlist/forwardlist.cons/assign_size_value.pass.cpp
    libcxx/trunk/test/std/containers/sequences/forwardlist/forwardlist.cons/copy.pass.cpp
    libcxx/trunk/test/std/containers/sequences/forwardlist/forwardlist.cons/copy_alloc.pass.cpp
    libcxx/trunk/test/std/containers/sequences/forwardlist/forwardlist.cons/default.pass.cpp
    libcxx/trunk/test/std/containers/sequences/forwardlist/forwardlist.cons/default_noexcept.pass.cpp
    libcxx/trunk/test/std/containers/sequences/forwardlist/forwardlist.cons/default_recursive.pass.cpp
    libcxx/trunk/test/std/containers/sequences/forwardlist/forwardlist.cons/dtor_noexcept.pass.cpp
    libcxx/trunk/test/std/containers/sequences/forwardlist/forwardlist.cons/init.pass.cpp
    libcxx/trunk/test/std/containers/sequences/forwardlist/forwardlist.cons/init_alloc.pass.cpp
    libcxx/trunk/test/std/containers/sequences/forwardlist/forwardlist.cons/move.pass.cpp
    libcxx/trunk/test/std/containers/sequences/forwardlist/forwardlist.cons/move_alloc.pass.cpp
    libcxx/trunk/test/std/containers/sequences/forwardlist/forwardlist.cons/move_assign_noexcept.pass.cpp
    libcxx/trunk/test/std/containers/sequences/forwardlist/forwardlist.cons/move_noexcept.pass.cpp
    libcxx/trunk/test/std/containers/sequences/forwardlist/forwardlist.cons/range.pass.cpp
    libcxx/trunk/test/std/containers/sequences/forwardlist/forwardlist.cons/range_alloc.pass.cpp
    libcxx/trunk/test/std/containers/sequences/forwardlist/forwardlist.cons/size.fail.cpp
    libcxx/trunk/test/std/containers/sequences/forwardlist/forwardlist.cons/size.pass.cpp
    libcxx/trunk/test/std/containers/sequences/forwardlist/forwardlist.cons/size_value.pass.cpp
    libcxx/trunk/test/std/containers/sequences/forwardlist/forwardlist.cons/size_value_alloc.pass.cpp
    libcxx/trunk/test/std/containers/sequences/forwardlist/forwardlist.iter/
    libcxx/trunk/test/std/containers/sequences/forwardlist/forwardlist.iter/before_begin.pass.cpp
    libcxx/trunk/test/std/containers/sequences/forwardlist/forwardlist.iter/iterators.pass.cpp
    libcxx/trunk/test/std/containers/sequences/forwardlist/forwardlist.modifiers/
    libcxx/trunk/test/std/containers/sequences/forwardlist/forwardlist.modifiers/clear.pass.cpp
    libcxx/trunk/test/std/containers/sequences/forwardlist/forwardlist.modifiers/emplace_after.pass.cpp
    libcxx/trunk/test/std/containers/sequences/forwardlist/forwardlist.modifiers/emplace_front.pass.cpp
    libcxx/trunk/test/std/containers/sequences/forwardlist/forwardlist.modifiers/erase_after_many.pass.cpp
    libcxx/trunk/test/std/containers/sequences/forwardlist/forwardlist.modifiers/erase_after_one.pass.cpp
    libcxx/trunk/test/std/containers/sequences/forwardlist/forwardlist.modifiers/insert_after_const.pass.cpp
    libcxx/trunk/test/std/containers/sequences/forwardlist/forwardlist.modifiers/insert_after_init.pass.cpp
    libcxx/trunk/test/std/containers/sequences/forwardlist/forwardlist.modifiers/insert_after_range.pass.cpp
    libcxx/trunk/test/std/containers/sequences/forwardlist/forwardlist.modifiers/insert_after_rv.pass.cpp
    libcxx/trunk/test/std/containers/sequences/forwardlist/forwardlist.modifiers/insert_after_size_value.pass.cpp
    libcxx/trunk/test/std/containers/sequences/forwardlist/forwardlist.modifiers/pop_front.pass.cpp
    libcxx/trunk/test/std/containers/sequences/forwardlist/forwardlist.modifiers/push_front_const.pass.cpp
    libcxx/trunk/test/std/containers/sequences/forwardlist/forwardlist.modifiers/push_front_exception_safety.pass.cpp
    libcxx/trunk/test/std/containers/sequences/forwardlist/forwardlist.modifiers/push_front_rv.pass.cpp
    libcxx/trunk/test/std/containers/sequences/forwardlist/forwardlist.modifiers/resize_size.pass.cpp
    libcxx/trunk/test/std/containers/sequences/forwardlist/forwardlist.modifiers/resize_size_value.pass.cpp
    libcxx/trunk/test/std/containers/sequences/forwardlist/forwardlist.ops/
    libcxx/trunk/test/std/containers/sequences/forwardlist/forwardlist.ops/merge.pass.cpp
    libcxx/trunk/test/std/containers/sequences/forwardlist/forwardlist.ops/merge_pred.pass.cpp
    libcxx/trunk/test/std/containers/sequences/forwardlist/forwardlist.ops/remove.pass.cpp
    libcxx/trunk/test/std/containers/sequences/forwardlist/forwardlist.ops/remove_if.pass.cpp
    libcxx/trunk/test/std/containers/sequences/forwardlist/forwardlist.ops/reverse.pass.cpp
    libcxx/trunk/test/std/containers/sequences/forwardlist/forwardlist.ops/sort.pass.cpp
    libcxx/trunk/test/std/containers/sequences/forwardlist/forwardlist.ops/sort_pred.pass.cpp
    libcxx/trunk/test/std/containers/sequences/forwardlist/forwardlist.ops/splice_after_flist.pass.cpp
    libcxx/trunk/test/std/containers/sequences/forwardlist/forwardlist.ops/splice_after_one.pass.cpp
    libcxx/trunk/test/std/containers/sequences/forwardlist/forwardlist.ops/splice_after_range.pass.cpp
    libcxx/trunk/test/std/containers/sequences/forwardlist/forwardlist.ops/unique.pass.cpp
    libcxx/trunk/test/std/containers/sequences/forwardlist/forwardlist.ops/unique_pred.pass.cpp
    libcxx/trunk/test/std/containers/sequences/forwardlist/forwardlist.spec/
    libcxx/trunk/test/std/containers/sequences/forwardlist/forwardlist.spec/equal.pass.cpp
    libcxx/trunk/test/std/containers/sequences/forwardlist/forwardlist.spec/member_swap.pass.cpp
    libcxx/trunk/test/std/containers/sequences/forwardlist/forwardlist.spec/non_member_swap.pass.cpp
    libcxx/trunk/test/std/containers/sequences/forwardlist/forwardlist.spec/relational.pass.cpp
    libcxx/trunk/test/std/containers/sequences/forwardlist/forwardlist.spec/swap_noexcept.pass.cpp
    libcxx/trunk/test/std/containers/sequences/forwardlist/max_size.pass.cpp
    libcxx/trunk/test/std/containers/sequences/forwardlist/types.pass.cpp
    libcxx/trunk/test/std/containers/sequences/forwardlist/version.pass.cpp
    libcxx/trunk/test/std/containers/sequences/list/
    libcxx/trunk/test/std/containers/sequences/list/db_back.pass.cpp
    libcxx/trunk/test/std/containers/sequences/list/db_cback.pass.cpp
    libcxx/trunk/test/std/containers/sequences/list/db_cfront.pass.cpp
    libcxx/trunk/test/std/containers/sequences/list/db_front.pass.cpp
    libcxx/trunk/test/std/containers/sequences/list/db_iterators_6.pass.cpp
    libcxx/trunk/test/std/containers/sequences/list/db_iterators_7.pass.cpp
    libcxx/trunk/test/std/containers/sequences/list/db_iterators_8.pass.cpp
    libcxx/trunk/test/std/containers/sequences/list/db_iterators_9.pass.cpp
    libcxx/trunk/test/std/containers/sequences/list/iterators.pass.cpp
    libcxx/trunk/test/std/containers/sequences/list/list.capacity/
    libcxx/trunk/test/std/containers/sequences/list/list.capacity/resize_size.pass.cpp
    libcxx/trunk/test/std/containers/sequences/list/list.capacity/resize_size_value.pass.cpp
    libcxx/trunk/test/std/containers/sequences/list/list.cons/
    libcxx/trunk/test/std/containers/sequences/list/list.cons/assign_copy.pass.cpp
    libcxx/trunk/test/std/containers/sequences/list/list.cons/assign_initializer_list.pass.cpp
    libcxx/trunk/test/std/containers/sequences/list/list.cons/assign_move.pass.cpp
    libcxx/trunk/test/std/containers/sequences/list/list.cons/copy.pass.cpp
    libcxx/trunk/test/std/containers/sequences/list/list.cons/copy_alloc.pass.cpp
    libcxx/trunk/test/std/containers/sequences/list/list.cons/default.pass.cpp
    libcxx/trunk/test/std/containers/sequences/list/list.cons/default_noexcept.pass.cpp
    libcxx/trunk/test/std/containers/sequences/list/list.cons/default_stack_alloc.pass.cpp
    libcxx/trunk/test/std/containers/sequences/list/list.cons/dtor_noexcept.pass.cpp
    libcxx/trunk/test/std/containers/sequences/list/list.cons/initializer_list.pass.cpp
    libcxx/trunk/test/std/containers/sequences/list/list.cons/initializer_list_alloc.pass.cpp
    libcxx/trunk/test/std/containers/sequences/list/list.cons/input_iterator.pass.cpp
    libcxx/trunk/test/std/containers/sequences/list/list.cons/move.pass.cpp
    libcxx/trunk/test/std/containers/sequences/list/list.cons/move_alloc.pass.cpp
    libcxx/trunk/test/std/containers/sequences/list/list.cons/move_assign_noexcept.pass.cpp
    libcxx/trunk/test/std/containers/sequences/list/list.cons/move_noexcept.pass.cpp
    libcxx/trunk/test/std/containers/sequences/list/list.cons/op_equal_initializer_list.pass.cpp
    libcxx/trunk/test/std/containers/sequences/list/list.cons/size_type.pass.cpp
    libcxx/trunk/test/std/containers/sequences/list/list.cons/size_value_alloc.pass.cpp
    libcxx/trunk/test/std/containers/sequences/list/list.modifiers/
    libcxx/trunk/test/std/containers/sequences/list/list.modifiers/clear.pass.cpp
    libcxx/trunk/test/std/containers/sequences/list/list.modifiers/emplace.pass.cpp
    libcxx/trunk/test/std/containers/sequences/list/list.modifiers/emplace_back.pass.cpp
    libcxx/trunk/test/std/containers/sequences/list/list.modifiers/emplace_front.pass.cpp
    libcxx/trunk/test/std/containers/sequences/list/list.modifiers/erase_iter.pass.cpp
    libcxx/trunk/test/std/containers/sequences/list/list.modifiers/erase_iter_db1.pass.cpp
    libcxx/trunk/test/std/containers/sequences/list/list.modifiers/erase_iter_db2.pass.cpp
    libcxx/trunk/test/std/containers/sequences/list/list.modifiers/erase_iter_iter.pass.cpp
    libcxx/trunk/test/std/containers/sequences/list/list.modifiers/erase_iter_iter_db1.pass.cpp
    libcxx/trunk/test/std/containers/sequences/list/list.modifiers/erase_iter_iter_db2.pass.cpp
    libcxx/trunk/test/std/containers/sequences/list/list.modifiers/erase_iter_iter_db3.pass.cpp
    libcxx/trunk/test/std/containers/sequences/list/list.modifiers/erase_iter_iter_db4.pass.cpp
    libcxx/trunk/test/std/containers/sequences/list/list.modifiers/insert_iter_initializer_list.pass.cpp
    libcxx/trunk/test/std/containers/sequences/list/list.modifiers/insert_iter_iter_iter.pass.cpp
    libcxx/trunk/test/std/containers/sequences/list/list.modifiers/insert_iter_rvalue.pass.cpp
    libcxx/trunk/test/std/containers/sequences/list/list.modifiers/insert_iter_size_value.pass.cpp
    libcxx/trunk/test/std/containers/sequences/list/list.modifiers/insert_iter_value.pass.cpp
    libcxx/trunk/test/std/containers/sequences/list/list.modifiers/pop_back.pass.cpp
    libcxx/trunk/test/std/containers/sequences/list/list.modifiers/pop_front.pass.cpp
    libcxx/trunk/test/std/containers/sequences/list/list.modifiers/push_back.pass.cpp
    libcxx/trunk/test/std/containers/sequences/list/list.modifiers/push_back_exception_safety.pass.cpp
    libcxx/trunk/test/std/containers/sequences/list/list.modifiers/push_back_rvalue.pass.cpp
    libcxx/trunk/test/std/containers/sequences/list/list.modifiers/push_front.pass.cpp
    libcxx/trunk/test/std/containers/sequences/list/list.modifiers/push_front_exception_safety.pass.cpp
    libcxx/trunk/test/std/containers/sequences/list/list.modifiers/push_front_rvalue.pass.cpp
    libcxx/trunk/test/std/containers/sequences/list/list.ops/
    libcxx/trunk/test/std/containers/sequences/list/list.ops/merge.pass.cpp
    libcxx/trunk/test/std/containers/sequences/list/list.ops/merge_comp.pass.cpp
    libcxx/trunk/test/std/containers/sequences/list/list.ops/remove.pass.cpp
    libcxx/trunk/test/std/containers/sequences/list/list.ops/remove_if.pass.cpp
    libcxx/trunk/test/std/containers/sequences/list/list.ops/reverse.pass.cpp
    libcxx/trunk/test/std/containers/sequences/list/list.ops/sort.pass.cpp
    libcxx/trunk/test/std/containers/sequences/list/list.ops/sort_comp.pass.cpp
    libcxx/trunk/test/std/containers/sequences/list/list.ops/splice_pos_list.pass.cpp
    libcxx/trunk/test/std/containers/sequences/list/list.ops/splice_pos_list_iter.pass.cpp
    libcxx/trunk/test/std/containers/sequences/list/list.ops/splice_pos_list_iter_iter.pass.cpp
    libcxx/trunk/test/std/containers/sequences/list/list.ops/unique.pass.cpp
    libcxx/trunk/test/std/containers/sequences/list/list.ops/unique_pred.pass.cpp
    libcxx/trunk/test/std/containers/sequences/list/list.special/
    libcxx/trunk/test/std/containers/sequences/list/list.special/db_swap_1.pass.cpp
    libcxx/trunk/test/std/containers/sequences/list/list.special/swap.pass.cpp
    libcxx/trunk/test/std/containers/sequences/list/list.special/swap_noexcept.pass.cpp
    libcxx/trunk/test/std/containers/sequences/list/types.pass.cpp
    libcxx/trunk/test/std/containers/sequences/list/version.pass.cpp
    libcxx/trunk/test/std/containers/sequences/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/containers/sequences/vector/
    libcxx/trunk/test/std/containers/sequences/vector.bool/
    libcxx/trunk/test/std/containers/sequences/vector.bool/assign_copy.pass.cpp
    libcxx/trunk/test/std/containers/sequences/vector.bool/assign_initializer_list.pass.cpp
    libcxx/trunk/test/std/containers/sequences/vector.bool/assign_move.pass.cpp
    libcxx/trunk/test/std/containers/sequences/vector.bool/capacity.pass.cpp
    libcxx/trunk/test/std/containers/sequences/vector.bool/construct_default.pass.cpp
    libcxx/trunk/test/std/containers/sequences/vector.bool/construct_iter_iter.pass.cpp
    libcxx/trunk/test/std/containers/sequences/vector.bool/construct_iter_iter_alloc.pass.cpp
    libcxx/trunk/test/std/containers/sequences/vector.bool/construct_size.pass.cpp
    libcxx/trunk/test/std/containers/sequences/vector.bool/construct_size_value.pass.cpp
    libcxx/trunk/test/std/containers/sequences/vector.bool/construct_size_value_alloc.pass.cpp
    libcxx/trunk/test/std/containers/sequences/vector.bool/copy.pass.cpp
    libcxx/trunk/test/std/containers/sequences/vector.bool/copy_alloc.pass.cpp
    libcxx/trunk/test/std/containers/sequences/vector.bool/default_noexcept.pass.cpp
    libcxx/trunk/test/std/containers/sequences/vector.bool/dtor_noexcept.pass.cpp
    libcxx/trunk/test/std/containers/sequences/vector.bool/emplace.pass.cpp
    libcxx/trunk/test/std/containers/sequences/vector.bool/emplace_back.pass.cpp
    libcxx/trunk/test/std/containers/sequences/vector.bool/erase_iter.pass.cpp
    libcxx/trunk/test/std/containers/sequences/vector.bool/erase_iter_iter.pass.cpp
    libcxx/trunk/test/std/containers/sequences/vector.bool/find.pass.cpp
    libcxx/trunk/test/std/containers/sequences/vector.bool/initializer_list.pass.cpp
    libcxx/trunk/test/std/containers/sequences/vector.bool/initializer_list_alloc.pass.cpp
    libcxx/trunk/test/std/containers/sequences/vector.bool/insert_iter_initializer_list.pass.cpp
    libcxx/trunk/test/std/containers/sequences/vector.bool/insert_iter_iter_iter.pass.cpp
    libcxx/trunk/test/std/containers/sequences/vector.bool/insert_iter_size_value.pass.cpp
    libcxx/trunk/test/std/containers/sequences/vector.bool/insert_iter_value.pass.cpp
    libcxx/trunk/test/std/containers/sequences/vector.bool/iterators.pass.cpp
    libcxx/trunk/test/std/containers/sequences/vector.bool/move.pass.cpp
    libcxx/trunk/test/std/containers/sequences/vector.bool/move_alloc.pass.cpp
    libcxx/trunk/test/std/containers/sequences/vector.bool/move_assign_noexcept.pass.cpp
    libcxx/trunk/test/std/containers/sequences/vector.bool/move_noexcept.pass.cpp
    libcxx/trunk/test/std/containers/sequences/vector.bool/op_equal_initializer_list.pass.cpp
    libcxx/trunk/test/std/containers/sequences/vector.bool/push_back.pass.cpp
    libcxx/trunk/test/std/containers/sequences/vector.bool/reserve.pass.cpp
    libcxx/trunk/test/std/containers/sequences/vector.bool/resize_size.pass.cpp
    libcxx/trunk/test/std/containers/sequences/vector.bool/resize_size_value.pass.cpp
    libcxx/trunk/test/std/containers/sequences/vector.bool/shrink_to_fit.pass.cpp
    libcxx/trunk/test/std/containers/sequences/vector.bool/swap.pass.cpp
    libcxx/trunk/test/std/containers/sequences/vector.bool/swap_noexcept.pass.cpp
    libcxx/trunk/test/std/containers/sequences/vector.bool/types.pass.cpp
    libcxx/trunk/test/std/containers/sequences/vector.bool/vector_bool.pass.cpp
    libcxx/trunk/test/std/containers/sequences/vector/asan.pass.cpp
    libcxx/trunk/test/std/containers/sequences/vector/asan_throw.pass.cc
    libcxx/trunk/test/std/containers/sequences/vector/const_value_type.pass.cpp
    libcxx/trunk/test/std/containers/sequences/vector/db_back.pass.cpp
    libcxx/trunk/test/std/containers/sequences/vector/db_cback.pass.cpp
    libcxx/trunk/test/std/containers/sequences/vector/db_cfront.pass.cpp
    libcxx/trunk/test/std/containers/sequences/vector/db_cindex.pass.cpp
    libcxx/trunk/test/std/containers/sequences/vector/db_front.pass.cpp
    libcxx/trunk/test/std/containers/sequences/vector/db_index.pass.cpp
    libcxx/trunk/test/std/containers/sequences/vector/db_iterators_2.pass.cpp
    libcxx/trunk/test/std/containers/sequences/vector/db_iterators_3.pass.cpp
    libcxx/trunk/test/std/containers/sequences/vector/db_iterators_4.pass.cpp
    libcxx/trunk/test/std/containers/sequences/vector/db_iterators_5.pass.cpp
    libcxx/trunk/test/std/containers/sequences/vector/db_iterators_6.pass.cpp
    libcxx/trunk/test/std/containers/sequences/vector/db_iterators_7.pass.cpp
    libcxx/trunk/test/std/containers/sequences/vector/db_iterators_8.pass.cpp
    libcxx/trunk/test/std/containers/sequences/vector/iterators.pass.cpp
    libcxx/trunk/test/std/containers/sequences/vector/types.pass.cpp
    libcxx/trunk/test/std/containers/sequences/vector/vector.capacity/
    libcxx/trunk/test/std/containers/sequences/vector/vector.capacity/capacity.pass.cpp
    libcxx/trunk/test/std/containers/sequences/vector/vector.capacity/reserve.pass.cpp
    libcxx/trunk/test/std/containers/sequences/vector/vector.capacity/resize_size.pass.cpp
    libcxx/trunk/test/std/containers/sequences/vector/vector.capacity/resize_size_value.pass.cpp
    libcxx/trunk/test/std/containers/sequences/vector/vector.capacity/shrink_to_fit.pass.cpp
    libcxx/trunk/test/std/containers/sequences/vector/vector.capacity/swap.pass.cpp
    libcxx/trunk/test/std/containers/sequences/vector/vector.cons/
    libcxx/trunk/test/std/containers/sequences/vector/vector.cons/assign_copy.pass.cpp
    libcxx/trunk/test/std/containers/sequences/vector/vector.cons/assign_initializer_list.pass.cpp
    libcxx/trunk/test/std/containers/sequences/vector/vector.cons/assign_move.pass.cpp
    libcxx/trunk/test/std/containers/sequences/vector/vector.cons/construct_default.pass.cpp
    libcxx/trunk/test/std/containers/sequences/vector/vector.cons/construct_iter_iter.pass.cpp
    libcxx/trunk/test/std/containers/sequences/vector/vector.cons/construct_iter_iter_alloc.pass.cpp
    libcxx/trunk/test/std/containers/sequences/vector/vector.cons/construct_size.pass.cpp
    libcxx/trunk/test/std/containers/sequences/vector/vector.cons/construct_size_value.pass.cpp
    libcxx/trunk/test/std/containers/sequences/vector/vector.cons/construct_size_value_alloc.pass.cpp
    libcxx/trunk/test/std/containers/sequences/vector/vector.cons/copy.pass.cpp
    libcxx/trunk/test/std/containers/sequences/vector/vector.cons/copy_alloc.pass.cpp
    libcxx/trunk/test/std/containers/sequences/vector/vector.cons/default.recursive.pass.cpp
    libcxx/trunk/test/std/containers/sequences/vector/vector.cons/default_noexcept.pass.cpp
    libcxx/trunk/test/std/containers/sequences/vector/vector.cons/dtor_noexcept.pass.cpp
    libcxx/trunk/test/std/containers/sequences/vector/vector.cons/initializer_list.pass.cpp
    libcxx/trunk/test/std/containers/sequences/vector/vector.cons/initializer_list_alloc.pass.cpp
    libcxx/trunk/test/std/containers/sequences/vector/vector.cons/move.pass.cpp
    libcxx/trunk/test/std/containers/sequences/vector/vector.cons/move_alloc.pass.cpp
    libcxx/trunk/test/std/containers/sequences/vector/vector.cons/move_assign_noexcept.pass.cpp
    libcxx/trunk/test/std/containers/sequences/vector/vector.cons/move_noexcept.pass.cpp
    libcxx/trunk/test/std/containers/sequences/vector/vector.cons/op_equal_initializer_list.pass.cpp
    libcxx/trunk/test/std/containers/sequences/vector/vector.data/
    libcxx/trunk/test/std/containers/sequences/vector/vector.data/data.pass.cpp
    libcxx/trunk/test/std/containers/sequences/vector/vector.data/data_const.pass.cpp
    libcxx/trunk/test/std/containers/sequences/vector/vector.modifiers/
    libcxx/trunk/test/std/containers/sequences/vector/vector.modifiers/emplace.pass.cpp
    libcxx/trunk/test/std/containers/sequences/vector/vector.modifiers/emplace_back.pass.cpp
    libcxx/trunk/test/std/containers/sequences/vector/vector.modifiers/emplace_extra.pass.cpp
    libcxx/trunk/test/std/containers/sequences/vector/vector.modifiers/erase_iter.pass.cpp
    libcxx/trunk/test/std/containers/sequences/vector/vector.modifiers/erase_iter_db1.pass.cpp
    libcxx/trunk/test/std/containers/sequences/vector/vector.modifiers/erase_iter_db2.pass.cpp
    libcxx/trunk/test/std/containers/sequences/vector/vector.modifiers/erase_iter_iter.pass.cpp
    libcxx/trunk/test/std/containers/sequences/vector/vector.modifiers/erase_iter_iter_db1.pass.cpp
    libcxx/trunk/test/std/containers/sequences/vector/vector.modifiers/erase_iter_iter_db2.pass.cpp
    libcxx/trunk/test/std/containers/sequences/vector/vector.modifiers/erase_iter_iter_db3.pass.cpp
    libcxx/trunk/test/std/containers/sequences/vector/vector.modifiers/erase_iter_iter_db4.pass.cpp
    libcxx/trunk/test/std/containers/sequences/vector/vector.modifiers/insert_iter_initializer_list.pass.cpp
    libcxx/trunk/test/std/containers/sequences/vector/vector.modifiers/insert_iter_iter_iter.pass.cpp
    libcxx/trunk/test/std/containers/sequences/vector/vector.modifiers/insert_iter_rvalue.pass.cpp
    libcxx/trunk/test/std/containers/sequences/vector/vector.modifiers/insert_iter_size_value.pass.cpp
    libcxx/trunk/test/std/containers/sequences/vector/vector.modifiers/insert_iter_value.pass.cpp
    libcxx/trunk/test/std/containers/sequences/vector/vector.modifiers/pop_back.pass.cpp
    libcxx/trunk/test/std/containers/sequences/vector/vector.modifiers/push_back.pass.cpp
    libcxx/trunk/test/std/containers/sequences/vector/vector.modifiers/push_back_exception_safety.pass.cpp
    libcxx/trunk/test/std/containers/sequences/vector/vector.modifiers/push_back_rvalue.pass.cpp
    libcxx/trunk/test/std/containers/sequences/vector/vector.special/
    libcxx/trunk/test/std/containers/sequences/vector/vector.special/db_swap_1.pass.cpp
    libcxx/trunk/test/std/containers/sequences/vector/vector.special/swap.pass.cpp
    libcxx/trunk/test/std/containers/sequences/vector/vector.special/swap_noexcept.pass.cpp
    libcxx/trunk/test/std/containers/sequences/vector/version.pass.cpp
    libcxx/trunk/test/std/containers/stack_allocator.h
    libcxx/trunk/test/std/containers/test_compare.h
    libcxx/trunk/test/std/containers/test_hash.h
    libcxx/trunk/test/std/containers/unord/
    libcxx/trunk/test/std/containers/unord/next_prime.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.map/
    libcxx/trunk/test/std/containers/unord/unord.map/bucket.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.map/bucket_count.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.map/bucket_size.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.map/compare.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.map/count.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.map/db_iterators_7.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.map/db_iterators_8.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.map/db_local_iterators_7.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.map/db_local_iterators_8.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.map/eq.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.map/equal_range_const.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.map/equal_range_non_const.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.map/find_const.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.map/find_non_const.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.map/iterators.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.map/load_factor.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.map/local_iterators.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.map/max_bucket_count.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.map/max_load_factor.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.map/max_size.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.map/rehash.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.map/reserve.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.map/swap_member.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.map/types.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.map/unord.map.cnstr/
    libcxx/trunk/test/std/containers/unord/unord.map/unord.map.cnstr/allocator.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.map/unord.map.cnstr/assign_copy.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.map/unord.map.cnstr/assign_init.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.map/unord.map.cnstr/assign_move.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.map/unord.map.cnstr/copy.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.map/unord.map.cnstr/copy_alloc.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.map/unord.map.cnstr/default.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.map/unord.map.cnstr/default_noexcept.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.map/unord.map.cnstr/dtor_noexcept.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.map/unord.map.cnstr/init.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.map/unord.map.cnstr/init_size.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.map/unord.map.cnstr/init_size_hash.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.map/unord.map.cnstr/init_size_hash_equal.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.map/unord.map.cnstr/init_size_hash_equal_allocator.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.map/unord.map.cnstr/move.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.map/unord.map.cnstr/move_alloc.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.map/unord.map.cnstr/move_assign_noexcept.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.map/unord.map.cnstr/move_noexcept.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.map/unord.map.cnstr/range.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.map/unord.map.cnstr/range_size.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.map/unord.map.cnstr/range_size_hash.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.map/unord.map.cnstr/range_size_hash_equal.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.map/unord.map.cnstr/range_size_hash_equal_allocator.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.map/unord.map.cnstr/size.fail.cpp
    libcxx/trunk/test/std/containers/unord/unord.map/unord.map.cnstr/size.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.map/unord.map.cnstr/size_hash.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.map/unord.map.cnstr/size_hash_equal.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.map/unord.map.cnstr/size_hash_equal_allocator.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.map/unord.map.elem/
    libcxx/trunk/test/std/containers/unord/unord.map/unord.map.elem/at.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.map/unord.map.elem/index.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.map/unord.map.elem/index_tuple.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.map/unord.map.swap/
    libcxx/trunk/test/std/containers/unord/unord.map/unord.map.swap/db_swap_1.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.map/unord.map.swap/swap_noexcept.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.map/unord.map.swap/swap_non_member.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.map/unorder.map.modifiers/
    libcxx/trunk/test/std/containers/unord/unord.map/unorder.map.modifiers/clear.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.map/unorder.map.modifiers/emplace.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.map/unorder.map.modifiers/emplace_hint.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.map/unorder.map.modifiers/erase_const_iter.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.map/unorder.map.modifiers/erase_iter_db1.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.map/unorder.map.modifiers/erase_iter_db2.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.map/unorder.map.modifiers/erase_iter_iter_db1.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.map/unorder.map.modifiers/erase_iter_iter_db2.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.map/unorder.map.modifiers/erase_iter_iter_db3.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.map/unorder.map.modifiers/erase_iter_iter_db4.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.map/unorder.map.modifiers/erase_key.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.map/unorder.map.modifiers/erase_range.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.map/unorder.map.modifiers/insert_const_lvalue.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.map/unorder.map.modifiers/insert_hint_const_lvalue.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.map/unorder.map.modifiers/insert_hint_rvalue.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.map/unorder.map.modifiers/insert_init.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.map/unorder.map.modifiers/insert_range.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.map/unorder.map.modifiers/insert_rvalue.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.map/version.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multimap/
    libcxx/trunk/test/std/containers/unord/unord.multimap/bucket.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multimap/bucket_count.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multimap/bucket_size.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multimap/count.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multimap/db_iterators_7.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multimap/db_iterators_8.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multimap/db_local_iterators_7.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multimap/db_local_iterators_8.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multimap/eq.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multimap/equal_range_const.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multimap/equal_range_non_const.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multimap/find_const.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multimap/find_non_const.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multimap/iterators.fail.cpp
    libcxx/trunk/test/std/containers/unord/unord.multimap/iterators.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multimap/load_factor.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multimap/local_iterators.fail.cpp
    libcxx/trunk/test/std/containers/unord/unord.multimap/local_iterators.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multimap/max_bucket_count.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multimap/max_load_factor.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multimap/max_size.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multimap/rehash.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multimap/reserve.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multimap/scary.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multimap/swap_member.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multimap/types.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/
    libcxx/trunk/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/allocator.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/assign_copy.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/assign_init.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/assign_move.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/copy.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/copy_alloc.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/default.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/default_noexcept.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/dtor_noexcept.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/init.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/init_size.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/init_size_hash.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/init_size_hash_equal.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/init_size_hash_equal_allocator.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/move.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/move_alloc.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/move_assign_noexcept.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/move_noexcept.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/range.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/range_size.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/range_size_hash.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/range_size_hash_equal.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/range_size_hash_equal_allocator.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/size.fail.cpp
    libcxx/trunk/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/size.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/size_hash.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/size_hash_equal.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/size_hash_equal_allocator.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multimap/unord.multimap.modifiers/
    libcxx/trunk/test/std/containers/unord/unord.multimap/unord.multimap.modifiers/clear.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multimap/unord.multimap.modifiers/emplace.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multimap/unord.multimap.modifiers/emplace_hint.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multimap/unord.multimap.modifiers/erase_const_iter.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multimap/unord.multimap.modifiers/erase_iter_db1.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multimap/unord.multimap.modifiers/erase_iter_db2.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multimap/unord.multimap.modifiers/erase_iter_iter_db1.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multimap/unord.multimap.modifiers/erase_iter_iter_db2.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multimap/unord.multimap.modifiers/erase_iter_iter_db3.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multimap/unord.multimap.modifiers/erase_iter_iter_db4.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multimap/unord.multimap.modifiers/erase_key.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multimap/unord.multimap.modifiers/erase_range.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multimap/unord.multimap.modifiers/insert_const_lvalue.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multimap/unord.multimap.modifiers/insert_hint_const_lvalue.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multimap/unord.multimap.modifiers/insert_hint_rvalue.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multimap/unord.multimap.modifiers/insert_init.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multimap/unord.multimap.modifiers/insert_range.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multimap/unord.multimap.modifiers/insert_rvalue.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multimap/unord.multimap.swap/
    libcxx/trunk/test/std/containers/unord/unord.multimap/unord.multimap.swap/db_swap_1.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multimap/unord.multimap.swap/swap_noexcept.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multimap/unord.multimap.swap/swap_non_member.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multiset/
    libcxx/trunk/test/std/containers/unord/unord.multiset/bucket.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multiset/bucket_count.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multiset/bucket_size.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multiset/clear.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multiset/count.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multiset/db_iterators_7.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multiset/db_iterators_8.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multiset/db_local_iterators_7.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multiset/db_local_iterators_8.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multiset/emplace.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multiset/emplace_hint.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multiset/eq.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multiset/equal_range_const.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multiset/equal_range_non_const.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multiset/erase_const_iter.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multiset/erase_iter_db1.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multiset/erase_iter_db2.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multiset/erase_iter_iter_db1.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multiset/erase_iter_iter_db2.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multiset/erase_iter_iter_db3.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multiset/erase_iter_iter_db4.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multiset/erase_key.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multiset/erase_range.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multiset/find_const.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multiset/find_non_const.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multiset/insert_const_lvalue.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multiset/insert_hint_const_lvalue.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multiset/insert_hint_rvalue.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multiset/insert_init.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multiset/insert_range.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multiset/insert_rvalue.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multiset/iterators.fail.cpp
    libcxx/trunk/test/std/containers/unord/unord.multiset/iterators.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multiset/load_factor.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multiset/local_iterators.fail.cpp
    libcxx/trunk/test/std/containers/unord/unord.multiset/local_iterators.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multiset/max_bucket_count.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multiset/max_load_factor.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multiset/max_size.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multiset/rehash.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multiset/reserve.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multiset/scary.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multiset/swap_member.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multiset/types.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/
    libcxx/trunk/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/allocator.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/assign_copy.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/assign_init.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/assign_move.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/copy.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/copy_alloc.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/default.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/default_noexcept.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/dtor_noexcept.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/init.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/init_size.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/init_size_hash.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/init_size_hash_equal.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/init_size_hash_equal_allocator.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/move.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/move_alloc.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/move_assign_noexcept.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/move_noexcept.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/range.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/range_size.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/range_size_hash.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/range_size_hash_equal.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/range_size_hash_equal_allocator.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/size.fail.cpp
    libcxx/trunk/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/size.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/size_hash.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/size_hash_equal.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/size_hash_equal_allocator.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multiset/unord.multiset.swap/
    libcxx/trunk/test/std/containers/unord/unord.multiset/unord.multiset.swap/db_swap_1.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multiset/unord.multiset.swap/swap_noexcept.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.multiset/unord.multiset.swap/swap_non_member.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.set/
    libcxx/trunk/test/std/containers/unord/unord.set/bucket.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.set/bucket_count.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.set/bucket_size.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.set/clear.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.set/count.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.set/db_iterators_7.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.set/db_iterators_8.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.set/db_local_iterators_7.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.set/db_local_iterators_8.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.set/emplace.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.set/emplace_hint.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.set/eq.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.set/equal_range_const.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.set/equal_range_non_const.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.set/erase_const_iter.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.set/erase_iter_db1.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.set/erase_iter_db2.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.set/erase_iter_iter_db1.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.set/erase_iter_iter_db2.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.set/erase_iter_iter_db3.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.set/erase_iter_iter_db4.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.set/erase_key.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.set/erase_range.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.set/find_const.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.set/find_non_const.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.set/insert_const_lvalue.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.set/insert_hint_const_lvalue.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.set/insert_hint_rvalue.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.set/insert_init.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.set/insert_range.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.set/insert_rvalue.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.set/iterators.fail.cpp
    libcxx/trunk/test/std/containers/unord/unord.set/iterators.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.set/load_factor.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.set/local_iterators.fail.cpp
    libcxx/trunk/test/std/containers/unord/unord.set/local_iterators.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.set/max_bucket_count.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.set/max_load_factor.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.set/max_size.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.set/rehash.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.set/reserve.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.set/swap_member.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.set/types.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.set/unord.set.cnstr/
    libcxx/trunk/test/std/containers/unord/unord.set/unord.set.cnstr/allocator.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.set/unord.set.cnstr/assign_copy.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.set/unord.set.cnstr/assign_init.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.set/unord.set.cnstr/assign_move.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.set/unord.set.cnstr/copy.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.set/unord.set.cnstr/copy_alloc.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.set/unord.set.cnstr/default.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.set/unord.set.cnstr/default_noexcept.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.set/unord.set.cnstr/dtor_noexcept.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.set/unord.set.cnstr/init.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.set/unord.set.cnstr/init_size.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.set/unord.set.cnstr/init_size_hash.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.set/unord.set.cnstr/init_size_hash_equal.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.set/unord.set.cnstr/init_size_hash_equal_allocator.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.set/unord.set.cnstr/move.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.set/unord.set.cnstr/move_alloc.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.set/unord.set.cnstr/move_assign_noexcept.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.set/unord.set.cnstr/move_noexcept.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.set/unord.set.cnstr/range.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.set/unord.set.cnstr/range_size.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.set/unord.set.cnstr/range_size_hash.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.set/unord.set.cnstr/range_size_hash_equal.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.set/unord.set.cnstr/range_size_hash_equal_allocator.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.set/unord.set.cnstr/size.fail.cpp
    libcxx/trunk/test/std/containers/unord/unord.set/unord.set.cnstr/size.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.set/unord.set.cnstr/size_hash.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.set/unord.set.cnstr/size_hash_equal.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.set/unord.set.cnstr/size_hash_equal_allocator.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.set/unord.set.swap/
    libcxx/trunk/test/std/containers/unord/unord.set/unord.set.swap/db_swap_1.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.set/unord.set.swap/swap_noexcept.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.set/unord.set.swap/swap_non_member.pass.cpp
    libcxx/trunk/test/std/containers/unord/unord.set/version.pass.cpp
    libcxx/trunk/test/std/depr/
    libcxx/trunk/test/std/depr/depr.auto.ptr/
    libcxx/trunk/test/std/depr/depr.auto.ptr/auto.ptr/
    libcxx/trunk/test/std/depr/depr.auto.ptr/auto.ptr/A.h
    libcxx/trunk/test/std/depr/depr.auto.ptr/auto.ptr/AB.h
    libcxx/trunk/test/std/depr/depr.auto.ptr/auto.ptr/auto.ptr.cons/
    libcxx/trunk/test/std/depr/depr.auto.ptr/auto.ptr/auto.ptr.cons/assignment.fail.cpp
    libcxx/trunk/test/std/depr/depr.auto.ptr/auto.ptr/auto.ptr.cons/assignment.pass.cpp
    libcxx/trunk/test/std/depr/depr.auto.ptr/auto.ptr/auto.ptr.cons/convert.fail.cpp
    libcxx/trunk/test/std/depr/depr.auto.ptr/auto.ptr/auto.ptr.cons/convert.pass.cpp
    libcxx/trunk/test/std/depr/depr.auto.ptr/auto.ptr/auto.ptr.cons/convert_assignment.fail.cpp
    libcxx/trunk/test/std/depr/depr.auto.ptr/auto.ptr/auto.ptr.cons/convert_assignment.pass.cpp
    libcxx/trunk/test/std/depr/depr.auto.ptr/auto.ptr/auto.ptr.cons/copy.fail.cpp
    libcxx/trunk/test/std/depr/depr.auto.ptr/auto.ptr/auto.ptr.cons/copy.pass.cpp
    libcxx/trunk/test/std/depr/depr.auto.ptr/auto.ptr/auto.ptr.cons/explicit.fail.cpp
    libcxx/trunk/test/std/depr/depr.auto.ptr/auto.ptr/auto.ptr.cons/pointer.pass.cpp
    libcxx/trunk/test/std/depr/depr.auto.ptr/auto.ptr/auto.ptr.conv/
    libcxx/trunk/test/std/depr/depr.auto.ptr/auto.ptr/auto.ptr.conv/assign_from_auto_ptr_ref.pass.cpp
    libcxx/trunk/test/std/depr/depr.auto.ptr/auto.ptr/auto.ptr.conv/convert_from_auto_ptr_ref.pass.cpp
    libcxx/trunk/test/std/depr/depr.auto.ptr/auto.ptr/auto.ptr.conv/convert_to_auto_ptr.pass.cpp
    libcxx/trunk/test/std/depr/depr.auto.ptr/auto.ptr/auto.ptr.conv/convert_to_auto_ptr_ref.pass.cpp
    libcxx/trunk/test/std/depr/depr.auto.ptr/auto.ptr/auto.ptr.members/
    libcxx/trunk/test/std/depr/depr.auto.ptr/auto.ptr/auto.ptr.members/arrow.pass.cpp
    libcxx/trunk/test/std/depr/depr.auto.ptr/auto.ptr/auto.ptr.members/deref.pass.cpp
    libcxx/trunk/test/std/depr/depr.auto.ptr/auto.ptr/auto.ptr.members/release.pass.cpp
    libcxx/trunk/test/std/depr/depr.auto.ptr/auto.ptr/auto.ptr.members/reset.pass.cpp
    libcxx/trunk/test/std/depr/depr.auto.ptr/auto.ptr/element_type.pass.cpp
    libcxx/trunk/test/std/depr/depr.auto.ptr/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/depr/depr.c.headers/
    libcxx/trunk/test/std/depr/depr.c.headers/assert_h.pass.cpp
    libcxx/trunk/test/std/depr/depr.c.headers/ciso646.pass.cpp
    libcxx/trunk/test/std/depr/depr.c.headers/complex.h.pass.cpp
    libcxx/trunk/test/std/depr/depr.c.headers/ctype_h.pass.cpp
    libcxx/trunk/test/std/depr/depr.c.headers/errno_h.pass.cpp
    libcxx/trunk/test/std/depr/depr.c.headers/fenv_h.pass.cpp
    libcxx/trunk/test/std/depr/depr.c.headers/float_h.pass.cpp
    libcxx/trunk/test/std/depr/depr.c.headers/inttypes_h.pass.cpp
    libcxx/trunk/test/std/depr/depr.c.headers/iso646_h.pass.cpp
    libcxx/trunk/test/std/depr/depr.c.headers/limits_h.pass.cpp
    libcxx/trunk/test/std/depr/depr.c.headers/locale_h.pass.cpp
    libcxx/trunk/test/std/depr/depr.c.headers/math_h.pass.cpp
    libcxx/trunk/test/std/depr/depr.c.headers/setjmp_h.pass.cpp
    libcxx/trunk/test/std/depr/depr.c.headers/signal_h.pass.cpp
    libcxx/trunk/test/std/depr/depr.c.headers/stdarg_h.pass.cpp
    libcxx/trunk/test/std/depr/depr.c.headers/stdbool_h.pass.cpp
    libcxx/trunk/test/std/depr/depr.c.headers/stddef_h.pass.cpp
    libcxx/trunk/test/std/depr/depr.c.headers/stdint_h.pass.cpp
    libcxx/trunk/test/std/depr/depr.c.headers/stdio_h.pass.cpp
    libcxx/trunk/test/std/depr/depr.c.headers/stdlib_h.pass.cpp
    libcxx/trunk/test/std/depr/depr.c.headers/string_h.pass.cpp
    libcxx/trunk/test/std/depr/depr.c.headers/tgmath_h.pass.cpp
    libcxx/trunk/test/std/depr/depr.c.headers/time_h.pass.cpp
    libcxx/trunk/test/std/depr/depr.c.headers/uchar_h.pass.cpp
    libcxx/trunk/test/std/depr/depr.c.headers/wchar_h.pass.cpp
    libcxx/trunk/test/std/depr/depr.c.headers/wctype_h.pass.cpp
    libcxx/trunk/test/std/depr/depr.function.objects/
    libcxx/trunk/test/std/depr/depr.function.objects/depr.adaptors/
    libcxx/trunk/test/std/depr/depr.function.objects/depr.adaptors/depr.function.pointer.adaptors/
    libcxx/trunk/test/std/depr/depr.function.objects/depr.adaptors/depr.function.pointer.adaptors/pointer_to_binary_function.pass.cpp
    libcxx/trunk/test/std/depr/depr.function.objects/depr.adaptors/depr.function.pointer.adaptors/pointer_to_unary_function.pass.cpp
    libcxx/trunk/test/std/depr/depr.function.objects/depr.adaptors/depr.function.pointer.adaptors/ptr_fun1.pass.cpp
    libcxx/trunk/test/std/depr/depr.function.objects/depr.adaptors/depr.function.pointer.adaptors/ptr_fun2.pass.cpp
    libcxx/trunk/test/std/depr/depr.function.objects/depr.adaptors/depr.member.pointer.adaptors/
    libcxx/trunk/test/std/depr/depr.function.objects/depr.adaptors/depr.member.pointer.adaptors/const_mem_fun.pass.cpp
    libcxx/trunk/test/std/depr/depr.function.objects/depr.adaptors/depr.member.pointer.adaptors/const_mem_fun1.pass.cpp
    libcxx/trunk/test/std/depr/depr.function.objects/depr.adaptors/depr.member.pointer.adaptors/const_mem_fun1_ref_t.pass.cpp
    libcxx/trunk/test/std/depr/depr.function.objects/depr.adaptors/depr.member.pointer.adaptors/const_mem_fun1_t.pass.cpp
    libcxx/trunk/test/std/depr/depr.function.objects/depr.adaptors/depr.member.pointer.adaptors/const_mem_fun_ref.pass.cpp
    libcxx/trunk/test/std/depr/depr.function.objects/depr.adaptors/depr.member.pointer.adaptors/const_mem_fun_ref1.pass.cpp
    libcxx/trunk/test/std/depr/depr.function.objects/depr.adaptors/depr.member.pointer.adaptors/const_mem_fun_ref_t.pass.cpp
    libcxx/trunk/test/std/depr/depr.function.objects/depr.adaptors/depr.member.pointer.adaptors/const_mem_fun_t.pass.cpp
    libcxx/trunk/test/std/depr/depr.function.objects/depr.adaptors/depr.member.pointer.adaptors/mem_fun.pass.cpp
    libcxx/trunk/test/std/depr/depr.function.objects/depr.adaptors/depr.member.pointer.adaptors/mem_fun1.pass.cpp
    libcxx/trunk/test/std/depr/depr.function.objects/depr.adaptors/depr.member.pointer.adaptors/mem_fun1_ref_t.pass.cpp
    libcxx/trunk/test/std/depr/depr.function.objects/depr.adaptors/depr.member.pointer.adaptors/mem_fun1_t.pass.cpp
    libcxx/trunk/test/std/depr/depr.function.objects/depr.adaptors/depr.member.pointer.adaptors/mem_fun_ref.pass.cpp
    libcxx/trunk/test/std/depr/depr.function.objects/depr.adaptors/depr.member.pointer.adaptors/mem_fun_ref1.pass.cpp
    libcxx/trunk/test/std/depr/depr.function.objects/depr.adaptors/depr.member.pointer.adaptors/mem_fun_ref_t.pass.cpp
    libcxx/trunk/test/std/depr/depr.function.objects/depr.adaptors/depr.member.pointer.adaptors/mem_fun_t.pass.cpp
    libcxx/trunk/test/std/depr/depr.function.objects/depr.adaptors/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/depr/depr.function.objects/depr.base/
    libcxx/trunk/test/std/depr/depr.function.objects/depr.base/binary_function.pass.cpp
    libcxx/trunk/test/std/depr/depr.function.objects/depr.base/unary_function.pass.cpp
    libcxx/trunk/test/std/depr/depr.function.objects/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/depr/depr.ios.members/
    libcxx/trunk/test/std/depr/depr.ios.members/io_state.pass.cpp
    libcxx/trunk/test/std/depr/depr.ios.members/open_mode.pass.cpp
    libcxx/trunk/test/std/depr/depr.ios.members/seek_dir.pass.cpp
    libcxx/trunk/test/std/depr/depr.ios.members/streamoff.pass.cpp
    libcxx/trunk/test/std/depr/depr.ios.members/streampos.pass.cpp
    libcxx/trunk/test/std/depr/depr.lib.binders/
    libcxx/trunk/test/std/depr/depr.lib.binders/depr.lib.bind.1st/
    libcxx/trunk/test/std/depr/depr.lib.binders/depr.lib.bind.1st/bind1st.pass.cpp
    libcxx/trunk/test/std/depr/depr.lib.binders/depr.lib.bind.2nd/
    libcxx/trunk/test/std/depr/depr.lib.binders/depr.lib.bind.2nd/bind2nd.pass.cpp
    libcxx/trunk/test/std/depr/depr.lib.binders/depr.lib.binder.1st/
    libcxx/trunk/test/std/depr/depr.lib.binders/depr.lib.binder.1st/binder1st.pass.cpp
    libcxx/trunk/test/std/depr/depr.lib.binders/depr.lib.binder.2nd/
    libcxx/trunk/test/std/depr/depr.lib.binders/depr.lib.binder.2nd/binder2nd.pass.cpp
    libcxx/trunk/test/std/depr/depr.lib.binders/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/depr/depr.lib.binders/test_func.h
    libcxx/trunk/test/std/depr/depr.str.strstreams/
    libcxx/trunk/test/std/depr/depr.str.strstreams/depr.istrstream/
    libcxx/trunk/test/std/depr/depr.str.strstreams/depr.istrstream/depr.istrstream.cons/
    libcxx/trunk/test/std/depr/depr.str.strstreams/depr.istrstream/depr.istrstream.cons/ccp.pass.cpp
    libcxx/trunk/test/std/depr/depr.str.strstreams/depr.istrstream/depr.istrstream.cons/ccp_size.pass.cpp
    libcxx/trunk/test/std/depr/depr.str.strstreams/depr.istrstream/depr.istrstream.cons/cp.pass.cpp
    libcxx/trunk/test/std/depr/depr.str.strstreams/depr.istrstream/depr.istrstream.cons/cp_size.pass.cpp
    libcxx/trunk/test/std/depr/depr.str.strstreams/depr.istrstream/depr.istrstream.members/
    libcxx/trunk/test/std/depr/depr.str.strstreams/depr.istrstream/depr.istrstream.members/rdbuf.pass.cpp
    libcxx/trunk/test/std/depr/depr.str.strstreams/depr.istrstream/depr.istrstream.members/str.pass.cpp
    libcxx/trunk/test/std/depr/depr.str.strstreams/depr.istrstream/types.pass.cpp
    libcxx/trunk/test/std/depr/depr.str.strstreams/depr.ostrstream/
    libcxx/trunk/test/std/depr/depr.str.strstreams/depr.ostrstream/depr.ostrstream.cons/
    libcxx/trunk/test/std/depr/depr.str.strstreams/depr.ostrstream/depr.ostrstream.cons/cp_size_mode.pass.cpp
    libcxx/trunk/test/std/depr/depr.str.strstreams/depr.ostrstream/depr.ostrstream.cons/default.pass.cpp
    libcxx/trunk/test/std/depr/depr.str.strstreams/depr.ostrstream/depr.ostrstream.members/
    libcxx/trunk/test/std/depr/depr.str.strstreams/depr.ostrstream/depr.ostrstream.members/freeze.pass.cpp
    libcxx/trunk/test/std/depr/depr.str.strstreams/depr.ostrstream/depr.ostrstream.members/pcount.pass.cpp
    libcxx/trunk/test/std/depr/depr.str.strstreams/depr.ostrstream/depr.ostrstream.members/rdbuf.pass.cpp
    libcxx/trunk/test/std/depr/depr.str.strstreams/depr.ostrstream/depr.ostrstream.members/str.pass.cpp
    libcxx/trunk/test/std/depr/depr.str.strstreams/depr.ostrstream/types.pass.cpp
    libcxx/trunk/test/std/depr/depr.str.strstreams/depr.strstream/
    libcxx/trunk/test/std/depr/depr.str.strstreams/depr.strstream/depr.strstream.cons/
    libcxx/trunk/test/std/depr/depr.str.strstreams/depr.strstream/depr.strstream.cons/cp_size_mode.pass.cpp
    libcxx/trunk/test/std/depr/depr.str.strstreams/depr.strstream/depr.strstream.cons/default.pass.cpp
    libcxx/trunk/test/std/depr/depr.str.strstreams/depr.strstream/depr.strstream.dest/
    libcxx/trunk/test/std/depr/depr.str.strstreams/depr.strstream/depr.strstream.dest/rdbuf.pass.cpp
    libcxx/trunk/test/std/depr/depr.str.strstreams/depr.strstream/depr.strstream.oper/
    libcxx/trunk/test/std/depr/depr.str.strstreams/depr.strstream/depr.strstream.oper/freeze.pass.cpp
    libcxx/trunk/test/std/depr/depr.str.strstreams/depr.strstream/depr.strstream.oper/pcount.pass.cpp
    libcxx/trunk/test/std/depr/depr.str.strstreams/depr.strstream/depr.strstream.oper/str.pass.cpp
    libcxx/trunk/test/std/depr/depr.str.strstreams/depr.strstream/types.pass.cpp
    libcxx/trunk/test/std/depr/depr.str.strstreams/depr.strstreambuf/
    libcxx/trunk/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.cons/
    libcxx/trunk/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.cons/ccp_size.pass.cpp
    libcxx/trunk/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.cons/cp_size_cp.pass.cpp
    libcxx/trunk/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.cons/cscp_size.pass.cpp
    libcxx/trunk/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.cons/cucp_size.pass.cpp
    libcxx/trunk/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.cons/custom_alloc.pass.cpp
    libcxx/trunk/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.cons/default.pass.cpp
    libcxx/trunk/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.cons/scp_size_scp.pass.cpp
    libcxx/trunk/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.cons/ucp_size_ucp.pass.cpp
    libcxx/trunk/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.members/
    libcxx/trunk/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.members/freeze.pass.cpp
    libcxx/trunk/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.members/pcount.pass.cpp
    libcxx/trunk/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.members/str.pass.cpp
    libcxx/trunk/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.virtuals/
    libcxx/trunk/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.virtuals/overflow.pass.cpp
    libcxx/trunk/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.virtuals/pbackfail.pass.cpp
    libcxx/trunk/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.virtuals/seekoff.pass.cpp
    libcxx/trunk/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.virtuals/seekpos.pass.cpp
    libcxx/trunk/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.virtuals/setbuf.pass.cpp
    libcxx/trunk/test/std/depr/depr.str.strstreams/depr.strstreambuf/depr.strstreambuf.virtuals/underflow.pass.cpp
    libcxx/trunk/test/std/depr/depr.str.strstreams/depr.strstreambuf/types.pass.cpp
    libcxx/trunk/test/std/depr/depr.str.strstreams/version.pass.cpp
    libcxx/trunk/test/std/depr/exception.unexpected/
    libcxx/trunk/test/std/depr/exception.unexpected/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/depr/exception.unexpected/set.unexpected/
    libcxx/trunk/test/std/depr/exception.unexpected/set.unexpected/get_unexpected.pass.cpp
    libcxx/trunk/test/std/depr/exception.unexpected/set.unexpected/set_unexpected.pass.cpp
    libcxx/trunk/test/std/depr/exception.unexpected/unexpected/
    libcxx/trunk/test/std/depr/exception.unexpected/unexpected.handler/
    libcxx/trunk/test/std/depr/exception.unexpected/unexpected.handler/unexpected_handler.pass.cpp
    libcxx/trunk/test/std/depr/exception.unexpected/unexpected/unexpected.pass.cpp
    libcxx/trunk/test/std/depr/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/diagnostics/
    libcxx/trunk/test/std/diagnostics/assertions/
    libcxx/trunk/test/std/diagnostics/assertions/cassert.pass.cpp
    libcxx/trunk/test/std/diagnostics/diagnostics.general/
    libcxx/trunk/test/std/diagnostics/diagnostics.general/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/diagnostics/errno/
    libcxx/trunk/test/std/diagnostics/errno/cerrno.pass.cpp
    libcxx/trunk/test/std/diagnostics/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/diagnostics/std.exceptions/
    libcxx/trunk/test/std/diagnostics/std.exceptions/domain.error/
    libcxx/trunk/test/std/diagnostics/std.exceptions/domain.error/domain_error.pass.cpp
    libcxx/trunk/test/std/diagnostics/std.exceptions/invalid.argument/
    libcxx/trunk/test/std/diagnostics/std.exceptions/invalid.argument/invalid_argument.pass.cpp
    libcxx/trunk/test/std/diagnostics/std.exceptions/length.error/
    libcxx/trunk/test/std/diagnostics/std.exceptions/length.error/length_error.pass.cpp
    libcxx/trunk/test/std/diagnostics/std.exceptions/logic.error/
    libcxx/trunk/test/std/diagnostics/std.exceptions/logic.error/logic_error.pass.cpp
    libcxx/trunk/test/std/diagnostics/std.exceptions/out.of.range/
    libcxx/trunk/test/std/diagnostics/std.exceptions/out.of.range/out_of_range.pass.cpp
    libcxx/trunk/test/std/diagnostics/std.exceptions/overflow.error/
    libcxx/trunk/test/std/diagnostics/std.exceptions/overflow.error/overflow_error.pass.cpp
    libcxx/trunk/test/std/diagnostics/std.exceptions/range.error/
    libcxx/trunk/test/std/diagnostics/std.exceptions/range.error/range_error.pass.cpp
    libcxx/trunk/test/std/diagnostics/std.exceptions/runtime.error/
    libcxx/trunk/test/std/diagnostics/std.exceptions/runtime.error/runtime_error.pass.cpp
    libcxx/trunk/test/std/diagnostics/std.exceptions/underflow.error/
    libcxx/trunk/test/std/diagnostics/std.exceptions/underflow.error/underflow_error.pass.cpp
    libcxx/trunk/test/std/diagnostics/std.exceptions/version.pass.cpp
    libcxx/trunk/test/std/diagnostics/syserr/
    libcxx/trunk/test/std/diagnostics/syserr/errc.pass.cpp
    libcxx/trunk/test/std/diagnostics/syserr/syserr.compare/
    libcxx/trunk/test/std/diagnostics/syserr/syserr.compare/eq_error_code_error_code.pass.cpp
    libcxx/trunk/test/std/diagnostics/syserr/syserr.errcat/
    libcxx/trunk/test/std/diagnostics/syserr/syserr.errcat/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.derived/
    libcxx/trunk/test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.derived/message.pass.cpp
    libcxx/trunk/test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.nonvirtuals/
    libcxx/trunk/test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.nonvirtuals/default_ctor.pass.cpp
    libcxx/trunk/test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.nonvirtuals/eq.pass.cpp
    libcxx/trunk/test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.nonvirtuals/lt.pass.cpp
    libcxx/trunk/test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.nonvirtuals/neq.pass.cpp
    libcxx/trunk/test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.objects/
    libcxx/trunk/test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.objects/generic_category.pass.cpp
    libcxx/trunk/test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.objects/system_category.pass.cpp
    libcxx/trunk/test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.overview/
    libcxx/trunk/test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.overview/error_category.pass.cpp
    libcxx/trunk/test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.virtuals/
    libcxx/trunk/test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.virtuals/default_error_condition.pass.cpp
    libcxx/trunk/test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.virtuals/equivalent_error_code_int.pass.cpp
    libcxx/trunk/test/std/diagnostics/syserr/syserr.errcat/syserr.errcat.virtuals/equivalent_int_error_condition.pass.cpp
    libcxx/trunk/test/std/diagnostics/syserr/syserr.errcode/
    libcxx/trunk/test/std/diagnostics/syserr/syserr.errcode/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/diagnostics/syserr/syserr.errcode/syserr.errcode.constructors/
    libcxx/trunk/test/std/diagnostics/syserr/syserr.errcode/syserr.errcode.constructors/ErrorCodeEnum.pass.cpp
    libcxx/trunk/test/std/diagnostics/syserr/syserr.errcode/syserr.errcode.constructors/default.pass.cpp
    libcxx/trunk/test/std/diagnostics/syserr/syserr.errcode/syserr.errcode.constructors/int_error_category.pass.cpp
    libcxx/trunk/test/std/diagnostics/syserr/syserr.errcode/syserr.errcode.modifiers/
    libcxx/trunk/test/std/diagnostics/syserr/syserr.errcode/syserr.errcode.modifiers/ErrorCodeEnum.pass.cpp
    libcxx/trunk/test/std/diagnostics/syserr/syserr.errcode/syserr.errcode.modifiers/assign.pass.cpp
    libcxx/trunk/test/std/diagnostics/syserr/syserr.errcode/syserr.errcode.modifiers/clear.pass.cpp
    libcxx/trunk/test/std/diagnostics/syserr/syserr.errcode/syserr.errcode.nonmembers/
    libcxx/trunk/test/std/diagnostics/syserr/syserr.errcode/syserr.errcode.nonmembers/lt.pass.cpp
    libcxx/trunk/test/std/diagnostics/syserr/syserr.errcode/syserr.errcode.nonmembers/make_error_code.pass.cpp
    libcxx/trunk/test/std/diagnostics/syserr/syserr.errcode/syserr.errcode.nonmembers/stream_inserter.pass.cpp
    libcxx/trunk/test/std/diagnostics/syserr/syserr.errcode/syserr.errcode.observers/
    libcxx/trunk/test/std/diagnostics/syserr/syserr.errcode/syserr.errcode.observers/bool.pass.cpp
    libcxx/trunk/test/std/diagnostics/syserr/syserr.errcode/syserr.errcode.observers/category.pass.cpp
    libcxx/trunk/test/std/diagnostics/syserr/syserr.errcode/syserr.errcode.observers/default_error_condition.pass.cpp
    libcxx/trunk/test/std/diagnostics/syserr/syserr.errcode/syserr.errcode.observers/message.pass.cpp
    libcxx/trunk/test/std/diagnostics/syserr/syserr.errcode/syserr.errcode.observers/value.pass.cpp
    libcxx/trunk/test/std/diagnostics/syserr/syserr.errcode/syserr.errcode.overview/
    libcxx/trunk/test/std/diagnostics/syserr/syserr.errcode/syserr.errcode.overview/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/diagnostics/syserr/syserr.errcondition/
    libcxx/trunk/test/std/diagnostics/syserr/syserr.errcondition/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/diagnostics/syserr/syserr.errcondition/syserr.errcondition.constructors/
    libcxx/trunk/test/std/diagnostics/syserr/syserr.errcondition/syserr.errcondition.constructors/ErrorConditionEnum.pass.cpp
    libcxx/trunk/test/std/diagnostics/syserr/syserr.errcondition/syserr.errcondition.constructors/default.pass.cpp
    libcxx/trunk/test/std/diagnostics/syserr/syserr.errcondition/syserr.errcondition.constructors/int_error_category.pass.cpp
    libcxx/trunk/test/std/diagnostics/syserr/syserr.errcondition/syserr.errcondition.modifiers/
    libcxx/trunk/test/std/diagnostics/syserr/syserr.errcondition/syserr.errcondition.modifiers/ErrorConditionEnum.pass.cpp
    libcxx/trunk/test/std/diagnostics/syserr/syserr.errcondition/syserr.errcondition.modifiers/assign.pass.cpp
    libcxx/trunk/test/std/diagnostics/syserr/syserr.errcondition/syserr.errcondition.modifiers/clear.pass.cpp
    libcxx/trunk/test/std/diagnostics/syserr/syserr.errcondition/syserr.errcondition.nonmembers/
    libcxx/trunk/test/std/diagnostics/syserr/syserr.errcondition/syserr.errcondition.nonmembers/lt.pass.cpp
    libcxx/trunk/test/std/diagnostics/syserr/syserr.errcondition/syserr.errcondition.nonmembers/make_error_condition.pass.cpp
    libcxx/trunk/test/std/diagnostics/syserr/syserr.errcondition/syserr.errcondition.observers/
    libcxx/trunk/test/std/diagnostics/syserr/syserr.errcondition/syserr.errcondition.observers/bool.pass.cpp
    libcxx/trunk/test/std/diagnostics/syserr/syserr.errcondition/syserr.errcondition.observers/category.pass.cpp
    libcxx/trunk/test/std/diagnostics/syserr/syserr.errcondition/syserr.errcondition.observers/message.pass.cpp
    libcxx/trunk/test/std/diagnostics/syserr/syserr.errcondition/syserr.errcondition.observers/value.pass.cpp
    libcxx/trunk/test/std/diagnostics/syserr/syserr.errcondition/syserr.errcondition.overview/
    libcxx/trunk/test/std/diagnostics/syserr/syserr.errcondition/syserr.errcondition.overview/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/diagnostics/syserr/syserr.hash/
    libcxx/trunk/test/std/diagnostics/syserr/syserr.hash/error_code.pass.cpp
    libcxx/trunk/test/std/diagnostics/syserr/syserr.syserr/
    libcxx/trunk/test/std/diagnostics/syserr/syserr.syserr/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/diagnostics/syserr/syserr.syserr/syserr.syserr.members/
    libcxx/trunk/test/std/diagnostics/syserr/syserr.syserr/syserr.syserr.members/ctor_error_code.pass.cpp
    libcxx/trunk/test/std/diagnostics/syserr/syserr.syserr/syserr.syserr.members/ctor_error_code_const_char_pointer.pass.cpp
    libcxx/trunk/test/std/diagnostics/syserr/syserr.syserr/syserr.syserr.members/ctor_error_code_string.pass.cpp
    libcxx/trunk/test/std/diagnostics/syserr/syserr.syserr/syserr.syserr.members/ctor_int_error_category.pass.cpp
    libcxx/trunk/test/std/diagnostics/syserr/syserr.syserr/syserr.syserr.members/ctor_int_error_category_const_char_pointer.pass.cpp
    libcxx/trunk/test/std/diagnostics/syserr/syserr.syserr/syserr.syserr.members/ctor_int_error_category_string.pass.cpp
    libcxx/trunk/test/std/diagnostics/syserr/syserr.syserr/syserr.syserr.overview/
    libcxx/trunk/test/std/diagnostics/syserr/syserr.syserr/syserr.syserr.overview/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/diagnostics/syserr/version.pass.cpp
    libcxx/trunk/test/std/experimental/
    libcxx/trunk/test/std/experimental/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/experimental/optional/
    libcxx/trunk/test/std/experimental/optional/optional.bad_optional_access/
    libcxx/trunk/test/std/experimental/optional/optional.bad_optional_access/default.pass.cpp
    libcxx/trunk/test/std/experimental/optional/optional.bad_optional_access/derive.pass.cpp
    libcxx/trunk/test/std/experimental/optional/optional.comp_with_t/
    libcxx/trunk/test/std/experimental/optional/optional.comp_with_t/equal.pass.cpp
    libcxx/trunk/test/std/experimental/optional/optional.comp_with_t/greater.pass.cpp
    libcxx/trunk/test/std/experimental/optional/optional.comp_with_t/greater_equal.pass.cpp
    libcxx/trunk/test/std/experimental/optional/optional.comp_with_t/less_equal.pass.cpp
    libcxx/trunk/test/std/experimental/optional/optional.comp_with_t/less_than.pass.cpp
    libcxx/trunk/test/std/experimental/optional/optional.comp_with_t/not_equal.pass.cpp
    libcxx/trunk/test/std/experimental/optional/optional.defs/
    libcxx/trunk/test/std/experimental/optional/optional.defs/tested_elsewhere.pass.cpp
    libcxx/trunk/test/std/experimental/optional/optional.general/
    libcxx/trunk/test/std/experimental/optional/optional.general/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/experimental/optional/optional.hash/
    libcxx/trunk/test/std/experimental/optional/optional.hash/hash.pass.cpp
    libcxx/trunk/test/std/experimental/optional/optional.inplace/
    libcxx/trunk/test/std/experimental/optional/optional.inplace/in_place_t.pass.cpp
    libcxx/trunk/test/std/experimental/optional/optional.nullops/
    libcxx/trunk/test/std/experimental/optional/optional.nullops/equal.pass.cpp
    libcxx/trunk/test/std/experimental/optional/optional.nullops/greater.pass.cpp
    libcxx/trunk/test/std/experimental/optional/optional.nullops/greater_equal.pass.cpp
    libcxx/trunk/test/std/experimental/optional/optional.nullops/less_equal.pass.cpp
    libcxx/trunk/test/std/experimental/optional/optional.nullops/less_than.pass.cpp
    libcxx/trunk/test/std/experimental/optional/optional.nullops/not_equal.pass.cpp
    libcxx/trunk/test/std/experimental/optional/optional.nullopt/
    libcxx/trunk/test/std/experimental/optional/optional.nullopt/nullopt_t.pass.cpp
    libcxx/trunk/test/std/experimental/optional/optional.object/
    libcxx/trunk/test/std/experimental/optional/optional.object/optional.object.assign/
    libcxx/trunk/test/std/experimental/optional/optional.object/optional.object.assign/assign_value.pass.cpp
    libcxx/trunk/test/std/experimental/optional/optional.object/optional.object.assign/copy.pass.cpp
    libcxx/trunk/test/std/experimental/optional/optional.object/optional.object.assign/emplace.pass.cpp
    libcxx/trunk/test/std/experimental/optional/optional.object/optional.object.assign/emplace_initializer_list.pass.cpp
    libcxx/trunk/test/std/experimental/optional/optional.object/optional.object.assign/move.pass.cpp
    libcxx/trunk/test/std/experimental/optional/optional.object/optional.object.assign/nullopt_t.pass.cpp
    libcxx/trunk/test/std/experimental/optional/optional.object/optional.object.ctor/
    libcxx/trunk/test/std/experimental/optional/optional.object/optional.object.ctor/const_T.pass.cpp
    libcxx/trunk/test/std/experimental/optional/optional.object/optional.object.ctor/copy.pass.cpp
    libcxx/trunk/test/std/experimental/optional/optional.object/optional.object.ctor/default.pass.cpp
    libcxx/trunk/test/std/experimental/optional/optional.object/optional.object.ctor/in_place_t.pass.cpp
    libcxx/trunk/test/std/experimental/optional/optional.object/optional.object.ctor/initializer_list.pass.cpp
    libcxx/trunk/test/std/experimental/optional/optional.object/optional.object.ctor/move.pass.cpp
    libcxx/trunk/test/std/experimental/optional/optional.object/optional.object.ctor/nullopt_t.pass.cpp
    libcxx/trunk/test/std/experimental/optional/optional.object/optional.object.ctor/rvalue_T.pass.cpp
    libcxx/trunk/test/std/experimental/optional/optional.object/optional.object.dtor/
    libcxx/trunk/test/std/experimental/optional/optional.object/optional.object.dtor/dtor.pass.cpp
    libcxx/trunk/test/std/experimental/optional/optional.object/optional.object.observe/
    libcxx/trunk/test/std/experimental/optional/optional.object/optional.object.observe/bool.pass.cpp
    libcxx/trunk/test/std/experimental/optional/optional.object/optional.object.observe/dereference.pass.cpp
    libcxx/trunk/test/std/experimental/optional/optional.object/optional.object.observe/dereference_const.pass.cpp
    libcxx/trunk/test/std/experimental/optional/optional.object/optional.object.observe/op_arrow.pass.cpp
    libcxx/trunk/test/std/experimental/optional/optional.object/optional.object.observe/op_arrow_const.pass.cpp
    libcxx/trunk/test/std/experimental/optional/optional.object/optional.object.observe/value.pass.cpp
    libcxx/trunk/test/std/experimental/optional/optional.object/optional.object.observe/value_const.fail.cpp
    libcxx/trunk/test/std/experimental/optional/optional.object/optional.object.observe/value_const.pass.cpp
    libcxx/trunk/test/std/experimental/optional/optional.object/optional.object.observe/value_or.pass.cpp
    libcxx/trunk/test/std/experimental/optional/optional.object/optional.object.observe/value_or_const.pass.cpp
    libcxx/trunk/test/std/experimental/optional/optional.object/optional.object.swap/
    libcxx/trunk/test/std/experimental/optional/optional.object/optional.object.swap/swap.pass.cpp
    libcxx/trunk/test/std/experimental/optional/optional.object/optional_const_void.fail.cpp
    libcxx/trunk/test/std/experimental/optional/optional.object/optional_not_destructible.fail.cpp
    libcxx/trunk/test/std/experimental/optional/optional.object/optional_not_noexcept_destructible.fail.cpp
    libcxx/trunk/test/std/experimental/optional/optional.object/optional_void.fail.cpp
    libcxx/trunk/test/std/experimental/optional/optional.object/types.pass.cpp
    libcxx/trunk/test/std/experimental/optional/optional.relops/
    libcxx/trunk/test/std/experimental/optional/optional.relops/equal.pass.cpp
    libcxx/trunk/test/std/experimental/optional/optional.relops/greater_equal.pass.cpp
    libcxx/trunk/test/std/experimental/optional/optional.relops/greater_than.pass.cpp
    libcxx/trunk/test/std/experimental/optional/optional.relops/less_equal.pass.cpp
    libcxx/trunk/test/std/experimental/optional/optional.relops/less_than.pass.cpp
    libcxx/trunk/test/std/experimental/optional/optional.relops/not_equal.pass.cpp
    libcxx/trunk/test/std/experimental/optional/optional.specalg/
    libcxx/trunk/test/std/experimental/optional/optional.specalg/make_optional.pass.cpp
    libcxx/trunk/test/std/experimental/optional/optional.specalg/swap.pass.cpp
    libcxx/trunk/test/std/experimental/optional/optional.syn/
    libcxx/trunk/test/std/experimental/optional/optional.syn/optional_const_in_place_t.fail.cpp
    libcxx/trunk/test/std/experimental/optional/optional.syn/optional_const_lvalue_ref.fail.cpp
    libcxx/trunk/test/std/experimental/optional/optional.syn/optional_const_nullopt_t.fail.cpp
    libcxx/trunk/test/std/experimental/optional/optional.syn/optional_in_place_t.fail.cpp
    libcxx/trunk/test/std/experimental/optional/optional.syn/optional_includes_initializer_list.pass.cpp
    libcxx/trunk/test/std/experimental/optional/optional.syn/optional_lvalue_ref.fail.cpp
    libcxx/trunk/test/std/experimental/optional/optional.syn/optional_nullopt_t.fail.cpp
    libcxx/trunk/test/std/experimental/optional/optional.syn/optional_rvalue_ref.fail.cpp
    libcxx/trunk/test/std/experimental/optional/version.pass.cpp
    libcxx/trunk/test/std/experimental/string.view/
    libcxx/trunk/test/std/experimental/string.view/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/experimental/string.view/string.view.access/
    libcxx/trunk/test/std/experimental/string.view/string.view.access/at.pass.cpp
    libcxx/trunk/test/std/experimental/string.view/string.view.access/back.pass.cpp
    libcxx/trunk/test/std/experimental/string.view/string.view.access/data.pass.cpp
    libcxx/trunk/test/std/experimental/string.view/string.view.access/front.pass.cpp
    libcxx/trunk/test/std/experimental/string.view/string.view.access/index.pass.cpp
    libcxx/trunk/test/std/experimental/string.view/string.view.capacity/
    libcxx/trunk/test/std/experimental/string.view/string.view.capacity/capacity.pass.cpp
    libcxx/trunk/test/std/experimental/string.view/string.view.comparison/
    libcxx/trunk/test/std/experimental/string.view/string.view.comparison/opeq.string_view.pointer.pass.cpp
    libcxx/trunk/test/std/experimental/string.view/string.view.comparison/opeq.string_view.string.pass.cpp
    libcxx/trunk/test/std/experimental/string.view/string.view.comparison/opeq.string_view.string_view.pass.cpp
    libcxx/trunk/test/std/experimental/string.view/string.view.comparison/opge.string_view.pointer.pass.cpp
    libcxx/trunk/test/std/experimental/string.view/string.view.comparison/opge.string_view.string.pass.cpp
    libcxx/trunk/test/std/experimental/string.view/string.view.comparison/opge.string_view.string_view.pass.cpp
    libcxx/trunk/test/std/experimental/string.view/string.view.comparison/opgt.string_view.pointer.pass.cpp
    libcxx/trunk/test/std/experimental/string.view/string.view.comparison/opgt.string_view.string.pass.cpp
    libcxx/trunk/test/std/experimental/string.view/string.view.comparison/opgt.string_view.string_view.pass.cpp
    libcxx/trunk/test/std/experimental/string.view/string.view.comparison/ople.string_view.pointer.pass.cpp
    libcxx/trunk/test/std/experimental/string.view/string.view.comparison/ople.string_view.string.pass.cpp
    libcxx/trunk/test/std/experimental/string.view/string.view.comparison/ople.string_view.string_view.pass.cpp
    libcxx/trunk/test/std/experimental/string.view/string.view.comparison/oplt.string_view.pointer.pass.cpp
    libcxx/trunk/test/std/experimental/string.view/string.view.comparison/oplt.string_view.string.pass.cpp
    libcxx/trunk/test/std/experimental/string.view/string.view.comparison/oplt.string_view.string_view.pass.cpp
    libcxx/trunk/test/std/experimental/string.view/string.view.comparison/opne.string_view.pointer.pass.cpp
    libcxx/trunk/test/std/experimental/string.view/string.view.comparison/opne.string_view.string.pass.cpp
    libcxx/trunk/test/std/experimental/string.view/string.view.comparison/opne.string_view.string_view.pass.cpp
    libcxx/trunk/test/std/experimental/string.view/string.view.cons/
    libcxx/trunk/test/std/experimental/string.view/string.view.cons/default.pass.cpp
    libcxx/trunk/test/std/experimental/string.view/string.view.cons/from_literal.pass.cpp
    libcxx/trunk/test/std/experimental/string.view/string.view.cons/from_ptr_len.pass.cpp
    libcxx/trunk/test/std/experimental/string.view/string.view.cons/from_string.pass.cpp
    libcxx/trunk/test/std/experimental/string.view/string.view.cons/from_string1.fail.cpp
    libcxx/trunk/test/std/experimental/string.view/string.view.cons/from_string2.fail.cpp
    libcxx/trunk/test/std/experimental/string.view/string.view.find/
    libcxx/trunk/test/std/experimental/string.view/string.view.find/find_char_size.pass.cpp
    libcxx/trunk/test/std/experimental/string.view/string.view.find/find_first_not_of_char_size.pass.cpp
    libcxx/trunk/test/std/experimental/string.view/string.view.find/find_first_not_of_pointer_size.pass.cpp
    libcxx/trunk/test/std/experimental/string.view/string.view.find/find_first_not_of_pointer_size_size.pass.cpp
    libcxx/trunk/test/std/experimental/string.view/string.view.find/find_first_not_of_string_view_size.pass.cpp
    libcxx/trunk/test/std/experimental/string.view/string.view.find/find_first_of_char_size.pass.cpp
    libcxx/trunk/test/std/experimental/string.view/string.view.find/find_first_of_pointer_size.pass.cpp
    libcxx/trunk/test/std/experimental/string.view/string.view.find/find_first_of_pointer_size_size.pass.cpp
    libcxx/trunk/test/std/experimental/string.view/string.view.find/find_first_of_string_view_size.pass.cpp
    libcxx/trunk/test/std/experimental/string.view/string.view.find/find_last_not_of_char_size.pass.cpp
    libcxx/trunk/test/std/experimental/string.view/string.view.find/find_last_not_of_pointer_size.pass.cpp
    libcxx/trunk/test/std/experimental/string.view/string.view.find/find_last_not_of_pointer_size_size.pass.cpp
    libcxx/trunk/test/std/experimental/string.view/string.view.find/find_last_not_of_string_view_size.pass.cpp
    libcxx/trunk/test/std/experimental/string.view/string.view.find/find_last_of_char_size.pass.cpp
    libcxx/trunk/test/std/experimental/string.view/string.view.find/find_last_of_pointer_size.pass.cpp
    libcxx/trunk/test/std/experimental/string.view/string.view.find/find_last_of_pointer_size_size.pass.cpp
    libcxx/trunk/test/std/experimental/string.view/string.view.find/find_last_of_string_view_size.pass.cpp
    libcxx/trunk/test/std/experimental/string.view/string.view.find/find_pointer_size.pass.cpp
    libcxx/trunk/test/std/experimental/string.view/string.view.find/find_pointer_size_size.pass.cpp
    libcxx/trunk/test/std/experimental/string.view/string.view.find/find_string_view_size.pass.cpp
    libcxx/trunk/test/std/experimental/string.view/string.view.find/rfind_char_size.pass.cpp
    libcxx/trunk/test/std/experimental/string.view/string.view.find/rfind_pointer_size.pass.cpp
    libcxx/trunk/test/std/experimental/string.view/string.view.find/rfind_pointer_size_size.pass.cpp
    libcxx/trunk/test/std/experimental/string.view/string.view.find/rfind_string_view_size.pass.cpp
    libcxx/trunk/test/std/experimental/string.view/string.view.hash/
    libcxx/trunk/test/std/experimental/string.view/string.view.hash/string_view.pass.cpp
    libcxx/trunk/test/std/experimental/string.view/string.view.io/
    libcxx/trunk/test/std/experimental/string.view/string.view.io/stream_insert.pass.cpp
    libcxx/trunk/test/std/experimental/string.view/string.view.iterators/
    libcxx/trunk/test/std/experimental/string.view/string.view.iterators/begin.pass.cpp
    libcxx/trunk/test/std/experimental/string.view/string.view.iterators/end.pass.cpp
    libcxx/trunk/test/std/experimental/string.view/string.view.iterators/rbegin.pass.cpp
    libcxx/trunk/test/std/experimental/string.view/string.view.iterators/rend.pass.cpp
    libcxx/trunk/test/std/experimental/string.view/string.view.modifiers/
    libcxx/trunk/test/std/experimental/string.view/string.view.modifiers/clear.pass.cpp
    libcxx/trunk/test/std/experimental/string.view/string.view.modifiers/remove_prefix.pass.cpp
    libcxx/trunk/test/std/experimental/string.view/string.view.modifiers/remove_suffix.pass.cpp
    libcxx/trunk/test/std/experimental/string.view/string.view.modifiers/swap.pass.cpp
    libcxx/trunk/test/std/experimental/string.view/string.view.nonmem/
    libcxx/trunk/test/std/experimental/string.view/string.view.nonmem/quoted.pass.cpp
    libcxx/trunk/test/std/experimental/string.view/string.view.ops/
    libcxx/trunk/test/std/experimental/string.view/string.view.ops/basic_string.pass.cpp
    libcxx/trunk/test/std/experimental/string.view/string.view.ops/compare.pointer.pass.cpp
    libcxx/trunk/test/std/experimental/string.view/string.view.ops/compare.pointer_size.pass.cpp
    libcxx/trunk/test/std/experimental/string.view/string.view.ops/compare.size_size_sv.pass.cpp
    libcxx/trunk/test/std/experimental/string.view/string.view.ops/compare.size_size_sv_pointer_size.pass.cpp
    libcxx/trunk/test/std/experimental/string.view/string.view.ops/compare.size_size_sv_size_size.pass.cpp
    libcxx/trunk/test/std/experimental/string.view/string.view.ops/compare.sv.pass.cpp
    libcxx/trunk/test/std/experimental/string.view/string.view.ops/copy.pass.cpp
    libcxx/trunk/test/std/experimental/string.view/string.view.ops/substr.pass.cpp
    libcxx/trunk/test/std/experimental/string.view/string.view.ops/to_string.pass.cpp
    libcxx/trunk/test/std/experimental/string.view/string.view.synop/
    libcxx/trunk/test/std/experimental/string.view/string.view.synop/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/experimental/string.view/string.view.template/
    libcxx/trunk/test/std/experimental/string.view/string.view.template/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/experimental/utilities/
    libcxx/trunk/test/std/experimental/utilities/meta/
    libcxx/trunk/test/std/experimental/utilities/meta/meta.type.synop/
    libcxx/trunk/test/std/experimental/utilities/meta/meta.type.synop/includes.pass.cpp
    libcxx/trunk/test/std/experimental/utilities/meta/meta.type.synop/meta.rel.pass.cpp
    libcxx/trunk/test/std/experimental/utilities/meta/meta.type.synop/meta.unary.cat.pass.cpp
    libcxx/trunk/test/std/experimental/utilities/meta/meta.type.synop/meta.unary.comp.pass.cpp
    libcxx/trunk/test/std/experimental/utilities/meta/meta.type.synop/meta.unary.prop.pass.cpp
    libcxx/trunk/test/std/experimental/utilities/meta/meta.type.synop/meta.unary.prop.query.pass.cpp
    libcxx/trunk/test/std/experimental/utilities/meta/version.pass.cpp
    libcxx/trunk/test/std/experimental/utilities/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/experimental/utilities/utility/
    libcxx/trunk/test/std/experimental/utilities/utility/utility.erased.type/
    libcxx/trunk/test/std/experimental/utilities/utility/utility.erased.type/erased_type.pass.cpp
    libcxx/trunk/test/std/experimental/utilities/utility/utility.synop/
    libcxx/trunk/test/std/experimental/utilities/utility/utility.synop/includes.pass.cpp
    libcxx/trunk/test/std/experimental/utilities/utility/version.pass.cpp
    libcxx/trunk/test/std/extensions/
    libcxx/trunk/test/std/extensions/hash/
    libcxx/trunk/test/std/extensions/hash/specializations.fail.cpp
    libcxx/trunk/test/std/extensions/hash/specializations.pass.cpp
    libcxx/trunk/test/std/extensions/hash_map/
    libcxx/trunk/test/std/extensions/hash_map/const_iterator.fail.cpp
    libcxx/trunk/test/std/extensions/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/input.output/
    libcxx/trunk/test/std/input.output/file.streams/
    libcxx/trunk/test/std/input.output/file.streams/c.files/
    libcxx/trunk/test/std/input.output/file.streams/c.files/cinttypes.pass.cpp
    libcxx/trunk/test/std/input.output/file.streams/c.files/cstdio.pass.cpp
    libcxx/trunk/test/std/input.output/file.streams/c.files/gets.fail.cpp
    libcxx/trunk/test/std/input.output/file.streams/c.files/version_ccstdio.pass.cpp
    libcxx/trunk/test/std/input.output/file.streams/c.files/version_cinttypes.pass.cpp
    libcxx/trunk/test/std/input.output/file.streams/fstreams/
    libcxx/trunk/test/std/input.output/file.streams/fstreams/filebuf/
    libcxx/trunk/test/std/input.output/file.streams/fstreams/filebuf.assign/
    libcxx/trunk/test/std/input.output/file.streams/fstreams/filebuf.assign/member_swap.pass.cpp
    libcxx/trunk/test/std/input.output/file.streams/fstreams/filebuf.assign/move_assign.pass.cpp
    libcxx/trunk/test/std/input.output/file.streams/fstreams/filebuf.assign/nonmember_swap.pass.cpp
    libcxx/trunk/test/std/input.output/file.streams/fstreams/filebuf.cons/
    libcxx/trunk/test/std/input.output/file.streams/fstreams/filebuf.cons/default.pass.cpp
    libcxx/trunk/test/std/input.output/file.streams/fstreams/filebuf.cons/move.pass.cpp
    libcxx/trunk/test/std/input.output/file.streams/fstreams/filebuf.members/
    libcxx/trunk/test/std/input.output/file.streams/fstreams/filebuf.members/open_pointer.pass.cpp
    libcxx/trunk/test/std/input.output/file.streams/fstreams/filebuf.virtuals/
    libcxx/trunk/test/std/input.output/file.streams/fstreams/filebuf.virtuals/overflow.pass.cpp
    libcxx/trunk/test/std/input.output/file.streams/fstreams/filebuf.virtuals/pbackfail.pass.cpp
    libcxx/trunk/test/std/input.output/file.streams/fstreams/filebuf.virtuals/seekoff.pass.cpp
    libcxx/trunk/test/std/input.output/file.streams/fstreams/filebuf.virtuals/underflow.dat
    libcxx/trunk/test/std/input.output/file.streams/fstreams/filebuf.virtuals/underflow.pass.cpp
    libcxx/trunk/test/std/input.output/file.streams/fstreams/filebuf.virtuals/underflow_utf8.dat   (with props)
    libcxx/trunk/test/std/input.output/file.streams/fstreams/filebuf/types.pass.cpp
    libcxx/trunk/test/std/input.output/file.streams/fstreams/fstream/
    libcxx/trunk/test/std/input.output/file.streams/fstreams/fstream.assign/
    libcxx/trunk/test/std/input.output/file.streams/fstreams/fstream.assign/member_swap.pass.cpp
    libcxx/trunk/test/std/input.output/file.streams/fstreams/fstream.assign/move_assign.pass.cpp
    libcxx/trunk/test/std/input.output/file.streams/fstreams/fstream.assign/nonmember_swap.pass.cpp
    libcxx/trunk/test/std/input.output/file.streams/fstreams/fstream.cons/
    libcxx/trunk/test/std/input.output/file.streams/fstreams/fstream.cons/default.pass.cpp
    libcxx/trunk/test/std/input.output/file.streams/fstreams/fstream.cons/move.pass.cpp
    libcxx/trunk/test/std/input.output/file.streams/fstreams/fstream.cons/pointer.pass.cpp
    libcxx/trunk/test/std/input.output/file.streams/fstreams/fstream.cons/string.pass.cpp
    libcxx/trunk/test/std/input.output/file.streams/fstreams/fstream.members/
    libcxx/trunk/test/std/input.output/file.streams/fstreams/fstream.members/close.pass.cpp
    libcxx/trunk/test/std/input.output/file.streams/fstreams/fstream.members/open_pointer.pass.cpp
    libcxx/trunk/test/std/input.output/file.streams/fstreams/fstream.members/open_string.pass.cpp
    libcxx/trunk/test/std/input.output/file.streams/fstreams/fstream.members/rdbuf.pass.cpp
    libcxx/trunk/test/std/input.output/file.streams/fstreams/fstream/types.pass.cpp
    libcxx/trunk/test/std/input.output/file.streams/fstreams/ifstream/
    libcxx/trunk/test/std/input.output/file.streams/fstreams/ifstream.assign/
    libcxx/trunk/test/std/input.output/file.streams/fstreams/ifstream.assign/member_swap.pass.cpp
    libcxx/trunk/test/std/input.output/file.streams/fstreams/ifstream.assign/move_assign.pass.cpp
    libcxx/trunk/test/std/input.output/file.streams/fstreams/ifstream.assign/nonmember_swap.pass.cpp
    libcxx/trunk/test/std/input.output/file.streams/fstreams/ifstream.assign/test.dat
    libcxx/trunk/test/std/input.output/file.streams/fstreams/ifstream.assign/test2.dat
    libcxx/trunk/test/std/input.output/file.streams/fstreams/ifstream.cons/
    libcxx/trunk/test/std/input.output/file.streams/fstreams/ifstream.cons/default.pass.cpp
    libcxx/trunk/test/std/input.output/file.streams/fstreams/ifstream.cons/move.pass.cpp
    libcxx/trunk/test/std/input.output/file.streams/fstreams/ifstream.cons/pointer.pass.cpp
    libcxx/trunk/test/std/input.output/file.streams/fstreams/ifstream.cons/string.pass.cpp
    libcxx/trunk/test/std/input.output/file.streams/fstreams/ifstream.cons/test.dat
    libcxx/trunk/test/std/input.output/file.streams/fstreams/ifstream.members/
    libcxx/trunk/test/std/input.output/file.streams/fstreams/ifstream.members/close.pass.cpp
    libcxx/trunk/test/std/input.output/file.streams/fstreams/ifstream.members/open_pointer.pass.cpp
    libcxx/trunk/test/std/input.output/file.streams/fstreams/ifstream.members/open_string.pass.cpp
    libcxx/trunk/test/std/input.output/file.streams/fstreams/ifstream.members/rdbuf.pass.cpp
    libcxx/trunk/test/std/input.output/file.streams/fstreams/ifstream.members/test.dat
    libcxx/trunk/test/std/input.output/file.streams/fstreams/ifstream/types.pass.cpp
    libcxx/trunk/test/std/input.output/file.streams/fstreams/ofstream/
    libcxx/trunk/test/std/input.output/file.streams/fstreams/ofstream.assign/
    libcxx/trunk/test/std/input.output/file.streams/fstreams/ofstream.assign/member_swap.pass.cpp
    libcxx/trunk/test/std/input.output/file.streams/fstreams/ofstream.assign/move_assign.pass.cpp
    libcxx/trunk/test/std/input.output/file.streams/fstreams/ofstream.assign/nonmember_swap.pass.cpp
    libcxx/trunk/test/std/input.output/file.streams/fstreams/ofstream.cons/
    libcxx/trunk/test/std/input.output/file.streams/fstreams/ofstream.cons/default.pass.cpp
    libcxx/trunk/test/std/input.output/file.streams/fstreams/ofstream.cons/move.pass.cpp
    libcxx/trunk/test/std/input.output/file.streams/fstreams/ofstream.cons/pointer.pass.cpp
    libcxx/trunk/test/std/input.output/file.streams/fstreams/ofstream.cons/string.pass.cpp
    libcxx/trunk/test/std/input.output/file.streams/fstreams/ofstream.members/
    libcxx/trunk/test/std/input.output/file.streams/fstreams/ofstream.members/close.pass.cpp
    libcxx/trunk/test/std/input.output/file.streams/fstreams/ofstream.members/open_pointer.pass.cpp
    libcxx/trunk/test/std/input.output/file.streams/fstreams/ofstream.members/open_string.pass.cpp
    libcxx/trunk/test/std/input.output/file.streams/fstreams/ofstream.members/rdbuf.pass.cpp
    libcxx/trunk/test/std/input.output/file.streams/fstreams/ofstream/types.pass.cpp
    libcxx/trunk/test/std/input.output/file.streams/fstreams/version.pass.cpp
    libcxx/trunk/test/std/input.output/file.streams/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/input.output/input.output.general/
    libcxx/trunk/test/std/input.output/input.output.general/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/
    libcxx/trunk/test/std/input.output/iostream.format/ext.manip/
    libcxx/trunk/test/std/input.output/iostream.format/ext.manip/get_money.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/ext.manip/get_time.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/ext.manip/put_money.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/ext.manip/put_time.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/input.streams/
    libcxx/trunk/test/std/input.output/iostream.format/input.streams/iostreamclass/
    libcxx/trunk/test/std/input.output/iostream.format/input.streams/iostreamclass/iostream.assign/
    libcxx/trunk/test/std/input.output/iostream.format/input.streams/iostreamclass/iostream.assign/member_swap.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/input.streams/iostreamclass/iostream.assign/move_assign.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/input.streams/iostreamclass/iostream.cons/
    libcxx/trunk/test/std/input.output/iostream.format/input.streams/iostreamclass/iostream.cons/move.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/input.streams/iostreamclass/iostream.cons/streambuf.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/input.streams/iostreamclass/iostream.dest/
    libcxx/trunk/test/std/input.output/iostream.format/input.streams/iostreamclass/iostream.dest/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/input.streams/iostreamclass/types.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream/
    libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream.formatted/
    libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/
    libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/bool.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/double.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/float.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/int.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/long.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/long_double.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/long_long.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/pointer.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/short.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/unsigned_int.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/unsigned_long.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/unsigned_long_long.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.arithmetic/unsigned_short.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.reqmts/
    libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream.formatted/istream.formatted.reqmts/tested_elsewhere.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream.formatted/istream_extractors/
    libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream.formatted/istream_extractors/basic_ios.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream.formatted/istream_extractors/chart.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream.formatted/istream_extractors/ios_base.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream.formatted/istream_extractors/istream.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream.formatted/istream_extractors/signed_char.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream.formatted/istream_extractors/signed_char_pointer.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream.formatted/istream_extractors/streambuf.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream.formatted/istream_extractors/unsigned_char.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream.formatted/istream_extractors/unsigned_char_pointer.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream.formatted/istream_extractors/wchar_t_pointer.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream.formatted/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream.manip/
    libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream.manip/ws.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream.rvalue/
    libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream.rvalue/rvalue.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream.unformatted/
    libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream.unformatted/get.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream.unformatted/get_chart.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream.unformatted/get_pointer_size.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream.unformatted/get_pointer_size_chart.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream.unformatted/get_streambuf.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream.unformatted/get_streambuf_chart.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream.unformatted/getline_pointer_size.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream.unformatted/getline_pointer_size_chart.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream.unformatted/ignore.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream.unformatted/ignore_0xff.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream.unformatted/peek.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream.unformatted/putback.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream.unformatted/read.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream.unformatted/readsome.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream.unformatted/seekg.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream.unformatted/seekg_off.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream.unformatted/sync.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream.unformatted/tellg.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream.unformatted/unget.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream/istream.assign/
    libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream/istream.assign/member_swap.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream/istream.assign/move_assign.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream/istream.cons/
    libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream/istream.cons/move.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream/istream.cons/streambuf.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream/istream_sentry/
    libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream/istream_sentry/ctor.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/input.streams/istream/types.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/input.streams/version.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/output.streams/
    libcxx/trunk/test/std/input.output/iostream.format/output.streams/ostream/
    libcxx/trunk/test/std/input.output/iostream.format/output.streams/ostream.assign/
    libcxx/trunk/test/std/input.output/iostream.format/output.streams/ostream.assign/member_swap.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/output.streams/ostream.assign/move_assign.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/output.streams/ostream.cons/
    libcxx/trunk/test/std/input.output/iostream.format/output.streams/ostream.cons/move.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/output.streams/ostream.cons/streambuf.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/output.streams/ostream.formatted/
    libcxx/trunk/test/std/input.output/iostream.format/output.streams/ostream.formatted/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.formatted.reqmts/
    libcxx/trunk/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.formatted.reqmts/tested_elsewhere.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters/
    libcxx/trunk/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/
    libcxx/trunk/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/bool.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/double.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/float.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/int.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/long.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/long_double.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/long_long.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/pointer.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/short.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/unsigned_int.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/unsigned_long.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/unsigned_long_long.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/unsigned_short.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.character/
    libcxx/trunk/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.character/CharT.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.character/CharT_pointer.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.character/char.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.character/char_pointer.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.character/char_to_wide.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.character/char_to_wide_pointer.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.character/signed_char.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.character/signed_char_pointer.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.character/unsigned_char.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.character/unsigned_char_pointer.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters/basic_ios.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters/ios_base.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters/ostream.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters/streambuf.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/output.streams/ostream.manip/
    libcxx/trunk/test/std/input.output/iostream.format/output.streams/ostream.manip/endl.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/output.streams/ostream.manip/ends.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/output.streams/ostream.manip/flush.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/output.streams/ostream.rvalue/
    libcxx/trunk/test/std/input.output/iostream.format/output.streams/ostream.rvalue/CharT_pointer.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/output.streams/ostream.seeks/
    libcxx/trunk/test/std/input.output/iostream.format/output.streams/ostream.seeks/seekp.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/output.streams/ostream.seeks/seekp2.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/output.streams/ostream.seeks/tellp.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/output.streams/ostream.unformatted/
    libcxx/trunk/test/std/input.output/iostream.format/output.streams/ostream.unformatted/flush.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/output.streams/ostream.unformatted/put.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/output.streams/ostream.unformatted/write.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/output.streams/ostream/types.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/output.streams/ostream_sentry/
    libcxx/trunk/test/std/input.output/iostream.format/output.streams/ostream_sentry/construct.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/output.streams/ostream_sentry/destruct.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/output.streams/version.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/quoted.manip/
    libcxx/trunk/test/std/input.output/iostream.format/quoted.manip/quoted.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/quoted.manip/quoted_char.fail.cpp
    libcxx/trunk/test/std/input.output/iostream.format/quoted.manip/quoted_traits.fail.cpp
    libcxx/trunk/test/std/input.output/iostream.format/std.manip/
    libcxx/trunk/test/std/input.output/iostream.format/std.manip/resetiosflags.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/std.manip/setbase.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/std.manip/setfill.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/std.manip/setiosflags.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/std.manip/setprecision.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/std.manip/setw.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.format/std.manip/version.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.forward/
    libcxx/trunk/test/std/input.output/iostream.forward/iosfwd.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.forward/version.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.objects/
    libcxx/trunk/test/std/input.output/iostream.objects/narrow.stream.objects/
    libcxx/trunk/test/std/input.output/iostream.objects/narrow.stream.objects/cerr.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.objects/narrow.stream.objects/cin.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.objects/narrow.stream.objects/clog.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.objects/narrow.stream.objects/cout.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.objects/version.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.objects/wide.stream.objects/
    libcxx/trunk/test/std/input.output/iostream.objects/wide.stream.objects/wcerr.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.objects/wide.stream.objects/wcin.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.objects/wide.stream.objects/wclog.pass.cpp
    libcxx/trunk/test/std/input.output/iostream.objects/wide.stream.objects/wcout.pass.cpp
    libcxx/trunk/test/std/input.output/iostreams.base/
    libcxx/trunk/test/std/input.output/iostreams.base/fpos/
    libcxx/trunk/test/std/input.output/iostreams.base/fpos/fpos.members/
    libcxx/trunk/test/std/input.output/iostreams.base/fpos/fpos.members/state.pass.cpp
    libcxx/trunk/test/std/input.output/iostreams.base/fpos/fpos.operations/
    libcxx/trunk/test/std/input.output/iostreams.base/fpos/fpos.operations/addition.pass.cpp
    libcxx/trunk/test/std/input.output/iostreams.base/fpos/fpos.operations/ctor_int.pass.cpp
    libcxx/trunk/test/std/input.output/iostreams.base/fpos/fpos.operations/difference.pass.cpp
    libcxx/trunk/test/std/input.output/iostreams.base/fpos/fpos.operations/eq_int.pass.cpp
    libcxx/trunk/test/std/input.output/iostreams.base/fpos/fpos.operations/offset.pass.cpp
    libcxx/trunk/test/std/input.output/iostreams.base/fpos/fpos.operations/streamsize.pass.cpp
    libcxx/trunk/test/std/input.output/iostreams.base/fpos/fpos.operations/subtraction.pass.cpp
    libcxx/trunk/test/std/input.output/iostreams.base/fpos/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/input.output/iostreams.base/ios/
    libcxx/trunk/test/std/input.output/iostreams.base/ios.base/
    libcxx/trunk/test/std/input.output/iostreams.base/ios.base/fmtflags.state/
    libcxx/trunk/test/std/input.output/iostreams.base/ios.base/fmtflags.state/flags.pass.cpp
    libcxx/trunk/test/std/input.output/iostreams.base/ios.base/fmtflags.state/flags_fmtflags.pass.cpp
    libcxx/trunk/test/std/input.output/iostreams.base/ios.base/fmtflags.state/precision.pass.cpp
    libcxx/trunk/test/std/input.output/iostreams.base/ios.base/fmtflags.state/precision_streamsize.pass.cpp
    libcxx/trunk/test/std/input.output/iostreams.base/ios.base/fmtflags.state/setf_fmtflags.pass.cpp
    libcxx/trunk/test/std/input.output/iostreams.base/ios.base/fmtflags.state/setf_fmtflags_mask.pass.cpp
    libcxx/trunk/test/std/input.output/iostreams.base/ios.base/fmtflags.state/unsetf_mask.pass.cpp
    libcxx/trunk/test/std/input.output/iostreams.base/ios.base/fmtflags.state/width.pass.cpp
    libcxx/trunk/test/std/input.output/iostreams.base/ios.base/fmtflags.state/width_streamsize.pass.cpp
    libcxx/trunk/test/std/input.output/iostreams.base/ios.base/ios.base.callback/
    libcxx/trunk/test/std/input.output/iostreams.base/ios.base/ios.base.callback/register_callback.pass.cpp
    libcxx/trunk/test/std/input.output/iostreams.base/ios.base/ios.base.cons/
    libcxx/trunk/test/std/input.output/iostreams.base/ios.base/ios.base.cons/dtor.pass.cpp
    libcxx/trunk/test/std/input.output/iostreams.base/ios.base/ios.base.locales/
    libcxx/trunk/test/std/input.output/iostreams.base/ios.base/ios.base.locales/getloc.pass.cpp
    libcxx/trunk/test/std/input.output/iostreams.base/ios.base/ios.base.locales/imbue.pass.cpp
    libcxx/trunk/test/std/input.output/iostreams.base/ios.base/ios.base.storage/
    libcxx/trunk/test/std/input.output/iostreams.base/ios.base/ios.base.storage/iword.pass.cpp
    libcxx/trunk/test/std/input.output/iostreams.base/ios.base/ios.base.storage/pword.pass.cpp
    libcxx/trunk/test/std/input.output/iostreams.base/ios.base/ios.base.storage/xalloc.pass.cpp
    libcxx/trunk/test/std/input.output/iostreams.base/ios.base/ios.members.static/
    libcxx/trunk/test/std/input.output/iostreams.base/ios.base/ios.members.static/sync_with_stdio.pass.cpp
    libcxx/trunk/test/std/input.output/iostreams.base/ios.base/ios.types/
    libcxx/trunk/test/std/input.output/iostreams.base/ios.base/ios.types/ios_Init/
    libcxx/trunk/test/std/input.output/iostreams.base/ios.base/ios.types/ios_Init/tested_elsewhere.pass.cpp
    libcxx/trunk/test/std/input.output/iostreams.base/ios.base/ios.types/ios_failure/
    libcxx/trunk/test/std/input.output/iostreams.base/ios.base/ios.types/ios_failure/ctor_char_pointer_error_code.pass.cpp
    libcxx/trunk/test/std/input.output/iostreams.base/ios.base/ios.types/ios_failure/ctor_string_error_code.pass.cpp
    libcxx/trunk/test/std/input.output/iostreams.base/ios.base/ios.types/ios_fmtflags/
    libcxx/trunk/test/std/input.output/iostreams.base/ios.base/ios.types/ios_fmtflags/fmtflags.pass.cpp
    libcxx/trunk/test/std/input.output/iostreams.base/ios.base/ios.types/ios_iostate/
    libcxx/trunk/test/std/input.output/iostreams.base/ios.base/ios.types/ios_iostate/iostate.pass.cpp
    libcxx/trunk/test/std/input.output/iostreams.base/ios.base/ios.types/ios_openmode/
    libcxx/trunk/test/std/input.output/iostreams.base/ios.base/ios.types/ios_openmode/openmode.pass.cpp
    libcxx/trunk/test/std/input.output/iostreams.base/ios.base/ios.types/ios_seekdir/
    libcxx/trunk/test/std/input.output/iostreams.base/ios.base/ios.types/ios_seekdir/seekdir.pass.cpp
    libcxx/trunk/test/std/input.output/iostreams.base/ios.base/ios.types/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/input.output/iostreams.base/ios.base/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/input.output/iostreams.base/ios/basic.ios.cons/
    libcxx/trunk/test/std/input.output/iostreams.base/ios/basic.ios.cons/ctor_streambuf.pass.cpp
    libcxx/trunk/test/std/input.output/iostreams.base/ios/basic.ios.members/
    libcxx/trunk/test/std/input.output/iostreams.base/ios/basic.ios.members/copyfmt.pass.cpp
    libcxx/trunk/test/std/input.output/iostreams.base/ios/basic.ios.members/fill.pass.cpp
    libcxx/trunk/test/std/input.output/iostreams.base/ios/basic.ios.members/fill_char_type.pass.cpp
    libcxx/trunk/test/std/input.output/iostreams.base/ios/basic.ios.members/imbue.pass.cpp
    libcxx/trunk/test/std/input.output/iostreams.base/ios/basic.ios.members/move.pass.cpp
    libcxx/trunk/test/std/input.output/iostreams.base/ios/basic.ios.members/narow.pass.cpp
    libcxx/trunk/test/std/input.output/iostreams.base/ios/basic.ios.members/rdbuf.pass.cpp
    libcxx/trunk/test/std/input.output/iostreams.base/ios/basic.ios.members/rdbuf_streambuf.pass.cpp
    libcxx/trunk/test/std/input.output/iostreams.base/ios/basic.ios.members/set_rdbuf.pass.cpp
    libcxx/trunk/test/std/input.output/iostreams.base/ios/basic.ios.members/swap.pass.cpp
    libcxx/trunk/test/std/input.output/iostreams.base/ios/basic.ios.members/tie.pass.cpp
    libcxx/trunk/test/std/input.output/iostreams.base/ios/basic.ios.members/tie_ostream.pass.cpp
    libcxx/trunk/test/std/input.output/iostreams.base/ios/basic.ios.members/widen.pass.cpp
    libcxx/trunk/test/std/input.output/iostreams.base/ios/iostate.flags/
    libcxx/trunk/test/std/input.output/iostreams.base/ios/iostate.flags/bad.pass.cpp
    libcxx/trunk/test/std/input.output/iostreams.base/ios/iostate.flags/bool.pass.cpp
    libcxx/trunk/test/std/input.output/iostreams.base/ios/iostate.flags/clear.pass.cpp
    libcxx/trunk/test/std/input.output/iostreams.base/ios/iostate.flags/eof.pass.cpp
    libcxx/trunk/test/std/input.output/iostreams.base/ios/iostate.flags/exceptions.pass.cpp
    libcxx/trunk/test/std/input.output/iostreams.base/ios/iostate.flags/exceptions_iostate.pass.cpp
    libcxx/trunk/test/std/input.output/iostreams.base/ios/iostate.flags/fail.pass.cpp
    libcxx/trunk/test/std/input.output/iostreams.base/ios/iostate.flags/good.pass.cpp
    libcxx/trunk/test/std/input.output/iostreams.base/ios/iostate.flags/not.pass.cpp
    libcxx/trunk/test/std/input.output/iostreams.base/ios/iostate.flags/rdstate.pass.cpp
    libcxx/trunk/test/std/input.output/iostreams.base/ios/iostate.flags/setstate.pass.cpp
    libcxx/trunk/test/std/input.output/iostreams.base/ios/types.pass.cpp
    libcxx/trunk/test/std/input.output/iostreams.base/std.ios.manip/
    libcxx/trunk/test/std/input.output/iostreams.base/std.ios.manip/adjustfield.manip/
    libcxx/trunk/test/std/input.output/iostreams.base/std.ios.manip/adjustfield.manip/internal.pass.cpp
    libcxx/trunk/test/std/input.output/iostreams.base/std.ios.manip/adjustfield.manip/left.pass.cpp
    libcxx/trunk/test/std/input.output/iostreams.base/std.ios.manip/adjustfield.manip/right.pass.cpp
    libcxx/trunk/test/std/input.output/iostreams.base/std.ios.manip/basefield.manip/
    libcxx/trunk/test/std/input.output/iostreams.base/std.ios.manip/basefield.manip/dec.pass.cpp
    libcxx/trunk/test/std/input.output/iostreams.base/std.ios.manip/basefield.manip/hex.pass.cpp
    libcxx/trunk/test/std/input.output/iostreams.base/std.ios.manip/basefield.manip/oct.pass.cpp
    libcxx/trunk/test/std/input.output/iostreams.base/std.ios.manip/error.reporting/
    libcxx/trunk/test/std/input.output/iostreams.base/std.ios.manip/error.reporting/iostream_category.pass.cpp
    libcxx/trunk/test/std/input.output/iostreams.base/std.ios.manip/error.reporting/make_error_code.pass.cpp
    libcxx/trunk/test/std/input.output/iostreams.base/std.ios.manip/error.reporting/make_error_condition.pass.cpp
    libcxx/trunk/test/std/input.output/iostreams.base/std.ios.manip/floatfield.manip/
    libcxx/trunk/test/std/input.output/iostreams.base/std.ios.manip/floatfield.manip/defaultfloat.pass.cpp
    libcxx/trunk/test/std/input.output/iostreams.base/std.ios.manip/floatfield.manip/fixed.pass.cpp
    libcxx/trunk/test/std/input.output/iostreams.base/std.ios.manip/floatfield.manip/hexfloat.pass.cpp
    libcxx/trunk/test/std/input.output/iostreams.base/std.ios.manip/floatfield.manip/scientific.pass.cpp
    libcxx/trunk/test/std/input.output/iostreams.base/std.ios.manip/fmtflags.manip/
    libcxx/trunk/test/std/input.output/iostreams.base/std.ios.manip/fmtflags.manip/boolalpha.pass.cpp
    libcxx/trunk/test/std/input.output/iostreams.base/std.ios.manip/fmtflags.manip/noboolalpha.pass.cpp
    libcxx/trunk/test/std/input.output/iostreams.base/std.ios.manip/fmtflags.manip/noshowbase.pass.cpp
    libcxx/trunk/test/std/input.output/iostreams.base/std.ios.manip/fmtflags.manip/noshowpoint.pass.cpp
    libcxx/trunk/test/std/input.output/iostreams.base/std.ios.manip/fmtflags.manip/noshowpos.pass.cpp
    libcxx/trunk/test/std/input.output/iostreams.base/std.ios.manip/fmtflags.manip/noskipws.pass.cpp
    libcxx/trunk/test/std/input.output/iostreams.base/std.ios.manip/fmtflags.manip/nounitbuf.pass.cpp
    libcxx/trunk/test/std/input.output/iostreams.base/std.ios.manip/fmtflags.manip/nouppercase.pass.cpp
    libcxx/trunk/test/std/input.output/iostreams.base/std.ios.manip/fmtflags.manip/showbase.pass.cpp
    libcxx/trunk/test/std/input.output/iostreams.base/std.ios.manip/fmtflags.manip/showpoint.pass.cpp
    libcxx/trunk/test/std/input.output/iostreams.base/std.ios.manip/fmtflags.manip/showpos.pass.cpp
    libcxx/trunk/test/std/input.output/iostreams.base/std.ios.manip/fmtflags.manip/skipws.pass.cpp
    libcxx/trunk/test/std/input.output/iostreams.base/std.ios.manip/fmtflags.manip/unitbuf.pass.cpp
    libcxx/trunk/test/std/input.output/iostreams.base/std.ios.manip/fmtflags.manip/uppercase.pass.cpp
    libcxx/trunk/test/std/input.output/iostreams.base/std.ios.manip/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/input.output/iostreams.base/stream.types/
    libcxx/trunk/test/std/input.output/iostreams.base/stream.types/streamoff.pass.cpp
    libcxx/trunk/test/std/input.output/iostreams.base/stream.types/streamsize.pass.cpp
    libcxx/trunk/test/std/input.output/iostreams.base/version.pass.cpp
    libcxx/trunk/test/std/input.output/iostreams.requirements/
    libcxx/trunk/test/std/input.output/iostreams.requirements/iostream.limits.imbue/
    libcxx/trunk/test/std/input.output/iostreams.requirements/iostream.limits.imbue/tested_elsewhere.pass.cpp
    libcxx/trunk/test/std/input.output/iostreams.requirements/iostreams.limits.pos/
    libcxx/trunk/test/std/input.output/iostreams.requirements/iostreams.limits.pos/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/input.output/iostreams.requirements/iostreams.threadsafety/
    libcxx/trunk/test/std/input.output/iostreams.requirements/iostreams.threadsafety/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/input.output/iostreams.requirements/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/input.output/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/input.output/stream.buffers/
    libcxx/trunk/test/std/input.output/stream.buffers/streambuf/
    libcxx/trunk/test/std/input.output/stream.buffers/streambuf.reqts/
    libcxx/trunk/test/std/input.output/stream.buffers/streambuf.reqts/tested_elsewhere.pass.cpp
    libcxx/trunk/test/std/input.output/stream.buffers/streambuf/streambuf.cons/
    libcxx/trunk/test/std/input.output/stream.buffers/streambuf/streambuf.cons/copy.fail.cpp
    libcxx/trunk/test/std/input.output/stream.buffers/streambuf/streambuf.cons/copy.pass.cpp
    libcxx/trunk/test/std/input.output/stream.buffers/streambuf/streambuf.cons/default.fail.cpp
    libcxx/trunk/test/std/input.output/stream.buffers/streambuf/streambuf.cons/default.pass.cpp
    libcxx/trunk/test/std/input.output/stream.buffers/streambuf/streambuf.members/
    libcxx/trunk/test/std/input.output/stream.buffers/streambuf/streambuf.members/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/input.output/stream.buffers/streambuf/streambuf.members/streambuf.buffer/
    libcxx/trunk/test/std/input.output/stream.buffers/streambuf/streambuf.members/streambuf.buffer/pubseekoff.pass.cpp
    libcxx/trunk/test/std/input.output/stream.buffers/streambuf/streambuf.members/streambuf.buffer/pubseekpos.pass.cpp
    libcxx/trunk/test/std/input.output/stream.buffers/streambuf/streambuf.members/streambuf.buffer/pubsetbuf.pass.cpp
    libcxx/trunk/test/std/input.output/stream.buffers/streambuf/streambuf.members/streambuf.buffer/pubsync.pass.cpp
    libcxx/trunk/test/std/input.output/stream.buffers/streambuf/streambuf.members/streambuf.locales/
    libcxx/trunk/test/std/input.output/stream.buffers/streambuf/streambuf.members/streambuf.locales/locales.pass.cpp
    libcxx/trunk/test/std/input.output/stream.buffers/streambuf/streambuf.members/streambuf.pub.get/
    libcxx/trunk/test/std/input.output/stream.buffers/streambuf/streambuf.members/streambuf.pub.get/in_avail.pass.cpp
    libcxx/trunk/test/std/input.output/stream.buffers/streambuf/streambuf.members/streambuf.pub.get/sbumpc.pass.cpp
    libcxx/trunk/test/std/input.output/stream.buffers/streambuf/streambuf.members/streambuf.pub.get/sgetc.pass.cpp
    libcxx/trunk/test/std/input.output/stream.buffers/streambuf/streambuf.members/streambuf.pub.get/sgetn.pass.cpp
    libcxx/trunk/test/std/input.output/stream.buffers/streambuf/streambuf.members/streambuf.pub.get/snextc.pass.cpp
    libcxx/trunk/test/std/input.output/stream.buffers/streambuf/streambuf.members/streambuf.pub.pback/
    libcxx/trunk/test/std/input.output/stream.buffers/streambuf/streambuf.members/streambuf.pub.pback/sputbackc.pass.cpp
    libcxx/trunk/test/std/input.output/stream.buffers/streambuf/streambuf.members/streambuf.pub.pback/sungetc.pass.cpp
    libcxx/trunk/test/std/input.output/stream.buffers/streambuf/streambuf.members/streambuf.pub.put/
    libcxx/trunk/test/std/input.output/stream.buffers/streambuf/streambuf.members/streambuf.pub.put/sputc.pass.cpp
    libcxx/trunk/test/std/input.output/stream.buffers/streambuf/streambuf.members/streambuf.pub.put/sputn.pass.cpp
    libcxx/trunk/test/std/input.output/stream.buffers/streambuf/streambuf.protected/
    libcxx/trunk/test/std/input.output/stream.buffers/streambuf/streambuf.protected/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/input.output/stream.buffers/streambuf/streambuf.protected/streambuf.assign/
    libcxx/trunk/test/std/input.output/stream.buffers/streambuf/streambuf.protected/streambuf.assign/assign.pass.cpp
    libcxx/trunk/test/std/input.output/stream.buffers/streambuf/streambuf.protected/streambuf.assign/swap.pass.cpp
    libcxx/trunk/test/std/input.output/stream.buffers/streambuf/streambuf.protected/streambuf.get.area/
    libcxx/trunk/test/std/input.output/stream.buffers/streambuf/streambuf.protected/streambuf.get.area/gbump.pass.cpp
    libcxx/trunk/test/std/input.output/stream.buffers/streambuf/streambuf.protected/streambuf.get.area/setg.pass.cpp
    libcxx/trunk/test/std/input.output/stream.buffers/streambuf/streambuf.protected/streambuf.put.area/
    libcxx/trunk/test/std/input.output/stream.buffers/streambuf/streambuf.protected/streambuf.put.area/pbump.pass.cpp
    libcxx/trunk/test/std/input.output/stream.buffers/streambuf/streambuf.protected/streambuf.put.area/setp.pass.cpp
    libcxx/trunk/test/std/input.output/stream.buffers/streambuf/streambuf.virtuals/
    libcxx/trunk/test/std/input.output/stream.buffers/streambuf/streambuf.virtuals/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/input.output/stream.buffers/streambuf/streambuf.virtuals/streambuf.virt.buffer/
    libcxx/trunk/test/std/input.output/stream.buffers/streambuf/streambuf.virtuals/streambuf.virt.buffer/tested_elsewhere.pass.cpp
    libcxx/trunk/test/std/input.output/stream.buffers/streambuf/streambuf.virtuals/streambuf.virt.get/
    libcxx/trunk/test/std/input.output/stream.buffers/streambuf/streambuf.virtuals/streambuf.virt.get/showmanyc.pass.cpp
    libcxx/trunk/test/std/input.output/stream.buffers/streambuf/streambuf.virtuals/streambuf.virt.get/uflow.pass.cpp
    libcxx/trunk/test/std/input.output/stream.buffers/streambuf/streambuf.virtuals/streambuf.virt.get/underflow.pass.cpp
    libcxx/trunk/test/std/input.output/stream.buffers/streambuf/streambuf.virtuals/streambuf.virt.get/xsgetn.pass.cpp
    libcxx/trunk/test/std/input.output/stream.buffers/streambuf/streambuf.virtuals/streambuf.virt.locales/
    libcxx/trunk/test/std/input.output/stream.buffers/streambuf/streambuf.virtuals/streambuf.virt.locales/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/input.output/stream.buffers/streambuf/streambuf.virtuals/streambuf.virt.pback/
    libcxx/trunk/test/std/input.output/stream.buffers/streambuf/streambuf.virtuals/streambuf.virt.pback/pbackfail.pass.cpp
    libcxx/trunk/test/std/input.output/stream.buffers/streambuf/streambuf.virtuals/streambuf.virt.put/
    libcxx/trunk/test/std/input.output/stream.buffers/streambuf/streambuf.virtuals/streambuf.virt.put/overflow.pass.cpp
    libcxx/trunk/test/std/input.output/stream.buffers/streambuf/streambuf.virtuals/streambuf.virt.put/xsputn.pass.cpp
    libcxx/trunk/test/std/input.output/stream.buffers/streambuf/types.pass.cpp
    libcxx/trunk/test/std/input.output/stream.buffers/version.pass.cpp
    libcxx/trunk/test/std/input.output/string.streams/
    libcxx/trunk/test/std/input.output/string.streams/istringstream/
    libcxx/trunk/test/std/input.output/string.streams/istringstream/istringstream.assign/
    libcxx/trunk/test/std/input.output/string.streams/istringstream/istringstream.assign/member_swap.pass.cpp
    libcxx/trunk/test/std/input.output/string.streams/istringstream/istringstream.assign/move.pass.cpp
    libcxx/trunk/test/std/input.output/string.streams/istringstream/istringstream.assign/nonmember_swap.pass.cpp
    libcxx/trunk/test/std/input.output/string.streams/istringstream/istringstream.cons/
    libcxx/trunk/test/std/input.output/string.streams/istringstream/istringstream.cons/default.pass.cpp
    libcxx/trunk/test/std/input.output/string.streams/istringstream/istringstream.cons/move.pass.cpp
    libcxx/trunk/test/std/input.output/string.streams/istringstream/istringstream.cons/string.pass.cpp
    libcxx/trunk/test/std/input.output/string.streams/istringstream/istringstream.members/
    libcxx/trunk/test/std/input.output/string.streams/istringstream/istringstream.members/str.pass.cpp
    libcxx/trunk/test/std/input.output/string.streams/istringstream/types.pass.cpp
    libcxx/trunk/test/std/input.output/string.streams/ostringstream/
    libcxx/trunk/test/std/input.output/string.streams/ostringstream/ostringstream.assign/
    libcxx/trunk/test/std/input.output/string.streams/ostringstream/ostringstream.assign/member_swap.pass.cpp
    libcxx/trunk/test/std/input.output/string.streams/ostringstream/ostringstream.assign/move.pass.cpp
    libcxx/trunk/test/std/input.output/string.streams/ostringstream/ostringstream.assign/nonmember_swap.pass.cpp
    libcxx/trunk/test/std/input.output/string.streams/ostringstream/ostringstream.cons/
    libcxx/trunk/test/std/input.output/string.streams/ostringstream/ostringstream.cons/default.pass.cpp
    libcxx/trunk/test/std/input.output/string.streams/ostringstream/ostringstream.cons/move.pass.cpp
    libcxx/trunk/test/std/input.output/string.streams/ostringstream/ostringstream.cons/string.pass.cpp
    libcxx/trunk/test/std/input.output/string.streams/ostringstream/ostringstream.members/
    libcxx/trunk/test/std/input.output/string.streams/ostringstream/ostringstream.members/str.pass.cpp
    libcxx/trunk/test/std/input.output/string.streams/ostringstream/types.pass.cpp
    libcxx/trunk/test/std/input.output/string.streams/stringbuf/
    libcxx/trunk/test/std/input.output/string.streams/stringbuf/stringbuf.assign/
    libcxx/trunk/test/std/input.output/string.streams/stringbuf/stringbuf.assign/member_swap.pass.cpp
    libcxx/trunk/test/std/input.output/string.streams/stringbuf/stringbuf.assign/move.pass.cpp
    libcxx/trunk/test/std/input.output/string.streams/stringbuf/stringbuf.assign/nonmember_swap.pass.cpp
    libcxx/trunk/test/std/input.output/string.streams/stringbuf/stringbuf.cons/
    libcxx/trunk/test/std/input.output/string.streams/stringbuf/stringbuf.cons/default.pass.cpp
    libcxx/trunk/test/std/input.output/string.streams/stringbuf/stringbuf.cons/move.pass.cpp
    libcxx/trunk/test/std/input.output/string.streams/stringbuf/stringbuf.cons/string.pass.cpp
    libcxx/trunk/test/std/input.output/string.streams/stringbuf/stringbuf.members/
    libcxx/trunk/test/std/input.output/string.streams/stringbuf/stringbuf.members/str.pass.cpp
    libcxx/trunk/test/std/input.output/string.streams/stringbuf/stringbuf.virtuals/
    libcxx/trunk/test/std/input.output/string.streams/stringbuf/stringbuf.virtuals/overflow.pass.cpp
    libcxx/trunk/test/std/input.output/string.streams/stringbuf/stringbuf.virtuals/pbackfail.pass.cpp
    libcxx/trunk/test/std/input.output/string.streams/stringbuf/stringbuf.virtuals/seekoff.pass.cpp
    libcxx/trunk/test/std/input.output/string.streams/stringbuf/stringbuf.virtuals/seekpos.pass.cpp
    libcxx/trunk/test/std/input.output/string.streams/stringbuf/stringbuf.virtuals/setbuf.pass.cpp
    libcxx/trunk/test/std/input.output/string.streams/stringbuf/stringbuf.virtuals/underflow.pass.cpp
    libcxx/trunk/test/std/input.output/string.streams/stringbuf/types.pass.cpp
    libcxx/trunk/test/std/input.output/string.streams/stringstream/
    libcxx/trunk/test/std/input.output/string.streams/stringstream.cons/
    libcxx/trunk/test/std/input.output/string.streams/stringstream.cons/default.pass.cpp
    libcxx/trunk/test/std/input.output/string.streams/stringstream.cons/move.pass.cpp
    libcxx/trunk/test/std/input.output/string.streams/stringstream.cons/move2.pass.cpp
    libcxx/trunk/test/std/input.output/string.streams/stringstream.cons/string.pass.cpp
    libcxx/trunk/test/std/input.output/string.streams/stringstream.cons/stringstream.assign/
    libcxx/trunk/test/std/input.output/string.streams/stringstream.cons/stringstream.assign/member_swap.pass.cpp
    libcxx/trunk/test/std/input.output/string.streams/stringstream.cons/stringstream.assign/move.pass.cpp
    libcxx/trunk/test/std/input.output/string.streams/stringstream.cons/stringstream.assign/nonmember_swap.pass.cpp
    libcxx/trunk/test/std/input.output/string.streams/stringstream.members/
    libcxx/trunk/test/std/input.output/string.streams/stringstream.members/str.pass.cpp
    libcxx/trunk/test/std/input.output/string.streams/stringstream/types.pass.cpp
    libcxx/trunk/test/std/input.output/string.streams/version.pass.cpp
    libcxx/trunk/test/std/iterators/
    libcxx/trunk/test/std/iterators/iterator.container/
    libcxx/trunk/test/std/iterators/iterator.container/data.pass.cpp
    libcxx/trunk/test/std/iterators/iterator.container/empty.pass.cpp
    libcxx/trunk/test/std/iterators/iterator.container/size.pass.cpp
    libcxx/trunk/test/std/iterators/iterator.primitives/
    libcxx/trunk/test/std/iterators/iterator.primitives/iterator.basic/
    libcxx/trunk/test/std/iterators/iterator.primitives/iterator.basic/iterator.pass.cpp
    libcxx/trunk/test/std/iterators/iterator.primitives/iterator.operations/
    libcxx/trunk/test/std/iterators/iterator.primitives/iterator.operations/advance.pass.cpp
    libcxx/trunk/test/std/iterators/iterator.primitives/iterator.operations/distance.pass.cpp
    libcxx/trunk/test/std/iterators/iterator.primitives/iterator.operations/next.pass.cpp
    libcxx/trunk/test/std/iterators/iterator.primitives/iterator.operations/prev.pass.cpp
    libcxx/trunk/test/std/iterators/iterator.primitives/iterator.traits/
    libcxx/trunk/test/std/iterators/iterator.primitives/iterator.traits/const_pointer.pass.cpp
    libcxx/trunk/test/std/iterators/iterator.primitives/iterator.traits/empty.pass.cpp
    libcxx/trunk/test/std/iterators/iterator.primitives/iterator.traits/iterator.pass.cpp
    libcxx/trunk/test/std/iterators/iterator.primitives/iterator.traits/pointer.pass.cpp
    libcxx/trunk/test/std/iterators/iterator.primitives/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/iterators/iterator.primitives/std.iterator.tags/
    libcxx/trunk/test/std/iterators/iterator.primitives/std.iterator.tags/bidirectional_iterator_tag.pass.cpp
    libcxx/trunk/test/std/iterators/iterator.primitives/std.iterator.tags/forward_iterator_tag.pass.cpp
    libcxx/trunk/test/std/iterators/iterator.primitives/std.iterator.tags/input_iterator_tag.pass.cpp
    libcxx/trunk/test/std/iterators/iterator.primitives/std.iterator.tags/output_iterator_tag.pass.cpp
    libcxx/trunk/test/std/iterators/iterator.primitives/std.iterator.tags/random_access_iterator_tag.pass.cpp
    libcxx/trunk/test/std/iterators/iterator.range/
    libcxx/trunk/test/std/iterators/iterator.range/begin-end.pass.cpp
    libcxx/trunk/test/std/iterators/iterator.requirements/
    libcxx/trunk/test/std/iterators/iterator.requirements/bidirectional.iterators/
    libcxx/trunk/test/std/iterators/iterator.requirements/bidirectional.iterators/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/iterators/iterator.requirements/forward.iterators/
    libcxx/trunk/test/std/iterators/iterator.requirements/forward.iterators/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/iterators/iterator.requirements/input.iterators/
    libcxx/trunk/test/std/iterators/iterator.requirements/input.iterators/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/iterators/iterator.requirements/iterator.iterators/
    libcxx/trunk/test/std/iterators/iterator.requirements/iterator.iterators/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/iterators/iterator.requirements/iterator.requirements.general/
    libcxx/trunk/test/std/iterators/iterator.requirements/iterator.requirements.general/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/iterators/iterator.requirements/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/iterators/iterator.requirements/output.iterators/
    libcxx/trunk/test/std/iterators/iterator.requirements/output.iterators/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/iterators/iterator.requirements/random.access.iterators/
    libcxx/trunk/test/std/iterators/iterator.requirements/random.access.iterators/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/iterators/iterator.synopsis/
    libcxx/trunk/test/std/iterators/iterator.synopsis/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/iterators/iterators.general/
    libcxx/trunk/test/std/iterators/iterators.general/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/iterators/predef.iterators/
    libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/
    libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/back.insert.iter.ops/
    libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/back.insert.iter.ops/back.insert.iter.cons/
    libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/back.insert.iter.ops/back.insert.iter.cons/container.fail.cpp
    libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/back.insert.iter.ops/back.insert.iter.cons/container.pass.cpp
    libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/back.insert.iter.ops/back.insert.iter.op++/
    libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/back.insert.iter.ops/back.insert.iter.op++/post.pass.cpp
    libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/back.insert.iter.ops/back.insert.iter.op++/pre.pass.cpp
    libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/back.insert.iter.ops/back.insert.iter.op=/
    libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/back.insert.iter.ops/back.insert.iter.op=/lv_value.pass.cpp
    libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/back.insert.iter.ops/back.insert.iter.op=/rv_value.pass.cpp
    libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/back.insert.iter.ops/back.insert.iter.op_astrk/
    libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/back.insert.iter.ops/back.insert.iter.op_astrk/test.pass.cpp
    libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/back.insert.iter.ops/back.inserter/
    libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/back.insert.iter.ops/back.inserter/test.pass.cpp
    libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/back.insert.iter.ops/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/back.insert.iterator/
    libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/back.insert.iterator/types.pass.cpp
    libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/front.insert.iter.ops/
    libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/front.insert.iter.ops/front.insert.iter.cons/
    libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/front.insert.iter.ops/front.insert.iter.cons/container.fail.cpp
    libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/front.insert.iter.ops/front.insert.iter.cons/container.pass.cpp
    libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/front.insert.iter.ops/front.insert.iter.op++/
    libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/front.insert.iter.ops/front.insert.iter.op++/post.pass.cpp
    libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/front.insert.iter.ops/front.insert.iter.op++/pre.pass.cpp
    libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/front.insert.iter.ops/front.insert.iter.op=/
    libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/front.insert.iter.ops/front.insert.iter.op=/lv_value.pass.cpp
    libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/front.insert.iter.ops/front.insert.iter.op=/rv_value.pass.cpp
    libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/front.insert.iter.ops/front.insert.iter.op_astrk/
    libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/front.insert.iter.ops/front.insert.iter.op_astrk/test.pass.cpp
    libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/front.insert.iter.ops/front.inserter/
    libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/front.insert.iter.ops/front.inserter/test.pass.cpp
    libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/front.insert.iter.ops/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/front.insert.iterator/
    libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/front.insert.iterator/types.pass.cpp
    libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/insert.iter.ops/
    libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/insert.iter.ops/insert.iter.cons/
    libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/insert.iter.ops/insert.iter.cons/test.pass.cpp
    libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/insert.iter.ops/insert.iter.op++/
    libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/insert.iter.ops/insert.iter.op++/post.pass.cpp
    libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/insert.iter.ops/insert.iter.op++/pre.pass.cpp
    libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/insert.iter.ops/insert.iter.op=/
    libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/insert.iter.ops/insert.iter.op=/lv_value.pass.cpp
    libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/insert.iter.ops/insert.iter.op=/rv_value.pass.cpp
    libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/insert.iter.ops/insert.iter.op_astrk/
    libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/insert.iter.ops/insert.iter.op_astrk/test.pass.cpp
    libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/insert.iter.ops/inserter/
    libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/insert.iter.ops/inserter/test.pass.cpp
    libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/insert.iter.ops/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/insert.iterator/
    libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/insert.iterator/types.pass.cpp
    libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/iterators/predef.iterators/move.iterators/
    libcxx/trunk/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/
    libcxx/trunk/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.nonmember/
    libcxx/trunk/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.nonmember/make_move_iterator.pass.cpp
    libcxx/trunk/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.nonmember/minus.pass.cpp
    libcxx/trunk/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.nonmember/plus.pass.cpp
    libcxx/trunk/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.+/
    libcxx/trunk/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.+/difference_type.pass.cpp
    libcxx/trunk/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.+=/
    libcxx/trunk/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.+=/difference_type.pass.cpp
    libcxx/trunk/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.-/
    libcxx/trunk/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.-/difference_type.pass.cpp
    libcxx/trunk/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.-=/
    libcxx/trunk/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.-=/difference_type.pass.cpp
    libcxx/trunk/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.comp/
    libcxx/trunk/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.comp/op_eq.pass.cpp
    libcxx/trunk/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.comp/op_gt.pass.cpp
    libcxx/trunk/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.comp/op_gte.pass.cpp
    libcxx/trunk/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.comp/op_lt.pass.cpp
    libcxx/trunk/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.comp/op_lte.pass.cpp
    libcxx/trunk/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.comp/op_neq.pass.cpp
    libcxx/trunk/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.const/
    libcxx/trunk/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.const/convert.fail.cpp
    libcxx/trunk/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.const/convert.pass.cpp
    libcxx/trunk/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.const/default.pass.cpp
    libcxx/trunk/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.const/iter.fail.cpp
    libcxx/trunk/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.const/iter.pass.cpp
    libcxx/trunk/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.conv/
    libcxx/trunk/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.conv/tested_elsewhere.pass.cpp
    libcxx/trunk/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.decr/
    libcxx/trunk/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.decr/post.pass.cpp
    libcxx/trunk/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.decr/pre.pass.cpp
    libcxx/trunk/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.incr/
    libcxx/trunk/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.incr/post.pass.cpp
    libcxx/trunk/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.incr/pre.pass.cpp
    libcxx/trunk/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.index/
    libcxx/trunk/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.index/difference_type.pass.cpp
    libcxx/trunk/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.ref/
    libcxx/trunk/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.ref/op_arrow.pass.cpp
    libcxx/trunk/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.star/
    libcxx/trunk/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op.star/op_star.pass.cpp
    libcxx/trunk/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op=/
    libcxx/trunk/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op=/move_iterator.fail.cpp
    libcxx/trunk/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/move.iter.op=/move_iterator.pass.cpp
    libcxx/trunk/test/std/iterators/predef.iterators/move.iterators/move.iter.ops/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/iterators/predef.iterators/move.iterators/move.iter.requirements/
    libcxx/trunk/test/std/iterators/predef.iterators/move.iterators/move.iter.requirements/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/iterators/predef.iterators/move.iterators/move.iterator/
    libcxx/trunk/test/std/iterators/predef.iterators/move.iterators/move.iterator/types.pass.cpp
    libcxx/trunk/test/std/iterators/predef.iterators/move.iterators/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/iterators/predef.iterators/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/iterators/predef.iterators/reverse.iterators/
    libcxx/trunk/test/std/iterators/predef.iterators/reverse.iterators/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/
    libcxx/trunk/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.cons/
    libcxx/trunk/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.cons/default.pass.cpp
    libcxx/trunk/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.cons/iter.fail.cpp
    libcxx/trunk/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.cons/iter.pass.cpp
    libcxx/trunk/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.cons/reverse_iterator.fail.cpp
    libcxx/trunk/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.cons/reverse_iterator.pass.cpp
    libcxx/trunk/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.conv/
    libcxx/trunk/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.conv/tested_elsewhere.pass.cpp
    libcxx/trunk/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.make/
    libcxx/trunk/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.make/make_reverse_iterator.pass.cpp
    libcxx/trunk/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.op!=/
    libcxx/trunk/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.op!=/test.pass.cpp
    libcxx/trunk/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.op+/
    libcxx/trunk/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.op++/
    libcxx/trunk/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.op++/post.pass.cpp
    libcxx/trunk/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.op++/pre.pass.cpp
    libcxx/trunk/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.op+/difference_type.pass.cpp
    libcxx/trunk/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.op+=/
    libcxx/trunk/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.op+=/difference_type.pass.cpp
    libcxx/trunk/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.op-/
    libcxx/trunk/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.op--/
    libcxx/trunk/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.op--/post.pass.cpp
    libcxx/trunk/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.op--/pre.pass.cpp
    libcxx/trunk/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.op-/difference_type.pass.cpp
    libcxx/trunk/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.op-=/
    libcxx/trunk/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.op-=/difference_type.pass.cpp
    libcxx/trunk/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.op.star/
    libcxx/trunk/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.op.star/op_star.pass.cpp
    libcxx/trunk/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.op=/
    libcxx/trunk/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.op=/reverse_iterator.fail.cpp
    libcxx/trunk/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.op=/reverse_iterator.pass.cpp
    libcxx/trunk/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.op==/
    libcxx/trunk/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.op==/test.pass.cpp
    libcxx/trunk/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.opdiff/
    libcxx/trunk/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.opdiff/test.pass.cpp
    libcxx/trunk/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.opgt/
    libcxx/trunk/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.opgt/test.pass.cpp
    libcxx/trunk/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.opgt=/
    libcxx/trunk/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.opgt=/test.pass.cpp
    libcxx/trunk/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.opindex/
    libcxx/trunk/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.opindex/difference_type.pass.cpp
    libcxx/trunk/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.oplt/
    libcxx/trunk/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.oplt/test.pass.cpp
    libcxx/trunk/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.oplt=/
    libcxx/trunk/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.oplt=/test.pass.cpp
    libcxx/trunk/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.opref/
    libcxx/trunk/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.opref/op_arrow.pass.cpp
    libcxx/trunk/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.opsum/
    libcxx/trunk/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.ops/reverse.iter.opsum/difference_type.pass.cpp
    libcxx/trunk/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.requirements/
    libcxx/trunk/test/std/iterators/predef.iterators/reverse.iterators/reverse.iter.requirements/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/iterators/predef.iterators/reverse.iterators/reverse.iterator/
    libcxx/trunk/test/std/iterators/predef.iterators/reverse.iterators/reverse.iterator/types.pass.cpp
    libcxx/trunk/test/std/iterators/stream.iterators/
    libcxx/trunk/test/std/iterators/stream.iterators/istream.iterator/
    libcxx/trunk/test/std/iterators/stream.iterators/istream.iterator/istream.iterator.cons/
    libcxx/trunk/test/std/iterators/stream.iterators/istream.iterator/istream.iterator.cons/copy.pass.cpp
    libcxx/trunk/test/std/iterators/stream.iterators/istream.iterator/istream.iterator.cons/default.pass.cpp
    libcxx/trunk/test/std/iterators/stream.iterators/istream.iterator/istream.iterator.cons/istream.pass.cpp
    libcxx/trunk/test/std/iterators/stream.iterators/istream.iterator/istream.iterator.ops/
    libcxx/trunk/test/std/iterators/stream.iterators/istream.iterator/istream.iterator.ops/arrow.pass.cpp
    libcxx/trunk/test/std/iterators/stream.iterators/istream.iterator/istream.iterator.ops/dereference.pass.cpp
    libcxx/trunk/test/std/iterators/stream.iterators/istream.iterator/istream.iterator.ops/equal.pass.cpp
    libcxx/trunk/test/std/iterators/stream.iterators/istream.iterator/istream.iterator.ops/post_increment.pass.cpp
    libcxx/trunk/test/std/iterators/stream.iterators/istream.iterator/istream.iterator.ops/pre_increment.pass.cpp
    libcxx/trunk/test/std/iterators/stream.iterators/istream.iterator/types.pass.cpp
    libcxx/trunk/test/std/iterators/stream.iterators/istreambuf.iterator/
    libcxx/trunk/test/std/iterators/stream.iterators/istreambuf.iterator/istreambuf.iterator.cons/
    libcxx/trunk/test/std/iterators/stream.iterators/istreambuf.iterator/istreambuf.iterator.cons/default.pass.cpp
    libcxx/trunk/test/std/iterators/stream.iterators/istreambuf.iterator/istreambuf.iterator.cons/istream.pass.cpp
    libcxx/trunk/test/std/iterators/stream.iterators/istreambuf.iterator/istreambuf.iterator.cons/proxy.pass.cpp
    libcxx/trunk/test/std/iterators/stream.iterators/istreambuf.iterator/istreambuf.iterator.cons/streambuf.pass.cpp
    libcxx/trunk/test/std/iterators/stream.iterators/istreambuf.iterator/istreambuf.iterator_equal/
    libcxx/trunk/test/std/iterators/stream.iterators/istreambuf.iterator/istreambuf.iterator_equal/equal.pass.cpp
    libcxx/trunk/test/std/iterators/stream.iterators/istreambuf.iterator/istreambuf.iterator_op!=/
    libcxx/trunk/test/std/iterators/stream.iterators/istreambuf.iterator/istreambuf.iterator_op!=/not_equal.pass.cpp
    libcxx/trunk/test/std/iterators/stream.iterators/istreambuf.iterator/istreambuf.iterator_op++/
    libcxx/trunk/test/std/iterators/stream.iterators/istreambuf.iterator/istreambuf.iterator_op++/dereference.pass.cpp
    libcxx/trunk/test/std/iterators/stream.iterators/istreambuf.iterator/istreambuf.iterator_op==/
    libcxx/trunk/test/std/iterators/stream.iterators/istreambuf.iterator/istreambuf.iterator_op==/equal.pass.cpp
    libcxx/trunk/test/std/iterators/stream.iterators/istreambuf.iterator/istreambuf.iterator_op_astrk/
    libcxx/trunk/test/std/iterators/stream.iterators/istreambuf.iterator/istreambuf.iterator_op_astrk/arrow.pass.cpp
    libcxx/trunk/test/std/iterators/stream.iterators/istreambuf.iterator/istreambuf.iterator_op_astrk/post_increment.pass.cpp
    libcxx/trunk/test/std/iterators/stream.iterators/istreambuf.iterator/istreambuf.iterator_op_astrk/pre_increment.pass.cpp
    libcxx/trunk/test/std/iterators/stream.iterators/istreambuf.iterator/istreambuf.iterator_proxy/
    libcxx/trunk/test/std/iterators/stream.iterators/istreambuf.iterator/istreambuf.iterator_proxy/proxy.pass.cpp
    libcxx/trunk/test/std/iterators/stream.iterators/istreambuf.iterator/types.pass.cpp
    libcxx/trunk/test/std/iterators/stream.iterators/iterator.range/
    libcxx/trunk/test/std/iterators/stream.iterators/iterator.range/begin_array.pass.cpp
    libcxx/trunk/test/std/iterators/stream.iterators/iterator.range/begin_const.pass.cpp
    libcxx/trunk/test/std/iterators/stream.iterators/iterator.range/begin_non_const.pass.cpp
    libcxx/trunk/test/std/iterators/stream.iterators/iterator.range/end_array.pass.cpp
    libcxx/trunk/test/std/iterators/stream.iterators/iterator.range/end_const.pass.cpp
    libcxx/trunk/test/std/iterators/stream.iterators/iterator.range/end_non_const.pass.cpp
    libcxx/trunk/test/std/iterators/stream.iterators/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/iterators/stream.iterators/ostream.iterator/
    libcxx/trunk/test/std/iterators/stream.iterators/ostream.iterator/ostream.iterator.cons.des/
    libcxx/trunk/test/std/iterators/stream.iterators/ostream.iterator/ostream.iterator.cons.des/copy.pass.cpp
    libcxx/trunk/test/std/iterators/stream.iterators/ostream.iterator/ostream.iterator.cons.des/ostream.pass.cpp
    libcxx/trunk/test/std/iterators/stream.iterators/ostream.iterator/ostream.iterator.cons.des/ostream_delem.pass.cpp
    libcxx/trunk/test/std/iterators/stream.iterators/ostream.iterator/ostream.iterator.ops/
    libcxx/trunk/test/std/iterators/stream.iterators/ostream.iterator/ostream.iterator.ops/assign_t.pass.cpp
    libcxx/trunk/test/std/iterators/stream.iterators/ostream.iterator/ostream.iterator.ops/dereference.pass.cpp
    libcxx/trunk/test/std/iterators/stream.iterators/ostream.iterator/ostream.iterator.ops/increment.pass.cpp
    libcxx/trunk/test/std/iterators/stream.iterators/ostream.iterator/types.pass.cpp
    libcxx/trunk/test/std/iterators/stream.iterators/ostreambuf.iterator/
    libcxx/trunk/test/std/iterators/stream.iterators/ostreambuf.iterator/ostreambuf.iter.cons/
    libcxx/trunk/test/std/iterators/stream.iterators/ostreambuf.iterator/ostreambuf.iter.cons/ostream.pass.cpp
    libcxx/trunk/test/std/iterators/stream.iterators/ostreambuf.iterator/ostreambuf.iter.cons/streambuf.pass.cpp
    libcxx/trunk/test/std/iterators/stream.iterators/ostreambuf.iterator/ostreambuf.iter.ops/
    libcxx/trunk/test/std/iterators/stream.iterators/ostreambuf.iterator/ostreambuf.iter.ops/assign_c.pass.cpp
    libcxx/trunk/test/std/iterators/stream.iterators/ostreambuf.iterator/ostreambuf.iter.ops/deref.pass.cpp
    libcxx/trunk/test/std/iterators/stream.iterators/ostreambuf.iterator/ostreambuf.iter.ops/failed.pass.cpp
    libcxx/trunk/test/std/iterators/stream.iterators/ostreambuf.iterator/ostreambuf.iter.ops/increment.pass.cpp
    libcxx/trunk/test/std/iterators/stream.iterators/ostreambuf.iterator/types.pass.cpp
    libcxx/trunk/test/std/iterators/version.pass.cpp
    libcxx/trunk/test/std/language.support/
    libcxx/trunk/test/std/language.support/cstdint/
    libcxx/trunk/test/std/language.support/cstdint/cstdint.syn/
    libcxx/trunk/test/std/language.support/cstdint/cstdint.syn/cstdint.pass.cpp
    libcxx/trunk/test/std/language.support/cstdint/version.pass.cpp
    libcxx/trunk/test/std/language.support/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/language.support/support.dynamic/
    libcxx/trunk/test/std/language.support/support.dynamic/alloc.errors/
    libcxx/trunk/test/std/language.support/support.dynamic/alloc.errors/bad.alloc/
    libcxx/trunk/test/std/language.support/support.dynamic/alloc.errors/bad.alloc/bad_alloc.pass.cpp
    libcxx/trunk/test/std/language.support/support.dynamic/alloc.errors/new.badlength/
    libcxx/trunk/test/std/language.support/support.dynamic/alloc.errors/new.badlength/bad_array_length.pass.cpp
    libcxx/trunk/test/std/language.support/support.dynamic/alloc.errors/new.badlength/bad_array_new_length.pass.cpp
    libcxx/trunk/test/std/language.support/support.dynamic/alloc.errors/new.handler/
    libcxx/trunk/test/std/language.support/support.dynamic/alloc.errors/new.handler/new_handler.pass.cpp
    libcxx/trunk/test/std/language.support/support.dynamic/alloc.errors/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/language.support/support.dynamic/alloc.errors/set.new.handler/
    libcxx/trunk/test/std/language.support/support.dynamic/alloc.errors/set.new.handler/get_new_handler.pass.cpp
    libcxx/trunk/test/std/language.support/support.dynamic/alloc.errors/set.new.handler/set_new_handler.pass.cpp
    libcxx/trunk/test/std/language.support/support.dynamic/new.delete/
    libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/
    libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_array.pass.cpp
    libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_array_nothrow.pass.cpp
    libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_array_nothrow_replace.pass.cpp
    libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.array/new_array_replace.pass.cpp
    libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.dataraces/
    libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.dataraces/not_testable.pass.cpp
    libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.placement/
    libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.placement/new.pass.cpp
    libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.placement/new_array.pass.cpp
    libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/
    libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.pass.cpp
    libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_nothrow.pass.cpp
    libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_nothrow_replace.pass.cpp
    libcxx/trunk/test/std/language.support/support.dynamic/new.delete/new.delete.single/new_replace.pass.cpp
    libcxx/trunk/test/std/language.support/support.dynamic/new.delete/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/language.support/support.dynamic/version.pass.cpp
    libcxx/trunk/test/std/language.support/support.exception/
    libcxx/trunk/test/std/language.support/support.exception/bad.exception/
    libcxx/trunk/test/std/language.support/support.exception/bad.exception/bad_exception.pass.cpp
    libcxx/trunk/test/std/language.support/support.exception/except.nested/
    libcxx/trunk/test/std/language.support/support.exception/except.nested/assign.pass.cpp
    libcxx/trunk/test/std/language.support/support.exception/except.nested/ctor_copy.pass.cpp
    libcxx/trunk/test/std/language.support/support.exception/except.nested/ctor_default.pass.cpp
    libcxx/trunk/test/std/language.support/support.exception/except.nested/rethrow_if_nested.pass.cpp
    libcxx/trunk/test/std/language.support/support.exception/except.nested/rethrow_nested.pass.cpp
    libcxx/trunk/test/std/language.support/support.exception/except.nested/throw_with_nested.pass.cpp
    libcxx/trunk/test/std/language.support/support.exception/exception/
    libcxx/trunk/test/std/language.support/support.exception/exception.terminate/
    libcxx/trunk/test/std/language.support/support.exception/exception.terminate/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/language.support/support.exception/exception.terminate/set.terminate/
    libcxx/trunk/test/std/language.support/support.exception/exception.terminate/set.terminate/get_terminate.pass.cpp
    libcxx/trunk/test/std/language.support/support.exception/exception.terminate/set.terminate/set_terminate.pass.cpp
    libcxx/trunk/test/std/language.support/support.exception/exception.terminate/terminate/
    libcxx/trunk/test/std/language.support/support.exception/exception.terminate/terminate.handler/
    libcxx/trunk/test/std/language.support/support.exception/exception.terminate/terminate.handler/terminate_handler.pass.cpp
    libcxx/trunk/test/std/language.support/support.exception/exception.terminate/terminate/terminate.pass.cpp
    libcxx/trunk/test/std/language.support/support.exception/exception/exception.pass.cpp
    libcxx/trunk/test/std/language.support/support.exception/propagation/
    libcxx/trunk/test/std/language.support/support.exception/propagation/current_exception.pass.cpp
    libcxx/trunk/test/std/language.support/support.exception/propagation/exception_ptr.pass.cpp
    libcxx/trunk/test/std/language.support/support.exception/propagation/make_exception_ptr.pass.cpp
    libcxx/trunk/test/std/language.support/support.exception/propagation/rethrow_exception.pass.cpp
    libcxx/trunk/test/std/language.support/support.exception/uncaught/
    libcxx/trunk/test/std/language.support/support.exception/uncaught/uncaught_exception.pass.cpp
    libcxx/trunk/test/std/language.support/support.exception/version.pass.cpp
    libcxx/trunk/test/std/language.support/support.general/
    libcxx/trunk/test/std/language.support/support.general/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/language.support/support.initlist/
    libcxx/trunk/test/std/language.support/support.initlist/support.initlist.access/
    libcxx/trunk/test/std/language.support/support.initlist/support.initlist.access/access.pass.cpp
    libcxx/trunk/test/std/language.support/support.initlist/support.initlist.cons/
    libcxx/trunk/test/std/language.support/support.initlist/support.initlist.cons/default.pass.cpp
    libcxx/trunk/test/std/language.support/support.initlist/support.initlist.range/
    libcxx/trunk/test/std/language.support/support.initlist/support.initlist.range/begin_end.pass.cpp
    libcxx/trunk/test/std/language.support/support.initlist/types.pass.cpp
    libcxx/trunk/test/std/language.support/support.initlist/version.pass.cpp
    libcxx/trunk/test/std/language.support/support.limits/
    libcxx/trunk/test/std/language.support/support.limits/c.limits/
    libcxx/trunk/test/std/language.support/support.limits/c.limits/cfloat.pass.cpp
    libcxx/trunk/test/std/language.support/support.limits/c.limits/climits.pass.cpp
    libcxx/trunk/test/std/language.support/support.limits/c.limits/version_cfloat.pass.cpp
    libcxx/trunk/test/std/language.support/support.limits/c.limits/version_climits.pass.cpp
    libcxx/trunk/test/std/language.support/support.limits/limits/
    libcxx/trunk/test/std/language.support/support.limits/limits/denorm.style/
    libcxx/trunk/test/std/language.support/support.limits/limits/denorm.style/check_values.pass.cpp
    libcxx/trunk/test/std/language.support/support.limits/limits/is_specialized.pass.cpp
    libcxx/trunk/test/std/language.support/support.limits/limits/numeric.limits/
    libcxx/trunk/test/std/language.support/support.limits/limits/numeric.limits.members/
    libcxx/trunk/test/std/language.support/support.limits/limits/numeric.limits.members/const_data_members.pass.cpp
    libcxx/trunk/test/std/language.support/support.limits/limits/numeric.limits.members/denorm_min.pass.cpp
    libcxx/trunk/test/std/language.support/support.limits/limits/numeric.limits.members/digits.pass.cpp
    libcxx/trunk/test/std/language.support/support.limits/limits/numeric.limits.members/digits10.pass.cpp
    libcxx/trunk/test/std/language.support/support.limits/limits/numeric.limits.members/epsilon.pass.cpp
    libcxx/trunk/test/std/language.support/support.limits/limits/numeric.limits.members/has_denorm.pass.cpp
    libcxx/trunk/test/std/language.support/support.limits/limits/numeric.limits.members/has_denorm_loss.pass.cpp
    libcxx/trunk/test/std/language.support/support.limits/limits/numeric.limits.members/has_infinity.pass.cpp
    libcxx/trunk/test/std/language.support/support.limits/limits/numeric.limits.members/has_quiet_NaN.pass.cpp
    libcxx/trunk/test/std/language.support/support.limits/limits/numeric.limits.members/has_signaling_NaN.pass.cpp
    libcxx/trunk/test/std/language.support/support.limits/limits/numeric.limits.members/infinity.pass.cpp
    libcxx/trunk/test/std/language.support/support.limits/limits/numeric.limits.members/is_bounded.pass.cpp
    libcxx/trunk/test/std/language.support/support.limits/limits/numeric.limits.members/is_exact.pass.cpp
    libcxx/trunk/test/std/language.support/support.limits/limits/numeric.limits.members/is_iec559.pass.cpp
    libcxx/trunk/test/std/language.support/support.limits/limits/numeric.limits.members/is_integer.pass.cpp
    libcxx/trunk/test/std/language.support/support.limits/limits/numeric.limits.members/is_modulo.pass.cpp
    libcxx/trunk/test/std/language.support/support.limits/limits/numeric.limits.members/is_signed.pass.cpp
    libcxx/trunk/test/std/language.support/support.limits/limits/numeric.limits.members/lowest.pass.cpp
    libcxx/trunk/test/std/language.support/support.limits/limits/numeric.limits.members/max.pass.cpp
    libcxx/trunk/test/std/language.support/support.limits/limits/numeric.limits.members/max_digits10.pass.cpp
    libcxx/trunk/test/std/language.support/support.limits/limits/numeric.limits.members/max_exponent.pass.cpp
    libcxx/trunk/test/std/language.support/support.limits/limits/numeric.limits.members/max_exponent10.pass.cpp
    libcxx/trunk/test/std/language.support/support.limits/limits/numeric.limits.members/min.pass.cpp
    libcxx/trunk/test/std/language.support/support.limits/limits/numeric.limits.members/min_exponent.pass.cpp
    libcxx/trunk/test/std/language.support/support.limits/limits/numeric.limits.members/min_exponent10.pass.cpp
    libcxx/trunk/test/std/language.support/support.limits/limits/numeric.limits.members/quiet_NaN.pass.cpp
    libcxx/trunk/test/std/language.support/support.limits/limits/numeric.limits.members/radix.pass.cpp
    libcxx/trunk/test/std/language.support/support.limits/limits/numeric.limits.members/round_error.pass.cpp
    libcxx/trunk/test/std/language.support/support.limits/limits/numeric.limits.members/round_style.pass.cpp
    libcxx/trunk/test/std/language.support/support.limits/limits/numeric.limits.members/signaling_NaN.pass.cpp
    libcxx/trunk/test/std/language.support/support.limits/limits/numeric.limits.members/tinyness_before.pass.cpp
    libcxx/trunk/test/std/language.support/support.limits/limits/numeric.limits.members/traps.pass.cpp
    libcxx/trunk/test/std/language.support/support.limits/limits/numeric.limits/default.pass.cpp
    libcxx/trunk/test/std/language.support/support.limits/limits/numeric.special/
    libcxx/trunk/test/std/language.support/support.limits/limits/numeric.special/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/language.support/support.limits/limits/round.style/
    libcxx/trunk/test/std/language.support/support.limits/limits/round.style/check_values.pass.cpp
    libcxx/trunk/test/std/language.support/support.limits/limits/version.pass.cpp
    libcxx/trunk/test/std/language.support/support.limits/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/language.support/support.rtti/
    libcxx/trunk/test/std/language.support/support.rtti/bad.cast/
    libcxx/trunk/test/std/language.support/support.rtti/bad.cast/bad_cast.pass.cpp
    libcxx/trunk/test/std/language.support/support.rtti/bad.typeid/
    libcxx/trunk/test/std/language.support/support.rtti/bad.typeid/bad_typeid.pass.cpp
    libcxx/trunk/test/std/language.support/support.rtti/type.info/
    libcxx/trunk/test/std/language.support/support.rtti/type.info/type_info.pass.cpp
    libcxx/trunk/test/std/language.support/support.rtti/type.info/type_info_hash.pass.cpp
    libcxx/trunk/test/std/language.support/support.rtti/version.pass.cpp
    libcxx/trunk/test/std/language.support/support.runtime/
    libcxx/trunk/test/std/language.support/support.runtime/csetjmp.pass.cpp
    libcxx/trunk/test/std/language.support/support.runtime/csignal.pass.cpp
    libcxx/trunk/test/std/language.support/support.runtime/cstdarg.pass.cpp
    libcxx/trunk/test/std/language.support/support.runtime/cstdbool.pass.cpp
    libcxx/trunk/test/std/language.support/support.runtime/cstdlib.pass.cpp
    libcxx/trunk/test/std/language.support/support.runtime/ctime.pass.cpp
    libcxx/trunk/test/std/language.support/support.runtime/version_csetjmp.pass.cpp
    libcxx/trunk/test/std/language.support/support.runtime/version_csignal.pass.cpp
    libcxx/trunk/test/std/language.support/support.runtime/version_cstdarg.pass.cpp
    libcxx/trunk/test/std/language.support/support.runtime/version_cstdbool.pass.cpp
    libcxx/trunk/test/std/language.support/support.runtime/version_cstdlib.pass.cpp
    libcxx/trunk/test/std/language.support/support.runtime/version_ctime.pass.cpp
    libcxx/trunk/test/std/language.support/support.start.term/
    libcxx/trunk/test/std/language.support/support.start.term/quick_exit.pass.cpp
    libcxx/trunk/test/std/language.support/support.start.term/quick_exit_check1.fail.cpp
    libcxx/trunk/test/std/language.support/support.start.term/quick_exit_check2.fail.cpp
    libcxx/trunk/test/std/language.support/support.types/
    libcxx/trunk/test/std/language.support/support.types/max_align_t.pass.cpp
    libcxx/trunk/test/std/language.support/support.types/null.pass.cpp
    libcxx/trunk/test/std/language.support/support.types/nullptr_t.pass.cpp
    libcxx/trunk/test/std/language.support/support.types/nullptr_t_integral_cast.fail.cpp
    libcxx/trunk/test/std/language.support/support.types/nullptr_t_integral_cast.pass.cpp
    libcxx/trunk/test/std/language.support/support.types/offsetof.pass.cpp
    libcxx/trunk/test/std/language.support/support.types/ptrdiff_t.pass.cpp
    libcxx/trunk/test/std/language.support/support.types/size_t.pass.cpp
    libcxx/trunk/test/std/language.support/support.types/version.pass.cpp
    libcxx/trunk/test/std/localization/
    libcxx/trunk/test/std/localization/c.locales/
    libcxx/trunk/test/std/localization/c.locales/clocale.pass.cpp
    libcxx/trunk/test/std/localization/c.locales/version.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/
    libcxx/trunk/test/std/localization/locale.categories/__scan_keyword.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.collate/
    libcxx/trunk/test/std/localization/locale.categories/category.collate/locale.collate/
    libcxx/trunk/test/std/localization/locale.categories/category.collate/locale.collate.byname/
    libcxx/trunk/test/std/localization/locale.categories/category.collate/locale.collate.byname/compare.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.collate/locale.collate.byname/hash.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.collate/locale.collate.byname/transform.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.collate/locale.collate.byname/types.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.collate/locale.collate/ctor.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.collate/locale.collate/locale.collate.members/
    libcxx/trunk/test/std/localization/locale.categories/category.collate/locale.collate/locale.collate.members/compare.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.collate/locale.collate/locale.collate.members/hash.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.collate/locale.collate/locale.collate.members/transform.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.collate/locale.collate/locale.collate.virtuals/
    libcxx/trunk/test/std/localization/locale.categories/category.collate/locale.collate/locale.collate.virtuals/tested_elsewhere.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.collate/locale.collate/types.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.collate/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.ctype/
    libcxx/trunk/test/std/localization/locale.categories/category.ctype/ctype_base.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.ctype/facet.ctype.special/
    libcxx/trunk/test/std/localization/locale.categories/category.ctype/facet.ctype.special/facet.ctype.char.dtor/
    libcxx/trunk/test/std/localization/locale.categories/category.ctype/facet.ctype.special/facet.ctype.char.dtor/dtor.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.ctype/facet.ctype.special/facet.ctype.char.members/
    libcxx/trunk/test/std/localization/locale.categories/category.ctype/facet.ctype.special/facet.ctype.char.members/ctor.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.ctype/facet.ctype.special/facet.ctype.char.members/is_1.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.ctype/facet.ctype.special/facet.ctype.char.members/is_many.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.ctype/facet.ctype.special/facet.ctype.char.members/narrow_1.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.ctype/facet.ctype.special/facet.ctype.char.members/narrow_many.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.ctype/facet.ctype.special/facet.ctype.char.members/scan_is.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.ctype/facet.ctype.special/facet.ctype.char.members/scan_not.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.ctype/facet.ctype.special/facet.ctype.char.members/table.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.ctype/facet.ctype.special/facet.ctype.char.members/tolower_1.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.ctype/facet.ctype.special/facet.ctype.char.members/tolower_many.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.ctype/facet.ctype.special/facet.ctype.char.members/toupper_1.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.ctype/facet.ctype.special/facet.ctype.char.members/toupper_many.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.ctype/facet.ctype.special/facet.ctype.char.members/widen_1.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.ctype/facet.ctype.special/facet.ctype.char.members/widen_many.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.ctype/facet.ctype.special/facet.ctype.char.statics/
    libcxx/trunk/test/std/localization/locale.categories/category.ctype/facet.ctype.special/facet.ctype.char.statics/classic_table.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.ctype/facet.ctype.special/facet.ctype.char.virtuals/
    libcxx/trunk/test/std/localization/locale.categories/category.ctype/facet.ctype.special/facet.ctype.char.virtuals/tested_elsewhere.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.ctype/facet.ctype.special/types.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.ctype/locale.codecvt/
    libcxx/trunk/test/std/localization/locale.categories/category.ctype/locale.codecvt.byname/
    libcxx/trunk/test/std/localization/locale.categories/category.ctype/locale.codecvt.byname/ctor_char.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.ctype/locale.codecvt.byname/ctor_char16_t.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.ctype/locale.codecvt.byname/ctor_char32_t.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.ctype/locale.codecvt.byname/ctor_wchar_t.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.ctype/locale.codecvt/codecvt_base.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.ctype/locale.codecvt/ctor_char.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.ctype/locale.codecvt/ctor_char16_t.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.ctype/locale.codecvt/ctor_char32_t.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.ctype/locale.codecvt/ctor_wchar_t.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/
    libcxx/trunk/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char16_t_always_noconv.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char16_t_encoding.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char16_t_in.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char16_t_length.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char16_t_max_length.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char16_t_out.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char16_t_unshift.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char32_t_always_noconv.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char32_t_encoding.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char32_t_in.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char32_t_length.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char32_t_max_length.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char32_t_out.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char32_t_unshift.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char_always_noconv.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char_encoding.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char_in.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char_length.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char_max_length.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char_out.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/char_unshift.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/utf_sanity_check.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/wchar_t_always_noconv.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/wchar_t_encoding.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/wchar_t_in.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/wchar_t_length.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/wchar_t_max_length.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/wchar_t_out.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.members/wchar_t_unshift.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.virtuals/
    libcxx/trunk/test/std/localization/locale.categories/category.ctype/locale.codecvt/locale.codecvt.virtuals/tested_elsewhere.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.ctype/locale.codecvt/types_char.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.ctype/locale.codecvt/types_char16_t.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.ctype/locale.codecvt/types_char32_t.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.ctype/locale.codecvt/types_wchar_t.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.ctype/locale.ctype/
    libcxx/trunk/test/std/localization/locale.categories/category.ctype/locale.ctype.byname/
    libcxx/trunk/test/std/localization/locale.categories/category.ctype/locale.ctype.byname/is_1.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.ctype/locale.ctype.byname/is_many.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.ctype/locale.ctype.byname/narrow_1.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.ctype/locale.ctype.byname/narrow_many.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.ctype/locale.ctype.byname/scan_is.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.ctype/locale.ctype.byname/scan_not.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.ctype/locale.ctype.byname/tolower_1.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.ctype/locale.ctype.byname/tolower_many.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.ctype/locale.ctype.byname/toupper_1.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.ctype/locale.ctype.byname/toupper_many.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.ctype/locale.ctype.byname/types.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.ctype/locale.ctype.byname/widen_1.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.ctype/locale.ctype.byname/widen_many.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.ctype/locale.ctype/ctor.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.ctype/locale.ctype/locale.ctype.members/
    libcxx/trunk/test/std/localization/locale.categories/category.ctype/locale.ctype/locale.ctype.members/is_1.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.ctype/locale.ctype/locale.ctype.members/is_many.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.ctype/locale.ctype/locale.ctype.members/narrow_1.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.ctype/locale.ctype/locale.ctype.members/narrow_many.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.ctype/locale.ctype/locale.ctype.members/scan_is.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.ctype/locale.ctype/locale.ctype.members/scan_not.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.ctype/locale.ctype/locale.ctype.members/tolower_1.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.ctype/locale.ctype/locale.ctype.members/tolower_many.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.ctype/locale.ctype/locale.ctype.members/toupper_1.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.ctype/locale.ctype/locale.ctype.members/toupper_many.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.ctype/locale.ctype/locale.ctype.members/widen_1.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.ctype/locale.ctype/locale.ctype.members/widen_many.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.ctype/locale.ctype/locale.ctype.virtuals/
    libcxx/trunk/test/std/localization/locale.categories/category.ctype/locale.ctype/locale.ctype.virtuals/tested_elsewhere.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.ctype/locale.ctype/types.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.messages/
    libcxx/trunk/test/std/localization/locale.categories/category.messages/locale.messages/
    libcxx/trunk/test/std/localization/locale.categories/category.messages/locale.messages.byname/
    libcxx/trunk/test/std/localization/locale.categories/category.messages/locale.messages.byname/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.messages/locale.messages/ctor.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.messages/locale.messages/locale.messages.members/
    libcxx/trunk/test/std/localization/locale.categories/category.messages/locale.messages/locale.messages.members/not_testable.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.messages/locale.messages/locale.messages.virtuals/
    libcxx/trunk/test/std/localization/locale.categories/category.messages/locale.messages/locale.messages.virtuals/tested_elsewhere.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.messages/locale.messages/messages_base.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.messages/locale.messages/types.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.messages/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.monetary/
    libcxx/trunk/test/std/localization/locale.categories/category.monetary/locale.money.get/
    libcxx/trunk/test/std/localization/locale.categories/category.monetary/locale.money.get/ctor.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/
    libcxx/trunk/test/std/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_en_US.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_fr_FR.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_ru_RU.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_zh_CN.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_string_en_US.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.virtuals/
    libcxx/trunk/test/std/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.virtuals/tested_elsewhere.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.monetary/locale.money.get/types.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.monetary/locale.money.put/
    libcxx/trunk/test/std/localization/locale.categories/category.monetary/locale.money.put/ctor.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.monetary/locale.money.put/locale.money.put.members/
    libcxx/trunk/test/std/localization/locale.categories/category.monetary/locale.money.put/locale.money.put.members/put_long_double_en_US.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.monetary/locale.money.put/locale.money.put.members/put_long_double_fr_FR.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.monetary/locale.money.put/locale.money.put.members/put_long_double_ru_RU.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.monetary/locale.money.put/locale.money.put.members/put_long_double_zh_CN.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.monetary/locale.money.put/locale.money.put.members/put_string_en_US.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.monetary/locale.money.put/locale.money.put.virtuals/
    libcxx/trunk/test/std/localization/locale.categories/category.monetary/locale.money.put/locale.money.put.virtuals/tested_elsewhere.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.monetary/locale.money.put/types.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.monetary/locale.moneypunct/
    libcxx/trunk/test/std/localization/locale.categories/category.monetary/locale.moneypunct.byname/
    libcxx/trunk/test/std/localization/locale.categories/category.monetary/locale.moneypunct.byname/curr_symbol.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.monetary/locale.moneypunct.byname/decimal_point.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.monetary/locale.moneypunct.byname/frac_digits.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.monetary/locale.moneypunct.byname/grouping.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.monetary/locale.moneypunct.byname/neg_format.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.monetary/locale.moneypunct.byname/negative_sign.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.monetary/locale.moneypunct.byname/pos_format.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.monetary/locale.moneypunct.byname/positive_sign.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.monetary/locale.moneypunct.byname/thousands_sep.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.monetary/locale.moneypunct/ctor.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.monetary/locale.moneypunct/locale.moneypunct.members/
    libcxx/trunk/test/std/localization/locale.categories/category.monetary/locale.moneypunct/locale.moneypunct.members/curr_symbol.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.monetary/locale.moneypunct/locale.moneypunct.members/decimal_point.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.monetary/locale.moneypunct/locale.moneypunct.members/frac_digits.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.monetary/locale.moneypunct/locale.moneypunct.members/grouping.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.monetary/locale.moneypunct/locale.moneypunct.members/neg_format.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.monetary/locale.moneypunct/locale.moneypunct.members/negative_sign.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.monetary/locale.moneypunct/locale.moneypunct.members/pos_format.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.monetary/locale.moneypunct/locale.moneypunct.members/positive_sign.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.monetary/locale.moneypunct/locale.moneypunct.members/thousands_sep.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.monetary/locale.moneypunct/locale.moneypunct.virtuals/
    libcxx/trunk/test/std/localization/locale.categories/category.monetary/locale.moneypunct/locale.moneypunct.virtuals/tested_elsewhere.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.monetary/locale.moneypunct/money_base.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.monetary/locale.moneypunct/types.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.monetary/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.numeric/
    libcxx/trunk/test/std/localization/locale.categories/category.numeric/locale.nm.put/
    libcxx/trunk/test/std/localization/locale.categories/category.numeric/locale.nm.put/ctor.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/
    libcxx/trunk/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_bool.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_double.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_double.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_long.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_pointer.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_unsigned_long.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_unsigned_long_long.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.virtuals/
    libcxx/trunk/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.virtuals/tested_elsewhere.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.numeric/locale.nm.put/types.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.numeric/locale.num.get/
    libcxx/trunk/test/std/localization/locale.categories/category.numeric/locale.num.get/ctor.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/
    libcxx/trunk/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_bool.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_double.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_float.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_long.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_long_double.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_long_long.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_pointer.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_unsigned_int.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_unsigned_long.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_unsigned_long_long.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/get_unsigned_short.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.members/test_min_max.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.virtuals/
    libcxx/trunk/test/std/localization/locale.categories/category.numeric/locale.num.get/facet.num.get.virtuals/tested_elsewhere.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.numeric/locale.num.get/types.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.numeric/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.time/
    libcxx/trunk/test/std/localization/locale.categories/category.time/locale.time.get/
    libcxx/trunk/test/std/localization/locale.categories/category.time/locale.time.get.byname/
    libcxx/trunk/test/std/localization/locale.categories/category.time/locale.time.get.byname/date_order.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.time/locale.time.get.byname/date_order_wide.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.time/locale.time.get.byname/get_date.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.time/locale.time.get.byname/get_date_wide.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.time/locale.time.get.byname/get_monthname.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.time/locale.time.get.byname/get_monthname_wide.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.time/locale.time.get.byname/get_one.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.time/locale.time.get.byname/get_one_wide.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.time/locale.time.get.byname/get_time.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.time/locale.time.get.byname/get_time_wide.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.time/locale.time.get.byname/get_weekday.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.time/locale.time.get.byname/get_weekday_wide.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.time/locale.time.get.byname/get_year.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.time/locale.time.get.byname/get_year_wide.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.time/locale.time.get/ctor.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.time/locale.time.get/locale.time.get.members/
    libcxx/trunk/test/std/localization/locale.categories/category.time/locale.time.get/locale.time.get.members/date_order.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.time/locale.time.get/locale.time.get.members/get_date.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.time/locale.time.get/locale.time.get.members/get_date_wide.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.time/locale.time.get/locale.time.get.members/get_many.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.time/locale.time.get/locale.time.get.members/get_monthname.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.time/locale.time.get/locale.time.get.members/get_monthname_wide.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.time/locale.time.get/locale.time.get.members/get_one.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.time/locale.time.get/locale.time.get.members/get_time.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.time/locale.time.get/locale.time.get.members/get_time_wide.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.time/locale.time.get/locale.time.get.members/get_weekday.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.time/locale.time.get/locale.time.get.members/get_weekday_wide.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.time/locale.time.get/locale.time.get.members/get_year.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.time/locale.time.get/locale.time.get.virtuals/
    libcxx/trunk/test/std/localization/locale.categories/category.time/locale.time.get/locale.time.get.virtuals/tested_elsewhere.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.time/locale.time.get/time_base.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.time/locale.time.get/types.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.time/locale.time.put/
    libcxx/trunk/test/std/localization/locale.categories/category.time/locale.time.put.byname/
    libcxx/trunk/test/std/localization/locale.categories/category.time/locale.time.put.byname/put1.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.time/locale.time.put/ctor.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.time/locale.time.put/locale.time.put.members/
    libcxx/trunk/test/std/localization/locale.categories/category.time/locale.time.put/locale.time.put.members/put1.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.time/locale.time.put/locale.time.put.members/put2.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.time/locale.time.put/locale.time.put.virtuals/
    libcxx/trunk/test/std/localization/locale.categories/category.time/locale.time.put/locale.time.put.virtuals/tested_elsewhere.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.time/locale.time.put/types.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/category.time/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/facet.numpunct/
    libcxx/trunk/test/std/localization/locale.categories/facet.numpunct/locale.numpunct/
    libcxx/trunk/test/std/localization/locale.categories/facet.numpunct/locale.numpunct.byname/
    libcxx/trunk/test/std/localization/locale.categories/facet.numpunct/locale.numpunct.byname/decimal_point.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/facet.numpunct/locale.numpunct.byname/grouping.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/facet.numpunct/locale.numpunct.byname/thousands_sep.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/facet.numpunct/locale.numpunct/ctor.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/facet.numpunct/locale.numpunct/facet.numpunct.members/
    libcxx/trunk/test/std/localization/locale.categories/facet.numpunct/locale.numpunct/facet.numpunct.members/decimal_point.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/facet.numpunct/locale.numpunct/facet.numpunct.members/falsename.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/facet.numpunct/locale.numpunct/facet.numpunct.members/grouping.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/facet.numpunct/locale.numpunct/facet.numpunct.members/thousands_sep.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/facet.numpunct/locale.numpunct/facet.numpunct.members/truename.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/facet.numpunct/locale.numpunct/facet.numpunct.virtuals/
    libcxx/trunk/test/std/localization/locale.categories/facet.numpunct/locale.numpunct/facet.numpunct.virtuals/tested_elsewhere.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/facet.numpunct/locale.numpunct/types.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/facet.numpunct/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/localization/locale.categories/facets.examples/
    libcxx/trunk/test/std/localization/locale.categories/facets.examples/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/localization/locale.stdcvt/
    libcxx/trunk/test/std/localization/locale.stdcvt/codecvt_mode.pass.cpp
    libcxx/trunk/test/std/localization/locale.stdcvt/codecvt_utf16.pass.cpp
    libcxx/trunk/test/std/localization/locale.stdcvt/codecvt_utf16_always_noconv.pass.cpp
    libcxx/trunk/test/std/localization/locale.stdcvt/codecvt_utf16_encoding.pass.cpp
    libcxx/trunk/test/std/localization/locale.stdcvt/codecvt_utf16_in.pass.cpp
    libcxx/trunk/test/std/localization/locale.stdcvt/codecvt_utf16_length.pass.cpp
    libcxx/trunk/test/std/localization/locale.stdcvt/codecvt_utf16_max_length.pass.cpp
    libcxx/trunk/test/std/localization/locale.stdcvt/codecvt_utf16_out.pass.cpp
    libcxx/trunk/test/std/localization/locale.stdcvt/codecvt_utf16_unshift.pass.cpp
    libcxx/trunk/test/std/localization/locale.stdcvt/codecvt_utf8.pass.cpp
    libcxx/trunk/test/std/localization/locale.stdcvt/codecvt_utf8_always_noconv.pass.cpp
    libcxx/trunk/test/std/localization/locale.stdcvt/codecvt_utf8_encoding.pass.cpp
    libcxx/trunk/test/std/localization/locale.stdcvt/codecvt_utf8_in.pass.cpp
    libcxx/trunk/test/std/localization/locale.stdcvt/codecvt_utf8_length.pass.cpp
    libcxx/trunk/test/std/localization/locale.stdcvt/codecvt_utf8_max_length.pass.cpp
    libcxx/trunk/test/std/localization/locale.stdcvt/codecvt_utf8_out.pass.cpp
    libcxx/trunk/test/std/localization/locale.stdcvt/codecvt_utf8_unshift.pass.cpp
    libcxx/trunk/test/std/localization/locale.stdcvt/codecvt_utf8_utf16_always_noconv.pass.cpp
    libcxx/trunk/test/std/localization/locale.stdcvt/codecvt_utf8_utf16_encoding.pass.cpp
    libcxx/trunk/test/std/localization/locale.stdcvt/codecvt_utf8_utf16_in.pass.cpp
    libcxx/trunk/test/std/localization/locale.stdcvt/codecvt_utf8_utf16_length.pass.cpp
    libcxx/trunk/test/std/localization/locale.stdcvt/codecvt_utf8_utf16_max_length.pass.cpp
    libcxx/trunk/test/std/localization/locale.stdcvt/codecvt_utf8_utf16_out.pass.cpp
    libcxx/trunk/test/std/localization/locale.stdcvt/codecvt_utf8_utf16_unshift.pass.cpp
    libcxx/trunk/test/std/localization/locale.stdcvt/version.pass.cpp
    libcxx/trunk/test/std/localization/locale.syn/
    libcxx/trunk/test/std/localization/locale.syn/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/localization/locales/
    libcxx/trunk/test/std/localization/locales/locale/
    libcxx/trunk/test/std/localization/locales/locale.convenience/
    libcxx/trunk/test/std/localization/locales/locale.convenience/classification/
    libcxx/trunk/test/std/localization/locales/locale.convenience/classification/isalnum.pass.cpp
    libcxx/trunk/test/std/localization/locales/locale.convenience/classification/isalpha.pass.cpp
    libcxx/trunk/test/std/localization/locales/locale.convenience/classification/iscntrl.pass.cpp
    libcxx/trunk/test/std/localization/locales/locale.convenience/classification/isdigit.pass.cpp
    libcxx/trunk/test/std/localization/locales/locale.convenience/classification/isgraph.pass.cpp
    libcxx/trunk/test/std/localization/locales/locale.convenience/classification/islower.pass.cpp
    libcxx/trunk/test/std/localization/locales/locale.convenience/classification/isprint.pass.cpp
    libcxx/trunk/test/std/localization/locales/locale.convenience/classification/ispunct.pass.cpp
    libcxx/trunk/test/std/localization/locales/locale.convenience/classification/isspace.pass.cpp
    libcxx/trunk/test/std/localization/locales/locale.convenience/classification/isupper.pass.cpp
    libcxx/trunk/test/std/localization/locales/locale.convenience/classification/isxdigit.pass.cpp
    libcxx/trunk/test/std/localization/locales/locale.convenience/conversions/
    libcxx/trunk/test/std/localization/locales/locale.convenience/conversions/conversions.buffer/
    libcxx/trunk/test/std/localization/locales/locale.convenience/conversions/conversions.buffer/ctor.pass.cpp
    libcxx/trunk/test/std/localization/locales/locale.convenience/conversions/conversions.buffer/overflow.pass.cpp
    libcxx/trunk/test/std/localization/locales/locale.convenience/conversions/conversions.buffer/pbackfail.pass.cpp
    libcxx/trunk/test/std/localization/locales/locale.convenience/conversions/conversions.buffer/rdbuf.pass.cpp
    libcxx/trunk/test/std/localization/locales/locale.convenience/conversions/conversions.buffer/seekoff.pass.cpp
    libcxx/trunk/test/std/localization/locales/locale.convenience/conversions/conversions.buffer/state.pass.cpp
    libcxx/trunk/test/std/localization/locales/locale.convenience/conversions/conversions.buffer/test.pass.cpp
    libcxx/trunk/test/std/localization/locales/locale.convenience/conversions/conversions.buffer/underflow.dat
    libcxx/trunk/test/std/localization/locales/locale.convenience/conversions/conversions.buffer/underflow.pass.cpp
    libcxx/trunk/test/std/localization/locales/locale.convenience/conversions/conversions.buffer/underflow_utf8.dat   (with props)
    libcxx/trunk/test/std/localization/locales/locale.convenience/conversions/conversions.character/
    libcxx/trunk/test/std/localization/locales/locale.convenience/conversions/conversions.character/tolower.pass.cpp
    libcxx/trunk/test/std/localization/locales/locale.convenience/conversions/conversions.character/toupper.pass.cpp
    libcxx/trunk/test/std/localization/locales/locale.convenience/conversions/conversions.string/
    libcxx/trunk/test/std/localization/locales/locale.convenience/conversions/conversions.string/converted.pass.cpp
    libcxx/trunk/test/std/localization/locales/locale.convenience/conversions/conversions.string/ctor_codecvt.pass.cpp
    libcxx/trunk/test/std/localization/locales/locale.convenience/conversions/conversions.string/ctor_codecvt_state.pass.cpp
    libcxx/trunk/test/std/localization/locales/locale.convenience/conversions/conversions.string/ctor_err_string.pass.cpp
    libcxx/trunk/test/std/localization/locales/locale.convenience/conversions/conversions.string/from_bytes.pass.cpp
    libcxx/trunk/test/std/localization/locales/locale.convenience/conversions/conversions.string/state.pass.cpp
    libcxx/trunk/test/std/localization/locales/locale.convenience/conversions/conversions.string/to_bytes.pass.cpp
    libcxx/trunk/test/std/localization/locales/locale.convenience/conversions/conversions.string/types.pass.cpp
    libcxx/trunk/test/std/localization/locales/locale.convenience/conversions/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/localization/locales/locale.convenience/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/localization/locales/locale.global.templates/
    libcxx/trunk/test/std/localization/locales/locale.global.templates/has_facet.pass.cpp
    libcxx/trunk/test/std/localization/locales/locale.global.templates/use_facet.pass.cpp
    libcxx/trunk/test/std/localization/locales/locale/locale.cons/
    libcxx/trunk/test/std/localization/locales/locale/locale.cons/assign.pass.cpp
    libcxx/trunk/test/std/localization/locales/locale/locale.cons/char_pointer.pass.cpp
    libcxx/trunk/test/std/localization/locales/locale/locale.cons/copy.pass.cpp
    libcxx/trunk/test/std/localization/locales/locale/locale.cons/default.pass.cpp
    libcxx/trunk/test/std/localization/locales/locale/locale.cons/locale_char_pointer_cat.pass.cpp
    libcxx/trunk/test/std/localization/locales/locale/locale.cons/locale_facetptr.pass.cpp
    libcxx/trunk/test/std/localization/locales/locale/locale.cons/locale_locale_cat.pass.cpp
    libcxx/trunk/test/std/localization/locales/locale/locale.cons/locale_string_cat.pass.cpp
    libcxx/trunk/test/std/localization/locales/locale/locale.cons/string.pass.cpp
    libcxx/trunk/test/std/localization/locales/locale/locale.members/
    libcxx/trunk/test/std/localization/locales/locale/locale.members/combine.pass.cpp
    libcxx/trunk/test/std/localization/locales/locale/locale.members/name.pass.cpp
    libcxx/trunk/test/std/localization/locales/locale/locale.operators/
    libcxx/trunk/test/std/localization/locales/locale/locale.operators/compare.pass.cpp
    libcxx/trunk/test/std/localization/locales/locale/locale.operators/eq.pass.cpp
    libcxx/trunk/test/std/localization/locales/locale/locale.statics/
    libcxx/trunk/test/std/localization/locales/locale/locale.statics/classic.pass.cpp
    libcxx/trunk/test/std/localization/locales/locale/locale.statics/global.pass.cpp
    libcxx/trunk/test/std/localization/locales/locale/locale.types/
    libcxx/trunk/test/std/localization/locales/locale/locale.types/locale.category/
    libcxx/trunk/test/std/localization/locales/locale/locale.types/locale.category/category.pass.cpp
    libcxx/trunk/test/std/localization/locales/locale/locale.types/locale.facet/
    libcxx/trunk/test/std/localization/locales/locale/locale.types/locale.facet/facet.pass.cpp
    libcxx/trunk/test/std/localization/locales/locale/locale.types/locale.id/
    libcxx/trunk/test/std/localization/locales/locale/locale.types/locale.id/id.pass.cpp
    libcxx/trunk/test/std/localization/locales/locale/locale.types/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/localization/locales/locale/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/localization/locales/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/localization/localization.general/
    libcxx/trunk/test/std/localization/localization.general/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/localization/version.pass.cpp
    libcxx/trunk/test/std/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/numerics/
    libcxx/trunk/test/std/numerics/c.math/
    libcxx/trunk/test/std/numerics/c.math/cmath.pass.cpp
    libcxx/trunk/test/std/numerics/c.math/cmath_isinf.pass.cpp
    libcxx/trunk/test/std/numerics/c.math/cmath_isnan.pass.cpp
    libcxx/trunk/test/std/numerics/c.math/ctgmath.pass.cpp
    libcxx/trunk/test/std/numerics/c.math/tgmath_h.pass.cpp
    libcxx/trunk/test/std/numerics/c.math/version_cmath.pass.cpp
    libcxx/trunk/test/std/numerics/cfenv/
    libcxx/trunk/test/std/numerics/cfenv/cfenv.syn/
    libcxx/trunk/test/std/numerics/cfenv/cfenv.syn/cfenv.pass.cpp
    libcxx/trunk/test/std/numerics/cfenv/version.pass.cpp
    libcxx/trunk/test/std/numerics/complex.number/
    libcxx/trunk/test/std/numerics/complex.number/cases.h
    libcxx/trunk/test/std/numerics/complex.number/ccmplx/
    libcxx/trunk/test/std/numerics/complex.number/ccmplx/ccomplex.pass.cpp
    libcxx/trunk/test/std/numerics/complex.number/cmplx.over/
    libcxx/trunk/test/std/numerics/complex.number/cmplx.over/arg.pass.cpp
    libcxx/trunk/test/std/numerics/complex.number/cmplx.over/conj.pass.cpp
    libcxx/trunk/test/std/numerics/complex.number/cmplx.over/imag.pass.cpp
    libcxx/trunk/test/std/numerics/complex.number/cmplx.over/norm.pass.cpp
    libcxx/trunk/test/std/numerics/complex.number/cmplx.over/pow.pass.cpp
    libcxx/trunk/test/std/numerics/complex.number/cmplx.over/proj.pass.cpp
    libcxx/trunk/test/std/numerics/complex.number/cmplx.over/real.pass.cpp
    libcxx/trunk/test/std/numerics/complex.number/complex/
    libcxx/trunk/test/std/numerics/complex.number/complex.literals/
    libcxx/trunk/test/std/numerics/complex.number/complex.literals/literals.pass.cpp
    libcxx/trunk/test/std/numerics/complex.number/complex.literals/literals1.fail.cpp
    libcxx/trunk/test/std/numerics/complex.number/complex.literals/literals1.pass.cpp
    libcxx/trunk/test/std/numerics/complex.number/complex.literals/literals2.pass.cpp
    libcxx/trunk/test/std/numerics/complex.number/complex.member.ops/
    libcxx/trunk/test/std/numerics/complex.number/complex.member.ops/assignment_complex.pass.cpp
    libcxx/trunk/test/std/numerics/complex.number/complex.member.ops/assignment_scalar.pass.cpp
    libcxx/trunk/test/std/numerics/complex.number/complex.member.ops/divide_equal_complex.pass.cpp
    libcxx/trunk/test/std/numerics/complex.number/complex.member.ops/divide_equal_scalar.pass.cpp
    libcxx/trunk/test/std/numerics/complex.number/complex.member.ops/minus_equal_complex.pass.cpp
    libcxx/trunk/test/std/numerics/complex.number/complex.member.ops/minus_equal_scalar.pass.cpp
    libcxx/trunk/test/std/numerics/complex.number/complex.member.ops/plus_equal_complex.pass.cpp
    libcxx/trunk/test/std/numerics/complex.number/complex.member.ops/plus_equal_scalar.pass.cpp
    libcxx/trunk/test/std/numerics/complex.number/complex.member.ops/times_equal_complex.pass.cpp
    libcxx/trunk/test/std/numerics/complex.number/complex.member.ops/times_equal_scalar.pass.cpp
    libcxx/trunk/test/std/numerics/complex.number/complex.members/
    libcxx/trunk/test/std/numerics/complex.number/complex.members/construct.pass.cpp
    libcxx/trunk/test/std/numerics/complex.number/complex.members/real_imag.pass.cpp
    libcxx/trunk/test/std/numerics/complex.number/complex.ops/
    libcxx/trunk/test/std/numerics/complex.number/complex.ops/complex_divide_complex.pass.cpp
    libcxx/trunk/test/std/numerics/complex.number/complex.ops/complex_divide_scalar.pass.cpp
    libcxx/trunk/test/std/numerics/complex.number/complex.ops/complex_equals_complex.pass.cpp
    libcxx/trunk/test/std/numerics/complex.number/complex.ops/complex_equals_scalar.pass.cpp
    libcxx/trunk/test/std/numerics/complex.number/complex.ops/complex_minus_complex.pass.cpp
    libcxx/trunk/test/std/numerics/complex.number/complex.ops/complex_minus_scalar.pass.cpp
    libcxx/trunk/test/std/numerics/complex.number/complex.ops/complex_not_equals_complex.pass.cpp
    libcxx/trunk/test/std/numerics/complex.number/complex.ops/complex_not_equals_scalar.pass.cpp
    libcxx/trunk/test/std/numerics/complex.number/complex.ops/complex_plus_complex.pass.cpp
    libcxx/trunk/test/std/numerics/complex.number/complex.ops/complex_plus_scalar.pass.cpp
    libcxx/trunk/test/std/numerics/complex.number/complex.ops/complex_times_complex.pass.cpp
    libcxx/trunk/test/std/numerics/complex.number/complex.ops/complex_times_scalar.pass.cpp
    libcxx/trunk/test/std/numerics/complex.number/complex.ops/scalar_divide_complex.pass.cpp
    libcxx/trunk/test/std/numerics/complex.number/complex.ops/scalar_equals_complex.pass.cpp
    libcxx/trunk/test/std/numerics/complex.number/complex.ops/scalar_minus_complex.pass.cpp
    libcxx/trunk/test/std/numerics/complex.number/complex.ops/scalar_not_equals_complex.pass.cpp
    libcxx/trunk/test/std/numerics/complex.number/complex.ops/scalar_plus_complex.pass.cpp
    libcxx/trunk/test/std/numerics/complex.number/complex.ops/scalar_times_complex.pass.cpp
    libcxx/trunk/test/std/numerics/complex.number/complex.ops/stream_input.pass.cpp
    libcxx/trunk/test/std/numerics/complex.number/complex.ops/stream_output.pass.cpp
    libcxx/trunk/test/std/numerics/complex.number/complex.ops/unary_minus.pass.cpp
    libcxx/trunk/test/std/numerics/complex.number/complex.ops/unary_plus.pass.cpp
    libcxx/trunk/test/std/numerics/complex.number/complex.special/
    libcxx/trunk/test/std/numerics/complex.number/complex.special/double_float_explicit.pass.cpp
    libcxx/trunk/test/std/numerics/complex.number/complex.special/double_float_implicit.pass.cpp
    libcxx/trunk/test/std/numerics/complex.number/complex.special/double_long_double_explicit.pass.cpp
    libcxx/trunk/test/std/numerics/complex.number/complex.special/double_long_double_implicit.fail.cpp
    libcxx/trunk/test/std/numerics/complex.number/complex.special/float_double_explicit.pass.cpp
    libcxx/trunk/test/std/numerics/complex.number/complex.special/float_double_implicit.fail.cpp
    libcxx/trunk/test/std/numerics/complex.number/complex.special/float_long_double_explicit.pass.cpp
    libcxx/trunk/test/std/numerics/complex.number/complex.special/float_long_double_implicit.fail.cpp
    libcxx/trunk/test/std/numerics/complex.number/complex.special/long_double_double_explicit.pass.cpp
    libcxx/trunk/test/std/numerics/complex.number/complex.special/long_double_double_implicit.pass.cpp
    libcxx/trunk/test/std/numerics/complex.number/complex.special/long_double_float_explicit.pass.cpp
    libcxx/trunk/test/std/numerics/complex.number/complex.special/long_double_float_implicit.pass.cpp
    libcxx/trunk/test/std/numerics/complex.number/complex.synopsis/
    libcxx/trunk/test/std/numerics/complex.number/complex.synopsis/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/numerics/complex.number/complex.transcendentals/
    libcxx/trunk/test/std/numerics/complex.number/complex.transcendentals/acos.pass.cpp
    libcxx/trunk/test/std/numerics/complex.number/complex.transcendentals/acosh.pass.cpp
    libcxx/trunk/test/std/numerics/complex.number/complex.transcendentals/asin.pass.cpp
    libcxx/trunk/test/std/numerics/complex.number/complex.transcendentals/asinh.pass.cpp
    libcxx/trunk/test/std/numerics/complex.number/complex.transcendentals/atan.pass.cpp
    libcxx/trunk/test/std/numerics/complex.number/complex.transcendentals/atanh.pass.cpp
    libcxx/trunk/test/std/numerics/complex.number/complex.transcendentals/cos.pass.cpp
    libcxx/trunk/test/std/numerics/complex.number/complex.transcendentals/cosh.pass.cpp
    libcxx/trunk/test/std/numerics/complex.number/complex.transcendentals/exp.pass.cpp
    libcxx/trunk/test/std/numerics/complex.number/complex.transcendentals/log.pass.cpp
    libcxx/trunk/test/std/numerics/complex.number/complex.transcendentals/log10.pass.cpp
    libcxx/trunk/test/std/numerics/complex.number/complex.transcendentals/pow_complex_complex.pass.cpp
    libcxx/trunk/test/std/numerics/complex.number/complex.transcendentals/pow_complex_scalar.pass.cpp
    libcxx/trunk/test/std/numerics/complex.number/complex.transcendentals/pow_scalar_complex.pass.cpp
    libcxx/trunk/test/std/numerics/complex.number/complex.transcendentals/sin.pass.cpp
    libcxx/trunk/test/std/numerics/complex.number/complex.transcendentals/sinh.pass.cpp
    libcxx/trunk/test/std/numerics/complex.number/complex.transcendentals/sqrt.pass.cpp
    libcxx/trunk/test/std/numerics/complex.number/complex.transcendentals/tan.pass.cpp
    libcxx/trunk/test/std/numerics/complex.number/complex.transcendentals/tanh.pass.cpp
    libcxx/trunk/test/std/numerics/complex.number/complex.value.ops/
    libcxx/trunk/test/std/numerics/complex.number/complex.value.ops/abs.pass.cpp
    libcxx/trunk/test/std/numerics/complex.number/complex.value.ops/arg.pass.cpp
    libcxx/trunk/test/std/numerics/complex.number/complex.value.ops/conj.pass.cpp
    libcxx/trunk/test/std/numerics/complex.number/complex.value.ops/imag.pass.cpp
    libcxx/trunk/test/std/numerics/complex.number/complex.value.ops/norm.pass.cpp
    libcxx/trunk/test/std/numerics/complex.number/complex.value.ops/polar.pass.cpp
    libcxx/trunk/test/std/numerics/complex.number/complex.value.ops/proj.pass.cpp
    libcxx/trunk/test/std/numerics/complex.number/complex.value.ops/real.pass.cpp
    libcxx/trunk/test/std/numerics/complex.number/complex/types.pass.cpp
    libcxx/trunk/test/std/numerics/complex.number/layout.pass.cpp
    libcxx/trunk/test/std/numerics/complex.number/version.pass.cpp
    libcxx/trunk/test/std/numerics/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/
    libcxx/trunk/test/std/numerics/numarray/class.gslice/
    libcxx/trunk/test/std/numerics/numarray/class.gslice/gslice.access/
    libcxx/trunk/test/std/numerics/numarray/class.gslice/gslice.access/tested_elsewhere.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/class.gslice/gslice.cons/
    libcxx/trunk/test/std/numerics/numarray/class.gslice/gslice.cons/default.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/class.gslice/gslice.cons/start_size_stride.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/class.gslice/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/class.slice/
    libcxx/trunk/test/std/numerics/numarray/class.slice/cons.slice/
    libcxx/trunk/test/std/numerics/numarray/class.slice/cons.slice/default.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/class.slice/cons.slice/start_size_stride.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/class.slice/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/class.slice/slice.access/
    libcxx/trunk/test/std/numerics/numarray/class.slice/slice.access/tested_elsewhere.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.gslice.array/
    libcxx/trunk/test/std/numerics/numarray/template.gslice.array/default.fail.cpp
    libcxx/trunk/test/std/numerics/numarray/template.gslice.array/gslice.array.assign/
    libcxx/trunk/test/std/numerics/numarray/template.gslice.array/gslice.array.assign/gslice_array.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.gslice.array/gslice.array.assign/valarray.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.gslice.array/gslice.array.comp.assign/
    libcxx/trunk/test/std/numerics/numarray/template.gslice.array/gslice.array.comp.assign/addition.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.gslice.array/gslice.array.comp.assign/and.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.gslice.array/gslice.array.comp.assign/divide.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.gslice.array/gslice.array.comp.assign/modulo.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.gslice.array/gslice.array.comp.assign/multiply.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.gslice.array/gslice.array.comp.assign/or.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.gslice.array/gslice.array.comp.assign/shift_left.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.gslice.array/gslice.array.comp.assign/shift_right.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.gslice.array/gslice.array.comp.assign/subtraction.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.gslice.array/gslice.array.comp.assign/xor.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.gslice.array/gslice.array.fill/
    libcxx/trunk/test/std/numerics/numarray/template.gslice.array/gslice.array.fill/assign_value.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.gslice.array/types.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.indirect.array/
    libcxx/trunk/test/std/numerics/numarray/template.indirect.array/default.fail.cpp
    libcxx/trunk/test/std/numerics/numarray/template.indirect.array/indirect.array.assign/
    libcxx/trunk/test/std/numerics/numarray/template.indirect.array/indirect.array.assign/indirect_array.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.indirect.array/indirect.array.assign/valarray.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.indirect.array/indirect.array.comp.assign/
    libcxx/trunk/test/std/numerics/numarray/template.indirect.array/indirect.array.comp.assign/addition.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.indirect.array/indirect.array.comp.assign/and.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.indirect.array/indirect.array.comp.assign/divide.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.indirect.array/indirect.array.comp.assign/modulo.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.indirect.array/indirect.array.comp.assign/multiply.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.indirect.array/indirect.array.comp.assign/or.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.indirect.array/indirect.array.comp.assign/shift_left.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.indirect.array/indirect.array.comp.assign/shift_right.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.indirect.array/indirect.array.comp.assign/subtraction.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.indirect.array/indirect.array.comp.assign/xor.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.indirect.array/indirect.array.fill/
    libcxx/trunk/test/std/numerics/numarray/template.indirect.array/indirect.array.fill/assign_value.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.indirect.array/types.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.mask.array/
    libcxx/trunk/test/std/numerics/numarray/template.mask.array/default.fail.cpp
    libcxx/trunk/test/std/numerics/numarray/template.mask.array/mask.array.assign/
    libcxx/trunk/test/std/numerics/numarray/template.mask.array/mask.array.assign/mask_array.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.mask.array/mask.array.assign/valarray.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.mask.array/mask.array.comp.assign/
    libcxx/trunk/test/std/numerics/numarray/template.mask.array/mask.array.comp.assign/addition.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.mask.array/mask.array.comp.assign/and.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.mask.array/mask.array.comp.assign/divide.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.mask.array/mask.array.comp.assign/modulo.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.mask.array/mask.array.comp.assign/multiply.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.mask.array/mask.array.comp.assign/or.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.mask.array/mask.array.comp.assign/shift_left.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.mask.array/mask.array.comp.assign/shift_right.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.mask.array/mask.array.comp.assign/subtraction.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.mask.array/mask.array.comp.assign/xor.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.mask.array/mask.array.fill/
    libcxx/trunk/test/std/numerics/numarray/template.mask.array/mask.array.fill/assign_value.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.mask.array/types.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.slice.array/
    libcxx/trunk/test/std/numerics/numarray/template.slice.array/default.fail.cpp
    libcxx/trunk/test/std/numerics/numarray/template.slice.array/slice.arr.assign/
    libcxx/trunk/test/std/numerics/numarray/template.slice.array/slice.arr.assign/slice_array.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.slice.array/slice.arr.assign/valarray.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.slice.array/slice.arr.comp.assign/
    libcxx/trunk/test/std/numerics/numarray/template.slice.array/slice.arr.comp.assign/addition.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.slice.array/slice.arr.comp.assign/and.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.slice.array/slice.arr.comp.assign/divide.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.slice.array/slice.arr.comp.assign/modulo.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.slice.array/slice.arr.comp.assign/multiply.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.slice.array/slice.arr.comp.assign/or.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.slice.array/slice.arr.comp.assign/shift_left.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.slice.array/slice.arr.comp.assign/shift_right.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.slice.array/slice.arr.comp.assign/subtraction.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.slice.array/slice.arr.comp.assign/xor.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.slice.array/slice.arr.fill/
    libcxx/trunk/test/std/numerics/numarray/template.slice.array/slice.arr.fill/assign_value.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.slice.array/types.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.valarray/
    libcxx/trunk/test/std/numerics/numarray/template.valarray/types.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.valarray/valarray.access/
    libcxx/trunk/test/std/numerics/numarray/template.valarray/valarray.access/access.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.valarray/valarray.access/const_access.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.valarray/valarray.assign/
    libcxx/trunk/test/std/numerics/numarray/template.valarray/valarray.assign/copy_assign.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.valarray/valarray.assign/gslice_array_assign.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.valarray/valarray.assign/indirect_array_assign.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.valarray/valarray.assign/initializer_list_assign.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.valarray/valarray.assign/mask_array_assign.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.valarray/valarray.assign/move_assign.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.valarray/valarray.assign/slice_array_assign.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.valarray/valarray.assign/value_assign.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.valarray/valarray.cassign/
    libcxx/trunk/test/std/numerics/numarray/template.valarray/valarray.cassign/and_valarray.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.valarray/valarray.cassign/and_value.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.valarray/valarray.cassign/divide_valarray.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.valarray/valarray.cassign/divide_value.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.valarray/valarray.cassign/minus_valarray.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.valarray/valarray.cassign/minus_value.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.valarray/valarray.cassign/modulo_valarray.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.valarray/valarray.cassign/modulo_value.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.valarray/valarray.cassign/or_valarray.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.valarray/valarray.cassign/or_value.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.valarray/valarray.cassign/plus_valarray.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.valarray/valarray.cassign/plus_value.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.valarray/valarray.cassign/shift_left_valarray.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.valarray/valarray.cassign/shift_left_value.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.valarray/valarray.cassign/shift_right_valarray.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.valarray/valarray.cassign/shift_right_value.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.valarray/valarray.cassign/times_valarray.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.valarray/valarray.cassign/times_value.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.valarray/valarray.cassign/xor_valarray.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.valarray/valarray.cassign/xor_value.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.valarray/valarray.cons/
    libcxx/trunk/test/std/numerics/numarray/template.valarray/valarray.cons/copy.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.valarray/valarray.cons/default.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.valarray/valarray.cons/gslice_array.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.valarray/valarray.cons/indirect_array.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.valarray/valarray.cons/initializer_list.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.valarray/valarray.cons/mask_array.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.valarray/valarray.cons/move.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.valarray/valarray.cons/pointer_size.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.valarray/valarray.cons/size.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.valarray/valarray.cons/slice_array.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.valarray/valarray.cons/value_size.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.valarray/valarray.members/
    libcxx/trunk/test/std/numerics/numarray/template.valarray/valarray.members/apply_cref.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.valarray/valarray.members/apply_value.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.valarray/valarray.members/cshift.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.valarray/valarray.members/max.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.valarray/valarray.members/min.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.valarray/valarray.members/resize.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.valarray/valarray.members/shift.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.valarray/valarray.members/size.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.valarray/valarray.members/sum.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.valarray/valarray.members/swap.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.valarray/valarray.sub/
    libcxx/trunk/test/std/numerics/numarray/template.valarray/valarray.sub/gslice_const.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.valarray/valarray.sub/gslice_non_const.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.valarray/valarray.sub/indirect_array_const.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.valarray/valarray.sub/indirect_array_non_const.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.valarray/valarray.sub/slice_const.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.valarray/valarray.sub/slice_non_const.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.valarray/valarray.sub/valarray_bool_const.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.valarray/valarray.sub/valarray_bool_non_const.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.valarray/valarray.unary/
    libcxx/trunk/test/std/numerics/numarray/template.valarray/valarray.unary/bit_not.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.valarray/valarray.unary/negate.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.valarray/valarray.unary/not.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/template.valarray/valarray.unary/plus.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/valarray.nonmembers/
    libcxx/trunk/test/std/numerics/numarray/valarray.nonmembers/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/valarray.nonmembers/valarray.binary/
    libcxx/trunk/test/std/numerics/numarray/valarray.nonmembers/valarray.binary/and_valarray_valarray.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/valarray.nonmembers/valarray.binary/and_valarray_value.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/valarray.nonmembers/valarray.binary/and_value_valarray.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/valarray.nonmembers/valarray.binary/divide_valarray_valarray.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/valarray.nonmembers/valarray.binary/divide_valarray_value.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/valarray.nonmembers/valarray.binary/divide_value_valarray.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/valarray.nonmembers/valarray.binary/minus_valarray_valarray.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/valarray.nonmembers/valarray.binary/minus_valarray_value.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/valarray.nonmembers/valarray.binary/minus_value_valarray.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/valarray.nonmembers/valarray.binary/modulo_valarray_valarray.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/valarray.nonmembers/valarray.binary/modulo_valarray_value.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/valarray.nonmembers/valarray.binary/modulo_value_valarray.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/valarray.nonmembers/valarray.binary/or_valarray_valarray.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/valarray.nonmembers/valarray.binary/or_valarray_value.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/valarray.nonmembers/valarray.binary/or_value_valarray.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/valarray.nonmembers/valarray.binary/plus_valarray_valarray.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/valarray.nonmembers/valarray.binary/plus_valarray_value.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/valarray.nonmembers/valarray.binary/plus_value_valarray.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/valarray.nonmembers/valarray.binary/shift_left_valarray_valarray.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/valarray.nonmembers/valarray.binary/shift_left_valarray_value.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/valarray.nonmembers/valarray.binary/shift_left_value_valarray.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/valarray.nonmembers/valarray.binary/shift_right_valarray_valarray.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/valarray.nonmembers/valarray.binary/shift_right_valarray_value.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/valarray.nonmembers/valarray.binary/shift_right_value_valarray.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/valarray.nonmembers/valarray.binary/times_valarray_valarray.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/valarray.nonmembers/valarray.binary/times_valarray_value.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/valarray.nonmembers/valarray.binary/times_value_valarray.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/valarray.nonmembers/valarray.binary/xor_valarray_valarray.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/valarray.nonmembers/valarray.binary/xor_valarray_value.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/valarray.nonmembers/valarray.binary/xor_value_valarray.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/valarray.nonmembers/valarray.comparison/
    libcxx/trunk/test/std/numerics/numarray/valarray.nonmembers/valarray.comparison/and_valarray_valarray.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/valarray.nonmembers/valarray.comparison/and_valarray_value.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/valarray.nonmembers/valarray.comparison/and_value_valarray.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/valarray.nonmembers/valarray.comparison/equal_valarray_valarray.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/valarray.nonmembers/valarray.comparison/equal_valarray_value.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/valarray.nonmembers/valarray.comparison/equal_value_valarray.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/valarray.nonmembers/valarray.comparison/greater_equal_valarray_valarray.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/valarray.nonmembers/valarray.comparison/greater_equal_valarray_value.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/valarray.nonmembers/valarray.comparison/greater_equal_value_valarray.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/valarray.nonmembers/valarray.comparison/greater_valarray_valarray.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/valarray.nonmembers/valarray.comparison/greater_valarray_value.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/valarray.nonmembers/valarray.comparison/greater_value_valarray.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/valarray.nonmembers/valarray.comparison/less_equal_valarray_valarray.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/valarray.nonmembers/valarray.comparison/less_equal_valarray_value.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/valarray.nonmembers/valarray.comparison/less_equal_value_valarray.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/valarray.nonmembers/valarray.comparison/less_valarray_valarray.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/valarray.nonmembers/valarray.comparison/less_valarray_value.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/valarray.nonmembers/valarray.comparison/less_value_valarray.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/valarray.nonmembers/valarray.comparison/not_equal_valarray_valarray.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/valarray.nonmembers/valarray.comparison/not_equal_valarray_value.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/valarray.nonmembers/valarray.comparison/not_equal_value_valarray.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/valarray.nonmembers/valarray.comparison/or_valarray_valarray.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/valarray.nonmembers/valarray.comparison/or_valarray_value.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/valarray.nonmembers/valarray.comparison/or_value_valarray.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/valarray.nonmembers/valarray.special/
    libcxx/trunk/test/std/numerics/numarray/valarray.nonmembers/valarray.special/swap.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/valarray.nonmembers/valarray.transcend/
    libcxx/trunk/test/std/numerics/numarray/valarray.nonmembers/valarray.transcend/abs_valarray.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/valarray.nonmembers/valarray.transcend/acos_valarray.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/valarray.nonmembers/valarray.transcend/asin_valarray.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/valarray.nonmembers/valarray.transcend/atan2_valarray_valarray.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/valarray.nonmembers/valarray.transcend/atan2_valarray_value.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/valarray.nonmembers/valarray.transcend/atan2_value_valarray.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/valarray.nonmembers/valarray.transcend/atan_valarray.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/valarray.nonmembers/valarray.transcend/cos_valarray.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/valarray.nonmembers/valarray.transcend/cosh_valarray.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/valarray.nonmembers/valarray.transcend/exp_valarray.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/valarray.nonmembers/valarray.transcend/log10_valarray.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/valarray.nonmembers/valarray.transcend/log_valarray.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/valarray.nonmembers/valarray.transcend/pow_valarray_valarray.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/valarray.nonmembers/valarray.transcend/pow_valarray_value.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/valarray.nonmembers/valarray.transcend/pow_value_valarray.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/valarray.nonmembers/valarray.transcend/sin_valarray.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/valarray.nonmembers/valarray.transcend/sinh_valarray.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/valarray.nonmembers/valarray.transcend/sqrt_valarray.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/valarray.nonmembers/valarray.transcend/tan_valarray.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/valarray.nonmembers/valarray.transcend/tanh_valarray.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/valarray.range/
    libcxx/trunk/test/std/numerics/numarray/valarray.range/begin_const.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/valarray.range/begin_non_const.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/valarray.range/end_const.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/valarray.range/end_non_const.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/valarray.syn/
    libcxx/trunk/test/std/numerics/numarray/valarray.syn/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/numerics/numarray/version.pass.cpp
    libcxx/trunk/test/std/numerics/numeric.ops/
    libcxx/trunk/test/std/numerics/numeric.ops/accumulate/
    libcxx/trunk/test/std/numerics/numeric.ops/accumulate/accumulate.pass.cpp
    libcxx/trunk/test/std/numerics/numeric.ops/accumulate/accumulate_op.pass.cpp
    libcxx/trunk/test/std/numerics/numeric.ops/adjacent.difference/
    libcxx/trunk/test/std/numerics/numeric.ops/adjacent.difference/adjacent_difference.pass.cpp
    libcxx/trunk/test/std/numerics/numeric.ops/adjacent.difference/adjacent_difference_op.pass.cpp
    libcxx/trunk/test/std/numerics/numeric.ops/inner.product/
    libcxx/trunk/test/std/numerics/numeric.ops/inner.product/inner_product.pass.cpp
    libcxx/trunk/test/std/numerics/numeric.ops/inner.product/inner_product_comp.pass.cpp
    libcxx/trunk/test/std/numerics/numeric.ops/numeric.iota/
    libcxx/trunk/test/std/numerics/numeric.ops/numeric.iota/iota.pass.cpp
    libcxx/trunk/test/std/numerics/numeric.ops/partial.sum/
    libcxx/trunk/test/std/numerics/numeric.ops/partial.sum/partial_sum.pass.cpp
    libcxx/trunk/test/std/numerics/numeric.ops/partial.sum/partial_sum_op.pass.cpp
    libcxx/trunk/test/std/numerics/numeric.ops/version.pass.cpp
    libcxx/trunk/test/std/numerics/numeric.requirements/
    libcxx/trunk/test/std/numerics/numeric.requirements/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/numerics/numerics.general/
    libcxx/trunk/test/std/numerics/numerics.general/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/numerics/rand/
    libcxx/trunk/test/std/numerics/rand/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.adapt/
    libcxx/trunk/test/std/numerics/rand/rand.adapt/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.adapt/rand.adapt.disc/
    libcxx/trunk/test/std/numerics/rand/rand.adapt/rand.adapt.disc/assign.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.adapt/rand.adapt.disc/copy.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.adapt/rand.adapt.disc/ctor_engine_copy.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.adapt/rand.adapt.disc/ctor_engine_move.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.adapt/rand.adapt.disc/ctor_result_type.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.adapt/rand.adapt.disc/ctor_sseq.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.adapt/rand.adapt.disc/default.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.adapt/rand.adapt.disc/discard.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.adapt/rand.adapt.disc/eval.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.adapt/rand.adapt.disc/io.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.adapt/rand.adapt.disc/result_type.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.adapt/rand.adapt.disc/seed_result_type.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.adapt/rand.adapt.disc/seed_sseq.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.adapt/rand.adapt.disc/values.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.adapt/rand.adapt.ibits/
    libcxx/trunk/test/std/numerics/rand/rand.adapt/rand.adapt.ibits/assign.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.adapt/rand.adapt.ibits/copy.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.adapt/rand.adapt.ibits/ctor_engine_copy.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.adapt/rand.adapt.ibits/ctor_engine_move.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.adapt/rand.adapt.ibits/ctor_result_type.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.adapt/rand.adapt.ibits/ctor_sseq.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.adapt/rand.adapt.ibits/default.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.adapt/rand.adapt.ibits/discard.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.adapt/rand.adapt.ibits/eval.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.adapt/rand.adapt.ibits/io.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.adapt/rand.adapt.ibits/result_type.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.adapt/rand.adapt.ibits/seed_result_type.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.adapt/rand.adapt.ibits/seed_sseq.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.adapt/rand.adapt.ibits/values.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.adapt/rand.adapt.shuf/
    libcxx/trunk/test/std/numerics/rand/rand.adapt/rand.adapt.shuf/assign.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.adapt/rand.adapt.shuf/copy.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.adapt/rand.adapt.shuf/ctor_engine_copy.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.adapt/rand.adapt.shuf/ctor_engine_move.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.adapt/rand.adapt.shuf/ctor_result_type.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.adapt/rand.adapt.shuf/ctor_sseq.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.adapt/rand.adapt.shuf/default.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.adapt/rand.adapt.shuf/discard.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.adapt/rand.adapt.shuf/eval.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.adapt/rand.adapt.shuf/io.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.adapt/rand.adapt.shuf/result_type.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.adapt/rand.adapt.shuf/seed_result_type.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.adapt/rand.adapt.shuf/seed_sseq.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.adapt/rand.adapt.shuf/values.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.device/
    libcxx/trunk/test/std/numerics/rand/rand.device/ctor.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.device/entropy.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.device/eval.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/
    libcxx/trunk/test/std/numerics/rand/rand.dis/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.bern/
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.bern/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.bern/rand.dist.bern.bernoulli/
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.bern/rand.dist.bern.bernoulli/assign.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.bern/rand.dist.bern.bernoulli/copy.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.bern/rand.dist.bern.bernoulli/ctor_double.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.bern/rand.dist.bern.bernoulli/ctor_param.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.bern/rand.dist.bern.bernoulli/eq.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.bern/rand.dist.bern.bernoulli/eval.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.bern/rand.dist.bern.bernoulli/eval_param.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.bern/rand.dist.bern.bernoulli/get_param.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.bern/rand.dist.bern.bernoulli/io.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.bern/rand.dist.bern.bernoulli/max.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.bern/rand.dist.bern.bernoulli/min.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.bern/rand.dist.bern.bernoulli/param_assign.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.bern/rand.dist.bern.bernoulli/param_copy.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.bern/rand.dist.bern.bernoulli/param_ctor.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.bern/rand.dist.bern.bernoulli/param_eq.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.bern/rand.dist.bern.bernoulli/param_types.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.bern/rand.dist.bern.bernoulli/set_param.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.bern/rand.dist.bern.bernoulli/types.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.bern/rand.dist.bern.bin/
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.bern/rand.dist.bern.bin/assign.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.bern/rand.dist.bern.bin/copy.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.bern/rand.dist.bern.bin/ctor_int_double.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.bern/rand.dist.bern.bin/ctor_param.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.bern/rand.dist.bern.bin/eq.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.bern/rand.dist.bern.bin/eval.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.bern/rand.dist.bern.bin/eval_param.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.bern/rand.dist.bern.bin/get_param.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.bern/rand.dist.bern.bin/io.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.bern/rand.dist.bern.bin/max.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.bern/rand.dist.bern.bin/min.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.bern/rand.dist.bern.bin/param_assign.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.bern/rand.dist.bern.bin/param_copy.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.bern/rand.dist.bern.bin/param_ctor.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.bern/rand.dist.bern.bin/param_eq.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.bern/rand.dist.bern.bin/param_types.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.bern/rand.dist.bern.bin/set_param.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.bern/rand.dist.bern.bin/types.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.bern/rand.dist.bern.geo/
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.bern/rand.dist.bern.geo/assign.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.bern/rand.dist.bern.geo/copy.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.bern/rand.dist.bern.geo/ctor_double.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.bern/rand.dist.bern.geo/ctor_param.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.bern/rand.dist.bern.geo/eq.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.bern/rand.dist.bern.geo/eval.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.bern/rand.dist.bern.geo/eval_param.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.bern/rand.dist.bern.geo/get_param.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.bern/rand.dist.bern.geo/io.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.bern/rand.dist.bern.geo/max.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.bern/rand.dist.bern.geo/min.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.bern/rand.dist.bern.geo/param_assign.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.bern/rand.dist.bern.geo/param_copy.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.bern/rand.dist.bern.geo/param_ctor.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.bern/rand.dist.bern.geo/param_eq.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.bern/rand.dist.bern.geo/param_types.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.bern/rand.dist.bern.geo/set_param.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.bern/rand.dist.bern.geo/types.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.bern/rand.dist.bern.negbin/
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.bern/rand.dist.bern.negbin/assign.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.bern/rand.dist.bern.negbin/copy.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.bern/rand.dist.bern.negbin/ctor_int_double.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.bern/rand.dist.bern.negbin/ctor_param.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.bern/rand.dist.bern.negbin/eq.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.bern/rand.dist.bern.negbin/eval.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.bern/rand.dist.bern.negbin/eval_param.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.bern/rand.dist.bern.negbin/get_param.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.bern/rand.dist.bern.negbin/io.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.bern/rand.dist.bern.negbin/max.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.bern/rand.dist.bern.negbin/min.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.bern/rand.dist.bern.negbin/param_assign.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.bern/rand.dist.bern.negbin/param_copy.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.bern/rand.dist.bern.negbin/param_ctor.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.bern/rand.dist.bern.negbin/param_eq.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.bern/rand.dist.bern.negbin/param_types.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.bern/rand.dist.bern.negbin/set_param.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.bern/rand.dist.bern.negbin/types.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.cauchy/
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.cauchy/assign.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.cauchy/copy.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.cauchy/ctor_double_double.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.cauchy/ctor_param.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.cauchy/eq.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.cauchy/eval.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.cauchy/eval_param.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.cauchy/get_param.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.cauchy/io.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.cauchy/max.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.cauchy/min.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.cauchy/param_assign.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.cauchy/param_copy.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.cauchy/param_ctor.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.cauchy/param_eq.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.cauchy/param_types.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.cauchy/set_param.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.cauchy/types.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.chisq/
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.chisq/assign.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.chisq/copy.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.chisq/ctor_double.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.chisq/ctor_param.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.chisq/eq.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.chisq/eval.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.chisq/eval_param.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.chisq/get_param.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.chisq/io.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.chisq/max.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.chisq/min.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.chisq/param_assign.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.chisq/param_copy.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.chisq/param_ctor.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.chisq/param_eq.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.chisq/param_types.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.chisq/set_param.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.chisq/types.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.f/
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.f/assign.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.f/copy.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.f/ctor_double_double.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.f/ctor_param.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.f/eq.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.f/eval.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.f/eval_param.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.f/get_param.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.f/io.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.f/max.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.f/min.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.f/param_assign.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.f/param_copy.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.f/param_ctor.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.f/param_eq.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.f/param_types.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.f/set_param.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.f/types.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.lognormal/
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.lognormal/assign.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.lognormal/copy.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.lognormal/ctor_double_double.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.lognormal/ctor_param.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.lognormal/eq.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.lognormal/eval.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.lognormal/eval_param.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.lognormal/get_param.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.lognormal/io.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.lognormal/max.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.lognormal/min.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.lognormal/param_assign.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.lognormal/param_copy.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.lognormal/param_ctor.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.lognormal/param_eq.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.lognormal/param_types.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.lognormal/set_param.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.lognormal/types.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.normal/
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.normal/assign.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.normal/copy.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.normal/ctor_double_double.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.normal/ctor_param.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.normal/eq.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.normal/eval.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.normal/eval_param.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.normal/get_param.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.normal/io.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.normal/max.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.normal/min.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.normal/param_assign.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.normal/param_copy.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.normal/param_ctor.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.normal/param_eq.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.normal/param_types.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.normal/set_param.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.normal/types.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.t/
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.t/assign.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.t/copy.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.t/ctor_double.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.t/ctor_param.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.t/eq.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.t/eval.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.t/eval_param.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.t/get_param.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.t/io.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.t/max.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.t/min.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.t/param_assign.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.t/param_copy.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.t/param_ctor.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.t/param_eq.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.t/param_types.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.t/set_param.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.norm/rand.dist.norm.t/types.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.pois/
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.pois/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.pois/rand.dist.pois.exp/
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.pois/rand.dist.pois.exp/assign.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.pois/rand.dist.pois.exp/copy.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.pois/rand.dist.pois.exp/ctor_double.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.pois/rand.dist.pois.exp/ctor_param.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.pois/rand.dist.pois.exp/eq.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.pois/rand.dist.pois.exp/eval.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.pois/rand.dist.pois.exp/eval_param.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.pois/rand.dist.pois.exp/get_param.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.pois/rand.dist.pois.exp/io.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.pois/rand.dist.pois.exp/max.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.pois/rand.dist.pois.exp/min.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.pois/rand.dist.pois.exp/param_assign.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.pois/rand.dist.pois.exp/param_copy.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.pois/rand.dist.pois.exp/param_ctor.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.pois/rand.dist.pois.exp/param_eq.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.pois/rand.dist.pois.exp/param_types.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.pois/rand.dist.pois.exp/set_param.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.pois/rand.dist.pois.exp/types.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.pois/rand.dist.pois.extreme/
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.pois/rand.dist.pois.extreme/assign.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.pois/rand.dist.pois.extreme/copy.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.pois/rand.dist.pois.extreme/ctor_double_double.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.pois/rand.dist.pois.extreme/ctor_param.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.pois/rand.dist.pois.extreme/eq.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.pois/rand.dist.pois.extreme/eval.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.pois/rand.dist.pois.extreme/eval_param.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.pois/rand.dist.pois.extreme/get_param.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.pois/rand.dist.pois.extreme/io.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.pois/rand.dist.pois.extreme/max.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.pois/rand.dist.pois.extreme/min.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.pois/rand.dist.pois.extreme/param_assign.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.pois/rand.dist.pois.extreme/param_copy.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.pois/rand.dist.pois.extreme/param_ctor.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.pois/rand.dist.pois.extreme/param_eq.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.pois/rand.dist.pois.extreme/param_types.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.pois/rand.dist.pois.extreme/set_param.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.pois/rand.dist.pois.extreme/types.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.pois/rand.dist.pois.gamma/
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.pois/rand.dist.pois.gamma/assign.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.pois/rand.dist.pois.gamma/copy.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.pois/rand.dist.pois.gamma/ctor_double_double.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.pois/rand.dist.pois.gamma/ctor_param.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.pois/rand.dist.pois.gamma/eq.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.pois/rand.dist.pois.gamma/eval.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.pois/rand.dist.pois.gamma/eval_param.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.pois/rand.dist.pois.gamma/get_param.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.pois/rand.dist.pois.gamma/io.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.pois/rand.dist.pois.gamma/max.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.pois/rand.dist.pois.gamma/min.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.pois/rand.dist.pois.gamma/param_assign.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.pois/rand.dist.pois.gamma/param_copy.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.pois/rand.dist.pois.gamma/param_ctor.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.pois/rand.dist.pois.gamma/param_eq.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.pois/rand.dist.pois.gamma/param_types.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.pois/rand.dist.pois.gamma/set_param.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.pois/rand.dist.pois.gamma/types.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.pois/rand.dist.pois.poisson/
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.pois/rand.dist.pois.poisson/assign.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.pois/rand.dist.pois.poisson/copy.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.pois/rand.dist.pois.poisson/ctor_double.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.pois/rand.dist.pois.poisson/ctor_param.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.pois/rand.dist.pois.poisson/eq.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.pois/rand.dist.pois.poisson/eval.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.pois/rand.dist.pois.poisson/eval_param.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.pois/rand.dist.pois.poisson/get_param.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.pois/rand.dist.pois.poisson/io.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.pois/rand.dist.pois.poisson/max.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.pois/rand.dist.pois.poisson/min.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.pois/rand.dist.pois.poisson/param_assign.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.pois/rand.dist.pois.poisson/param_copy.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.pois/rand.dist.pois.poisson/param_ctor.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.pois/rand.dist.pois.poisson/param_eq.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.pois/rand.dist.pois.poisson/param_types.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.pois/rand.dist.pois.poisson/set_param.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.pois/rand.dist.pois.poisson/types.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.pois/rand.dist.pois.weibull/
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.pois/rand.dist.pois.weibull/assign.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.pois/rand.dist.pois.weibull/copy.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.pois/rand.dist.pois.weibull/ctor_double_double.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.pois/rand.dist.pois.weibull/ctor_param.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.pois/rand.dist.pois.weibull/eq.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.pois/rand.dist.pois.weibull/eval.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.pois/rand.dist.pois.weibull/eval_param.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.pois/rand.dist.pois.weibull/get_param.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.pois/rand.dist.pois.weibull/io.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.pois/rand.dist.pois.weibull/max.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.pois/rand.dist.pois.weibull/min.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.pois/rand.dist.pois.weibull/param_assign.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.pois/rand.dist.pois.weibull/param_copy.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.pois/rand.dist.pois.weibull/param_ctor.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.pois/rand.dist.pois.weibull/param_eq.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.pois/rand.dist.pois.weibull/param_types.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.pois/rand.dist.pois.weibull/set_param.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.pois/rand.dist.pois.weibull/types.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.samp/
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.samp/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.samp/rand.dist.samp.discrete/
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.samp/rand.dist.samp.discrete/assign.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.samp/rand.dist.samp.discrete/copy.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.samp/rand.dist.samp.discrete/ctor_default.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.samp/rand.dist.samp.discrete/ctor_func.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.samp/rand.dist.samp.discrete/ctor_init.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.samp/rand.dist.samp.discrete/ctor_iterator.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.samp/rand.dist.samp.discrete/ctor_param.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.samp/rand.dist.samp.discrete/eq.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.samp/rand.dist.samp.discrete/eval.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.samp/rand.dist.samp.discrete/eval_param.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.samp/rand.dist.samp.discrete/get_param.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.samp/rand.dist.samp.discrete/io.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.samp/rand.dist.samp.discrete/max.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.samp/rand.dist.samp.discrete/min.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.samp/rand.dist.samp.discrete/param_assign.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.samp/rand.dist.samp.discrete/param_copy.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.samp/rand.dist.samp.discrete/param_ctor_default.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.samp/rand.dist.samp.discrete/param_ctor_func.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.samp/rand.dist.samp.discrete/param_ctor_init.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.samp/rand.dist.samp.discrete/param_ctor_iterator.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.samp/rand.dist.samp.discrete/param_eq.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.samp/rand.dist.samp.discrete/param_types.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.samp/rand.dist.samp.discrete/set_param.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.samp/rand.dist.samp.discrete/types.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.samp/rand.dist.samp.pconst/
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.samp/rand.dist.samp.pconst/assign.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.samp/rand.dist.samp.pconst/copy.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.samp/rand.dist.samp.pconst/ctor_default.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.samp/rand.dist.samp.pconst/ctor_func.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.samp/rand.dist.samp.pconst/ctor_init_func.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.samp/rand.dist.samp.pconst/ctor_iterator.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.samp/rand.dist.samp.pconst/ctor_param.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.samp/rand.dist.samp.pconst/eq.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.samp/rand.dist.samp.pconst/eval.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.samp/rand.dist.samp.pconst/eval_param.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.samp/rand.dist.samp.pconst/get_param.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.samp/rand.dist.samp.pconst/io.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.samp/rand.dist.samp.pconst/max.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.samp/rand.dist.samp.pconst/min.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.samp/rand.dist.samp.pconst/param_assign.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.samp/rand.dist.samp.pconst/param_copy.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.samp/rand.dist.samp.pconst/param_ctor_default.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.samp/rand.dist.samp.pconst/param_ctor_func.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.samp/rand.dist.samp.pconst/param_ctor_init_func.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.samp/rand.dist.samp.pconst/param_ctor_iterator.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.samp/rand.dist.samp.pconst/param_eq.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.samp/rand.dist.samp.pconst/param_types.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.samp/rand.dist.samp.pconst/set_param.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.samp/rand.dist.samp.pconst/types.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.samp/rand.dist.samp.plinear/
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.samp/rand.dist.samp.plinear/assign.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.samp/rand.dist.samp.plinear/copy.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.samp/rand.dist.samp.plinear/ctor_default.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.samp/rand.dist.samp.plinear/ctor_func.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.samp/rand.dist.samp.plinear/ctor_init_func.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.samp/rand.dist.samp.plinear/ctor_iterator.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.samp/rand.dist.samp.plinear/ctor_param.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.samp/rand.dist.samp.plinear/eq.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.samp/rand.dist.samp.plinear/eval.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.samp/rand.dist.samp.plinear/eval_param.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.samp/rand.dist.samp.plinear/get_param.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.samp/rand.dist.samp.plinear/io.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.samp/rand.dist.samp.plinear/max.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.samp/rand.dist.samp.plinear/min.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.samp/rand.dist.samp.plinear/param_assign.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.samp/rand.dist.samp.plinear/param_copy.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.samp/rand.dist.samp.plinear/param_ctor_default.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.samp/rand.dist.samp.plinear/param_ctor_func.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.samp/rand.dist.samp.plinear/param_ctor_init_func.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.samp/rand.dist.samp.plinear/param_ctor_iterator.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.samp/rand.dist.samp.plinear/param_eq.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.samp/rand.dist.samp.plinear/param_types.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.samp/rand.dist.samp.plinear/set_param.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.samp/rand.dist.samp.plinear/types.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.uni/
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.uni/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.uni/rand.dist.uni.int/
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.uni/rand.dist.uni.int/assign.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.uni/rand.dist.uni.int/copy.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.uni/rand.dist.uni.int/ctor_int_int.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.uni/rand.dist.uni.int/ctor_param.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.uni/rand.dist.uni.int/eq.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.uni/rand.dist.uni.int/eval.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.uni/rand.dist.uni.int/eval_param.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.uni/rand.dist.uni.int/get_param.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.uni/rand.dist.uni.int/io.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.uni/rand.dist.uni.int/max.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.uni/rand.dist.uni.int/min.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.uni/rand.dist.uni.int/param_assign.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.uni/rand.dist.uni.int/param_copy.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.uni/rand.dist.uni.int/param_ctor.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.uni/rand.dist.uni.int/param_eq.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.uni/rand.dist.uni.int/param_types.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.uni/rand.dist.uni.int/set_param.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.uni/rand.dist.uni.int/types.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.uni/rand.dist.uni.real/
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.uni/rand.dist.uni.real/assign.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.uni/rand.dist.uni.real/copy.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.uni/rand.dist.uni.real/ctor_int_int.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.uni/rand.dist.uni.real/ctor_param.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.uni/rand.dist.uni.real/eq.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.uni/rand.dist.uni.real/eval.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.uni/rand.dist.uni.real/eval_param.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.uni/rand.dist.uni.real/get_param.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.uni/rand.dist.uni.real/io.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.uni/rand.dist.uni.real/max.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.uni/rand.dist.uni.real/min.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.uni/rand.dist.uni.real/param_assign.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.uni/rand.dist.uni.real/param_copy.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.uni/rand.dist.uni.real/param_ctor.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.uni/rand.dist.uni.real/param_eq.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.uni/rand.dist.uni.real/param_types.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.uni/rand.dist.uni.real/set_param.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.dis/rand.dist.uni/rand.dist.uni.real/types.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.eng/
    libcxx/trunk/test/std/numerics/rand/rand.eng/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.eng/rand.eng.lcong/
    libcxx/trunk/test/std/numerics/rand/rand.eng/rand.eng.lcong/assign.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.eng/rand.eng.lcong/copy.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.eng/rand.eng.lcong/ctor_result_type.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.eng/rand.eng.lcong/ctor_sseq.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.eng/rand.eng.lcong/default.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.eng/rand.eng.lcong/discard.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.eng/rand.eng.lcong/eval.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.eng/rand.eng.lcong/io.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.eng/rand.eng.lcong/result_type.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.eng/rand.eng.lcong/seed_result_type.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.eng/rand.eng.lcong/seed_sseq.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.eng/rand.eng.lcong/values.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.eng/rand.eng.mers/
    libcxx/trunk/test/std/numerics/rand/rand.eng/rand.eng.mers/assign.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.eng/rand.eng.mers/copy.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.eng/rand.eng.mers/ctor_result_type.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.eng/rand.eng.mers/ctor_sseq.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.eng/rand.eng.mers/default.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.eng/rand.eng.mers/discard.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.eng/rand.eng.mers/eval.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.eng/rand.eng.mers/io.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.eng/rand.eng.mers/result_type.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.eng/rand.eng.mers/seed_result_type.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.eng/rand.eng.mers/seed_sseq.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.eng/rand.eng.mers/values.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.eng/rand.eng.sub/
    libcxx/trunk/test/std/numerics/rand/rand.eng/rand.eng.sub/assign.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.eng/rand.eng.sub/copy.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.eng/rand.eng.sub/ctor_result_type.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.eng/rand.eng.sub/ctor_sseq.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.eng/rand.eng.sub/default.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.eng/rand.eng.sub/discard.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.eng/rand.eng.sub/eval.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.eng/rand.eng.sub/io.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.eng/rand.eng.sub/result_type.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.eng/rand.eng.sub/seed_result_type.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.eng/rand.eng.sub/seed_sseq.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.eng/rand.eng.sub/values.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.predef/
    libcxx/trunk/test/std/numerics/rand/rand.predef/default_random_engine.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.predef/knuth_b.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.predef/minstd_rand.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.predef/minstd_rand0.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.predef/mt19937.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.predef/mt19937_64.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.predef/ranlux24.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.predef/ranlux24_base.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.predef/ranlux48.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.predef/ranlux48_base.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.req/
    libcxx/trunk/test/std/numerics/rand/rand.req/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.req/rand.req.adapt/
    libcxx/trunk/test/std/numerics/rand/rand.req/rand.req.adapt/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.req/rand.req.dst/
    libcxx/trunk/test/std/numerics/rand/rand.req/rand.req.dst/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.req/rand.req.eng/
    libcxx/trunk/test/std/numerics/rand/rand.req/rand.req.eng/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.req/rand.req.genl/
    libcxx/trunk/test/std/numerics/rand/rand.req/rand.req.genl/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.req/rand.req.seedseq/
    libcxx/trunk/test/std/numerics/rand/rand.req/rand.req.seedseq/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.req/rand.req.urng/
    libcxx/trunk/test/std/numerics/rand/rand.req/rand.req.urng/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.synopsis/
    libcxx/trunk/test/std/numerics/rand/rand.synopsis/version.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.util/
    libcxx/trunk/test/std/numerics/rand/rand.util/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.util/rand.util.canonical/
    libcxx/trunk/test/std/numerics/rand/rand.util/rand.util.canonical/generate_canonical.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.util/rand.util.seedseq/
    libcxx/trunk/test/std/numerics/rand/rand.util/rand.util.seedseq/assign.fail.cpp
    libcxx/trunk/test/std/numerics/rand/rand.util/rand.util.seedseq/copy.fail.cpp
    libcxx/trunk/test/std/numerics/rand/rand.util/rand.util.seedseq/default.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.util/rand.util.seedseq/generate.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.util/rand.util.seedseq/initializer_list.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.util/rand.util.seedseq/iterator.pass.cpp
    libcxx/trunk/test/std/numerics/rand/rand.util/rand.util.seedseq/types.pass.cpp
    libcxx/trunk/test/std/re/
    libcxx/trunk/test/std/re/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/re/re.alg/
    libcxx/trunk/test/std/re/re.alg/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/re/re.alg/re.alg.match/
    libcxx/trunk/test/std/re/re.alg/re.alg.match/awk.pass.cpp
    libcxx/trunk/test/std/re/re.alg/re.alg.match/basic.fail.cpp
    libcxx/trunk/test/std/re/re.alg/re.alg.match/basic.pass.cpp
    libcxx/trunk/test/std/re/re.alg/re.alg.match/ecma.pass.cpp
    libcxx/trunk/test/std/re/re.alg/re.alg.match/egrep.pass.cpp
    libcxx/trunk/test/std/re/re.alg/re.alg.match/extended.pass.cpp
    libcxx/trunk/test/std/re/re.alg/re.alg.match/grep.pass.cpp
    libcxx/trunk/test/std/re/re.alg/re.alg.match/lookahead_capture.pass.cpp
    libcxx/trunk/test/std/re/re.alg/re.alg.match/parse_curly_brackets.pass.cpp
    libcxx/trunk/test/std/re/re.alg/re.alg.replace/
    libcxx/trunk/test/std/re/re.alg/re.alg.replace/test1.pass.cpp
    libcxx/trunk/test/std/re/re.alg/re.alg.replace/test2.pass.cpp
    libcxx/trunk/test/std/re/re.alg/re.alg.replace/test3.pass.cpp
    libcxx/trunk/test/std/re/re.alg/re.alg.replace/test4.pass.cpp
    libcxx/trunk/test/std/re/re.alg/re.alg.replace/test5.pass.cpp
    libcxx/trunk/test/std/re/re.alg/re.alg.replace/test6.pass.cpp
    libcxx/trunk/test/std/re/re.alg/re.alg.search/
    libcxx/trunk/test/std/re/re.alg/re.alg.search/awk.pass.cpp
    libcxx/trunk/test/std/re/re.alg/re.alg.search/backup.pass.cpp
    libcxx/trunk/test/std/re/re.alg/re.alg.search/basic.fail.cpp
    libcxx/trunk/test/std/re/re.alg/re.alg.search/basic.pass.cpp
    libcxx/trunk/test/std/re/re.alg/re.alg.search/ecma.pass.cpp
    libcxx/trunk/test/std/re/re.alg/re.alg.search/egrep.pass.cpp
    libcxx/trunk/test/std/re/re.alg/re.alg.search/extended.pass.cpp
    libcxx/trunk/test/std/re/re.alg/re.alg.search/grep.pass.cpp
    libcxx/trunk/test/std/re/re.alg/re.alg.search/lookahead.pass.cpp
    libcxx/trunk/test/std/re/re.alg/re.alg.search/no_update_pos.pass.cpp
    libcxx/trunk/test/std/re/re.alg/re.except/
    libcxx/trunk/test/std/re/re.alg/re.except/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/re/re.badexp/
    libcxx/trunk/test/std/re/re.badexp/regex_error.pass.cpp
    libcxx/trunk/test/std/re/re.const/
    libcxx/trunk/test/std/re/re.const/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/re/re.const/re.err/
    libcxx/trunk/test/std/re/re.const/re.err/error_type.pass.cpp
    libcxx/trunk/test/std/re/re.const/re.matchflag/
    libcxx/trunk/test/std/re/re.const/re.matchflag/match_flag_type.pass.cpp
    libcxx/trunk/test/std/re/re.const/re.synopt/
    libcxx/trunk/test/std/re/re.const/re.synopt/syntax_option_type.pass.cpp
    libcxx/trunk/test/std/re/re.def/
    libcxx/trunk/test/std/re/re.def/defns.regex.collating.element/
    libcxx/trunk/test/std/re/re.def/defns.regex.collating.element/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/re/re.def/defns.regex.finite.state.machine/
    libcxx/trunk/test/std/re/re.def/defns.regex.finite.state.machine/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/re/re.def/defns.regex.format.specifier/
    libcxx/trunk/test/std/re/re.def/defns.regex.format.specifier/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/re/re.def/defns.regex.matched/
    libcxx/trunk/test/std/re/re.def/defns.regex.matched/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/re/re.def/defns.regex.primary.equivalence.class/
    libcxx/trunk/test/std/re/re.def/defns.regex.primary.equivalence.class/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/re/re.def/defns.regex.regular.expression/
    libcxx/trunk/test/std/re/re.def/defns.regex.regular.expression/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/re/re.def/defns.regex.subexpression/
    libcxx/trunk/test/std/re/re.def/defns.regex.subexpression/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/re/re.def/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/re/re.general/
    libcxx/trunk/test/std/re/re.general/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/re/re.grammar/
    libcxx/trunk/test/std/re/re.grammar/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/re/re.iter/
    libcxx/trunk/test/std/re/re.iter/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/re/re.iter/re.regiter/
    libcxx/trunk/test/std/re/re.iter/re.regiter/re.regiter.cnstr/
    libcxx/trunk/test/std/re/re.iter/re.regiter/re.regiter.cnstr/cnstr.fail.cpp
    libcxx/trunk/test/std/re/re.iter/re.regiter/re.regiter.cnstr/cnstr.pass.cpp
    libcxx/trunk/test/std/re/re.iter/re.regiter/re.regiter.cnstr/default.pass.cpp
    libcxx/trunk/test/std/re/re.iter/re.regiter/re.regiter.comp/
    libcxx/trunk/test/std/re/re.iter/re.regiter/re.regiter.comp/tested_elsewhere.pass.cpp
    libcxx/trunk/test/std/re/re.iter/re.regiter/re.regiter.deref/
    libcxx/trunk/test/std/re/re.iter/re.regiter/re.regiter.deref/deref.pass.cpp
    libcxx/trunk/test/std/re/re.iter/re.regiter/re.regiter.incr/
    libcxx/trunk/test/std/re/re.iter/re.regiter/re.regiter.incr/post.pass.cpp
    libcxx/trunk/test/std/re/re.iter/re.regiter/types.pass.cpp
    libcxx/trunk/test/std/re/re.iter/re.tokiter/
    libcxx/trunk/test/std/re/re.iter/re.tokiter/re.tokiter.cnstr/
    libcxx/trunk/test/std/re/re.iter/re.tokiter/re.tokiter.cnstr/array.fail.cpp
    libcxx/trunk/test/std/re/re.iter/re.tokiter/re.tokiter.cnstr/array.pass.cpp
    libcxx/trunk/test/std/re/re.iter/re.tokiter/re.tokiter.cnstr/default.pass.cpp
    libcxx/trunk/test/std/re/re.iter/re.tokiter/re.tokiter.cnstr/init.fail.cpp
    libcxx/trunk/test/std/re/re.iter/re.tokiter/re.tokiter.cnstr/init.pass.cpp
    libcxx/trunk/test/std/re/re.iter/re.tokiter/re.tokiter.cnstr/int.fail.cpp
    libcxx/trunk/test/std/re/re.iter/re.tokiter/re.tokiter.cnstr/int.pass.cpp
    libcxx/trunk/test/std/re/re.iter/re.tokiter/re.tokiter.cnstr/vector.fail.cpp
    libcxx/trunk/test/std/re/re.iter/re.tokiter/re.tokiter.cnstr/vector.pass.cpp
    libcxx/trunk/test/std/re/re.iter/re.tokiter/re.tokiter.comp/
    libcxx/trunk/test/std/re/re.iter/re.tokiter/re.tokiter.comp/equal.pass.cpp
    libcxx/trunk/test/std/re/re.iter/re.tokiter/re.tokiter.deref/
    libcxx/trunk/test/std/re/re.iter/re.tokiter/re.tokiter.deref/deref.pass.cpp
    libcxx/trunk/test/std/re/re.iter/re.tokiter/re.tokiter.incr/
    libcxx/trunk/test/std/re/re.iter/re.tokiter/re.tokiter.incr/post.pass.cpp
    libcxx/trunk/test/std/re/re.iter/re.tokiter/types.pass.cpp
    libcxx/trunk/test/std/re/re.regex/
    libcxx/trunk/test/std/re/re.regex/re.regex.assign/
    libcxx/trunk/test/std/re/re.regex/re.regex.assign/assign.il.pass.cpp
    libcxx/trunk/test/std/re/re.regex/re.regex.assign/assign.pass.cpp
    libcxx/trunk/test/std/re/re.regex/re.regex.assign/assign_iter_iter_flag.pass.cpp
    libcxx/trunk/test/std/re/re.regex/re.regex.assign/assign_ptr_flag.pass.cpp
    libcxx/trunk/test/std/re/re.regex/re.regex.assign/assign_ptr_size_flag.pass.cpp
    libcxx/trunk/test/std/re/re.regex/re.regex.assign/assign_string_flag.pass.cpp
    libcxx/trunk/test/std/re/re.regex/re.regex.assign/copy.pass.cpp
    libcxx/trunk/test/std/re/re.regex/re.regex.assign/il.pass.cpp
    libcxx/trunk/test/std/re/re.regex/re.regex.assign/ptr.pass.cpp
    libcxx/trunk/test/std/re/re.regex/re.regex.assign/string.pass.cpp
    libcxx/trunk/test/std/re/re.regex/re.regex.const/
    libcxx/trunk/test/std/re/re.regex/re.regex.const/constants.pass.cpp
    libcxx/trunk/test/std/re/re.regex/re.regex.construct/
    libcxx/trunk/test/std/re/re.regex/re.regex.construct/awk_oct.pass.cpp
    libcxx/trunk/test/std/re/re.regex/re.regex.construct/bad_escape.pass.cpp
    libcxx/trunk/test/std/re/re.regex/re.regex.construct/copy.pass.cpp
    libcxx/trunk/test/std/re/re.regex/re.regex.construct/default.pass.cpp
    libcxx/trunk/test/std/re/re.regex/re.regex.construct/il_flg.pass.cpp
    libcxx/trunk/test/std/re/re.regex/re.regex.construct/iter_iter.pass.cpp
    libcxx/trunk/test/std/re/re.regex/re.regex.construct/iter_iter_flg.pass.cpp
    libcxx/trunk/test/std/re/re.regex/re.regex.construct/ptr.pass.cpp
    libcxx/trunk/test/std/re/re.regex/re.regex.construct/ptr_flg.pass.cpp
    libcxx/trunk/test/std/re/re.regex/re.regex.construct/ptr_size_flg.pass.cpp
    libcxx/trunk/test/std/re/re.regex/re.regex.construct/string.pass.cpp
    libcxx/trunk/test/std/re/re.regex/re.regex.construct/string_flg.pass.cpp
    libcxx/trunk/test/std/re/re.regex/re.regex.locale/
    libcxx/trunk/test/std/re/re.regex/re.regex.locale/imbue.pass.cpp
    libcxx/trunk/test/std/re/re.regex/re.regex.nonmemb/
    libcxx/trunk/test/std/re/re.regex/re.regex.nonmemb/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/re/re.regex/re.regex.nonmemb/re.regex.nmswap/
    libcxx/trunk/test/std/re/re.regex/re.regex.nonmemb/re.regex.nmswap/swap.pass.cpp
    libcxx/trunk/test/std/re/re.regex/re.regex.operations/
    libcxx/trunk/test/std/re/re.regex/re.regex.operations/tested_elsewhere.pass.cpp
    libcxx/trunk/test/std/re/re.regex/re.regex.swap/
    libcxx/trunk/test/std/re/re.regex/re.regex.swap/swap.pass.cpp
    libcxx/trunk/test/std/re/re.regex/types.pass.cpp
    libcxx/trunk/test/std/re/re.req/
    libcxx/trunk/test/std/re/re.req/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/re/re.results/
    libcxx/trunk/test/std/re/re.results/re.results.acc/
    libcxx/trunk/test/std/re/re.results/re.results.acc/begin_end.pass.cpp
    libcxx/trunk/test/std/re/re.results/re.results.acc/cbegin_cend.pass.cpp
    libcxx/trunk/test/std/re/re.results/re.results.acc/index.pass.cpp
    libcxx/trunk/test/std/re/re.results/re.results.acc/length.pass.cpp
    libcxx/trunk/test/std/re/re.results/re.results.acc/position.pass.cpp
    libcxx/trunk/test/std/re/re.results/re.results.acc/prefix.pass.cpp
    libcxx/trunk/test/std/re/re.results/re.results.acc/str.pass.cpp
    libcxx/trunk/test/std/re/re.results/re.results.acc/suffix.pass.cpp
    libcxx/trunk/test/std/re/re.results/re.results.all/
    libcxx/trunk/test/std/re/re.results/re.results.all/get_allocator.pass.cpp
    libcxx/trunk/test/std/re/re.results/re.results.const/
    libcxx/trunk/test/std/re/re.results/re.results.const/allocator.pass.cpp
    libcxx/trunk/test/std/re/re.results/re.results.const/default.pass.cpp
    libcxx/trunk/test/std/re/re.results/re.results.form/
    libcxx/trunk/test/std/re/re.results/re.results.form/form1.pass.cpp
    libcxx/trunk/test/std/re/re.results/re.results.form/form2.pass.cpp
    libcxx/trunk/test/std/re/re.results/re.results.form/form3.pass.cpp
    libcxx/trunk/test/std/re/re.results/re.results.form/form4.pass.cpp
    libcxx/trunk/test/std/re/re.results/re.results.nonmember/
    libcxx/trunk/test/std/re/re.results/re.results.nonmember/equal.pass.cpp
    libcxx/trunk/test/std/re/re.results/re.results.size/
    libcxx/trunk/test/std/re/re.results/re.results.size/empty.pass.cpp
    libcxx/trunk/test/std/re/re.results/re.results.size/max_size.pass.cpp
    libcxx/trunk/test/std/re/re.results/re.results.state/
    libcxx/trunk/test/std/re/re.results/re.results.state/ready.pass.cpp
    libcxx/trunk/test/std/re/re.results/re.results.swap/
    libcxx/trunk/test/std/re/re.results/re.results.swap/member_swap.pass.cpp
    libcxx/trunk/test/std/re/re.results/re.results.swap/non_member_swap.pass.cpp
    libcxx/trunk/test/std/re/re.results/types.pass.cpp
    libcxx/trunk/test/std/re/re.submatch/
    libcxx/trunk/test/std/re/re.submatch/re.submatch.members/
    libcxx/trunk/test/std/re/re.submatch/re.submatch.members/compare_string_type.pass.cpp
    libcxx/trunk/test/std/re/re.submatch/re.submatch.members/compare_sub_match.pass.cpp
    libcxx/trunk/test/std/re/re.submatch/re.submatch.members/compare_value_type_ptr.pass.cpp
    libcxx/trunk/test/std/re/re.submatch/re.submatch.members/default.pass.cpp
    libcxx/trunk/test/std/re/re.submatch/re.submatch.members/length.pass.cpp
    libcxx/trunk/test/std/re/re.submatch/re.submatch.members/operator_string.pass.cpp
    libcxx/trunk/test/std/re/re.submatch/re.submatch.members/str.pass.cpp
    libcxx/trunk/test/std/re/re.submatch/re.submatch.op/
    libcxx/trunk/test/std/re/re.submatch/re.submatch.op/compare.pass.cpp
    libcxx/trunk/test/std/re/re.submatch/re.submatch.op/stream.pass.cpp
    libcxx/trunk/test/std/re/re.submatch/types.pass.cpp
    libcxx/trunk/test/std/re/re.syn/
    libcxx/trunk/test/std/re/re.syn/cmatch.pass.cpp
    libcxx/trunk/test/std/re/re.syn/cregex_iterator.pass.cpp
    libcxx/trunk/test/std/re/re.syn/cregex_token_iterator.pass.cpp
    libcxx/trunk/test/std/re/re.syn/csub_match.pass.cpp
    libcxx/trunk/test/std/re/re.syn/regex.pass.cpp
    libcxx/trunk/test/std/re/re.syn/smatch.pass.cpp
    libcxx/trunk/test/std/re/re.syn/sregex_iterator.pass.cpp
    libcxx/trunk/test/std/re/re.syn/sregex_token_iterator.pass.cpp
    libcxx/trunk/test/std/re/re.syn/ssub_match.pass.cpp
    libcxx/trunk/test/std/re/re.syn/wcmatch.pass.cpp
    libcxx/trunk/test/std/re/re.syn/wcregex_iterator.pass.cpp
    libcxx/trunk/test/std/re/re.syn/wcregex_token_iterator.pass.cpp
    libcxx/trunk/test/std/re/re.syn/wcsub_match.pass.cpp
    libcxx/trunk/test/std/re/re.syn/wregex.pass.cpp
    libcxx/trunk/test/std/re/re.syn/wsmatch.pass.cpp
    libcxx/trunk/test/std/re/re.syn/wsregex_iterator.pass.cpp
    libcxx/trunk/test/std/re/re.syn/wsregex_token_iterator.pass.cpp
    libcxx/trunk/test/std/re/re.syn/wssub_match.pass.cpp
    libcxx/trunk/test/std/re/re.traits/
    libcxx/trunk/test/std/re/re.traits/default.pass.cpp
    libcxx/trunk/test/std/re/re.traits/getloc.pass.cpp
    libcxx/trunk/test/std/re/re.traits/imbue.pass.cpp
    libcxx/trunk/test/std/re/re.traits/isctype.pass.cpp
    libcxx/trunk/test/std/re/re.traits/length.pass.cpp
    libcxx/trunk/test/std/re/re.traits/lookup_classname.pass.cpp
    libcxx/trunk/test/std/re/re.traits/lookup_collatename.pass.cpp
    libcxx/trunk/test/std/re/re.traits/transform.pass.cpp
    libcxx/trunk/test/std/re/re.traits/transform_primary.pass.cpp
    libcxx/trunk/test/std/re/re.traits/translate.pass.cpp
    libcxx/trunk/test/std/re/re.traits/translate_nocase.pass.cpp
    libcxx/trunk/test/std/re/re.traits/types.pass.cpp
    libcxx/trunk/test/std/re/re.traits/value.pass.cpp
    libcxx/trunk/test/std/strings/
    libcxx/trunk/test/std/strings/basic.string/
    libcxx/trunk/test/std/strings/basic.string.hash/
    libcxx/trunk/test/std/strings/basic.string.hash/strings.pass.cpp
    libcxx/trunk/test/std/strings/basic.string.literals/
    libcxx/trunk/test/std/strings/basic.string.literals/literal.pass.cpp
    libcxx/trunk/test/std/strings/basic.string.literals/literal1.fail.cpp
    libcxx/trunk/test/std/strings/basic.string.literals/literal1.pass.cpp
    libcxx/trunk/test/std/strings/basic.string.literals/literal2.fail.cpp
    libcxx/trunk/test/std/strings/basic.string.literals/literal2.pass.cpp
    libcxx/trunk/test/std/strings/basic.string.literals/literal3.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/input_iterator.h
    libcxx/trunk/test/std/strings/basic.string/string.access/
    libcxx/trunk/test/std/strings/basic.string/string.access/at.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.access/back.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.access/db_back.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.access/db_cback.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.access/db_cfront.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.access/db_cindex.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.access/db_front.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.access/db_index.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.access/front.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.access/index.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.capacity/
    libcxx/trunk/test/std/strings/basic.string/string.capacity/capacity.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.capacity/clear.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.capacity/empty.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.capacity/length.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.capacity/max_size.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.capacity/over_max_size.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.capacity/reserve.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.capacity/resize_size.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.capacity/resize_size_char.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.capacity/shrink_to_fit.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.capacity/size.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.cons/
    libcxx/trunk/test/std/strings/basic.string/string.cons/alloc.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.cons/char_assignment.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.cons/copy.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.cons/copy_alloc.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.cons/copy_assignment.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.cons/default_noexcept.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.cons/dtor_noexcept.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.cons/initializer_list.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.cons/initializer_list_assignment.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.cons/iter_alloc.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.cons/move.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.cons/move_alloc.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.cons/move_assign_noexcept.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.cons/move_assignment.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.cons/move_noexcept.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.cons/pointer_alloc.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.cons/pointer_assignment.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.cons/pointer_size_alloc.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.cons/size_char_alloc.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.cons/substr.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.iterators/
    libcxx/trunk/test/std/strings/basic.string/string.iterators/begin.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.iterators/cbegin.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.iterators/cend.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.iterators/crbegin.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.iterators/crend.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.iterators/db_iterators_2.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.iterators/db_iterators_3.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.iterators/db_iterators_4.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.iterators/db_iterators_5.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.iterators/db_iterators_6.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.iterators/db_iterators_7.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.iterators/db_iterators_8.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.iterators/end.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.iterators/iterators.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.iterators/rbegin.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.iterators/rend.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.modifiers/
    libcxx/trunk/test/std/strings/basic.string/string.modifiers/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.modifiers/string_append/
    libcxx/trunk/test/std/strings/basic.string/string.modifiers/string_append/initializer_list.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.modifiers/string_append/iterator.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.modifiers/string_append/pointer.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.modifiers/string_append/pointer_size.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.modifiers/string_append/push_back.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.modifiers/string_append/size_char.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.modifiers/string_append/string.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.modifiers/string_append/string_size_size.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.modifiers/string_assign/
    libcxx/trunk/test/std/strings/basic.string/string.modifiers/string_assign/initializer_list.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.modifiers/string_assign/iterator.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.modifiers/string_assign/pointer.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.modifiers/string_assign/pointer_size.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.modifiers/string_assign/rv_string.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.modifiers/string_assign/size_char.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.modifiers/string_assign/string.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.modifiers/string_assign/string_size_size.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.modifiers/string_copy/
    libcxx/trunk/test/std/strings/basic.string/string.modifiers/string_copy/copy.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.modifiers/string_erase/
    libcxx/trunk/test/std/strings/basic.string/string.modifiers/string_erase/erase_iter_db1.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.modifiers/string_erase/erase_iter_db2.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.modifiers/string_erase/erase_iter_iter_db1.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.modifiers/string_erase/erase_iter_iter_db2.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.modifiers/string_erase/erase_iter_iter_db3.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.modifiers/string_erase/erase_iter_iter_db4.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.modifiers/string_erase/iter.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.modifiers/string_erase/iter_iter.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.modifiers/string_erase/pop_back.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.modifiers/string_erase/size_size.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.modifiers/string_insert/
    libcxx/trunk/test/std/strings/basic.string/string.modifiers/string_insert/iter_char.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.modifiers/string_insert/iter_initializer_list.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.modifiers/string_insert/iter_iter_iter.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.modifiers/string_insert/iter_size_char.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.modifiers/string_insert/size_pointer.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.modifiers/string_insert/size_pointer_size.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.modifiers/string_insert/size_size_char.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.modifiers/string_insert/size_string.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.modifiers/string_insert/size_string_size_size.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.modifiers/string_op_plus_equal/
    libcxx/trunk/test/std/strings/basic.string/string.modifiers/string_op_plus_equal/char.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.modifiers/string_op_plus_equal/initializer_list.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.modifiers/string_op_plus_equal/pointer.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.modifiers/string_op_plus_equal/string.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.modifiers/string_replace/
    libcxx/trunk/test/std/strings/basic.string/string.modifiers/string_replace/iter_iter_initializer_list.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.modifiers/string_replace/iter_iter_iter_iter.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.modifiers/string_replace/iter_iter_pointer.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.modifiers/string_replace/iter_iter_pointer_size.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.modifiers/string_replace/iter_iter_size_char.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.modifiers/string_replace/iter_iter_string.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.modifiers/string_replace/size_size_pointer.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.modifiers/string_replace/size_size_pointer_size.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.modifiers/string_replace/size_size_size_char.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.modifiers/string_replace/size_size_string.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.modifiers/string_replace/size_size_string_size_size.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.modifiers/string_swap/
    libcxx/trunk/test/std/strings/basic.string/string.modifiers/string_swap/swap.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.nonmembers/
    libcxx/trunk/test/std/strings/basic.string/string.nonmembers/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.nonmembers/string.io/
    libcxx/trunk/test/std/strings/basic.string/string.nonmembers/string.io/get_line.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.nonmembers/string.io/get_line_delim.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.nonmembers/string.io/get_line_delim_rv.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.nonmembers/string.io/get_line_rv.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.nonmembers/string.io/stream_extract.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.nonmembers/string.io/stream_insert.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.nonmembers/string.special/
    libcxx/trunk/test/std/strings/basic.string/string.nonmembers/string.special/swap.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.nonmembers/string.special/swap_noexcept.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.nonmembers/string_op!=/
    libcxx/trunk/test/std/strings/basic.string/string.nonmembers/string_op!=/pointer_string.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.nonmembers/string_op!=/string_pointer.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.nonmembers/string_op!=/string_string.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.nonmembers/string_op+/
    libcxx/trunk/test/std/strings/basic.string/string.nonmembers/string_op+/char_string.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.nonmembers/string_op+/pointer_string.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.nonmembers/string_op+/string_char.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.nonmembers/string_op+/string_pointer.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.nonmembers/string_op+/string_string.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.nonmembers/string_operator==/
    libcxx/trunk/test/std/strings/basic.string/string.nonmembers/string_operator==/pointer_string.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.nonmembers/string_operator==/string_pointer.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.nonmembers/string_operator==/string_string.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.nonmembers/string_opgt/
    libcxx/trunk/test/std/strings/basic.string/string.nonmembers/string_opgt/pointer_string.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.nonmembers/string_opgt/string_pointer.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.nonmembers/string_opgt/string_string.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.nonmembers/string_opgt=/
    libcxx/trunk/test/std/strings/basic.string/string.nonmembers/string_opgt=/pointer_string.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.nonmembers/string_opgt=/string_pointer.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.nonmembers/string_opgt=/string_string.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.nonmembers/string_oplt/
    libcxx/trunk/test/std/strings/basic.string/string.nonmembers/string_oplt/pointer_string.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.nonmembers/string_oplt/string_pointer.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.nonmembers/string_oplt/string_string.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.nonmembers/string_oplt=/
    libcxx/trunk/test/std/strings/basic.string/string.nonmembers/string_oplt=/pointer_string.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.nonmembers/string_oplt=/string_pointer.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.nonmembers/string_oplt=/string_string.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.ops/
    libcxx/trunk/test/std/strings/basic.string/string.ops/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.ops/string.accessors/
    libcxx/trunk/test/std/strings/basic.string/string.ops/string.accessors/c_str.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.ops/string.accessors/data.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.ops/string.accessors/get_allocator.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.ops/string_compare/
    libcxx/trunk/test/std/strings/basic.string/string.ops/string_compare/pointer.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.ops/string_compare/size_size_pointer.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.ops/string_compare/size_size_pointer_size.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.ops/string_compare/size_size_string.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.ops/string_compare/size_size_string_size_size.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.ops/string_compare/string.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.ops/string_find/
    libcxx/trunk/test/std/strings/basic.string/string.ops/string_find.first.not.of/
    libcxx/trunk/test/std/strings/basic.string/string.ops/string_find.first.not.of/char_size.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.ops/string_find.first.not.of/pointer_size.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.ops/string_find.first.not.of/pointer_size_size.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.ops/string_find.first.not.of/string_size.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.ops/string_find.first.of/
    libcxx/trunk/test/std/strings/basic.string/string.ops/string_find.first.of/char_size.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.ops/string_find.first.of/pointer_size.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.ops/string_find.first.of/pointer_size_size.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.ops/string_find.first.of/string_size.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.ops/string_find.last.not.of/
    libcxx/trunk/test/std/strings/basic.string/string.ops/string_find.last.not.of/char_size.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.ops/string_find.last.not.of/pointer_size.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.ops/string_find.last.not.of/pointer_size_size.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.ops/string_find.last.not.of/string_size.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.ops/string_find.last.of/
    libcxx/trunk/test/std/strings/basic.string/string.ops/string_find.last.of/char_size.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.ops/string_find.last.of/pointer_size.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.ops/string_find.last.of/pointer_size_size.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.ops/string_find.last.of/string_size.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.ops/string_find/char_size.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.ops/string_find/pointer_size.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.ops/string_find/pointer_size_size.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.ops/string_find/string_size.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.ops/string_rfind/
    libcxx/trunk/test/std/strings/basic.string/string.ops/string_rfind/char_size.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.ops/string_rfind/pointer_size.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.ops/string_rfind/pointer_size_size.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.ops/string_rfind/string_size.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.ops/string_substr/
    libcxx/trunk/test/std/strings/basic.string/string.ops/string_substr/substr.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/string.require/
    libcxx/trunk/test/std/strings/basic.string/string.require/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/strings/basic.string/test_traits.h
    libcxx/trunk/test/std/strings/basic.string/types.pass.cpp
    libcxx/trunk/test/std/strings/c.strings/
    libcxx/trunk/test/std/strings/c.strings/cctype.pass.cpp
    libcxx/trunk/test/std/strings/c.strings/cstring.pass.cpp
    libcxx/trunk/test/std/strings/c.strings/cuchar.pass.cpp
    libcxx/trunk/test/std/strings/c.strings/cwchar.pass.cpp
    libcxx/trunk/test/std/strings/c.strings/cwctype.pass.cpp
    libcxx/trunk/test/std/strings/c.strings/version_cctype.pass.cpp
    libcxx/trunk/test/std/strings/c.strings/version_cstring.pass.cpp
    libcxx/trunk/test/std/strings/c.strings/version_cuchar.pass.cpp
    libcxx/trunk/test/std/strings/c.strings/version_cwchar.pass.cpp
    libcxx/trunk/test/std/strings/c.strings/version_cwctype.pass.cpp
    libcxx/trunk/test/std/strings/char.traits/
    libcxx/trunk/test/std/strings/char.traits/char.traits.require/
    libcxx/trunk/test/std/strings/char.traits/char.traits.require/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/strings/char.traits/char.traits.specializations/
    libcxx/trunk/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char/
    libcxx/trunk/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char/assign2.pass.cpp
    libcxx/trunk/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char/assign3.pass.cpp
    libcxx/trunk/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char/compare.pass.cpp
    libcxx/trunk/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char/copy.pass.cpp
    libcxx/trunk/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char/eof.pass.cpp
    libcxx/trunk/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char/eq.pass.cpp
    libcxx/trunk/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char/eq_int_type.pass.cpp
    libcxx/trunk/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char/find.pass.cpp
    libcxx/trunk/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char/length.pass.cpp
    libcxx/trunk/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char/lt.pass.cpp
    libcxx/trunk/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char/move.pass.cpp
    libcxx/trunk/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char/not_eof.pass.cpp
    libcxx/trunk/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char/to_char_type.pass.cpp
    libcxx/trunk/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char/to_int_type.pass.cpp
    libcxx/trunk/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char/types.pass.cpp
    libcxx/trunk/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char16_t/
    libcxx/trunk/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char16_t/assign2.pass.cpp
    libcxx/trunk/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char16_t/assign3.pass.cpp
    libcxx/trunk/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char16_t/compare.pass.cpp
    libcxx/trunk/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char16_t/copy.pass.cpp
    libcxx/trunk/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char16_t/eof.pass.cpp
    libcxx/trunk/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char16_t/eq.pass.cpp
    libcxx/trunk/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char16_t/eq_int_type.pass.cpp
    libcxx/trunk/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char16_t/find.pass.cpp
    libcxx/trunk/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char16_t/length.pass.cpp
    libcxx/trunk/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char16_t/lt.pass.cpp
    libcxx/trunk/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char16_t/move.pass.cpp
    libcxx/trunk/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char16_t/not_eof.pass.cpp
    libcxx/trunk/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char16_t/to_char_type.pass.cpp
    libcxx/trunk/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char16_t/to_int_type.pass.cpp
    libcxx/trunk/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char16_t/types.pass.cpp
    libcxx/trunk/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char32_t/
    libcxx/trunk/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char32_t/assign2.pass.cpp
    libcxx/trunk/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char32_t/assign3.pass.cpp
    libcxx/trunk/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char32_t/compare.pass.cpp
    libcxx/trunk/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char32_t/copy.pass.cpp
    libcxx/trunk/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char32_t/eof.pass.cpp
    libcxx/trunk/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char32_t/eq.pass.cpp
    libcxx/trunk/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char32_t/eq_int_type.pass.cpp
    libcxx/trunk/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char32_t/find.pass.cpp
    libcxx/trunk/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char32_t/length.pass.cpp
    libcxx/trunk/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char32_t/lt.pass.cpp
    libcxx/trunk/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char32_t/move.pass.cpp
    libcxx/trunk/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char32_t/not_eof.pass.cpp
    libcxx/trunk/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char32_t/to_char_type.pass.cpp
    libcxx/trunk/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char32_t/to_int_type.pass.cpp
    libcxx/trunk/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.char32_t/types.pass.cpp
    libcxx/trunk/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.wchar.t/
    libcxx/trunk/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.wchar.t/assign2.pass.cpp
    libcxx/trunk/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.wchar.t/assign3.pass.cpp
    libcxx/trunk/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.wchar.t/compare.pass.cpp
    libcxx/trunk/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.wchar.t/copy.pass.cpp
    libcxx/trunk/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.wchar.t/eof.pass.cpp
    libcxx/trunk/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.wchar.t/eq.pass.cpp
    libcxx/trunk/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.wchar.t/eq_int_type.pass.cpp
    libcxx/trunk/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.wchar.t/find.pass.cpp
    libcxx/trunk/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.wchar.t/length.pass.cpp
    libcxx/trunk/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.wchar.t/lt.pass.cpp
    libcxx/trunk/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.wchar.t/move.pass.cpp
    libcxx/trunk/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.wchar.t/not_eof.pass.cpp
    libcxx/trunk/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.wchar.t/to_char_type.pass.cpp
    libcxx/trunk/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.wchar.t/to_int_type.pass.cpp
    libcxx/trunk/test/std/strings/char.traits/char.traits.specializations/char.traits.specializations.wchar.t/types.pass.cpp
    libcxx/trunk/test/std/strings/char.traits/char.traits.specializations/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/strings/char.traits/char.traits.typedefs/
    libcxx/trunk/test/std/strings/char.traits/char.traits.typedefs/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/strings/char.traits/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/strings/string.classes/
    libcxx/trunk/test/std/strings/string.classes/typedefs.pass.cpp
    libcxx/trunk/test/std/strings/string.conversions/
    libcxx/trunk/test/std/strings/string.conversions/stod.pass.cpp
    libcxx/trunk/test/std/strings/string.conversions/stof.pass.cpp
    libcxx/trunk/test/std/strings/string.conversions/stoi.pass.cpp
    libcxx/trunk/test/std/strings/string.conversions/stol.pass.cpp
    libcxx/trunk/test/std/strings/string.conversions/stold.pass.cpp
    libcxx/trunk/test/std/strings/string.conversions/stoll.pass.cpp
    libcxx/trunk/test/std/strings/string.conversions/stoul.pass.cpp
    libcxx/trunk/test/std/strings/string.conversions/stoull.pass.cpp
    libcxx/trunk/test/std/strings/string.conversions/to_string.pass.cpp
    libcxx/trunk/test/std/strings/string.conversions/to_wstring.pass.cpp
    libcxx/trunk/test/std/strings/strings.general/
    libcxx/trunk/test/std/strings/strings.general/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/strings/version.pass.cpp
    libcxx/trunk/test/std/thread/
    libcxx/trunk/test/std/thread/futures/
    libcxx/trunk/test/std/thread/futures/futures.async/
    libcxx/trunk/test/std/thread/futures/futures.async/async.pass.cpp
    libcxx/trunk/test/std/thread/futures/futures.errors/
    libcxx/trunk/test/std/thread/futures/futures.errors/default_error_condition.pass.cpp
    libcxx/trunk/test/std/thread/futures/futures.errors/equivalent_error_code_int.pass.cpp
    libcxx/trunk/test/std/thread/futures/futures.errors/equivalent_int_error_condition.pass.cpp
    libcxx/trunk/test/std/thread/futures/futures.errors/future_category.pass.cpp
    libcxx/trunk/test/std/thread/futures/futures.errors/make_error_code.pass.cpp
    libcxx/trunk/test/std/thread/futures/futures.errors/make_error_condition.pass.cpp
    libcxx/trunk/test/std/thread/futures/futures.future_error/
    libcxx/trunk/test/std/thread/futures/futures.future_error/code.pass.cpp
    libcxx/trunk/test/std/thread/futures/futures.future_error/types.pass.cpp
    libcxx/trunk/test/std/thread/futures/futures.future_error/what.pass.cpp
    libcxx/trunk/test/std/thread/futures/futures.overview/
    libcxx/trunk/test/std/thread/futures/futures.overview/future_errc.pass.cpp
    libcxx/trunk/test/std/thread/futures/futures.overview/future_status.pass.cpp
    libcxx/trunk/test/std/thread/futures/futures.overview/is_error_code_enum_future_errc.pass.cpp
    libcxx/trunk/test/std/thread/futures/futures.overview/launch.pass.cpp
    libcxx/trunk/test/std/thread/futures/futures.promise/
    libcxx/trunk/test/std/thread/futures/futures.promise/alloc_ctor.pass.cpp
    libcxx/trunk/test/std/thread/futures/futures.promise/copy_assign.fail.cpp
    libcxx/trunk/test/std/thread/futures/futures.promise/copy_ctor.fail.cpp
    libcxx/trunk/test/std/thread/futures/futures.promise/default.pass.cpp
    libcxx/trunk/test/std/thread/futures/futures.promise/dtor.pass.cpp
    libcxx/trunk/test/std/thread/futures/futures.promise/get_future.pass.cpp
    libcxx/trunk/test/std/thread/futures/futures.promise/move_assign.pass.cpp
    libcxx/trunk/test/std/thread/futures/futures.promise/move_ctor.pass.cpp
    libcxx/trunk/test/std/thread/futures/futures.promise/set_exception.pass.cpp
    libcxx/trunk/test/std/thread/futures/futures.promise/set_exception_at_thread_exit.pass.cpp
    libcxx/trunk/test/std/thread/futures/futures.promise/set_lvalue.pass.cpp
    libcxx/trunk/test/std/thread/futures/futures.promise/set_lvalue_at_thread_exit.pass.cpp
    libcxx/trunk/test/std/thread/futures/futures.promise/set_rvalue.pass.cpp
    libcxx/trunk/test/std/thread/futures/futures.promise/set_rvalue_at_thread_exit.pass.cpp
    libcxx/trunk/test/std/thread/futures/futures.promise/set_value_at_thread_exit_const.pass.cpp
    libcxx/trunk/test/std/thread/futures/futures.promise/set_value_at_thread_exit_void.pass.cpp
    libcxx/trunk/test/std/thread/futures/futures.promise/set_value_const.pass.cpp
    libcxx/trunk/test/std/thread/futures/futures.promise/set_value_void.pass.cpp
    libcxx/trunk/test/std/thread/futures/futures.promise/swap.pass.cpp
    libcxx/trunk/test/std/thread/futures/futures.promise/uses_allocator.pass.cpp
    libcxx/trunk/test/std/thread/futures/futures.shared_future/
    libcxx/trunk/test/std/thread/futures/futures.shared_future/copy_assign.pass.cpp
    libcxx/trunk/test/std/thread/futures/futures.shared_future/copy_ctor.pass.cpp
    libcxx/trunk/test/std/thread/futures/futures.shared_future/ctor_future.pass.cpp
    libcxx/trunk/test/std/thread/futures/futures.shared_future/default.pass.cpp
    libcxx/trunk/test/std/thread/futures/futures.shared_future/dtor.pass.cpp
    libcxx/trunk/test/std/thread/futures/futures.shared_future/get.pass.cpp
    libcxx/trunk/test/std/thread/futures/futures.shared_future/move_assign.pass.cpp
    libcxx/trunk/test/std/thread/futures/futures.shared_future/move_ctor.pass.cpp
    libcxx/trunk/test/std/thread/futures/futures.shared_future/wait.pass.cpp
    libcxx/trunk/test/std/thread/futures/futures.shared_future/wait_for.pass.cpp
    libcxx/trunk/test/std/thread/futures/futures.shared_future/wait_until.pass.cpp
    libcxx/trunk/test/std/thread/futures/futures.state/
    libcxx/trunk/test/std/thread/futures/futures.state/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/thread/futures/futures.tas/
    libcxx/trunk/test/std/thread/futures/futures.tas/futures.task.members/
    libcxx/trunk/test/std/thread/futures/futures.tas/futures.task.members/assign_copy.fail.cpp
    libcxx/trunk/test/std/thread/futures/futures.tas/futures.task.members/assign_move.pass.cpp
    libcxx/trunk/test/std/thread/futures/futures.tas/futures.task.members/ctor1.fail.cpp
    libcxx/trunk/test/std/thread/futures/futures.tas/futures.task.members/ctor2.fail.cpp
    libcxx/trunk/test/std/thread/futures/futures.tas/futures.task.members/ctor_copy.fail.cpp
    libcxx/trunk/test/std/thread/futures/futures.tas/futures.task.members/ctor_default.pass.cpp
    libcxx/trunk/test/std/thread/futures/futures.tas/futures.task.members/ctor_func.pass.cpp
    libcxx/trunk/test/std/thread/futures/futures.tas/futures.task.members/ctor_func_alloc.pass.cpp
    libcxx/trunk/test/std/thread/futures/futures.tas/futures.task.members/ctor_move.pass.cpp
    libcxx/trunk/test/std/thread/futures/futures.tas/futures.task.members/dtor.pass.cpp
    libcxx/trunk/test/std/thread/futures/futures.tas/futures.task.members/get_future.pass.cpp
    libcxx/trunk/test/std/thread/futures/futures.tas/futures.task.members/make_ready_at_thread_exit.pass.cpp
    libcxx/trunk/test/std/thread/futures/futures.tas/futures.task.members/operator.pass.cpp
    libcxx/trunk/test/std/thread/futures/futures.tas/futures.task.members/reset.pass.cpp
    libcxx/trunk/test/std/thread/futures/futures.tas/futures.task.members/swap.pass.cpp
    libcxx/trunk/test/std/thread/futures/futures.tas/futures.task.nonmembers/
    libcxx/trunk/test/std/thread/futures/futures.tas/futures.task.nonmembers/swap.pass.cpp
    libcxx/trunk/test/std/thread/futures/futures.tas/futures.task.nonmembers/uses_allocator.pass.cpp
    libcxx/trunk/test/std/thread/futures/futures.tas/types.pass.cpp
    libcxx/trunk/test/std/thread/futures/futures.unique_future/
    libcxx/trunk/test/std/thread/futures/futures.unique_future/copy_assign.fail.cpp
    libcxx/trunk/test/std/thread/futures/futures.unique_future/copy_ctor.fail.cpp
    libcxx/trunk/test/std/thread/futures/futures.unique_future/default.pass.cpp
    libcxx/trunk/test/std/thread/futures/futures.unique_future/dtor.pass.cpp
    libcxx/trunk/test/std/thread/futures/futures.unique_future/get.pass.cpp
    libcxx/trunk/test/std/thread/futures/futures.unique_future/move_assign.pass.cpp
    libcxx/trunk/test/std/thread/futures/futures.unique_future/move_ctor.pass.cpp
    libcxx/trunk/test/std/thread/futures/futures.unique_future/share.pass.cpp
    libcxx/trunk/test/std/thread/futures/futures.unique_future/wait.pass.cpp
    libcxx/trunk/test/std/thread/futures/futures.unique_future/wait_for.pass.cpp
    libcxx/trunk/test/std/thread/futures/futures.unique_future/wait_until.pass.cpp
    libcxx/trunk/test/std/thread/futures/test_allocator.h
    libcxx/trunk/test/std/thread/futures/version.pass.cpp
    libcxx/trunk/test/std/thread/macro.pass.cpp
    libcxx/trunk/test/std/thread/thread.condition/
    libcxx/trunk/test/std/thread/thread.condition/cv_status.pass.cpp
    libcxx/trunk/test/std/thread/thread.condition/notify_all_at_thread_exit.pass.cpp
    libcxx/trunk/test/std/thread/thread.condition/thread.condition.condvar/
    libcxx/trunk/test/std/thread/thread.condition/thread.condition.condvar/assign.fail.cpp
    libcxx/trunk/test/std/thread/thread.condition/thread.condition.condvar/copy.fail.cpp
    libcxx/trunk/test/std/thread/thread.condition/thread.condition.condvar/default.pass.cpp
    libcxx/trunk/test/std/thread/thread.condition/thread.condition.condvar/destructor.pass.cpp
    libcxx/trunk/test/std/thread/thread.condition/thread.condition.condvar/native_handle.pass.cpp
    libcxx/trunk/test/std/thread/thread.condition/thread.condition.condvar/notify_all.pass.cpp
    libcxx/trunk/test/std/thread/thread.condition/thread.condition.condvar/notify_one.pass.cpp
    libcxx/trunk/test/std/thread/thread.condition/thread.condition.condvar/wait.pass.cpp
    libcxx/trunk/test/std/thread/thread.condition/thread.condition.condvar/wait_for.pass.cpp
    libcxx/trunk/test/std/thread/thread.condition/thread.condition.condvar/wait_for_pred.pass.cpp
    libcxx/trunk/test/std/thread/thread.condition/thread.condition.condvar/wait_pred.pass.cpp
    libcxx/trunk/test/std/thread/thread.condition/thread.condition.condvar/wait_until.pass.cpp
    libcxx/trunk/test/std/thread/thread.condition/thread.condition.condvar/wait_until_pred.pass.cpp
    libcxx/trunk/test/std/thread/thread.condition/thread.condition.condvarany/
    libcxx/trunk/test/std/thread/thread.condition/thread.condition.condvarany/assign.fail.cpp
    libcxx/trunk/test/std/thread/thread.condition/thread.condition.condvarany/copy.fail.cpp
    libcxx/trunk/test/std/thread/thread.condition/thread.condition.condvarany/default.pass.cpp
    libcxx/trunk/test/std/thread/thread.condition/thread.condition.condvarany/destructor.pass.cpp
    libcxx/trunk/test/std/thread/thread.condition/thread.condition.condvarany/notify_all.pass.cpp
    libcxx/trunk/test/std/thread/thread.condition/thread.condition.condvarany/notify_one.pass.cpp
    libcxx/trunk/test/std/thread/thread.condition/thread.condition.condvarany/wait.exception.pass.cpp
    libcxx/trunk/test/std/thread/thread.condition/thread.condition.condvarany/wait.pass.cpp
    libcxx/trunk/test/std/thread/thread.condition/thread.condition.condvarany/wait_for.exception.pass.cpp
    libcxx/trunk/test/std/thread/thread.condition/thread.condition.condvarany/wait_for.pass.cpp
    libcxx/trunk/test/std/thread/thread.condition/thread.condition.condvarany/wait_for_pred.pass.cpp
    libcxx/trunk/test/std/thread/thread.condition/thread.condition.condvarany/wait_pred.pass.cpp
    libcxx/trunk/test/std/thread/thread.condition/thread.condition.condvarany/wait_until.pass.cpp
    libcxx/trunk/test/std/thread/thread.condition/thread.condition.condvarany/wait_until_pred.pass.cpp
    libcxx/trunk/test/std/thread/thread.condition/version.pass.cpp
    libcxx/trunk/test/std/thread/thread.general/
    libcxx/trunk/test/std/thread/thread.general/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/thread/thread.mutex/
    libcxx/trunk/test/std/thread/thread.mutex/thread.lock/
    libcxx/trunk/test/std/thread/thread.mutex/thread.lock.algorithm/
    libcxx/trunk/test/std/thread/thread.mutex/thread.lock.algorithm/lock.pass.cpp
    libcxx/trunk/test/std/thread/thread.mutex/thread.lock.algorithm/try_lock.pass.cpp
    libcxx/trunk/test/std/thread/thread.mutex/thread.lock/thread.lock.guard/
    libcxx/trunk/test/std/thread/thread.mutex/thread.lock/thread.lock.guard/adopt_lock.pass.cpp
    libcxx/trunk/test/std/thread/thread.mutex/thread.lock/thread.lock.guard/assign.fail.cpp
    libcxx/trunk/test/std/thread/thread.mutex/thread.lock/thread.lock.guard/copy.fail.cpp
    libcxx/trunk/test/std/thread/thread.mutex/thread.lock/thread.lock.guard/mutex.fail.cpp
    libcxx/trunk/test/std/thread/thread.mutex/thread.lock/thread.lock.guard/mutex.pass.cpp
    libcxx/trunk/test/std/thread/thread.mutex/thread.lock/thread.lock.guard/types.pass.cpp
    libcxx/trunk/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/
    libcxx/trunk/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/
    libcxx/trunk/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/copy_assign.fail.cpp
    libcxx/trunk/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/copy_ctor.fail.cpp
    libcxx/trunk/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/default.pass.cpp
    libcxx/trunk/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/move_assign.pass.cpp
    libcxx/trunk/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/move_ctor.pass.cpp
    libcxx/trunk/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/mutex.pass.cpp
    libcxx/trunk/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/mutex_adopt_lock.pass.cpp
    libcxx/trunk/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/mutex_defer_lock.pass.cpp
    libcxx/trunk/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/mutex_duration.pass.cpp
    libcxx/trunk/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/mutex_time_point.pass.cpp
    libcxx/trunk/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/mutex_try_to_lock.pass.cpp
    libcxx/trunk/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.locking/
    libcxx/trunk/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.locking/lock.pass.cpp
    libcxx/trunk/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.locking/try_lock.pass.cpp
    libcxx/trunk/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.locking/try_lock_for.pass.cpp
    libcxx/trunk/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.locking/try_lock_until.pass.cpp
    libcxx/trunk/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.locking/unlock.pass.cpp
    libcxx/trunk/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.mod/
    libcxx/trunk/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.mod/member_swap.pass.cpp
    libcxx/trunk/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.mod/nonmember_swap.pass.cpp
    libcxx/trunk/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.mod/release.pass.cpp
    libcxx/trunk/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.obs/
    libcxx/trunk/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.obs/mutex.pass.cpp
    libcxx/trunk/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.obs/op_bool.pass.cpp
    libcxx/trunk/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.obs/owns_lock.pass.cpp
    libcxx/trunk/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/types.pass.cpp
    libcxx/trunk/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/
    libcxx/trunk/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/
    libcxx/trunk/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/copy_assign.fail.cpp
    libcxx/trunk/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/copy_ctor.fail.cpp
    libcxx/trunk/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/default.pass.cpp
    libcxx/trunk/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/move_assign.pass.cpp
    libcxx/trunk/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/move_ctor.pass.cpp
    libcxx/trunk/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/mutex.pass.cpp
    libcxx/trunk/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/mutex_adopt_lock.pass.cpp
    libcxx/trunk/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/mutex_defer_lock.pass.cpp
    libcxx/trunk/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/mutex_duration.pass.cpp
    libcxx/trunk/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/mutex_time_point.pass.cpp
    libcxx/trunk/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/mutex_try_to_lock.pass.cpp
    libcxx/trunk/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.locking/
    libcxx/trunk/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.locking/lock.pass.cpp
    libcxx/trunk/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.locking/try_lock.pass.cpp
    libcxx/trunk/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.locking/try_lock_for.pass.cpp
    libcxx/trunk/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.locking/try_lock_until.pass.cpp
    libcxx/trunk/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.locking/unlock.pass.cpp
    libcxx/trunk/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.mod/
    libcxx/trunk/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.mod/member_swap.pass.cpp
    libcxx/trunk/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.mod/nonmember_swap.pass.cpp
    libcxx/trunk/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.mod/release.pass.cpp
    libcxx/trunk/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.obs/
    libcxx/trunk/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.obs/mutex.pass.cpp
    libcxx/trunk/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.obs/op_bool.pass.cpp
    libcxx/trunk/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.obs/owns_lock.pass.cpp
    libcxx/trunk/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/types.pass.cpp
    libcxx/trunk/test/std/thread/thread.mutex/thread.lock/types.pass.cpp
    libcxx/trunk/test/std/thread/thread.mutex/thread.mutex.requirements/
    libcxx/trunk/test/std/thread/thread.mutex/thread.mutex.requirements/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.general/
    libcxx/trunk/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.general/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/
    libcxx/trunk/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.class/
    libcxx/trunk/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.class/assign.fail.cpp
    libcxx/trunk/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.class/copy.fail.cpp
    libcxx/trunk/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.class/default.pass.cpp
    libcxx/trunk/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.class/lock.pass.cpp
    libcxx/trunk/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.class/native_handle.pass.cpp
    libcxx/trunk/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.class/try_lock.pass.cpp
    libcxx/trunk/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.recursive/
    libcxx/trunk/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.recursive/assign.fail.cpp
    libcxx/trunk/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.recursive/copy.fail.cpp
    libcxx/trunk/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.recursive/default.pass.cpp
    libcxx/trunk/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.recursive/lock.pass.cpp
    libcxx/trunk/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.recursive/native_handle.pass.cpp
    libcxx/trunk/test/std/thread/thread.mutex/thread.mutex.requirements/thread.mutex.requirements.mutex/thread.mutex.recursive/try_lock.pass.cpp
    libcxx/trunk/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/
    libcxx/trunk/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/
    libcxx/trunk/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/assign.fail.cpp
    libcxx/trunk/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/copy.fail.cpp
    libcxx/trunk/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/default.pass.cpp
    libcxx/trunk/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/lock.pass.cpp
    libcxx/trunk/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/lock_shared.pass.cpp
    libcxx/trunk/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock.pass.cpp
    libcxx/trunk/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock_for.pass.cpp
    libcxx/trunk/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock_shared.pass.cpp
    libcxx/trunk/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock_shared_for.pass.cpp
    libcxx/trunk/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock_shared_until.pass.cpp
    libcxx/trunk/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/try_lock_until.pass.cpp
    libcxx/trunk/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/
    libcxx/trunk/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.class/
    libcxx/trunk/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.class/assign.fail.cpp
    libcxx/trunk/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.class/copy.fail.cpp
    libcxx/trunk/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.class/default.pass.cpp
    libcxx/trunk/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.class/lock.pass.cpp
    libcxx/trunk/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.class/try_lock.pass.cpp
    libcxx/trunk/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.class/try_lock_for.pass.cpp
    libcxx/trunk/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.class/try_lock_until.pass.cpp
    libcxx/trunk/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.recursive/
    libcxx/trunk/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.recursive/assign.fail.cpp
    libcxx/trunk/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.recursive/copy.fail.cpp
    libcxx/trunk/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.recursive/default.pass.cpp
    libcxx/trunk/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.recursive/lock.pass.cpp
    libcxx/trunk/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.recursive/try_lock.pass.cpp
    libcxx/trunk/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.recursive/try_lock_for.pass.cpp
    libcxx/trunk/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.recursive/try_lock_until.pass.cpp
    libcxx/trunk/test/std/thread/thread.mutex/thread.once/
    libcxx/trunk/test/std/thread/thread.mutex/thread.once/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/thread/thread.mutex/thread.once/thread.once.callonce/
    libcxx/trunk/test/std/thread/thread.mutex/thread.once/thread.once.callonce/call_once.pass.cpp
    libcxx/trunk/test/std/thread/thread.mutex/thread.once/thread.once.onceflag/
    libcxx/trunk/test/std/thread/thread.mutex/thread.once/thread.once.onceflag/assign.fail.cpp
    libcxx/trunk/test/std/thread/thread.mutex/thread.once/thread.once.onceflag/copy.fail.cpp
    libcxx/trunk/test/std/thread/thread.mutex/thread.once/thread.once.onceflag/default.pass.cpp
    libcxx/trunk/test/std/thread/thread.mutex/version.pass.cpp
    libcxx/trunk/test/std/thread/thread.req/
    libcxx/trunk/test/std/thread/thread.req/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/thread/thread.req/thread.req.exception/
    libcxx/trunk/test/std/thread/thread.req/thread.req.exception/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/thread/thread.req/thread.req.lockable/
    libcxx/trunk/test/std/thread/thread.req/thread.req.lockable/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/thread/thread.req/thread.req.lockable/thread.req.lockable.basic/
    libcxx/trunk/test/std/thread/thread.req/thread.req.lockable/thread.req.lockable.basic/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/thread/thread.req/thread.req.lockable/thread.req.lockable.general/
    libcxx/trunk/test/std/thread/thread.req/thread.req.lockable/thread.req.lockable.general/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/thread/thread.req/thread.req.lockable/thread.req.lockable.req/
    libcxx/trunk/test/std/thread/thread.req/thread.req.lockable/thread.req.lockable.req/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/thread/thread.req/thread.req.lockable/thread.req.lockable.timed/
    libcxx/trunk/test/std/thread/thread.req/thread.req.lockable/thread.req.lockable.timed/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/thread/thread.req/thread.req.native/
    libcxx/trunk/test/std/thread/thread.req/thread.req.native/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/thread/thread.req/thread.req.paramname/
    libcxx/trunk/test/std/thread/thread.req/thread.req.paramname/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/thread/thread.req/thread.req.timing/
    libcxx/trunk/test/std/thread/thread.req/thread.req.timing/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/thread/thread.threads/
    libcxx/trunk/test/std/thread/thread.threads/thread.thread.class/
    libcxx/trunk/test/std/thread/thread.threads/thread.thread.class/thread.thread.algorithm/
    libcxx/trunk/test/std/thread/thread.threads/thread.thread.class/thread.thread.algorithm/swap.pass.cpp
    libcxx/trunk/test/std/thread/thread.threads/thread.thread.class/thread.thread.assign/
    libcxx/trunk/test/std/thread/thread.threads/thread.thread.class/thread.thread.assign/copy.fail.cpp
    libcxx/trunk/test/std/thread/thread.threads/thread.thread.class/thread.thread.assign/move.pass.cpp
    libcxx/trunk/test/std/thread/thread.threads/thread.thread.class/thread.thread.assign/move2.pass.cpp
    libcxx/trunk/test/std/thread/thread.threads/thread.thread.class/thread.thread.constr/
    libcxx/trunk/test/std/thread/thread.threads/thread.thread.class/thread.thread.constr/F.pass.cpp
    libcxx/trunk/test/std/thread/thread.threads/thread.thread.class/thread.thread.constr/constr.fail.cpp
    libcxx/trunk/test/std/thread/thread.threads/thread.thread.class/thread.thread.constr/copy.fail.cpp
    libcxx/trunk/test/std/thread/thread.threads/thread.thread.class/thread.thread.constr/default.pass.cpp
    libcxx/trunk/test/std/thread/thread.threads/thread.thread.class/thread.thread.constr/move.pass.cpp
    libcxx/trunk/test/std/thread/thread.threads/thread.thread.class/thread.thread.destr/
    libcxx/trunk/test/std/thread/thread.threads/thread.thread.class/thread.thread.destr/dtor.pass.cpp
    libcxx/trunk/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/
    libcxx/trunk/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/assign.pass.cpp
    libcxx/trunk/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/copy.pass.cpp
    libcxx/trunk/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/default.pass.cpp
    libcxx/trunk/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/eq.pass.cpp
    libcxx/trunk/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/lt.pass.cpp
    libcxx/trunk/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/stream.pass.cpp
    libcxx/trunk/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/thread_id.pass.cpp
    libcxx/trunk/test/std/thread/thread.threads/thread.thread.class/thread.thread.member/
    libcxx/trunk/test/std/thread/thread.threads/thread.thread.class/thread.thread.member/detach.pass.cpp
    libcxx/trunk/test/std/thread/thread.threads/thread.thread.class/thread.thread.member/get_id.pass.cpp
    libcxx/trunk/test/std/thread/thread.threads/thread.thread.class/thread.thread.member/join.pass.cpp
    libcxx/trunk/test/std/thread/thread.threads/thread.thread.class/thread.thread.member/joinable.pass.cpp
    libcxx/trunk/test/std/thread/thread.threads/thread.thread.class/thread.thread.member/native_handle.pass.cpp
    libcxx/trunk/test/std/thread/thread.threads/thread.thread.class/thread.thread.member/swap.pass.cpp
    libcxx/trunk/test/std/thread/thread.threads/thread.thread.class/thread.thread.static/
    libcxx/trunk/test/std/thread/thread.threads/thread.thread.class/thread.thread.static/hardware_concurrency.pass.cpp
    libcxx/trunk/test/std/thread/thread.threads/thread.thread.class/types.pass.cpp
    libcxx/trunk/test/std/thread/thread.threads/thread.thread.this/
    libcxx/trunk/test/std/thread/thread.threads/thread.thread.this/get_id.pass.cpp
    libcxx/trunk/test/std/thread/thread.threads/thread.thread.this/sleep_for.pass.cpp
    libcxx/trunk/test/std/thread/thread.threads/thread.thread.this/sleep_until.pass.cpp
    libcxx/trunk/test/std/thread/thread.threads/thread.thread.this/yield.pass.cpp
    libcxx/trunk/test/std/thread/thread.threads/version.pass.cpp
    libcxx/trunk/test/std/utilities/
    libcxx/trunk/test/std/utilities/allocator.adaptor/
    libcxx/trunk/test/std/utilities/allocator.adaptor/allocator.adaptor.cnstr/
    libcxx/trunk/test/std/utilities/allocator.adaptor/allocator.adaptor.cnstr/allocs.pass.cpp
    libcxx/trunk/test/std/utilities/allocator.adaptor/allocator.adaptor.cnstr/converting_copy.pass.cpp
    libcxx/trunk/test/std/utilities/allocator.adaptor/allocator.adaptor.cnstr/converting_move.pass.cpp
    libcxx/trunk/test/std/utilities/allocator.adaptor/allocator.adaptor.cnstr/copy.pass.cpp
    libcxx/trunk/test/std/utilities/allocator.adaptor/allocator.adaptor.cnstr/default.pass.cpp
    libcxx/trunk/test/std/utilities/allocator.adaptor/allocator.adaptor.members/
    libcxx/trunk/test/std/utilities/allocator.adaptor/allocator.adaptor.members/allocate_size.pass.cpp
    libcxx/trunk/test/std/utilities/allocator.adaptor/allocator.adaptor.members/allocate_size_hint.pass.cpp
    libcxx/trunk/test/std/utilities/allocator.adaptor/allocator.adaptor.members/construct.pass.cpp
    libcxx/trunk/test/std/utilities/allocator.adaptor/allocator.adaptor.members/deallocate.pass.cpp
    libcxx/trunk/test/std/utilities/allocator.adaptor/allocator.adaptor.members/destroy.pass.cpp
    libcxx/trunk/test/std/utilities/allocator.adaptor/allocator.adaptor.members/inner_allocator.pass.cpp
    libcxx/trunk/test/std/utilities/allocator.adaptor/allocator.adaptor.members/max_size.pass.cpp
    libcxx/trunk/test/std/utilities/allocator.adaptor/allocator.adaptor.members/outer_allocator.pass.cpp
    libcxx/trunk/test/std/utilities/allocator.adaptor/allocator.adaptor.members/select_on_container_copy_construction.pass.cpp
    libcxx/trunk/test/std/utilities/allocator.adaptor/allocator.adaptor.types/
    libcxx/trunk/test/std/utilities/allocator.adaptor/allocator.adaptor.types/allocator_pointers.pass.cpp
    libcxx/trunk/test/std/utilities/allocator.adaptor/allocator.adaptor.types/inner_allocator_type.pass.cpp
    libcxx/trunk/test/std/utilities/allocator.adaptor/allocator.adaptor.types/propagate_on_container_copy_assignment.pass.cpp
    libcxx/trunk/test/std/utilities/allocator.adaptor/allocator.adaptor.types/propagate_on_container_move_assignment.pass.cpp
    libcxx/trunk/test/std/utilities/allocator.adaptor/allocator.adaptor.types/propagate_on_container_swap.pass.cpp
    libcxx/trunk/test/std/utilities/allocator.adaptor/scoped.adaptor.operators/
    libcxx/trunk/test/std/utilities/allocator.adaptor/scoped.adaptor.operators/eq.pass.cpp
    libcxx/trunk/test/std/utilities/allocator.adaptor/types.pass.cpp
    libcxx/trunk/test/std/utilities/date.time/
    libcxx/trunk/test/std/utilities/date.time/tested_elsewhere.pass.cpp
    libcxx/trunk/test/std/utilities/function.objects/
    libcxx/trunk/test/std/utilities/function.objects/arithmetic.operations/
    libcxx/trunk/test/std/utilities/function.objects/arithmetic.operations/divides.pass.cpp
    libcxx/trunk/test/std/utilities/function.objects/arithmetic.operations/minus.pass.cpp
    libcxx/trunk/test/std/utilities/function.objects/arithmetic.operations/modulus.pass.cpp
    libcxx/trunk/test/std/utilities/function.objects/arithmetic.operations/multiplies.pass.cpp
    libcxx/trunk/test/std/utilities/function.objects/arithmetic.operations/negate.pass.cpp
    libcxx/trunk/test/std/utilities/function.objects/arithmetic.operations/plus.pass.cpp
    libcxx/trunk/test/std/utilities/function.objects/arithmetic.operations/transparent.pass.cpp
    libcxx/trunk/test/std/utilities/function.objects/bind/
    libcxx/trunk/test/std/utilities/function.objects/bind/func.bind/
    libcxx/trunk/test/std/utilities/function.objects/bind/func.bind/func.bind.bind/
    libcxx/trunk/test/std/utilities/function.objects/bind/func.bind/func.bind.bind/copy.pass.cpp
    libcxx/trunk/test/std/utilities/function.objects/bind/func.bind/func.bind.bind/invoke_int_0.pass.cpp
    libcxx/trunk/test/std/utilities/function.objects/bind/func.bind/func.bind.bind/invoke_lvalue.pass.cpp
    libcxx/trunk/test/std/utilities/function.objects/bind/func.bind/func.bind.bind/invoke_rvalue.pass.cpp
    libcxx/trunk/test/std/utilities/function.objects/bind/func.bind/func.bind.bind/invoke_void_0.pass.cpp
    libcxx/trunk/test/std/utilities/function.objects/bind/func.bind/func.bind.bind/nested.pass.cpp
    libcxx/trunk/test/std/utilities/function.objects/bind/func.bind/func.bind.isbind/
    libcxx/trunk/test/std/utilities/function.objects/bind/func.bind/func.bind.isbind/is_bind_expression.pass.cpp
    libcxx/trunk/test/std/utilities/function.objects/bind/func.bind/func.bind.isbind/is_placeholder.pass.cpp
    libcxx/trunk/test/std/utilities/function.objects/bind/func.bind/func.bind.place/
    libcxx/trunk/test/std/utilities/function.objects/bind/func.bind/func.bind.place/placeholders.pass.cpp
    libcxx/trunk/test/std/utilities/function.objects/bind/func.bind/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/utilities/function.objects/bind/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/utilities/function.objects/bitwise.operations/
    libcxx/trunk/test/std/utilities/function.objects/bitwise.operations/bit_and.pass.cpp
    libcxx/trunk/test/std/utilities/function.objects/bitwise.operations/bit_not.pass.cpp
    libcxx/trunk/test/std/utilities/function.objects/bitwise.operations/bit_or.pass.cpp
    libcxx/trunk/test/std/utilities/function.objects/bitwise.operations/bit_xor.pass.cpp
    libcxx/trunk/test/std/utilities/function.objects/bitwise.operations/transparent.pass.cpp
    libcxx/trunk/test/std/utilities/function.objects/comparisons/
    libcxx/trunk/test/std/utilities/function.objects/comparisons/equal_to.pass.cpp
    libcxx/trunk/test/std/utilities/function.objects/comparisons/greater.pass.cpp
    libcxx/trunk/test/std/utilities/function.objects/comparisons/greater_equal.pass.cpp
    libcxx/trunk/test/std/utilities/function.objects/comparisons/less.pass.cpp
    libcxx/trunk/test/std/utilities/function.objects/comparisons/less_equal.pass.cpp
    libcxx/trunk/test/std/utilities/function.objects/comparisons/not_equal_to.pass.cpp
    libcxx/trunk/test/std/utilities/function.objects/comparisons/transparent.pass.cpp
    libcxx/trunk/test/std/utilities/function.objects/func.def/
    libcxx/trunk/test/std/utilities/function.objects/func.def/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/utilities/function.objects/func.memfn/
    libcxx/trunk/test/std/utilities/function.objects/func.memfn/member_data.fail.cpp
    libcxx/trunk/test/std/utilities/function.objects/func.memfn/member_data.pass.cpp
    libcxx/trunk/test/std/utilities/function.objects/func.memfn/member_function.pass.cpp
    libcxx/trunk/test/std/utilities/function.objects/func.memfn/member_function_const.pass.cpp
    libcxx/trunk/test/std/utilities/function.objects/func.memfn/member_function_const_volatile.pass.cpp
    libcxx/trunk/test/std/utilities/function.objects/func.memfn/member_function_volatile.pass.cpp
    libcxx/trunk/test/std/utilities/function.objects/func.require/
    libcxx/trunk/test/std/utilities/function.objects/func.require/binary_function.pass.cpp
    libcxx/trunk/test/std/utilities/function.objects/func.require/invoke.pass.cpp
    libcxx/trunk/test/std/utilities/function.objects/func.require/unary_function.pass.cpp
    libcxx/trunk/test/std/utilities/function.objects/func.wrap/
    libcxx/trunk/test/std/utilities/function.objects/func.wrap/func.wrap.badcall/
    libcxx/trunk/test/std/utilities/function.objects/func.wrap/func.wrap.badcall/bad_function_call.pass.cpp
    libcxx/trunk/test/std/utilities/function.objects/func.wrap/func.wrap.badcall/func.wrap.badcall.const/
    libcxx/trunk/test/std/utilities/function.objects/func.wrap/func.wrap.badcall/func.wrap.badcall.const/bad_function_call_ctor.pass.cpp
    libcxx/trunk/test/std/utilities/function.objects/func.wrap/func.wrap.func/
    libcxx/trunk/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.alg/
    libcxx/trunk/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.alg/swap.pass.cpp
    libcxx/trunk/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.cap/
    libcxx/trunk/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.cap/operator_bool.pass.cpp
    libcxx/trunk/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/
    libcxx/trunk/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/F.pass.cpp
    libcxx/trunk/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/F_assign.pass.cpp
    libcxx/trunk/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/F_incomplete.pass.cpp
    libcxx/trunk/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc.pass.cpp
    libcxx/trunk/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc_F.pass.cpp
    libcxx/trunk/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc_function.pass.cpp
    libcxx/trunk/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc_nullptr.pass.cpp
    libcxx/trunk/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc_rfunction.pass.cpp
    libcxx/trunk/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/copy.pass.cpp
    libcxx/trunk/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/copy_assign.pass.cpp
    libcxx/trunk/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/default.pass.cpp
    libcxx/trunk/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/no-variadics.pass.cpp
    libcxx/trunk/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/nullptr_t.pass.cpp
    libcxx/trunk/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/nullptr_t_assign.pass.cpp
    libcxx/trunk/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.inv/
    libcxx/trunk/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.inv/invoke.fail.cpp
    libcxx/trunk/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.inv/invoke.pass.cpp
    libcxx/trunk/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.inv/invoke_int_0.pass.cpp
    libcxx/trunk/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.inv/invoke_void_0.pass.cpp
    libcxx/trunk/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.mod/
    libcxx/trunk/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.mod/assign_F_alloc.pass.cpp
    libcxx/trunk/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.mod/swap.pass.cpp
    libcxx/trunk/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.nullptr/
    libcxx/trunk/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.nullptr/operator_==.pass.cpp
    libcxx/trunk/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.targ/
    libcxx/trunk/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.targ/target.pass.cpp
    libcxx/trunk/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.targ/target_type.pass.cpp
    libcxx/trunk/test/std/utilities/function.objects/func.wrap/func.wrap.func/types.pass.cpp
    libcxx/trunk/test/std/utilities/function.objects/func.wrap/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/utilities/function.objects/logical.operations/
    libcxx/trunk/test/std/utilities/function.objects/logical.operations/logical_and.pass.cpp
    libcxx/trunk/test/std/utilities/function.objects/logical.operations/logical_not.pass.cpp
    libcxx/trunk/test/std/utilities/function.objects/logical.operations/logical_or.pass.cpp
    libcxx/trunk/test/std/utilities/function.objects/logical.operations/transparent.pass.cpp
    libcxx/trunk/test/std/utilities/function.objects/negators/
    libcxx/trunk/test/std/utilities/function.objects/negators/binary_negate.pass.cpp
    libcxx/trunk/test/std/utilities/function.objects/negators/not1.pass.cpp
    libcxx/trunk/test/std/utilities/function.objects/negators/not2.pass.cpp
    libcxx/trunk/test/std/utilities/function.objects/negators/unary_negate.pass.cpp
    libcxx/trunk/test/std/utilities/function.objects/refwrap/
    libcxx/trunk/test/std/utilities/function.objects/refwrap/binary.pass.cpp
    libcxx/trunk/test/std/utilities/function.objects/refwrap/refwrap.access/
    libcxx/trunk/test/std/utilities/function.objects/refwrap/refwrap.access/conversion.pass.cpp
    libcxx/trunk/test/std/utilities/function.objects/refwrap/refwrap.assign/
    libcxx/trunk/test/std/utilities/function.objects/refwrap/refwrap.assign/copy_assign.pass.cpp
    libcxx/trunk/test/std/utilities/function.objects/refwrap/refwrap.const/
    libcxx/trunk/test/std/utilities/function.objects/refwrap/refwrap.const/copy_ctor.pass.cpp
    libcxx/trunk/test/std/utilities/function.objects/refwrap/refwrap.const/type_ctor.fail.cpp
    libcxx/trunk/test/std/utilities/function.objects/refwrap/refwrap.const/type_ctor.pass.cpp
    libcxx/trunk/test/std/utilities/function.objects/refwrap/refwrap.helpers/
    libcxx/trunk/test/std/utilities/function.objects/refwrap/refwrap.helpers/cref_1.pass.cpp
    libcxx/trunk/test/std/utilities/function.objects/refwrap/refwrap.helpers/cref_2.pass.cpp
    libcxx/trunk/test/std/utilities/function.objects/refwrap/refwrap.helpers/ref_1.fail.cpp
    libcxx/trunk/test/std/utilities/function.objects/refwrap/refwrap.helpers/ref_1.pass.cpp
    libcxx/trunk/test/std/utilities/function.objects/refwrap/refwrap.helpers/ref_2.pass.cpp
    libcxx/trunk/test/std/utilities/function.objects/refwrap/refwrap.invoke/
    libcxx/trunk/test/std/utilities/function.objects/refwrap/refwrap.invoke/invoke.fail.cpp
    libcxx/trunk/test/std/utilities/function.objects/refwrap/refwrap.invoke/invoke.pass.cpp
    libcxx/trunk/test/std/utilities/function.objects/refwrap/refwrap.invoke/invoke_int_0.pass.cpp
    libcxx/trunk/test/std/utilities/function.objects/refwrap/refwrap.invoke/invoke_void_0.pass.cpp
    libcxx/trunk/test/std/utilities/function.objects/refwrap/type.pass.cpp
    libcxx/trunk/test/std/utilities/function.objects/refwrap/type_properties.pass.cpp
    libcxx/trunk/test/std/utilities/function.objects/refwrap/unary.pass.cpp
    libcxx/trunk/test/std/utilities/function.objects/refwrap/weak_result.pass.cpp
    libcxx/trunk/test/std/utilities/function.objects/unord.hash/
    libcxx/trunk/test/std/utilities/function.objects/unord.hash/enum.fail.cpp
    libcxx/trunk/test/std/utilities/function.objects/unord.hash/enum.pass.cpp
    libcxx/trunk/test/std/utilities/function.objects/unord.hash/floating.pass.cpp
    libcxx/trunk/test/std/utilities/function.objects/unord.hash/integral.pass.cpp
    libcxx/trunk/test/std/utilities/function.objects/unord.hash/pointer.pass.cpp
    libcxx/trunk/test/std/utilities/function.objects/version.pass.cpp
    libcxx/trunk/test/std/utilities/intseq/
    libcxx/trunk/test/std/utilities/intseq/intseq.general/
    libcxx/trunk/test/std/utilities/intseq/intseq.general/integer_seq.pass.cpp
    libcxx/trunk/test/std/utilities/intseq/intseq.intseq/
    libcxx/trunk/test/std/utilities/intseq/intseq.intseq/integer_seq.fail.cpp
    libcxx/trunk/test/std/utilities/intseq/intseq.intseq/integer_seq.pass.cpp
    libcxx/trunk/test/std/utilities/intseq/intseq.make/
    libcxx/trunk/test/std/utilities/intseq/intseq.make/make_integer_seq.fail.cpp
    libcxx/trunk/test/std/utilities/intseq/intseq.make/make_integer_seq.pass.cpp
    libcxx/trunk/test/std/utilities/intseq/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/utilities/memory/
    libcxx/trunk/test/std/utilities/memory/allocator.tag/
    libcxx/trunk/test/std/utilities/memory/allocator.tag/allocator_arg.pass.cpp
    libcxx/trunk/test/std/utilities/memory/allocator.traits/
    libcxx/trunk/test/std/utilities/memory/allocator.traits/allocator.traits.members/
    libcxx/trunk/test/std/utilities/memory/allocator.traits/allocator.traits.members/allocate.pass.cpp
    libcxx/trunk/test/std/utilities/memory/allocator.traits/allocator.traits.members/allocate_hint.pass.cpp
    libcxx/trunk/test/std/utilities/memory/allocator.traits/allocator.traits.members/construct.pass.cpp
    libcxx/trunk/test/std/utilities/memory/allocator.traits/allocator.traits.members/deallocate.pass.cpp
    libcxx/trunk/test/std/utilities/memory/allocator.traits/allocator.traits.members/destroy.pass.cpp
    libcxx/trunk/test/std/utilities/memory/allocator.traits/allocator.traits.members/max_size.pass.cpp
    libcxx/trunk/test/std/utilities/memory/allocator.traits/allocator.traits.members/select_on_container_copy_construction.pass.cpp
    libcxx/trunk/test/std/utilities/memory/allocator.traits/allocator.traits.types/
    libcxx/trunk/test/std/utilities/memory/allocator.traits/allocator.traits.types/const_pointer.pass.cpp
    libcxx/trunk/test/std/utilities/memory/allocator.traits/allocator.traits.types/const_void_pointer.pass.cpp
    libcxx/trunk/test/std/utilities/memory/allocator.traits/allocator.traits.types/difference_type.pass.cpp
    libcxx/trunk/test/std/utilities/memory/allocator.traits/allocator.traits.types/pointer.pass.cpp
    libcxx/trunk/test/std/utilities/memory/allocator.traits/allocator.traits.types/propagate_on_container_copy_assignment.pass.cpp
    libcxx/trunk/test/std/utilities/memory/allocator.traits/allocator.traits.types/propagate_on_container_move_assignment.pass.cpp
    libcxx/trunk/test/std/utilities/memory/allocator.traits/allocator.traits.types/propagate_on_container_swap.pass.cpp
    libcxx/trunk/test/std/utilities/memory/allocator.traits/allocator.traits.types/rebind_alloc.pass.cpp
    libcxx/trunk/test/std/utilities/memory/allocator.traits/allocator.traits.types/size_type.pass.cpp
    libcxx/trunk/test/std/utilities/memory/allocator.traits/allocator.traits.types/void_pointer.pass.cpp
    libcxx/trunk/test/std/utilities/memory/allocator.traits/allocator_type.pass.cpp
    libcxx/trunk/test/std/utilities/memory/allocator.traits/rebind_traits.pass.cpp
    libcxx/trunk/test/std/utilities/memory/allocator.traits/value_type.pass.cpp
    libcxx/trunk/test/std/utilities/memory/allocator.uses/
    libcxx/trunk/test/std/utilities/memory/allocator.uses/allocator.uses.construction/
    libcxx/trunk/test/std/utilities/memory/allocator.uses/allocator.uses.construction/tested_elsewhere.pass.cpp
    libcxx/trunk/test/std/utilities/memory/allocator.uses/allocator.uses.trait/
    libcxx/trunk/test/std/utilities/memory/allocator.uses/allocator.uses.trait/uses_allocator.pass.cpp
    libcxx/trunk/test/std/utilities/memory/allocator.uses/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/utilities/memory/c.malloc/
    libcxx/trunk/test/std/utilities/memory/c.malloc/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/utilities/memory/default.allocator/
    libcxx/trunk/test/std/utilities/memory/default.allocator/allocator.globals/
    libcxx/trunk/test/std/utilities/memory/default.allocator/allocator.globals/eq.pass.cpp
    libcxx/trunk/test/std/utilities/memory/default.allocator/allocator.members/
    libcxx/trunk/test/std/utilities/memory/default.allocator/allocator.members/address.pass.cpp
    libcxx/trunk/test/std/utilities/memory/default.allocator/allocator.members/allocate.pass.cpp
    libcxx/trunk/test/std/utilities/memory/default.allocator/allocator.members/construct.pass.cpp
    libcxx/trunk/test/std/utilities/memory/default.allocator/allocator.members/max_size.pass.cpp
    libcxx/trunk/test/std/utilities/memory/default.allocator/allocator_pointers.pass.cpp
    libcxx/trunk/test/std/utilities/memory/default.allocator/allocator_types.pass.cpp
    libcxx/trunk/test/std/utilities/memory/default.allocator/allocator_void.pass.cpp
    libcxx/trunk/test/std/utilities/memory/pointer.traits/
    libcxx/trunk/test/std/utilities/memory/pointer.traits/difference_type.pass.cpp
    libcxx/trunk/test/std/utilities/memory/pointer.traits/element_type.pass.cpp
    libcxx/trunk/test/std/utilities/memory/pointer.traits/pointer.pass.cpp
    libcxx/trunk/test/std/utilities/memory/pointer.traits/pointer.traits.functions/
    libcxx/trunk/test/std/utilities/memory/pointer.traits/pointer.traits.functions/pointer_to.pass.cpp
    libcxx/trunk/test/std/utilities/memory/pointer.traits/pointer.traits.types/
    libcxx/trunk/test/std/utilities/memory/pointer.traits/pointer.traits.types/difference_type.pass.cpp
    libcxx/trunk/test/std/utilities/memory/pointer.traits/pointer.traits.types/element_type.pass.cpp
    libcxx/trunk/test/std/utilities/memory/pointer.traits/pointer.traits.types/rebind.pass.cpp
    libcxx/trunk/test/std/utilities/memory/pointer.traits/pointer_to.pass.cpp
    libcxx/trunk/test/std/utilities/memory/pointer.traits/rebind.pass.cpp
    libcxx/trunk/test/std/utilities/memory/ptr.align/
    libcxx/trunk/test/std/utilities/memory/ptr.align/align.pass.cpp
    libcxx/trunk/test/std/utilities/memory/specialized.algorithms/
    libcxx/trunk/test/std/utilities/memory/specialized.algorithms/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/utilities/memory/specialized.algorithms/specialized.addressof/
    libcxx/trunk/test/std/utilities/memory/specialized.algorithms/specialized.addressof/addressof.pass.cpp
    libcxx/trunk/test/std/utilities/memory/specialized.algorithms/uninitialized.copy/
    libcxx/trunk/test/std/utilities/memory/specialized.algorithms/uninitialized.copy/uninitialized_copy.pass.cpp
    libcxx/trunk/test/std/utilities/memory/specialized.algorithms/uninitialized.copy/uninitialized_copy_n.pass.cpp
    libcxx/trunk/test/std/utilities/memory/specialized.algorithms/uninitialized.fill/
    libcxx/trunk/test/std/utilities/memory/specialized.algorithms/uninitialized.fill.n/
    libcxx/trunk/test/std/utilities/memory/specialized.algorithms/uninitialized.fill.n/uninitialized_fill_n.pass.cpp
    libcxx/trunk/test/std/utilities/memory/specialized.algorithms/uninitialized.fill/uninitialized_fill.pass.cpp
    libcxx/trunk/test/std/utilities/memory/storage.iterator/
    libcxx/trunk/test/std/utilities/memory/storage.iterator/raw_storag_iterator.pass.cpp
    libcxx/trunk/test/std/utilities/memory/temporary.buffer/
    libcxx/trunk/test/std/utilities/memory/temporary.buffer/temporary_buffer.pass.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/
    libcxx/trunk/test/std/utilities/memory/unique.ptr/deleter.h
    libcxx/trunk/test/std/utilities/memory/unique.ptr/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.create/
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.create/make_unique.array.pass.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.create/make_unique.array1.fail.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.create/make_unique.array2.fail.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.create/make_unique.array3.fail.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.create/make_unique.array4.fail.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.create/make_unique.single.pass.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.dltr/
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.dltr/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.dltr/unique.ptr.dltr.dflt/
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.dltr/unique.ptr.dltr.dflt/convert_ctor.pass.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.dltr/unique.ptr.dltr.dflt/default.pass.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.dltr/unique.ptr.dltr.dflt/incomplete.fail.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.dltr/unique.ptr.dltr.dflt/void.fail.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.dltr/unique.ptr.dltr.dflt1/
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.dltr/unique.ptr.dltr.dflt1/convert_ctor.fail.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.dltr/unique.ptr.dltr.dflt1/default.pass.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.dltr/unique.ptr.dltr.dflt1/incomplete.fail.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.dltr/unique.ptr.dltr.general/
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.dltr/unique.ptr.dltr.general/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.runtime/
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.runtime/move01.fail.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.runtime/move01.pass.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.runtime/move02.fail.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.runtime/move03.fail.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.runtime/move04.fail.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.runtime/move_convert01.fail.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.runtime/move_convert02.fail.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.runtime/move_convert03.fail.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.runtime/move_convert04.fail.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.runtime/move_convert05.fail.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.runtime/move_convert06.fail.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.runtime/move_convert07.fail.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.runtime/move_convert08.fail.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.runtime/move_convert09.fail.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.runtime/null_asgn.pass.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.runtime/null_ctor.pass.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.runtime/nullptr_asgn.pass.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.runtime/pointer_type.pass.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.runtime/unique.ptr.runtime.ctor/
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.runtime/unique.ptr.runtime.ctor/default01.fail.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.runtime/unique.ptr.runtime.ctor/default01.pass.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.runtime/unique.ptr.runtime.ctor/default02.fail.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.runtime/unique.ptr.runtime.ctor/default02.pass.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.runtime/unique.ptr.runtime.ctor/default03.fail.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.runtime/unique.ptr.runtime.ctor/move01.fail.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.runtime/unique.ptr.runtime.ctor/move01.pass.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.runtime/unique.ptr.runtime.ctor/move02.fail.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.runtime/unique.ptr.runtime.ctor/move02.pass.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.runtime/unique.ptr.runtime.ctor/move03.fail.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.runtime/unique.ptr.runtime.ctor/move04.fail.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.runtime/unique.ptr.runtime.ctor/move_convert01.fail.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.runtime/unique.ptr.runtime.ctor/move_convert02.fail.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.runtime/unique.ptr.runtime.ctor/move_convert03.fail.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.runtime/unique.ptr.runtime.ctor/move_convert04.fail.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.runtime/unique.ptr.runtime.ctor/move_convert05.fail.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.runtime/unique.ptr.runtime.ctor/move_convert06.fail.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.runtime/unique.ptr.runtime.ctor/move_convert07.fail.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.runtime/unique.ptr.runtime.ctor/move_convert08.fail.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.runtime/unique.ptr.runtime.ctor/move_convert09.fail.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.runtime/unique.ptr.runtime.ctor/move_convert10.fail.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.runtime/unique.ptr.runtime.ctor/move_convert11.fail.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.runtime/unique.ptr.runtime.ctor/move_convert12.fail.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.runtime/unique.ptr.runtime.ctor/move_convert13.fail.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.runtime/unique.ptr.runtime.ctor/move_convert14.fail.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.runtime/unique.ptr.runtime.ctor/move_convert15.fail.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.runtime/unique.ptr.runtime.ctor/move_convert16.fail.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.runtime/unique.ptr.runtime.ctor/move_convert17.fail.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.runtime/unique.ptr.runtime.ctor/move_convert18.fail.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.runtime/unique.ptr.runtime.ctor/nullptr.pass.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.runtime/unique.ptr.runtime.ctor/pointer01.fail.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.runtime/unique.ptr.runtime.ctor/pointer01.pass.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.runtime/unique.ptr.runtime.ctor/pointer02.fail.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.runtime/unique.ptr.runtime.ctor/pointer02.pass.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.runtime/unique.ptr.runtime.ctor/pointer03.fail.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.runtime/unique.ptr.runtime.ctor/pointer04.fail.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.runtime/unique.ptr.runtime.ctor/pointer_deleter01.pass.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.runtime/unique.ptr.runtime.ctor/pointer_deleter02.pass.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.runtime/unique.ptr.runtime.ctor/pointer_deleter03.pass.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.runtime/unique.ptr.runtime.ctor/pointer_deleter04.fail.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.runtime/unique.ptr.runtime.ctor/pointer_deleter04.pass.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.runtime/unique.ptr.runtime.ctor/pointer_deleter05.fail.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.runtime/unique.ptr.runtime.modifiers/
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.runtime/unique.ptr.runtime.modifiers/release.pass.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.runtime/unique.ptr.runtime.modifiers/reset1.pass.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.runtime/unique.ptr.runtime.modifiers/reset2.fail.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.runtime/unique.ptr.runtime.modifiers/swap.pass.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.runtime/unique.ptr.runtime.observers/
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.runtime/unique.ptr.runtime.observers/dereference.fail.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.runtime/unique.ptr.runtime.observers/explicit_bool.pass.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.runtime/unique.ptr.runtime.observers/get.pass.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.runtime/unique.ptr.runtime.observers/get_deleter.pass.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.runtime/unique.ptr.runtime.observers/index.pass.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.runtime/unique.ptr.runtime.observers/op_arrow.fail.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.single/
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.single/pointer_type.pass.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.single/unique.ptr.single.asgn/
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.single/unique.ptr.single.asgn/move01.fail.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.single/unique.ptr.single.asgn/move01.pass.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.single/unique.ptr.single.asgn/move02.fail.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.single/unique.ptr.single.asgn/move03.fail.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.single/unique.ptr.single.asgn/move04.fail.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.single/unique.ptr.single.asgn/move_convert01.fail.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.single/unique.ptr.single.asgn/move_convert01.pass.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.single/unique.ptr.single.asgn/move_convert02.fail.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.single/unique.ptr.single.asgn/move_convert02.pass.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.single/unique.ptr.single.asgn/move_convert03.fail.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.single/unique.ptr.single.asgn/move_convert03.pass.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.single/unique.ptr.single.asgn/move_convert04.fail.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.single/unique.ptr.single.asgn/move_convert05.fail.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.single/unique.ptr.single.asgn/move_convert06.fail.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.single/unique.ptr.single.asgn/move_convert13.fail.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.single/unique.ptr.single.asgn/null.pass.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.single/unique.ptr.single.asgn/nullptr.pass.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.single/unique.ptr.single.ctor/
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.single/unique.ptr.single.ctor/auto_pointer.pass.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.single/unique.ptr.single.ctor/auto_pointer01.fail.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.single/unique.ptr.single.ctor/auto_pointer02.fail.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.single/unique.ptr.single.ctor/default01.fail.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.single/unique.ptr.single.ctor/default01.pass.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.single/unique.ptr.single.ctor/default02.fail.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.single/unique.ptr.single.ctor/default02.pass.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.single/unique.ptr.single.ctor/default03.fail.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.single/unique.ptr.single.ctor/move01.fail.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.single/unique.ptr.single.ctor/move01.pass.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.single/unique.ptr.single.ctor/move02.fail.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.single/unique.ptr.single.ctor/move02.pass.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.single/unique.ptr.single.ctor/move03.fail.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.single/unique.ptr.single.ctor/move04.fail.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.single/unique.ptr.single.ctor/move_convert01.fail.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.single/unique.ptr.single.ctor/move_convert01.pass.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.single/unique.ptr.single.ctor/move_convert02.fail.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.single/unique.ptr.single.ctor/move_convert02.pass.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.single/unique.ptr.single.ctor/move_convert03.fail.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.single/unique.ptr.single.ctor/move_convert03.pass.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.single/unique.ptr.single.ctor/move_convert04.fail.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.single/unique.ptr.single.ctor/move_convert04.pass.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.single/unique.ptr.single.ctor/move_convert05.fail.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.single/unique.ptr.single.ctor/move_convert05.pass.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.single/unique.ptr.single.ctor/move_convert06.fail.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.single/unique.ptr.single.ctor/move_convert06.pass.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.single/unique.ptr.single.ctor/move_convert07.fail.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.single/unique.ptr.single.ctor/move_convert07.pass.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.single/unique.ptr.single.ctor/move_convert08.fail.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.single/unique.ptr.single.ctor/move_convert09.fail.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.single/unique.ptr.single.ctor/move_convert10.fail.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.single/unique.ptr.single.ctor/move_convert11.fail.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.single/unique.ptr.single.ctor/move_convert12.fail.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.single/unique.ptr.single.ctor/move_convert13.fail.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.single/unique.ptr.single.ctor/nullptr.pass.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.single/unique.ptr.single.ctor/pointer01.fail.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.single/unique.ptr.single.ctor/pointer01.pass.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.single/unique.ptr.single.ctor/pointer02.fail.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.single/unique.ptr.single.ctor/pointer02.pass.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.single/unique.ptr.single.ctor/pointer03.fail.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.single/unique.ptr.single.ctor/pointer03.pass.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.single/unique.ptr.single.ctor/pointer_deleter01.pass.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.single/unique.ptr.single.ctor/pointer_deleter02.pass.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.single/unique.ptr.single.ctor/pointer_deleter03.pass.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.single/unique.ptr.single.ctor/pointer_deleter04.fail.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.single/unique.ptr.single.ctor/pointer_deleter04.pass.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.single/unique.ptr.single.ctor/pointer_deleter05.pass.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.single/unique.ptr.single.ctor/pointer_deleter06.pass.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.single/unique.ptr.single.dtor/
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.single/unique.ptr.single.dtor/null.pass.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.single/unique.ptr.single.modifiers/
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.single/unique.ptr.single.modifiers/release.pass.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.single/unique.ptr.single.modifiers/reset1.pass.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.single/unique.ptr.single.modifiers/reset2.pass.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.single/unique.ptr.single.modifiers/reset_self.pass.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.single/unique.ptr.single.modifiers/swap.pass.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.single/unique.ptr.single.observers/
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.single/unique.ptr.single.observers/dereference.pass.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.single/unique.ptr.single.observers/explicit_bool.pass.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.single/unique.ptr.single.observers/get.pass.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.single/unique.ptr.single.observers/get_deleter.pass.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.single/unique.ptr.single.observers/index.fail.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.single/unique.ptr.single.observers/op_arrow.pass.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.special/
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.special/cmp_nullptr.pass.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.special/eq.pass.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.special/rel.pass.cpp
    libcxx/trunk/test/std/utilities/memory/unique.ptr/unique.ptr.special/swap.pass.cpp
    libcxx/trunk/test/std/utilities/memory/util.dynamic.safety/
    libcxx/trunk/test/std/utilities/memory/util.dynamic.safety/declare_no_pointers.pass.cpp
    libcxx/trunk/test/std/utilities/memory/util.dynamic.safety/declare_reachable.pass.cpp
    libcxx/trunk/test/std/utilities/memory/util.dynamic.safety/get_pointer_safety.pass.cpp
    libcxx/trunk/test/std/utilities/memory/util.smartptr/
    libcxx/trunk/test/std/utilities/memory/util.smartptr/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.enab/
    libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.enab/enable_shared_from_this.pass.cpp
    libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.hash/
    libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.hash/hash_shared_ptr.pass.cpp
    libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.hash/hash_unique_ptr.pass.cpp
    libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared/
    libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/
    libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_compare_exchange_strong.pass.cpp
    libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_compare_exchange_strong_explicit.pass.cpp
    libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_compare_exchange_weak.pass.cpp
    libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_compare_exchange_weak_explicit.pass.cpp
    libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_exchange.pass.cpp
    libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_exchange_explicit.pass.cpp
    libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_is_lock_free.pass.cpp
    libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_load.pass.cpp
    libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_load_explicit.pass.cpp
    libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_store.pass.cpp
    libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared.atomic/atomic_store_explicit.pass.cpp
    libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared/test_deleter.h
    libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared/types.pass.cpp
    libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.getdeleter/
    libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.getdeleter/get_deleter.pass.cpp
    libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.assign/
    libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.assign/auto_ptr_Y.pass.cpp
    libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.assign/shared_ptr.pass.cpp
    libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.assign/shared_ptr_Y.pass.cpp
    libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.assign/shared_ptr_Y_rv.pass.cpp
    libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.assign/shared_ptr_rv.pass.cpp
    libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.assign/unique_ptr_Y.pass.cpp
    libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.cast/
    libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.cast/const_pointer_cast.pass.cpp
    libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.cast/dynamic_pointer_cast.pass.cpp
    libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.cast/static_pointer_cast.pass.cpp
    libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.cmp/
    libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.cmp/cmp_nullptr.pass.cpp
    libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.cmp/eq.pass.cpp
    libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.cmp/lt.pass.cpp
    libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/
    libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/auto_ptr.pass.cpp
    libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/default.pass.cpp
    libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/nullptr_t.pass.cpp
    libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/nullptr_t_deleter.pass.cpp
    libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/nullptr_t_deleter_allocator.pass.cpp
    libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/nullptr_t_deleter_allocator_throw.pass.cpp
    libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/nullptr_t_deleter_throw.pass.cpp
    libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/pointer.pass.cpp
    libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/pointer_deleter.pass.cpp
    libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/pointer_deleter_allocator.pass.cpp
    libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/pointer_deleter_allocator_throw.pass.cpp
    libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/pointer_deleter_throw.pass.cpp
    libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/pointer_throw.pass.cpp
    libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/shared_ptr.pass.cpp
    libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/shared_ptr_Y.pass.cpp
    libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/shared_ptr_Y_rv.pass.cpp
    libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/shared_ptr_pointer.pass.cpp
    libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/shared_ptr_rv.pass.cpp
    libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/unique_ptr.pass.cpp
    libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/weak_ptr.pass.cpp
    libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.create/
    libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.create/allocate_shared.pass.cpp
    libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.create/allocate_shared_no_variadics.pass.cpp
    libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.create/make_shared.pass.cpp
    libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.dest/
    libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.dest/tested_elsewhere.pass.cpp
    libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.io/
    libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.io/io.pass.cpp
    libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.mod/
    libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.mod/reset.pass.cpp
    libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.mod/reset_pointer.pass.cpp
    libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.mod/reset_pointer_deleter.pass.cpp
    libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.mod/reset_pointer_deleter_allocator.pass.cpp
    libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.mod/swap.pass.cpp
    libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.obs/
    libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.obs/arrow.pass.cpp
    libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.obs/dereference.pass.cpp
    libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.obs/op_bool.pass.cpp
    libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.obs/owner_before_shared_ptr.pass.cpp
    libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.obs/owner_before_weak_ptr.pass.cpp
    libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.obs/unique.pass.cpp
    libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.spec/
    libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.spec/swap.pass.cpp
    libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.weak/
    libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.weak/types.pass.cpp
    libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.weak/util.smartptr.ownerless/
    libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.weak/util.smartptr.ownerless/owner_less.pass.cpp
    libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.weak/util.smartptr.weak.assign/
    libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.weak/util.smartptr.weak.assign/shared_ptr_Y.pass.cpp
    libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.weak/util.smartptr.weak.assign/weak_ptr.pass.cpp
    libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.weak/util.smartptr.weak.assign/weak_ptr_Y.pass.cpp
    libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.weak/util.smartptr.weak.const/
    libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.weak/util.smartptr.weak.const/default.pass.cpp
    libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.weak/util.smartptr.weak.const/shared_ptr_Y.pass.cpp
    libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.weak/util.smartptr.weak.const/weak_ptr.pass.cpp
    libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.weak/util.smartptr.weak.const/weak_ptr_Y.pass.cpp
    libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.weak/util.smartptr.weak.dest/
    libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.weak/util.smartptr.weak.dest/tested_elsewhere.pass.cpp
    libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.weak/util.smartptr.weak.mod/
    libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.weak/util.smartptr.weak.mod/reset.pass.cpp
    libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.weak/util.smartptr.weak.mod/swap.pass.cpp
    libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.weak/util.smartptr.weak.obs/
    libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.weak/util.smartptr.weak.obs/expired.pass.cpp
    libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.weak/util.smartptr.weak.obs/lock.pass.cpp
    libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.weak/util.smartptr.weak.obs/not_less_than.fail.cpp
    libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.weak/util.smartptr.weak.obs/owner_before_shared_ptr.pass.cpp
    libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.weak/util.smartptr.weak.obs/owner_before_weak_ptr.pass.cpp
    libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.weak/util.smartptr.weak.spec/
    libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.weak/util.smartptr.weak.spec/swap.pass.cpp
    libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.weakptr/
    libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.weakptr/bad_weak_ptr.pass.cpp
    libcxx/trunk/test/std/utilities/memory/version.pass.cpp
    libcxx/trunk/test/std/utilities/meta/
    libcxx/trunk/test/std/utilities/meta/meta.hel/
    libcxx/trunk/test/std/utilities/meta/meta.hel/integral_constant.pass.cpp
    libcxx/trunk/test/std/utilities/meta/meta.rel/
    libcxx/trunk/test/std/utilities/meta/meta.rel/is_base_of.pass.cpp
    libcxx/trunk/test/std/utilities/meta/meta.rel/is_convertible.pass.cpp
    libcxx/trunk/test/std/utilities/meta/meta.rel/is_same.pass.cpp
    libcxx/trunk/test/std/utilities/meta/meta.rqmts/
    libcxx/trunk/test/std/utilities/meta/meta.rqmts/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/utilities/meta/meta.trans/
    libcxx/trunk/test/std/utilities/meta/meta.trans/meta.trans.arr/
    libcxx/trunk/test/std/utilities/meta/meta.trans/meta.trans.arr/remove_all_extents.pass.cpp
    libcxx/trunk/test/std/utilities/meta/meta.trans/meta.trans.arr/remove_extent.pass.cpp
    libcxx/trunk/test/std/utilities/meta/meta.trans/meta.trans.cv/
    libcxx/trunk/test/std/utilities/meta/meta.trans/meta.trans.cv/add_const.pass.cpp
    libcxx/trunk/test/std/utilities/meta/meta.trans/meta.trans.cv/add_cv.pass.cpp
    libcxx/trunk/test/std/utilities/meta/meta.trans/meta.trans.cv/add_volatile.pass.cpp
    libcxx/trunk/test/std/utilities/meta/meta.trans/meta.trans.cv/remove_const.pass.cpp
    libcxx/trunk/test/std/utilities/meta/meta.trans/meta.trans.cv/remove_cv.pass.cpp
    libcxx/trunk/test/std/utilities/meta/meta.trans/meta.trans.cv/remove_volatile.pass.cpp
    libcxx/trunk/test/std/utilities/meta/meta.trans/meta.trans.other/
    libcxx/trunk/test/std/utilities/meta/meta.trans/meta.trans.other/aligned_storage.pass.cpp
    libcxx/trunk/test/std/utilities/meta/meta.trans/meta.trans.other/aligned_union.pass.cpp
    libcxx/trunk/test/std/utilities/meta/meta.trans/meta.trans.other/common_type.pass.cpp
    libcxx/trunk/test/std/utilities/meta/meta.trans/meta.trans.other/conditional.pass.cpp
    libcxx/trunk/test/std/utilities/meta/meta.trans/meta.trans.other/decay.pass.cpp
    libcxx/trunk/test/std/utilities/meta/meta.trans/meta.trans.other/enable_if.fail.cpp
    libcxx/trunk/test/std/utilities/meta/meta.trans/meta.trans.other/enable_if.pass.cpp
    libcxx/trunk/test/std/utilities/meta/meta.trans/meta.trans.other/enable_if2.fail.cpp
    libcxx/trunk/test/std/utilities/meta/meta.trans/meta.trans.other/result_of.pass.cpp
    libcxx/trunk/test/std/utilities/meta/meta.trans/meta.trans.other/underlying_type.pass.cpp
    libcxx/trunk/test/std/utilities/meta/meta.trans/meta.trans.ptr/
    libcxx/trunk/test/std/utilities/meta/meta.trans/meta.trans.ptr/add_pointer.pass.cpp
    libcxx/trunk/test/std/utilities/meta/meta.trans/meta.trans.ptr/remove_pointer.pass.cpp
    libcxx/trunk/test/std/utilities/meta/meta.trans/meta.trans.ref/
    libcxx/trunk/test/std/utilities/meta/meta.trans/meta.trans.ref/add_lvalue_ref.pass.cpp
    libcxx/trunk/test/std/utilities/meta/meta.trans/meta.trans.ref/add_rvalue_ref.pass.cpp
    libcxx/trunk/test/std/utilities/meta/meta.trans/meta.trans.ref/remove_ref.pass.cpp
    libcxx/trunk/test/std/utilities/meta/meta.trans/meta.trans.sign/
    libcxx/trunk/test/std/utilities/meta/meta.trans/meta.trans.sign/make_signed.pass.cpp
    libcxx/trunk/test/std/utilities/meta/meta.trans/meta.trans.sign/make_unsigned.pass.cpp
    libcxx/trunk/test/std/utilities/meta/meta.trans/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/utilities/meta/meta.type.synop/
    libcxx/trunk/test/std/utilities/meta/meta.type.synop/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/utilities/meta/meta.unary/
    libcxx/trunk/test/std/utilities/meta/meta.unary.prop.query/
    libcxx/trunk/test/std/utilities/meta/meta.unary.prop.query/alignment_of.pass.cpp
    libcxx/trunk/test/std/utilities/meta/meta.unary.prop.query/extent.pass.cpp
    libcxx/trunk/test/std/utilities/meta/meta.unary.prop.query/rank.pass.cpp
    libcxx/trunk/test/std/utilities/meta/meta.unary.prop.query/void_t.pass.cpp
    libcxx/trunk/test/std/utilities/meta/meta.unary/meta.unary.cat/
    libcxx/trunk/test/std/utilities/meta/meta.unary/meta.unary.cat/array.pass.cpp
    libcxx/trunk/test/std/utilities/meta/meta.unary/meta.unary.cat/class.pass.cpp
    libcxx/trunk/test/std/utilities/meta/meta.unary/meta.unary.cat/enum.pass.cpp
    libcxx/trunk/test/std/utilities/meta/meta.unary/meta.unary.cat/floating_point.pass.cpp
    libcxx/trunk/test/std/utilities/meta/meta.unary/meta.unary.cat/function.pass.cpp
    libcxx/trunk/test/std/utilities/meta/meta.unary/meta.unary.cat/integral.pass.cpp
    libcxx/trunk/test/std/utilities/meta/meta.unary/meta.unary.cat/lvalue_ref.pass.cpp
    libcxx/trunk/test/std/utilities/meta/meta.unary/meta.unary.cat/member_function_pointer.pass.cpp
    libcxx/trunk/test/std/utilities/meta/meta.unary/meta.unary.cat/member_function_pointer_no_variadics.pass.cpp
    libcxx/trunk/test/std/utilities/meta/meta.unary/meta.unary.cat/member_object_pointer.pass.cpp
    libcxx/trunk/test/std/utilities/meta/meta.unary/meta.unary.cat/nullptr.pass.cpp
    libcxx/trunk/test/std/utilities/meta/meta.unary/meta.unary.cat/pointer.pass.cpp
    libcxx/trunk/test/std/utilities/meta/meta.unary/meta.unary.cat/rvalue_ref.pass.cpp
    libcxx/trunk/test/std/utilities/meta/meta.unary/meta.unary.cat/union.pass.cpp
    libcxx/trunk/test/std/utilities/meta/meta.unary/meta.unary.cat/void.pass.cpp
    libcxx/trunk/test/std/utilities/meta/meta.unary/meta.unary.comp/
    libcxx/trunk/test/std/utilities/meta/meta.unary/meta.unary.comp/array.pass.cpp
    libcxx/trunk/test/std/utilities/meta/meta.unary/meta.unary.comp/class.pass.cpp
    libcxx/trunk/test/std/utilities/meta/meta.unary/meta.unary.comp/enum.pass.cpp
    libcxx/trunk/test/std/utilities/meta/meta.unary/meta.unary.comp/floating_point.pass.cpp
    libcxx/trunk/test/std/utilities/meta/meta.unary/meta.unary.comp/function.pass.cpp
    libcxx/trunk/test/std/utilities/meta/meta.unary/meta.unary.comp/integral.pass.cpp
    libcxx/trunk/test/std/utilities/meta/meta.unary/meta.unary.comp/lvalue_ref.pass.cpp
    libcxx/trunk/test/std/utilities/meta/meta.unary/meta.unary.comp/member_function_pointer.pass.cpp
    libcxx/trunk/test/std/utilities/meta/meta.unary/meta.unary.comp/member_object_pointer.pass.cpp
    libcxx/trunk/test/std/utilities/meta/meta.unary/meta.unary.comp/pointer.pass.cpp
    libcxx/trunk/test/std/utilities/meta/meta.unary/meta.unary.comp/rvalue_ref.pass.cpp
    libcxx/trunk/test/std/utilities/meta/meta.unary/meta.unary.comp/union.pass.cpp
    libcxx/trunk/test/std/utilities/meta/meta.unary/meta.unary.comp/void.pass.cpp
    libcxx/trunk/test/std/utilities/meta/meta.unary/meta.unary.prop/
    libcxx/trunk/test/std/utilities/meta/meta.unary/meta.unary.prop/__has_operator_addressof.pass.cpp
    libcxx/trunk/test/std/utilities/meta/meta.unary/meta.unary.prop/has_virtual_destructor.pass.cpp
    libcxx/trunk/test/std/utilities/meta/meta.unary/meta.unary.prop/is_abstract.pass.cpp
    libcxx/trunk/test/std/utilities/meta/meta.unary/meta.unary.prop/is_assignable.pass.cpp
    libcxx/trunk/test/std/utilities/meta/meta.unary/meta.unary.prop/is_const.pass.cpp
    libcxx/trunk/test/std/utilities/meta/meta.unary/meta.unary.prop/is_constructible.pass.cpp
    libcxx/trunk/test/std/utilities/meta/meta.unary/meta.unary.prop/is_copy_assignable.pass.cpp
    libcxx/trunk/test/std/utilities/meta/meta.unary/meta.unary.prop/is_copy_constructible.pass.cpp
    libcxx/trunk/test/std/utilities/meta/meta.unary/meta.unary.prop/is_default_constructible.pass.cpp
    libcxx/trunk/test/std/utilities/meta/meta.unary/meta.unary.prop/is_destructible.pass.cpp
    libcxx/trunk/test/std/utilities/meta/meta.unary/meta.unary.prop/is_empty.pass.cpp
    libcxx/trunk/test/std/utilities/meta/meta.unary/meta.unary.prop/is_final.pass.cpp
    libcxx/trunk/test/std/utilities/meta/meta.unary/meta.unary.prop/is_literal_type.pass.cpp
    libcxx/trunk/test/std/utilities/meta/meta.unary/meta.unary.prop/is_move_assignable.pass.cpp
    libcxx/trunk/test/std/utilities/meta/meta.unary/meta.unary.prop/is_move_constructible.pass.cpp
    libcxx/trunk/test/std/utilities/meta/meta.unary/meta.unary.prop/is_nothrow_assignable.pass.cpp
    libcxx/trunk/test/std/utilities/meta/meta.unary/meta.unary.prop/is_nothrow_constructible.pass.cpp
    libcxx/trunk/test/std/utilities/meta/meta.unary/meta.unary.prop/is_nothrow_copy_assignable.pass.cpp
    libcxx/trunk/test/std/utilities/meta/meta.unary/meta.unary.prop/is_nothrow_copy_constructible.pass.cpp
    libcxx/trunk/test/std/utilities/meta/meta.unary/meta.unary.prop/is_nothrow_default_constructible.pass.cpp
    libcxx/trunk/test/std/utilities/meta/meta.unary/meta.unary.prop/is_nothrow_destructible.pass.cpp
    libcxx/trunk/test/std/utilities/meta/meta.unary/meta.unary.prop/is_nothrow_move_assignable.pass.cpp
    libcxx/trunk/test/std/utilities/meta/meta.unary/meta.unary.prop/is_nothrow_move_constructible.pass.cpp
    libcxx/trunk/test/std/utilities/meta/meta.unary/meta.unary.prop/is_pod.pass.cpp
    libcxx/trunk/test/std/utilities/meta/meta.unary/meta.unary.prop/is_polymorphic.pass.cpp
    libcxx/trunk/test/std/utilities/meta/meta.unary/meta.unary.prop/is_signed.pass.cpp
    libcxx/trunk/test/std/utilities/meta/meta.unary/meta.unary.prop/is_standard_layout.pass.cpp
    libcxx/trunk/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivial.pass.cpp
    libcxx/trunk/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_assignable.pass.cpp
    libcxx/trunk/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_constructible.pass.cpp
    libcxx/trunk/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_copy_assignable.pass.cpp
    libcxx/trunk/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_copy_constructible.pass.cpp
    libcxx/trunk/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_copyable.pass.cpp
    libcxx/trunk/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_default_constructible.pass.cpp
    libcxx/trunk/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_destructible.pass.cpp
    libcxx/trunk/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_move_assignable.pass.cpp
    libcxx/trunk/test/std/utilities/meta/meta.unary/meta.unary.prop/is_trivially_move_constructible.pass.cpp
    libcxx/trunk/test/std/utilities/meta/meta.unary/meta.unary.prop/is_unsigned.pass.cpp
    libcxx/trunk/test/std/utilities/meta/meta.unary/meta.unary.prop/is_volatile.pass.cpp
    libcxx/trunk/test/std/utilities/meta/meta.unary/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/utilities/meta/version.pass.cpp
    libcxx/trunk/test/std/utilities/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/utilities/ratio/
    libcxx/trunk/test/std/utilities/ratio/ratio.arithmetic/
    libcxx/trunk/test/std/utilities/ratio/ratio.arithmetic/ratio_add.fail.cpp
    libcxx/trunk/test/std/utilities/ratio/ratio.arithmetic/ratio_add.pass.cpp
    libcxx/trunk/test/std/utilities/ratio/ratio.arithmetic/ratio_divide.fail.cpp
    libcxx/trunk/test/std/utilities/ratio/ratio.arithmetic/ratio_divide.pass.cpp
    libcxx/trunk/test/std/utilities/ratio/ratio.arithmetic/ratio_multiply.fail.cpp
    libcxx/trunk/test/std/utilities/ratio/ratio.arithmetic/ratio_multiply.pass.cpp
    libcxx/trunk/test/std/utilities/ratio/ratio.arithmetic/ratio_subtract.fail.cpp
    libcxx/trunk/test/std/utilities/ratio/ratio.arithmetic/ratio_subtract.pass.cpp
    libcxx/trunk/test/std/utilities/ratio/ratio.comparison/
    libcxx/trunk/test/std/utilities/ratio/ratio.comparison/ratio_equal.pass.cpp
    libcxx/trunk/test/std/utilities/ratio/ratio.comparison/ratio_greater.pass.cpp
    libcxx/trunk/test/std/utilities/ratio/ratio.comparison/ratio_greater_equal.pass.cpp
    libcxx/trunk/test/std/utilities/ratio/ratio.comparison/ratio_less.pass.cpp
    libcxx/trunk/test/std/utilities/ratio/ratio.comparison/ratio_less_equal.pass.cpp
    libcxx/trunk/test/std/utilities/ratio/ratio.comparison/ratio_not_equal.pass.cpp
    libcxx/trunk/test/std/utilities/ratio/ratio.ratio/
    libcxx/trunk/test/std/utilities/ratio/ratio.ratio/ratio.pass.cpp
    libcxx/trunk/test/std/utilities/ratio/ratio.ratio/ratio1.fail.cpp
    libcxx/trunk/test/std/utilities/ratio/ratio.ratio/ratio2.fail.cpp
    libcxx/trunk/test/std/utilities/ratio/ratio.ratio/ratio3.fail.cpp
    libcxx/trunk/test/std/utilities/ratio/ratio.si/
    libcxx/trunk/test/std/utilities/ratio/ratio.si/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/utilities/ratio/typedefs.pass.cpp
    libcxx/trunk/test/std/utilities/ratio/version.pass.cpp
    libcxx/trunk/test/std/utilities/template.bitset/
    libcxx/trunk/test/std/utilities/template.bitset/bitset.cons/
    libcxx/trunk/test/std/utilities/template.bitset/bitset.cons/char_ptr_ctor.pass.cpp
    libcxx/trunk/test/std/utilities/template.bitset/bitset.cons/default.pass.cpp
    libcxx/trunk/test/std/utilities/template.bitset/bitset.cons/string_ctor.pass.cpp
    libcxx/trunk/test/std/utilities/template.bitset/bitset.cons/ull_ctor.pass.cpp
    libcxx/trunk/test/std/utilities/template.bitset/bitset.hash/
    libcxx/trunk/test/std/utilities/template.bitset/bitset.hash/bitset.pass.cpp
    libcxx/trunk/test/std/utilities/template.bitset/bitset.members/
    libcxx/trunk/test/std/utilities/template.bitset/bitset.members/all.pass.cpp
    libcxx/trunk/test/std/utilities/template.bitset/bitset.members/any.pass.cpp
    libcxx/trunk/test/std/utilities/template.bitset/bitset.members/count.pass.cpp
    libcxx/trunk/test/std/utilities/template.bitset/bitset.members/flip_all.pass.cpp
    libcxx/trunk/test/std/utilities/template.bitset/bitset.members/flip_one.pass.cpp
    libcxx/trunk/test/std/utilities/template.bitset/bitset.members/index.pass.cpp
    libcxx/trunk/test/std/utilities/template.bitset/bitset.members/index_const.pass.cpp
    libcxx/trunk/test/std/utilities/template.bitset/bitset.members/left_shift.pass.cpp
    libcxx/trunk/test/std/utilities/template.bitset/bitset.members/left_shift_eq.pass.cpp
    libcxx/trunk/test/std/utilities/template.bitset/bitset.members/none.pass.cpp
    libcxx/trunk/test/std/utilities/template.bitset/bitset.members/not_all.pass.cpp
    libcxx/trunk/test/std/utilities/template.bitset/bitset.members/op_and_eq.pass.cpp
    libcxx/trunk/test/std/utilities/template.bitset/bitset.members/op_eq_eq.pass.cpp
    libcxx/trunk/test/std/utilities/template.bitset/bitset.members/op_or_eq.pass.cpp
    libcxx/trunk/test/std/utilities/template.bitset/bitset.members/op_xor_eq.pass.cpp
    libcxx/trunk/test/std/utilities/template.bitset/bitset.members/reset_all.pass.cpp
    libcxx/trunk/test/std/utilities/template.bitset/bitset.members/reset_one.pass.cpp
    libcxx/trunk/test/std/utilities/template.bitset/bitset.members/right_shift.pass.cpp
    libcxx/trunk/test/std/utilities/template.bitset/bitset.members/right_shift_eq.pass.cpp
    libcxx/trunk/test/std/utilities/template.bitset/bitset.members/set_all.pass.cpp
    libcxx/trunk/test/std/utilities/template.bitset/bitset.members/set_one.pass.cpp
    libcxx/trunk/test/std/utilities/template.bitset/bitset.members/size.pass.cpp
    libcxx/trunk/test/std/utilities/template.bitset/bitset.members/test.pass.cpp
    libcxx/trunk/test/std/utilities/template.bitset/bitset.members/to_string.pass.cpp
    libcxx/trunk/test/std/utilities/template.bitset/bitset.members/to_ullong.pass.cpp
    libcxx/trunk/test/std/utilities/template.bitset/bitset.members/to_ulong.pass.cpp
    libcxx/trunk/test/std/utilities/template.bitset/bitset.operators/
    libcxx/trunk/test/std/utilities/template.bitset/bitset.operators/op_and.pass.cpp
    libcxx/trunk/test/std/utilities/template.bitset/bitset.operators/op_not.pass.cpp
    libcxx/trunk/test/std/utilities/template.bitset/bitset.operators/op_or.pass.cpp
    libcxx/trunk/test/std/utilities/template.bitset/bitset.operators/stream_in.pass.cpp
    libcxx/trunk/test/std/utilities/template.bitset/bitset.operators/stream_out.pass.cpp
    libcxx/trunk/test/std/utilities/template.bitset/includes.pass.cpp
    libcxx/trunk/test/std/utilities/template.bitset/version.pass.cpp
    libcxx/trunk/test/std/utilities/time/
    libcxx/trunk/test/std/utilities/time/clock.h
    libcxx/trunk/test/std/utilities/time/hours.pass.cpp
    libcxx/trunk/test/std/utilities/time/microseconds.pass.cpp
    libcxx/trunk/test/std/utilities/time/milliseconds.pass.cpp
    libcxx/trunk/test/std/utilities/time/minutes.pass.cpp
    libcxx/trunk/test/std/utilities/time/nanoseconds.pass.cpp
    libcxx/trunk/test/std/utilities/time/rep.h
    libcxx/trunk/test/std/utilities/time/seconds.pass.cpp
    libcxx/trunk/test/std/utilities/time/time.clock/
    libcxx/trunk/test/std/utilities/time/time.clock.req/
    libcxx/trunk/test/std/utilities/time/time.clock.req/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/utilities/time/time.clock/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/utilities/time/time.clock/time.clock.hires/
    libcxx/trunk/test/std/utilities/time/time.clock/time.clock.hires/consistency.pass.cpp
    libcxx/trunk/test/std/utilities/time/time.clock/time.clock.hires/now.pass.cpp
    libcxx/trunk/test/std/utilities/time/time.clock/time.clock.steady/
    libcxx/trunk/test/std/utilities/time/time.clock/time.clock.steady/consistency.pass.cpp
    libcxx/trunk/test/std/utilities/time/time.clock/time.clock.steady/now.pass.cpp
    libcxx/trunk/test/std/utilities/time/time.clock/time.clock.system/
    libcxx/trunk/test/std/utilities/time/time.clock/time.clock.system/consistency.pass.cpp
    libcxx/trunk/test/std/utilities/time/time.clock/time.clock.system/from_time_t.pass.cpp
    libcxx/trunk/test/std/utilities/time/time.clock/time.clock.system/now.pass.cpp
    libcxx/trunk/test/std/utilities/time/time.clock/time.clock.system/rep_signed.pass.cpp
    libcxx/trunk/test/std/utilities/time/time.clock/time.clock.system/to_time_t.pass.cpp
    libcxx/trunk/test/std/utilities/time/time.duration/
    libcxx/trunk/test/std/utilities/time/time.duration/default_ratio.pass.cpp
    libcxx/trunk/test/std/utilities/time/time.duration/duration.fail.cpp
    libcxx/trunk/test/std/utilities/time/time.duration/positive_num.fail.cpp
    libcxx/trunk/test/std/utilities/time/time.duration/ratio.fail.cpp
    libcxx/trunk/test/std/utilities/time/time.duration/time.duration.arithmetic/
    libcxx/trunk/test/std/utilities/time/time.duration/time.duration.arithmetic/op_++.pass.cpp
    libcxx/trunk/test/std/utilities/time/time.duration/time.duration.arithmetic/op_++int.pass.cpp
    libcxx/trunk/test/std/utilities/time/time.duration/time.duration.arithmetic/op_+.pass.cpp
    libcxx/trunk/test/std/utilities/time/time.duration/time.duration.arithmetic/op_+=.pass.cpp
    libcxx/trunk/test/std/utilities/time/time.duration/time.duration.arithmetic/op_--.pass.cpp
    libcxx/trunk/test/std/utilities/time/time.duration/time.duration.arithmetic/op_--int.pass.cpp
    libcxx/trunk/test/std/utilities/time/time.duration/time.duration.arithmetic/op_-.pass.cpp
    libcxx/trunk/test/std/utilities/time/time.duration/time.duration.arithmetic/op_-=.pass.cpp
    libcxx/trunk/test/std/utilities/time/time.duration/time.duration.arithmetic/op_divide=.pass.cpp
    libcxx/trunk/test/std/utilities/time/time.duration/time.duration.arithmetic/op_mod=duration.pass.cpp
    libcxx/trunk/test/std/utilities/time/time.duration/time.duration.arithmetic/op_mod=rep.pass.cpp
    libcxx/trunk/test/std/utilities/time/time.duration/time.duration.arithmetic/op_times=.pass.cpp
    libcxx/trunk/test/std/utilities/time/time.duration/time.duration.cast/
    libcxx/trunk/test/std/utilities/time/time.duration/time.duration.cast/duration_cast.pass.cpp
    libcxx/trunk/test/std/utilities/time/time.duration/time.duration.cast/toduration.fail.cpp
    libcxx/trunk/test/std/utilities/time/time.duration/time.duration.comparisons/
    libcxx/trunk/test/std/utilities/time/time.duration/time.duration.comparisons/op_equal.pass.cpp
    libcxx/trunk/test/std/utilities/time/time.duration/time.duration.comparisons/op_less.pass.cpp
    libcxx/trunk/test/std/utilities/time/time.duration/time.duration.cons/
    libcxx/trunk/test/std/utilities/time/time.duration/time.duration.cons/convert_exact.pass.cpp
    libcxx/trunk/test/std/utilities/time/time.duration/time.duration.cons/convert_float_to_int.fail.cpp
    libcxx/trunk/test/std/utilities/time/time.duration/time.duration.cons/convert_inexact.fail.cpp
    libcxx/trunk/test/std/utilities/time/time.duration/time.duration.cons/convert_inexact.pass.cpp
    libcxx/trunk/test/std/utilities/time/time.duration/time.duration.cons/convert_int_to_float.pass.cpp
    libcxx/trunk/test/std/utilities/time/time.duration/time.duration.cons/convert_overflow.pass.cpp
    libcxx/trunk/test/std/utilities/time/time.duration/time.duration.cons/default.pass.cpp
    libcxx/trunk/test/std/utilities/time/time.duration/time.duration.cons/rep.pass.cpp
    libcxx/trunk/test/std/utilities/time/time.duration/time.duration.cons/rep01.fail.cpp
    libcxx/trunk/test/std/utilities/time/time.duration/time.duration.cons/rep02.fail.cpp
    libcxx/trunk/test/std/utilities/time/time.duration/time.duration.cons/rep02.pass.cpp
    libcxx/trunk/test/std/utilities/time/time.duration/time.duration.cons/rep03.fail.cpp
    libcxx/trunk/test/std/utilities/time/time.duration/time.duration.literals/
    libcxx/trunk/test/std/utilities/time/time.duration/time.duration.literals/literals.pass.cpp
    libcxx/trunk/test/std/utilities/time/time.duration/time.duration.literals/literals1.fail.cpp
    libcxx/trunk/test/std/utilities/time/time.duration/time.duration.literals/literals1.pass.cpp
    libcxx/trunk/test/std/utilities/time/time.duration/time.duration.literals/literals2.fail.cpp
    libcxx/trunk/test/std/utilities/time/time.duration/time.duration.literals/literals2.pass.cpp
    libcxx/trunk/test/std/utilities/time/time.duration/time.duration.nonmember/
    libcxx/trunk/test/std/utilities/time/time.duration/time.duration.nonmember/op_+.pass.cpp
    libcxx/trunk/test/std/utilities/time/time.duration/time.duration.nonmember/op_-.pass.cpp
    libcxx/trunk/test/std/utilities/time/time.duration/time.duration.nonmember/op_divide_duration.pass.cpp
    libcxx/trunk/test/std/utilities/time/time.duration/time.duration.nonmember/op_divide_rep.fail.cpp
    libcxx/trunk/test/std/utilities/time/time.duration/time.duration.nonmember/op_divide_rep.pass.cpp
    libcxx/trunk/test/std/utilities/time/time.duration/time.duration.nonmember/op_mod_duration.pass.cpp
    libcxx/trunk/test/std/utilities/time/time.duration/time.duration.nonmember/op_mod_rep.fail.cpp
    libcxx/trunk/test/std/utilities/time/time.duration/time.duration.nonmember/op_mod_rep.pass.cpp
    libcxx/trunk/test/std/utilities/time/time.duration/time.duration.nonmember/op_times_rep.pass.cpp
    libcxx/trunk/test/std/utilities/time/time.duration/time.duration.nonmember/op_times_rep1.fail.cpp
    libcxx/trunk/test/std/utilities/time/time.duration/time.duration.nonmember/op_times_rep2.fail.cpp
    libcxx/trunk/test/std/utilities/time/time.duration/time.duration.observer/
    libcxx/trunk/test/std/utilities/time/time.duration/time.duration.observer/tested_elsewhere.pass.cpp
    libcxx/trunk/test/std/utilities/time/time.duration/time.duration.special/
    libcxx/trunk/test/std/utilities/time/time.duration/time.duration.special/max.pass.cpp
    libcxx/trunk/test/std/utilities/time/time.duration/time.duration.special/min.pass.cpp
    libcxx/trunk/test/std/utilities/time/time.duration/time.duration.special/zero.pass.cpp
    libcxx/trunk/test/std/utilities/time/time.duration/types.pass.cpp
    libcxx/trunk/test/std/utilities/time/time.point/
    libcxx/trunk/test/std/utilities/time/time.point/default_duration.pass.cpp
    libcxx/trunk/test/std/utilities/time/time.point/duration.fail.cpp
    libcxx/trunk/test/std/utilities/time/time.point/time.point.arithmetic/
    libcxx/trunk/test/std/utilities/time/time.point/time.point.arithmetic/op_+=.pass.cpp
    libcxx/trunk/test/std/utilities/time/time.point/time.point.arithmetic/op_-=.pass.cpp
    libcxx/trunk/test/std/utilities/time/time.point/time.point.cast/
    libcxx/trunk/test/std/utilities/time/time.point/time.point.cast/time_point_cast.pass.cpp
    libcxx/trunk/test/std/utilities/time/time.point/time.point.cast/toduration.fail.cpp
    libcxx/trunk/test/std/utilities/time/time.point/time.point.comparisons/
    libcxx/trunk/test/std/utilities/time/time.point/time.point.comparisons/op_equal.fail.cpp
    libcxx/trunk/test/std/utilities/time/time.point/time.point.comparisons/op_equal.pass.cpp
    libcxx/trunk/test/std/utilities/time/time.point/time.point.comparisons/op_less.fail.cpp
    libcxx/trunk/test/std/utilities/time/time.point/time.point.comparisons/op_less.pass.cpp
    libcxx/trunk/test/std/utilities/time/time.point/time.point.cons/
    libcxx/trunk/test/std/utilities/time/time.point/time.point.cons/convert.fail.cpp
    libcxx/trunk/test/std/utilities/time/time.point/time.point.cons/convert.pass.cpp
    libcxx/trunk/test/std/utilities/time/time.point/time.point.cons/default.pass.cpp
    libcxx/trunk/test/std/utilities/time/time.point/time.point.cons/duration.fail.cpp
    libcxx/trunk/test/std/utilities/time/time.point/time.point.cons/duration.pass.cpp
    libcxx/trunk/test/std/utilities/time/time.point/time.point.nonmember/
    libcxx/trunk/test/std/utilities/time/time.point/time.point.nonmember/op_+.pass.cpp
    libcxx/trunk/test/std/utilities/time/time.point/time.point.nonmember/op_-duration.pass.cpp
    libcxx/trunk/test/std/utilities/time/time.point/time.point.nonmember/op_-time_point.pass.cpp
    libcxx/trunk/test/std/utilities/time/time.point/time.point.observer/
    libcxx/trunk/test/std/utilities/time/time.point/time.point.observer/tested_elsewhere.pass.cpp
    libcxx/trunk/test/std/utilities/time/time.point/time.point.special/
    libcxx/trunk/test/std/utilities/time/time.point/time.point.special/max.pass.cpp
    libcxx/trunk/test/std/utilities/time/time.point/time.point.special/min.pass.cpp
    libcxx/trunk/test/std/utilities/time/time.traits/
    libcxx/trunk/test/std/utilities/time/time.traits/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/utilities/time/time.traits/time.traits.duration_values/
    libcxx/trunk/test/std/utilities/time/time.traits/time.traits.duration_values/max.pass.cpp
    libcxx/trunk/test/std/utilities/time/time.traits/time.traits.duration_values/min.pass.cpp
    libcxx/trunk/test/std/utilities/time/time.traits/time.traits.duration_values/zero.pass.cpp
    libcxx/trunk/test/std/utilities/time/time.traits/time.traits.is_fp/
    libcxx/trunk/test/std/utilities/time/time.traits/time.traits.is_fp/treat_as_floating_point.pass.cpp
    libcxx/trunk/test/std/utilities/time/time.traits/time.traits.specializations/
    libcxx/trunk/test/std/utilities/time/time.traits/time.traits.specializations/duration.pass.cpp
    libcxx/trunk/test/std/utilities/time/time.traits/time.traits.specializations/time_point.pass.cpp
    libcxx/trunk/test/std/utilities/time/version.pass.cpp
    libcxx/trunk/test/std/utilities/tuple/
    libcxx/trunk/test/std/utilities/tuple/tuple.general/
    libcxx/trunk/test/std/utilities/tuple/tuple.general/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/utilities/tuple/tuple.general/tuple.smartptr.pass.cpp
    libcxx/trunk/test/std/utilities/tuple/tuple.tuple/
    libcxx/trunk/test/std/utilities/tuple/tuple.tuple/MoveOnly.h
    libcxx/trunk/test/std/utilities/tuple/tuple.tuple/TupleFunction.pass.cpp
    libcxx/trunk/test/std/utilities/tuple/tuple.tuple/alloc_first.h
    libcxx/trunk/test/std/utilities/tuple/tuple.tuple/alloc_last.h
    libcxx/trunk/test/std/utilities/tuple/tuple.tuple/empty_member.pass.cpp
    libcxx/trunk/test/std/utilities/tuple/tuple.tuple/tuple.assign/
    libcxx/trunk/test/std/utilities/tuple/tuple.tuple/tuple.assign/const_pair.pass.cpp
    libcxx/trunk/test/std/utilities/tuple/tuple.tuple/tuple.assign/convert_copy.pass.cpp
    libcxx/trunk/test/std/utilities/tuple/tuple.tuple/tuple.assign/convert_move.pass.cpp
    libcxx/trunk/test/std/utilities/tuple/tuple.tuple/tuple.assign/copy.fail.cpp
    libcxx/trunk/test/std/utilities/tuple/tuple.tuple/tuple.assign/copy.pass.cpp
    libcxx/trunk/test/std/utilities/tuple/tuple.tuple/tuple.assign/move.pass.cpp
    libcxx/trunk/test/std/utilities/tuple/tuple.tuple/tuple.assign/move_pair.pass.cpp
    libcxx/trunk/test/std/utilities/tuple/tuple.tuple/tuple.assign/tuple_array_template_depth.pass.cpp
    libcxx/trunk/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/
    libcxx/trunk/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/UTypes.fail.cpp
    libcxx/trunk/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/UTypes.pass.cpp
    libcxx/trunk/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/alloc.pass.cpp
    libcxx/trunk/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/alloc_UTypes.pass.cpp
    libcxx/trunk/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/alloc_const_Types.pass.cpp
    libcxx/trunk/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/alloc_const_pair.pass.cpp
    libcxx/trunk/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/alloc_convert_copy.pass.cpp
    libcxx/trunk/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/alloc_convert_move.pass.cpp
    libcxx/trunk/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/alloc_copy.pass.cpp
    libcxx/trunk/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/alloc_move.pass.cpp
    libcxx/trunk/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/alloc_move_pair.pass.cpp
    libcxx/trunk/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/const_Types.fail.cpp
    libcxx/trunk/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/const_Types.pass.cpp
    libcxx/trunk/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/const_Types2.fail.cpp
    libcxx/trunk/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/const_pair.pass.cpp
    libcxx/trunk/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/convert_copy.pass.cpp
    libcxx/trunk/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/convert_move.pass.cpp
    libcxx/trunk/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/copy.fail.cpp
    libcxx/trunk/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/copy.pass.cpp
    libcxx/trunk/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/default.pass.cpp
    libcxx/trunk/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/move.pass.cpp
    libcxx/trunk/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/move_pair.pass.cpp
    libcxx/trunk/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/tuple_array_template_depth.pass.cpp
    libcxx/trunk/test/std/utilities/tuple/tuple.tuple/tuple.creation/
    libcxx/trunk/test/std/utilities/tuple/tuple.tuple/tuple.creation/forward_as_tuple.pass.cpp
    libcxx/trunk/test/std/utilities/tuple/tuple.tuple/tuple.creation/make_tuple.pass.cpp
    libcxx/trunk/test/std/utilities/tuple/tuple.tuple/tuple.creation/tie.pass.cpp
    libcxx/trunk/test/std/utilities/tuple/tuple.tuple/tuple.creation/tuple_cat.pass.cpp
    libcxx/trunk/test/std/utilities/tuple/tuple.tuple/tuple.elem/
    libcxx/trunk/test/std/utilities/tuple/tuple.tuple/tuple.elem/get_const.fail.cpp
    libcxx/trunk/test/std/utilities/tuple/tuple.tuple/tuple.elem/get_const.pass.cpp
    libcxx/trunk/test/std/utilities/tuple/tuple.tuple/tuple.elem/get_non_const.pass.cpp
    libcxx/trunk/test/std/utilities/tuple/tuple.tuple/tuple.elem/get_rv.pass.cpp
    libcxx/trunk/test/std/utilities/tuple/tuple.tuple/tuple.elem/tuple.by.type.pass.cpp
    libcxx/trunk/test/std/utilities/tuple/tuple.tuple/tuple.elem/tuple.by.type1.fail.cpp
    libcxx/trunk/test/std/utilities/tuple/tuple.tuple/tuple.elem/tuple.by.type2.fail.cpp
    libcxx/trunk/test/std/utilities/tuple/tuple.tuple/tuple.elem/tuple.by.type3.fail.cpp
    libcxx/trunk/test/std/utilities/tuple/tuple.tuple/tuple.elem/tuple.by.type4.fail.cpp
    libcxx/trunk/test/std/utilities/tuple/tuple.tuple/tuple.helper/
    libcxx/trunk/test/std/utilities/tuple/tuple.tuple/tuple.helper/tuple.include.array.pass.cpp
    libcxx/trunk/test/std/utilities/tuple/tuple.tuple/tuple.helper/tuple.include.utility.pass.cpp
    libcxx/trunk/test/std/utilities/tuple/tuple.tuple/tuple.helper/tuple_element.pass.cpp
    libcxx/trunk/test/std/utilities/tuple/tuple.tuple/tuple.helper/tuple_size.pass.cpp
    libcxx/trunk/test/std/utilities/tuple/tuple.tuple/tuple.rel/
    libcxx/trunk/test/std/utilities/tuple/tuple.tuple/tuple.rel/eq.pass.cpp
    libcxx/trunk/test/std/utilities/tuple/tuple.tuple/tuple.rel/lt.pass.cpp
    libcxx/trunk/test/std/utilities/tuple/tuple.tuple/tuple.special/
    libcxx/trunk/test/std/utilities/tuple/tuple.tuple/tuple.special/non_member_swap.pass.cpp
    libcxx/trunk/test/std/utilities/tuple/tuple.tuple/tuple.swap/
    libcxx/trunk/test/std/utilities/tuple/tuple.tuple/tuple.swap/member_swap.pass.cpp
    libcxx/trunk/test/std/utilities/tuple/tuple.tuple/tuple.traits/
    libcxx/trunk/test/std/utilities/tuple/tuple.tuple/tuple.traits/uses_allocator.pass.cpp
    libcxx/trunk/test/std/utilities/tuple/version.pass.cpp
    libcxx/trunk/test/std/utilities/type.index/
    libcxx/trunk/test/std/utilities/type.index/type.index.hash/
    libcxx/trunk/test/std/utilities/type.index/type.index.hash/hash.pass.cpp
    libcxx/trunk/test/std/utilities/type.index/type.index.members/
    libcxx/trunk/test/std/utilities/type.index/type.index.members/ctor.pass.cpp
    libcxx/trunk/test/std/utilities/type.index/type.index.members/eq.pass.cpp
    libcxx/trunk/test/std/utilities/type.index/type.index.members/hash_code.pass.cpp
    libcxx/trunk/test/std/utilities/type.index/type.index.members/lt.pass.cpp
    libcxx/trunk/test/std/utilities/type.index/type.index.members/name.pass.cpp
    libcxx/trunk/test/std/utilities/type.index/type.index.overview/
    libcxx/trunk/test/std/utilities/type.index/type.index.overview/copy_assign.pass.cpp
    libcxx/trunk/test/std/utilities/type.index/type.index.overview/copy_ctor.pass.cpp
    libcxx/trunk/test/std/utilities/type.index/type.index.synopsis/
    libcxx/trunk/test/std/utilities/type.index/type.index.synopsis/hash_type_index.pass.cpp
    libcxx/trunk/test/std/utilities/type.index/version.pass.cpp
    libcxx/trunk/test/std/utilities/utilities.general/
    libcxx/trunk/test/std/utilities/utilities.general/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/utilities/utility/
    libcxx/trunk/test/std/utilities/utility.requirements/
    libcxx/trunk/test/std/utilities/utility.requirements/allocator.requirements/
    libcxx/trunk/test/std/utilities/utility.requirements/allocator.requirements/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/utilities/utility.requirements/hash.requirements/
    libcxx/trunk/test/std/utilities/utility.requirements/hash.requirements/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/utilities/utility.requirements/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/utilities/utility.requirements/nullablepointer.requirements/
    libcxx/trunk/test/std/utilities/utility.requirements/nullablepointer.requirements/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/utilities/utility.requirements/swappable.requirements/
    libcxx/trunk/test/std/utilities/utility.requirements/swappable.requirements/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/utilities/utility.requirements/utility.arg.requirements/
    libcxx/trunk/test/std/utilities/utility.requirements/utility.arg.requirements/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/utilities/utility/declval/
    libcxx/trunk/test/std/utilities/utility/declval/declval.pass.cpp
    libcxx/trunk/test/std/utilities/utility/exchange/
    libcxx/trunk/test/std/utilities/utility/exchange/exchange.pass.cpp
    libcxx/trunk/test/std/utilities/utility/forward/
    libcxx/trunk/test/std/utilities/utility/forward/forward.pass.cpp
    libcxx/trunk/test/std/utilities/utility/forward/forward1.fail.cpp
    libcxx/trunk/test/std/utilities/utility/forward/forward2.fail.cpp
    libcxx/trunk/test/std/utilities/utility/forward/forward3.fail.cpp
    libcxx/trunk/test/std/utilities/utility/forward/forward4.fail.cpp
    libcxx/trunk/test/std/utilities/utility/forward/forward5.fail.cpp
    libcxx/trunk/test/std/utilities/utility/forward/forward6.fail.cpp
    libcxx/trunk/test/std/utilities/utility/forward/move_copy.pass.cpp
    libcxx/trunk/test/std/utilities/utility/forward/move_if_noexcept.pass.cpp
    libcxx/trunk/test/std/utilities/utility/forward/move_only.pass.cpp
    libcxx/trunk/test/std/utilities/utility/forward/move_only1.fail.cpp
    libcxx/trunk/test/std/utilities/utility/forward/move_only2.fail.cpp
    libcxx/trunk/test/std/utilities/utility/forward/move_only3.fail.cpp
    libcxx/trunk/test/std/utilities/utility/forward/move_only4.fail.cpp
    libcxx/trunk/test/std/utilities/utility/operators/
    libcxx/trunk/test/std/utilities/utility/operators/rel_ops.pass.cpp
    libcxx/trunk/test/std/utilities/utility/pairs/
    libcxx/trunk/test/std/utilities/utility/pairs/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/utilities/utility/pairs/pair.astuple/
    libcxx/trunk/test/std/utilities/utility/pairs/pair.astuple/get_const.fail.cpp
    libcxx/trunk/test/std/utilities/utility/pairs/pair.astuple/get_const.pass.cpp
    libcxx/trunk/test/std/utilities/utility/pairs/pair.astuple/get_non_const.pass.cpp
    libcxx/trunk/test/std/utilities/utility/pairs/pair.astuple/get_rv.pass.cpp
    libcxx/trunk/test/std/utilities/utility/pairs/pair.astuple/pairs.by.type.pass.cpp
    libcxx/trunk/test/std/utilities/utility/pairs/pair.astuple/pairs.by.type1.fail.cpp
    libcxx/trunk/test/std/utilities/utility/pairs/pair.astuple/pairs.by.type2.fail.cpp
    libcxx/trunk/test/std/utilities/utility/pairs/pair.astuple/pairs.by.type3.fail.cpp
    libcxx/trunk/test/std/utilities/utility/pairs/pair.astuple/tuple_element.pass.cpp
    libcxx/trunk/test/std/utilities/utility/pairs/pair.astuple/tuple_size.pass.cpp
    libcxx/trunk/test/std/utilities/utility/pairs/pair.piecewise/
    libcxx/trunk/test/std/utilities/utility/pairs/pair.piecewise/piecewise_construct.pass.cpp
    libcxx/trunk/test/std/utilities/utility/pairs/pairs.general/
    libcxx/trunk/test/std/utilities/utility/pairs/pairs.general/nothing_to_do.pass.cpp
    libcxx/trunk/test/std/utilities/utility/pairs/pairs.pair/
    libcxx/trunk/test/std/utilities/utility/pairs/pairs.pair/U_V.pass.cpp
    libcxx/trunk/test/std/utilities/utility/pairs/pairs.pair/assign_const_pair_U_V.pass.cpp
    libcxx/trunk/test/std/utilities/utility/pairs/pairs.pair/assign_rv_pair.pass.cpp
    libcxx/trunk/test/std/utilities/utility/pairs/pairs.pair/assign_rv_pair_U_V.pass.cpp
    libcxx/trunk/test/std/utilities/utility/pairs/pairs.pair/const_first_const_second.pass.cpp
    libcxx/trunk/test/std/utilities/utility/pairs/pairs.pair/const_pair_U_V.pass.cpp
    libcxx/trunk/test/std/utilities/utility/pairs/pairs.pair/copy_ctor.pass.cpp
    libcxx/trunk/test/std/utilities/utility/pairs/pairs.pair/default.pass.cpp
    libcxx/trunk/test/std/utilities/utility/pairs/pairs.pair/piecewise.pass.cpp
    libcxx/trunk/test/std/utilities/utility/pairs/pairs.pair/rv_pair_U_V.pass.cpp
    libcxx/trunk/test/std/utilities/utility/pairs/pairs.pair/swap.pass.cpp
    libcxx/trunk/test/std/utilities/utility/pairs/pairs.pair/types.pass.cpp
    libcxx/trunk/test/std/utilities/utility/pairs/pairs.spec/
    libcxx/trunk/test/std/utilities/utility/pairs/pairs.spec/comparison.pass.cpp
    libcxx/trunk/test/std/utilities/utility/pairs/pairs.spec/make_pair.pass.cpp
    libcxx/trunk/test/std/utilities/utility/pairs/pairs.spec/non_member_swap.pass.cpp
    libcxx/trunk/test/std/utilities/utility/utility.swap/
    libcxx/trunk/test/std/utilities/utility/utility.swap/swap.pass.cpp
    libcxx/trunk/test/std/utilities/utility/utility.swap/swap_array.pass.cpp
    libcxx/trunk/test/std/utilities/utility/version.pass.cpp
Removed:
    libcxx/trunk/test/algorithms/
    libcxx/trunk/test/atomics/
    libcxx/trunk/test/containers/
    libcxx/trunk/test/depr/
    libcxx/trunk/test/diagnostics/
    libcxx/trunk/test/experimental/
    libcxx/trunk/test/extensions/
    libcxx/trunk/test/input.output/
    libcxx/trunk/test/iterators/
    libcxx/trunk/test/language.support/
    libcxx/trunk/test/localization/
    libcxx/trunk/test/numerics/
    libcxx/trunk/test/re/
    libcxx/trunk/test/strings/
    libcxx/trunk/test/thread/
    libcxx/trunk/test/utilities/

Added: libcxx/trunk/test/std/algorithms/alg.c.library/tested_elsewhere.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/algorithms/alg.c.library/tested_elsewhere.pass.cpp?rev=224658&view=auto
==============================================================================
--- libcxx/trunk/test/std/algorithms/alg.c.library/tested_elsewhere.pass.cpp (added)
+++ libcxx/trunk/test/std/algorithms/alg.c.library/tested_elsewhere.pass.cpp Fri Dec 19 19:40:03 2014
@@ -0,0 +1,12 @@
+//===----------------------------------------------------------------------===//
+//
+//                     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()
+{
+}

Added: libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.copy/copy.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.copy/copy.pass.cpp?rev=224658&view=auto
==============================================================================
--- libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.copy/copy.pass.cpp (added)
+++ libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.copy/copy.pass.cpp Fri Dec 19 19:40:03 2014
@@ -0,0 +1,73 @@
+//===----------------------------------------------------------------------===//
+//
+//                     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.
+//
+//===----------------------------------------------------------------------===//
+
+// <algorithm>
+
+// template<InputIterator InIter, OutputIterator<auto, InIter::reference> OutIter>
+//   OutIter
+//   copy(InIter first, InIter last, OutIter result);
+
+#include <algorithm>
+#include <cassert>
+
+#include "test_iterators.h"
+
+template <class InIter, class OutIter>
+void
+test()
+{
+    const unsigned N = 1000;
+    int ia[N];
+    for (unsigned i = 0; i < N; ++i)
+        ia[i] = i;
+    int ib[N] = {0};
+
+    OutIter r = std::copy(InIter(ia), InIter(ia+N), OutIter(ib));
+    assert(base(r) == ib+N);
+    for (unsigned i = 0; i < N; ++i)
+        assert(ia[i] == ib[i]);
+}
+
+int main()
+{
+    test<input_iterator<const int*>, output_iterator<int*> >();
+    test<input_iterator<const int*>, input_iterator<int*> >();
+    test<input_iterator<const int*>, forward_iterator<int*> >();
+    test<input_iterator<const int*>, bidirectional_iterator<int*> >();
+    test<input_iterator<const int*>, random_access_iterator<int*> >();
+    test<input_iterator<const int*>, int*>();
+
+    test<forward_iterator<const int*>, output_iterator<int*> >();
+    test<forward_iterator<const int*>, input_iterator<int*> >();
+    test<forward_iterator<const int*>, forward_iterator<int*> >();
+    test<forward_iterator<const int*>, bidirectional_iterator<int*> >();
+    test<forward_iterator<const int*>, random_access_iterator<int*> >();
+    test<forward_iterator<const int*>, int*>();
+
+    test<bidirectional_iterator<const int*>, output_iterator<int*> >();
+    test<bidirectional_iterator<const int*>, input_iterator<int*> >();
+    test<bidirectional_iterator<const int*>, forward_iterator<int*> >();
+    test<bidirectional_iterator<const int*>, bidirectional_iterator<int*> >();
+    test<bidirectional_iterator<const int*>, random_access_iterator<int*> >();
+    test<bidirectional_iterator<const int*>, int*>();
+
+    test<random_access_iterator<const int*>, output_iterator<int*> >();
+    test<random_access_iterator<const int*>, input_iterator<int*> >();
+    test<random_access_iterator<const int*>, forward_iterator<int*> >();
+    test<random_access_iterator<const int*>, bidirectional_iterator<int*> >();
+    test<random_access_iterator<const int*>, random_access_iterator<int*> >();
+    test<random_access_iterator<const int*>, int*>();
+
+    test<const int*, output_iterator<int*> >();
+    test<const int*, input_iterator<int*> >();
+    test<const int*, forward_iterator<int*> >();
+    test<const int*, bidirectional_iterator<int*> >();
+    test<const int*, random_access_iterator<int*> >();
+    test<const int*, int*>();
+}

Added: libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.copy/copy_backward.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.copy/copy_backward.pass.cpp?rev=224658&view=auto
==============================================================================
--- libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.copy/copy_backward.pass.cpp (added)
+++ libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.copy/copy_backward.pass.cpp Fri Dec 19 19:40:03 2014
@@ -0,0 +1,51 @@
+//===----------------------------------------------------------------------===//
+//
+//                     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.
+//
+//===----------------------------------------------------------------------===//
+
+// <algorithm>
+
+// template<BidirectionalIterator InIter, BidirectionalIterator OutIter>
+//   requires OutputIterator<OutIter, InIter::reference>
+//   OutIter
+//   copy_backward(InIter first, InIter last, OutIter result);
+
+#include <algorithm>
+#include <cassert>
+
+#include "test_iterators.h"
+
+template <class InIter, class OutIter>
+void
+test()
+{
+    const unsigned N = 1000;
+    int ia[N];
+    for (unsigned i = 0; i < N; ++i)
+        ia[i] = i;
+    int ib[N] = {0};
+
+    OutIter r = std::copy_backward(InIter(ia), InIter(ia+N), OutIter(ib+N));
+    assert(base(r) == ib);
+    for (unsigned i = 0; i < N; ++i)
+        assert(ia[i] == ib[i]);
+}
+
+int main()
+{
+    test<bidirectional_iterator<const int*>, bidirectional_iterator<int*> >();
+    test<bidirectional_iterator<const int*>, random_access_iterator<int*> >();
+    test<bidirectional_iterator<const int*>, int*>();
+
+    test<random_access_iterator<const int*>, bidirectional_iterator<int*> >();
+    test<random_access_iterator<const int*>, random_access_iterator<int*> >();
+    test<random_access_iterator<const int*>, int*>();
+
+    test<const int*, bidirectional_iterator<int*> >();
+    test<const int*, random_access_iterator<int*> >();
+    test<const int*, int*>();
+}

Added: libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.copy/copy_if.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.copy/copy_if.pass.cpp?rev=224658&view=auto
==============================================================================
--- libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.copy/copy_if.pass.cpp (added)
+++ libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.copy/copy_if.pass.cpp Fri Dec 19 19:40:03 2014
@@ -0,0 +1,80 @@
+//===----------------------------------------------------------------------===//
+//
+//                     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.
+//
+//===----------------------------------------------------------------------===//
+
+// <algorithm>
+
+// template<InputIterator InIter, OutputIterator<auto, InIter::reference> OutIter,
+//          Predicate<auto, InIter::value_type> Pred>
+//   requires CopyConstructible<Pred>
+//   OutIter
+//   copy_if(InIter first, InIter last, OutIter result, Pred pred);
+
+#include <algorithm>
+#include <cassert>
+
+#include "test_iterators.h"
+
+struct Pred
+{
+    bool operator()(int i) {return i % 3 == 0;}
+};
+
+template <class InIter, class OutIter>
+void
+test()
+{
+    const unsigned N = 1000;
+    int ia[N];
+    for (unsigned i = 0; i < N; ++i)
+        ia[i] = i;
+    int ib[N] = {0};
+
+    OutIter r = std::copy_if(InIter(ia), InIter(ia+N), OutIter(ib), Pred());
+    assert(base(r) == ib+N/3+1);
+    for (unsigned i = 0; i < N/3+1; ++i)
+        assert(ib[i] % 3 == 0);
+}
+
+int main()
+{
+    test<input_iterator<const int*>, output_iterator<int*> >();
+    test<input_iterator<const int*>, input_iterator<int*> >();
+    test<input_iterator<const int*>, forward_iterator<int*> >();
+    test<input_iterator<const int*>, bidirectional_iterator<int*> >();
+    test<input_iterator<const int*>, random_access_iterator<int*> >();
+    test<input_iterator<const int*>, int*>();
+
+    test<forward_iterator<const int*>, output_iterator<int*> >();
+    test<forward_iterator<const int*>, input_iterator<int*> >();
+    test<forward_iterator<const int*>, forward_iterator<int*> >();
+    test<forward_iterator<const int*>, bidirectional_iterator<int*> >();
+    test<forward_iterator<const int*>, random_access_iterator<int*> >();
+    test<forward_iterator<const int*>, int*>();
+
+    test<bidirectional_iterator<const int*>, output_iterator<int*> >();
+    test<bidirectional_iterator<const int*>, input_iterator<int*> >();
+    test<bidirectional_iterator<const int*>, forward_iterator<int*> >();
+    test<bidirectional_iterator<const int*>, bidirectional_iterator<int*> >();
+    test<bidirectional_iterator<const int*>, random_access_iterator<int*> >();
+    test<bidirectional_iterator<const int*>, int*>();
+
+    test<random_access_iterator<const int*>, output_iterator<int*> >();
+    test<random_access_iterator<const int*>, input_iterator<int*> >();
+    test<random_access_iterator<const int*>, forward_iterator<int*> >();
+    test<random_access_iterator<const int*>, bidirectional_iterator<int*> >();
+    test<random_access_iterator<const int*>, random_access_iterator<int*> >();
+    test<random_access_iterator<const int*>, int*>();
+
+    test<const int*, output_iterator<int*> >();
+    test<const int*, input_iterator<int*> >();
+    test<const int*, forward_iterator<int*> >();
+    test<const int*, bidirectional_iterator<int*> >();
+    test<const int*, random_access_iterator<int*> >();
+    test<const int*, int*>();
+}

Added: libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.copy/copy_n.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.copy/copy_n.pass.cpp?rev=224658&view=auto
==============================================================================
--- libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.copy/copy_n.pass.cpp (added)
+++ libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.copy/copy_n.pass.cpp Fri Dec 19 19:40:03 2014
@@ -0,0 +1,73 @@
+//===----------------------------------------------------------------------===//
+//
+//                     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.
+//
+//===----------------------------------------------------------------------===//
+
+// <algorithm>
+
+// template<InputIterator InIter, OutputIterator<auto, InIter::reference> OutIter>
+//   OutIter
+//   copy_n(InIter first, InIter::difference_type n, OutIter result);
+
+#include <algorithm>
+#include <cassert>
+
+#include "test_iterators.h"
+
+template <class InIter, class OutIter>
+void
+test()
+{
+    const unsigned N = 1000;
+    int ia[N];
+    for (unsigned i = 0; i < N; ++i)
+        ia[i] = i;
+    int ib[N] = {0};
+
+    OutIter r = std::copy_n(InIter(ia), N/2, OutIter(ib));
+    assert(base(r) == ib+N/2);
+    for (unsigned i = 0; i < N/2; ++i)
+        assert(ia[i] == ib[i]);
+}
+
+int main()
+{
+    test<input_iterator<const int*>, output_iterator<int*> >();
+    test<input_iterator<const int*>, input_iterator<int*> >();
+    test<input_iterator<const int*>, forward_iterator<int*> >();
+    test<input_iterator<const int*>, bidirectional_iterator<int*> >();
+    test<input_iterator<const int*>, random_access_iterator<int*> >();
+    test<input_iterator<const int*>, int*>();
+
+    test<forward_iterator<const int*>, output_iterator<int*> >();
+    test<forward_iterator<const int*>, input_iterator<int*> >();
+    test<forward_iterator<const int*>, forward_iterator<int*> >();
+    test<forward_iterator<const int*>, bidirectional_iterator<int*> >();
+    test<forward_iterator<const int*>, random_access_iterator<int*> >();
+    test<forward_iterator<const int*>, int*>();
+
+    test<bidirectional_iterator<const int*>, output_iterator<int*> >();
+    test<bidirectional_iterator<const int*>, input_iterator<int*> >();
+    test<bidirectional_iterator<const int*>, forward_iterator<int*> >();
+    test<bidirectional_iterator<const int*>, bidirectional_iterator<int*> >();
+    test<bidirectional_iterator<const int*>, random_access_iterator<int*> >();
+    test<bidirectional_iterator<const int*>, int*>();
+
+    test<random_access_iterator<const int*>, output_iterator<int*> >();
+    test<random_access_iterator<const int*>, input_iterator<int*> >();
+    test<random_access_iterator<const int*>, forward_iterator<int*> >();
+    test<random_access_iterator<const int*>, bidirectional_iterator<int*> >();
+    test<random_access_iterator<const int*>, random_access_iterator<int*> >();
+    test<random_access_iterator<const int*>, int*>();
+
+    test<const int*, output_iterator<int*> >();
+    test<const int*, input_iterator<int*> >();
+    test<const int*, forward_iterator<int*> >();
+    test<const int*, bidirectional_iterator<int*> >();
+    test<const int*, random_access_iterator<int*> >();
+    test<const int*, int*>();
+}

Added: libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.fill/fill.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.fill/fill.pass.cpp?rev=224658&view=auto
==============================================================================
--- libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.fill/fill.pass.cpp (added)
+++ libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.fill/fill.pass.cpp Fri Dec 19 19:40:03 2014
@@ -0,0 +1,59 @@
+//===----------------------------------------------------------------------===//
+//
+//                     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.
+//
+//===----------------------------------------------------------------------===//
+
+// <algorithm>
+
+// template<ForwardIterator Iter, class T>
+//   requires OutputIterator<Iter, const T&>
+//   void
+//   fill(Iter first, Iter last, const T& value);
+
+#include <algorithm>
+#include <cassert>
+
+#include "test_iterators.h"
+
+template <class Iter>
+void
+test_char()
+{
+    const unsigned n = 4;
+    char ca[n] = {0};
+    std::fill(Iter(ca), Iter(ca+n), char(1));
+    assert(ca[0] == 1);
+    assert(ca[1] == 1);
+    assert(ca[2] == 1);
+    assert(ca[3] == 1);
+}
+
+template <class Iter>
+void
+test_int()
+{
+    const unsigned n = 4;
+    int ia[n] = {0};
+    std::fill(Iter(ia), Iter(ia+n), 1);
+    assert(ia[0] == 1);
+    assert(ia[1] == 1);
+    assert(ia[2] == 1);
+    assert(ia[3] == 1);
+}
+
+int main()
+{
+    test_char<forward_iterator<char*> >();
+    test_char<bidirectional_iterator<char*> >();
+    test_char<random_access_iterator<char*> >();
+    test_char<char*>();
+
+    test_int<forward_iterator<int*> >();
+    test_int<bidirectional_iterator<int*> >();
+    test_int<random_access_iterator<int*> >();
+    test_int<int*>();
+}

Added: libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.fill/fill_n.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.fill/fill_n.pass.cpp?rev=224658&view=auto
==============================================================================
--- libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.fill/fill_n.pass.cpp (added)
+++ libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.fill/fill_n.pass.cpp Fri Dec 19 19:40:03 2014
@@ -0,0 +1,153 @@
+//===----------------------------------------------------------------------===//
+//
+//                     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.
+//
+//===----------------------------------------------------------------------===//
+
+// <algorithm>
+
+// template<class Iter, IntegralLike Size, class T>
+//   requires OutputIterator<Iter, const T&>
+//   OutputIterator
+//   fill_n(Iter first, Size n, const T& value);
+
+#include <algorithm>
+#include <cassert>
+
+#include "test_iterators.h"
+
+template <class Iter>
+void
+test_char()
+{
+    const unsigned n = 4;
+    char ca[n] = {0};
+    assert(std::fill_n(Iter(ca), n, char(1)) == std::next(Iter(ca), n));
+    assert(ca[0] == 1);
+    assert(ca[1] == 1);
+    assert(ca[2] == 1);
+    assert(ca[3] == 1);
+}
+
+template <class Iter>
+void
+test_int()
+{
+    const unsigned n = 4;
+    int ia[n] = {0};
+    assert(std::fill_n(Iter(ia), n, 1) == std::next(Iter(ia), n));
+    assert(ia[0] == 1);
+    assert(ia[1] == 1);
+    assert(ia[2] == 1);
+    assert(ia[3] == 1);
+}
+
+void
+test_int_array()
+{
+    const unsigned n = 4;
+    int ia[n] = {0};
+    assert(std::fill_n(ia, n, static_cast<char>(1)) == std::next(ia, n));
+    assert(ia[0] == 1);
+    assert(ia[1] == 1);
+    assert(ia[2] == 1);
+    assert(ia[3] == 1);
+}
+
+struct source {
+    source() : i(0) { }
+    
+    operator int() const { return i++; }
+    mutable int i;
+};
+
+void
+test_int_array_struct_source()
+{
+    const unsigned n = 4;
+    int ia[n] = {0};
+    assert(std::fill_n(ia, n, source()) == std::next(ia, n));
+    assert(ia[0] == 0);
+    assert(ia[1] == 1);
+    assert(ia[2] == 2);
+    assert(ia[3] == 3);
+}
+
+struct test1 {
+    test1() : c(0) { }
+    test1(char c) : c(c + 1) { }
+    char c;
+};
+
+void
+test_struct_array()
+{
+    const unsigned n = 4;
+    test1 test1a[n] = {0};
+    assert(std::fill_n(test1a, n, static_cast<char>(10)) == std::next(test1a, n));    
+    assert(test1a[0].c == 11);
+    assert(test1a[1].c == 11);
+    assert(test1a[2].c == 11);
+    assert(test1a[3].c == 11);
+}
+
+class A
+{
+    char a_;
+public:
+    A() {}
+    explicit A(char a) : a_(a) {}
+    operator unsigned char() const {return 'b';}
+
+    friend bool operator==(const A& x, const A& y)
+        {return x.a_ == y.a_;}
+};
+
+void
+test5()
+{
+    A a[3];
+    assert(std::fill_n(&a[0], 3, A('a')) == a+3);
+    assert(a[0] == A('a'));
+    assert(a[1] == A('a'));
+    assert(a[2] == A('a'));
+}
+
+struct Storage
+{
+  union
+  {
+    unsigned char a;
+    unsigned char b;
+  };
+};
+ 
+void test6()
+{
+  Storage foo[5];
+  std::fill_n(&foo[0], 5, Storage());
+}
+
+
+int main()
+{
+    test_char<forward_iterator<char*> >();
+    test_char<bidirectional_iterator<char*> >();
+    test_char<random_access_iterator<char*> >();
+    test_char<char*>();
+
+    test_int<forward_iterator<int*> >();
+    test_int<bidirectional_iterator<int*> >();
+    test_int<random_access_iterator<int*> >();
+    test_int<int*>();
+    
+    test_int_array();
+    test_int_array_struct_source();
+    test_struct_array();
+
+    test5();
+    test6();
+}

Added: libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.generate/generate.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.generate/generate.pass.cpp?rev=224658&view=auto
==============================================================================
--- libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.generate/generate.pass.cpp (added)
+++ libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.generate/generate.pass.cpp Fri Dec 19 19:40:03 2014
@@ -0,0 +1,47 @@
+//===----------------------------------------------------------------------===//
+//
+//                     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.
+//
+//===----------------------------------------------------------------------===//
+
+// <algorithm>
+
+// template<ForwardIterator Iter, Callable Generator>
+//   requires OutputIterator<Iter, Generator::result_type>
+//         && CopyConstructible<Generator>
+//   void
+//   generate(Iter first, Iter last, Generator gen);
+
+#include <algorithm>
+#include <cassert>
+
+#include "test_iterators.h"
+
+struct gen_test
+{
+    int operator()() const {return 1;}
+};
+
+template <class Iter>
+void
+test()
+{
+    const unsigned n = 4;
+    int ia[n] = {0};
+    std::generate(Iter(ia), Iter(ia+n), gen_test());
+    assert(ia[0] == 1);
+    assert(ia[1] == 1);
+    assert(ia[2] == 1);
+    assert(ia[3] == 1);
+}
+
+int main()
+{
+    test<forward_iterator<int*> >();
+    test<bidirectional_iterator<int*> >();
+    test<random_access_iterator<int*> >();
+    test<int*>();
+}

Added: libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.generate/generate_n.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.generate/generate_n.pass.cpp?rev=224658&view=auto
==============================================================================
--- libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.generate/generate_n.pass.cpp (added)
+++ libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.generate/generate_n.pass.cpp Fri Dec 19 19:40:03 2014
@@ -0,0 +1,47 @@
+//===----------------------------------------------------------------------===//
+//
+//                     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.
+//
+//===----------------------------------------------------------------------===//
+
+// <algorithm>
+
+// template<class Iter, IntegralLike Size, Callable Generator>
+//   requires OutputIterator<Iter, Generator::result_type>
+//         && CopyConstructible<Generator>
+//   void
+//   generate_n(Iter first, Size n, Generator gen);
+
+#include <algorithm>
+#include <cassert>
+
+#include "test_iterators.h"
+
+struct gen_test
+{
+    int operator()() const {return 2;}
+};
+
+template <class Iter>
+void
+test()
+{
+    const unsigned n = 4;
+    int ia[n] = {0};
+    assert(std::generate_n(Iter(ia), n, gen_test()) == Iter(ia+n));
+    assert(ia[0] == 2);
+    assert(ia[1] == 2);
+    assert(ia[2] == 2);
+    assert(ia[3] == 2);
+}
+
+int main()
+{
+    test<forward_iterator<int*> >();
+    test<bidirectional_iterator<int*> >();
+    test<random_access_iterator<int*> >();
+    test<int*>();
+}

Added: libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.move/move.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.move/move.pass.cpp?rev=224658&view=auto
==============================================================================
--- libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.move/move.pass.cpp (added)
+++ libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.move/move.pass.cpp Fri Dec 19 19:40:03 2014
@@ -0,0 +1,134 @@
+//===----------------------------------------------------------------------===//
+//
+//                     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.
+//
+//===----------------------------------------------------------------------===//
+
+// <algorithm>
+
+// template<InputIterator InIter, typename OutIter>
+//   requires OutputIterator<OutIter, RvalueOf<InIter::reference>::type>
+//   OutIter
+//   move(InIter first, InIter last, OutIter result);
+
+#include <algorithm>
+#include <cassert>
+#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
+#include <memory>
+#endif
+
+#include "test_iterators.h"
+
+template <class InIter, class OutIter>
+void
+test()
+{
+    const unsigned N = 1000;
+    int ia[N];
+    for (unsigned i = 0; i < N; ++i)
+        ia[i] = i;
+    int ib[N] = {0};
+
+    OutIter r = std::move(InIter(ia), InIter(ia+N), OutIter(ib));
+    assert(base(r) == ib+N);
+    for (unsigned i = 0; i < N; ++i)
+        assert(ia[i] == ib[i]);
+}
+
+#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
+
+template <class InIter, class OutIter>
+void
+test1()
+{
+    const unsigned N = 100;
+    std::unique_ptr<int> ia[N];
+    for (unsigned i = 0; i < N; ++i)
+        ia[i].reset(new int(i));
+    std::unique_ptr<int> ib[N];
+
+    OutIter r = std::move(InIter(ia), InIter(ia+N), OutIter(ib));
+    assert(base(r) == ib+N);
+    for (unsigned i = 0; i < N; ++i)
+        assert(*ib[i] == i);
+}
+
+#endif  // _LIBCPP_HAS_NO_RVALUE_REFERENCES
+
+int main()
+{
+    test<input_iterator<const int*>, output_iterator<int*> >();
+    test<input_iterator<const int*>, input_iterator<int*> >();
+    test<input_iterator<const int*>, forward_iterator<int*> >();
+    test<input_iterator<const int*>, bidirectional_iterator<int*> >();
+    test<input_iterator<const int*>, random_access_iterator<int*> >();
+    test<input_iterator<const int*>, int*>();
+
+    test<forward_iterator<const int*>, output_iterator<int*> >();
+    test<forward_iterator<const int*>, input_iterator<int*> >();
+    test<forward_iterator<const int*>, forward_iterator<int*> >();
+    test<forward_iterator<const int*>, bidirectional_iterator<int*> >();
+    test<forward_iterator<const int*>, random_access_iterator<int*> >();
+    test<forward_iterator<const int*>, int*>();
+
+    test<bidirectional_iterator<const int*>, output_iterator<int*> >();
+    test<bidirectional_iterator<const int*>, input_iterator<int*> >();
+    test<bidirectional_iterator<const int*>, forward_iterator<int*> >();
+    test<bidirectional_iterator<const int*>, bidirectional_iterator<int*> >();
+    test<bidirectional_iterator<const int*>, random_access_iterator<int*> >();
+    test<bidirectional_iterator<const int*>, int*>();
+
+    test<random_access_iterator<const int*>, output_iterator<int*> >();
+    test<random_access_iterator<const int*>, input_iterator<int*> >();
+    test<random_access_iterator<const int*>, forward_iterator<int*> >();
+    test<random_access_iterator<const int*>, bidirectional_iterator<int*> >();
+    test<random_access_iterator<const int*>, random_access_iterator<int*> >();
+    test<random_access_iterator<const int*>, int*>();
+
+    test<const int*, output_iterator<int*> >();
+    test<const int*, input_iterator<int*> >();
+    test<const int*, forward_iterator<int*> >();
+    test<const int*, bidirectional_iterator<int*> >();
+    test<const int*, random_access_iterator<int*> >();
+    test<const int*, int*>();
+
+#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
+    test1<input_iterator<std::unique_ptr<int>*>, output_iterator<std::unique_ptr<int>*> >();
+    test1<input_iterator<std::unique_ptr<int>*>, input_iterator<std::unique_ptr<int>*> >();
+    test1<input_iterator<std::unique_ptr<int>*>, forward_iterator<std::unique_ptr<int>*> >();
+    test1<input_iterator<std::unique_ptr<int>*>, bidirectional_iterator<std::unique_ptr<int>*> >();
+    test1<input_iterator<std::unique_ptr<int>*>, random_access_iterator<std::unique_ptr<int>*> >();
+    test1<input_iterator<std::unique_ptr<int>*>, std::unique_ptr<int>*>();
+
+    test1<forward_iterator<std::unique_ptr<int>*>, output_iterator<std::unique_ptr<int>*> >();
+    test1<forward_iterator<std::unique_ptr<int>*>, input_iterator<std::unique_ptr<int>*> >();
+    test1<forward_iterator<std::unique_ptr<int>*>, forward_iterator<std::unique_ptr<int>*> >();
+    test1<forward_iterator<std::unique_ptr<int>*>, bidirectional_iterator<std::unique_ptr<int>*> >();
+    test1<forward_iterator<std::unique_ptr<int>*>, random_access_iterator<std::unique_ptr<int>*> >();
+    test1<forward_iterator<std::unique_ptr<int>*>, std::unique_ptr<int>*>();
+
+    test1<bidirectional_iterator<std::unique_ptr<int>*>, output_iterator<std::unique_ptr<int>*> >();
+    test1<bidirectional_iterator<std::unique_ptr<int>*>, input_iterator<std::unique_ptr<int>*> >();
+    test1<bidirectional_iterator<std::unique_ptr<int>*>, forward_iterator<std::unique_ptr<int>*> >();
+    test1<bidirectional_iterator<std::unique_ptr<int>*>, bidirectional_iterator<std::unique_ptr<int>*> >();
+    test1<bidirectional_iterator<std::unique_ptr<int>*>, random_access_iterator<std::unique_ptr<int>*> >();
+    test1<bidirectional_iterator<std::unique_ptr<int>*>, std::unique_ptr<int>*>();
+
+    test1<random_access_iterator<std::unique_ptr<int>*>, output_iterator<std::unique_ptr<int>*> >();
+    test1<random_access_iterator<std::unique_ptr<int>*>, input_iterator<std::unique_ptr<int>*> >();
+    test1<random_access_iterator<std::unique_ptr<int>*>, forward_iterator<std::unique_ptr<int>*> >();
+    test1<random_access_iterator<std::unique_ptr<int>*>, bidirectional_iterator<std::unique_ptr<int>*> >();
+    test1<random_access_iterator<std::unique_ptr<int>*>, random_access_iterator<std::unique_ptr<int>*> >();
+    test1<random_access_iterator<std::unique_ptr<int>*>, std::unique_ptr<int>*>();
+
+    test1<std::unique_ptr<int>*, output_iterator<std::unique_ptr<int>*> >();
+    test1<std::unique_ptr<int>*, input_iterator<std::unique_ptr<int>*> >();
+    test1<std::unique_ptr<int>*, forward_iterator<std::unique_ptr<int>*> >();
+    test1<std::unique_ptr<int>*, bidirectional_iterator<std::unique_ptr<int>*> >();
+    test1<std::unique_ptr<int>*, random_access_iterator<std::unique_ptr<int>*> >();
+    test1<std::unique_ptr<int>*, std::unique_ptr<int>*>();
+#endif  // _LIBCPP_HAS_NO_RVALUE_REFERENCES
+}

Added: libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.move/move_backward.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.move/move_backward.pass.cpp?rev=224658&view=auto
==============================================================================
--- libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.move/move_backward.pass.cpp (added)
+++ libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.move/move_backward.pass.cpp Fri Dec 19 19:40:03 2014
@@ -0,0 +1,88 @@
+//===----------------------------------------------------------------------===//
+//
+//                     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.
+//
+//===----------------------------------------------------------------------===//
+
+// <algorithm>
+
+// template<BidirectionalIterator InIter, BidirectionalIterator OutIter>
+//   requires OutputIterator<OutIter, RvalueOf<InIter::reference>::type>
+//   OutIter
+//   move_backward(InIter first, InIter last, OutIter result);
+
+#include <algorithm>
+#include <cassert>
+#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
+#include <memory>
+#endif
+
+#include "test_iterators.h"
+
+template <class InIter, class OutIter>
+void
+test()
+{
+    const unsigned N = 1000;
+    int ia[N];
+    for (unsigned i = 0; i < N; ++i)
+        ia[i] = i;
+    int ib[N] = {0};
+
+    OutIter r = std::move_backward(InIter(ia), InIter(ia+N), OutIter(ib+N));
+    assert(base(r) == ib);
+    for (unsigned i = 0; i < N; ++i)
+        assert(ia[i] == ib[i]);
+}
+
+#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
+
+template <class InIter, class OutIter>
+void
+test1()
+{
+    const unsigned N = 100;
+    std::unique_ptr<int> ia[N];
+    for (unsigned i = 0; i < N; ++i)
+        ia[i].reset(new int(i));
+    std::unique_ptr<int> ib[N];
+
+    OutIter r = std::move_backward(InIter(ia), InIter(ia+N), OutIter(ib+N));
+    assert(base(r) == ib);
+    for (unsigned i = 0; i < N; ++i)
+        assert(*ib[i] == i);
+}
+
+#endif  // _LIBCPP_HAS_NO_RVALUE_REFERENCES
+
+int main()
+{
+    test<bidirectional_iterator<const int*>, bidirectional_iterator<int*> >();
+    test<bidirectional_iterator<const int*>, random_access_iterator<int*> >();
+    test<bidirectional_iterator<const int*>, int*>();
+
+    test<random_access_iterator<const int*>, bidirectional_iterator<int*> >();
+    test<random_access_iterator<const int*>, random_access_iterator<int*> >();
+    test<random_access_iterator<const int*>, int*>();
+
+    test<const int*, bidirectional_iterator<int*> >();
+    test<const int*, random_access_iterator<int*> >();
+    test<const int*, int*>();
+
+#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
+    test1<bidirectional_iterator<std::unique_ptr<int>*>, bidirectional_iterator<std::unique_ptr<int>*> >();
+    test1<bidirectional_iterator<std::unique_ptr<int>*>, random_access_iterator<std::unique_ptr<int>*> >();
+    test1<bidirectional_iterator<std::unique_ptr<int>*>, std::unique_ptr<int>*>();
+
+    test1<random_access_iterator<std::unique_ptr<int>*>, bidirectional_iterator<std::unique_ptr<int>*> >();
+    test1<random_access_iterator<std::unique_ptr<int>*>, random_access_iterator<std::unique_ptr<int>*> >();
+    test1<random_access_iterator<std::unique_ptr<int>*>, std::unique_ptr<int>*>();
+
+    test1<std::unique_ptr<int>*, bidirectional_iterator<std::unique_ptr<int>*> >();
+    test1<std::unique_ptr<int>*, random_access_iterator<std::unique_ptr<int>*> >();
+    test1<std::unique_ptr<int>*, std::unique_ptr<int>*>();
+#endif  // _LIBCPP_HAS_NO_RVALUE_REFERENCES
+}

Added: libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.partitions/is_partitioned.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.partitions/is_partitioned.pass.cpp?rev=224658&view=auto
==============================================================================
--- libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.partitions/is_partitioned.pass.cpp (added)
+++ libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.partitions/is_partitioned.pass.cpp Fri Dec 19 19:40:03 2014
@@ -0,0 +1,58 @@
+//===----------------------------------------------------------------------===//
+//
+//                     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.
+//
+//===----------------------------------------------------------------------===//
+
+// <algorithm>
+
+// template <class InputIterator, class Predicate>
+//     bool
+//     is_partitioned(InputIterator first, InputIterator last, Predicate pred);
+
+#include <algorithm>
+#include <cassert>
+
+#include "test_iterators.h"
+
+struct is_odd
+{
+    bool operator()(const int& i) const {return i & 1;}
+};
+
+int main()
+{
+    {
+        const int ia[] = {1, 2, 3, 4, 5, 6};
+        assert(!std::is_partitioned(input_iterator<const int*>(std::begin(ia)),
+                                    input_iterator<const int*>(std::end(ia)),
+                                    is_odd()));
+    }
+    {
+        const int ia[] = {1, 3, 5, 2, 4, 6};
+        assert( std::is_partitioned(input_iterator<const int*>(std::begin(ia)),
+                                    input_iterator<const int*>(std::end(ia)),
+                                    is_odd()));
+    }
+    {
+        const int ia[] = {2, 4, 6, 1, 3, 5};
+        assert(!std::is_partitioned(input_iterator<const int*>(std::begin(ia)),
+                                    input_iterator<const int*>(std::end(ia)),
+                                    is_odd()));
+    }
+    {
+        const int ia[] = {1, 3, 5, 2, 4, 6, 7};
+        assert(!std::is_partitioned(input_iterator<const int*>(std::begin(ia)),
+                                    input_iterator<const int*>(std::end(ia)),
+                                    is_odd()));
+    }
+    {
+        const int ia[] = {1, 3, 5, 2, 4, 6, 7};
+        assert( std::is_partitioned(input_iterator<const int*>(std::begin(ia)),
+                                    input_iterator<const int*>(std::begin(ia)),
+                                    is_odd()));
+    }
+}

Added: libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.partitions/partition.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.partitions/partition.pass.cpp?rev=224658&view=auto
==============================================================================
--- libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.partitions/partition.pass.cpp (added)
+++ libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.partitions/partition.pass.cpp Fri Dec 19 19:40:03 2014
@@ -0,0 +1,104 @@
+//===----------------------------------------------------------------------===//
+//
+//                     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.
+//
+//===----------------------------------------------------------------------===//
+
+// <algorithm>
+
+// template<BidirectionalIterator Iter, Predicate<auto, Iter::value_type> Pred>
+//   requires ShuffleIterator<Iter>
+//         && CopyConstructible<Pred>
+//   Iter
+//   partition(Iter first, Iter last, Pred pred);
+
+#include <algorithm>
+#include <cassert>
+#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
+#include <memory>
+#endif
+
+#include "test_iterators.h"
+
+struct is_odd
+{
+    bool operator()(const int& i) const {return i & 1;}
+};
+
+template <class Iter>
+void
+test()
+{
+    // check mixed
+    int ia[] = {1, 2, 3, 4, 5, 6, 7, 8 ,9};
+    const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+    Iter r = std::partition(Iter(ia), Iter(ia + sa), is_odd());
+    assert(base(r) == ia + 5);
+    for (int* i = ia; i < base(r); ++i)
+        assert(is_odd()(*i));
+    for (int* i = base(r); i < ia+sa; ++i)
+        assert(!is_odd()(*i));
+    // check empty
+    r = std::partition(Iter(ia), Iter(ia), is_odd());
+    assert(base(r) == ia);
+    // check all false
+    for (unsigned i = 0; i < sa; ++i)
+        ia[i] = 2*i;
+    r = std::partition(Iter(ia), Iter(ia+sa), is_odd());
+    assert(base(r) == ia);
+    // check all true
+    for (unsigned i = 0; i < sa; ++i)
+        ia[i] = 2*i+1;
+    r = std::partition(Iter(ia), Iter(ia+sa), is_odd());
+    assert(base(r) == ia+sa);
+    // check all true but last
+    for (unsigned i = 0; i < sa; ++i)
+        ia[i] = 2*i+1;
+    ia[sa-1] = 10;
+    r = std::partition(Iter(ia), Iter(ia+sa), is_odd());
+    assert(base(r) == ia+sa-1);
+    for (int* i = ia; i < base(r); ++i)
+        assert(is_odd()(*i));
+    for (int* i = base(r); i < ia+sa; ++i)
+        assert(!is_odd()(*i));
+    // check all true but first
+    for (unsigned i = 0; i < sa; ++i)
+        ia[i] = 2*i+1;
+    ia[0] = 10;
+    r = std::partition(Iter(ia), Iter(ia+sa), is_odd());
+    assert(base(r) == ia+sa-1);
+    for (int* i = ia; i < base(r); ++i)
+        assert(is_odd()(*i));
+    for (int* i = base(r); i < ia+sa; ++i)
+        assert(!is_odd()(*i));
+    // check all false but last
+    for (unsigned i = 0; i < sa; ++i)
+        ia[i] = 2*i;
+    ia[sa-1] = 11;
+    r = std::partition(Iter(ia), Iter(ia+sa), is_odd());
+    assert(base(r) == ia+1);
+    for (int* i = ia; i < base(r); ++i)
+        assert(is_odd()(*i));
+    for (int* i = base(r); i < ia+sa; ++i)
+        assert(!is_odd()(*i));
+    // check all false but first
+    for (unsigned i = 0; i < sa; ++i)
+        ia[i] = 2*i;
+    ia[0] = 11;
+    r = std::partition(Iter(ia), Iter(ia+sa), is_odd());
+    assert(base(r) == ia+1);
+    for (int* i = ia; i < base(r); ++i)
+        assert(is_odd()(*i));
+    for (int* i = base(r); i < ia+sa; ++i)
+        assert(!is_odd()(*i));
+}
+
+int main()
+{
+    test<bidirectional_iterator<int*> >();
+    test<random_access_iterator<int*> >();
+    test<int*>();
+}

Added: libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.partitions/partition_copy.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.partitions/partition_copy.pass.cpp?rev=224658&view=auto
==============================================================================
--- libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.partitions/partition_copy.pass.cpp (added)
+++ libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.partitions/partition_copy.pass.cpp Fri Dec 19 19:40:03 2014
@@ -0,0 +1,50 @@
+//===----------------------------------------------------------------------===//
+//
+//                     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.
+//
+//===----------------------------------------------------------------------===//
+
+// <algorithm>
+
+// template <class InputIterator, class OutputIterator1,
+//           class OutputIterator2, class Predicate>
+//     pair<OutputIterator1, OutputIterator2>
+//     partition_copy(InputIterator first, InputIterator last,
+//                    OutputIterator1 out_true, OutputIterator2 out_false,
+//                    Predicate pred);
+
+#include <algorithm>
+#include <cassert>
+
+#include "test_iterators.h"
+
+struct is_odd
+{
+    bool operator()(const int& i) const {return i & 1;}
+};
+
+int main()
+{
+    {
+        const int ia[] = {1, 2, 3, 4, 6, 8, 5, 7};
+        int r1[10] = {0};
+        int r2[10] = {0};
+        typedef std::pair<output_iterator<int*>,  int*> P;
+        P p = std::partition_copy(input_iterator<const int*>(std::begin(ia)),
+                                  input_iterator<const int*>(std::end(ia)),
+                                  output_iterator<int*>(r1), r2, is_odd());
+        assert(p.first.base() == r1 + 4);
+        assert(r1[0] == 1);
+        assert(r1[1] == 3);
+        assert(r1[2] == 5);
+        assert(r1[3] == 7);
+        assert(p.second == r2 + 4);
+        assert(r2[0] == 2);
+        assert(r2[1] == 4);
+        assert(r2[2] == 6);
+        assert(r2[3] == 8);
+    }
+}

Added: libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.partitions/partition_point.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.partitions/partition_point.pass.cpp?rev=224658&view=auto
==============================================================================
--- libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.partitions/partition_point.pass.cpp (added)
+++ libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.partitions/partition_point.pass.cpp Fri Dec 19 19:40:03 2014
@@ -0,0 +1,76 @@
+//===----------------------------------------------------------------------===//
+//
+//                     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.
+//
+//===----------------------------------------------------------------------===//
+
+// <algorithm>
+
+// template<class ForwardIterator, class Predicate>
+//     ForwardIterator
+//     partition_point(ForwardIterator first, ForwardIterator last, Predicate pred);
+
+#include <algorithm>
+#include <cassert>
+
+#include "test_iterators.h"
+
+struct is_odd
+{
+    bool operator()(const int& i) const {return i & 1;}
+};
+
+int main()
+{
+    {
+        const int ia[] = {2, 4, 6, 8, 10};
+        assert(std::partition_point(forward_iterator<const int*>(std::begin(ia)),
+                                    forward_iterator<const int*>(std::end(ia)),
+                                    is_odd()) == forward_iterator<const int*>(ia));
+    }
+    {
+        const int ia[] = {1, 2, 4, 6, 8};
+        assert(std::partition_point(forward_iterator<const int*>(std::begin(ia)),
+                                    forward_iterator<const int*>(std::end(ia)),
+                                    is_odd()) == forward_iterator<const int*>(ia + 1));
+    }
+    {
+        const int ia[] = {1, 3, 2, 4, 6};
+        assert(std::partition_point(forward_iterator<const int*>(std::begin(ia)),
+                                    forward_iterator<const int*>(std::end(ia)),
+                                    is_odd()) == forward_iterator<const int*>(ia + 2));
+    }
+    {
+        const int ia[] = {1, 3, 5, 2, 4, 6};
+        assert(std::partition_point(forward_iterator<const int*>(std::begin(ia)),
+                                    forward_iterator<const int*>(std::end(ia)),
+                                    is_odd()) == forward_iterator<const int*>(ia + 3));
+    }
+    {
+        const int ia[] = {1, 3, 5, 7, 2, 4};
+        assert(std::partition_point(forward_iterator<const int*>(std::begin(ia)),
+                                    forward_iterator<const int*>(std::end(ia)),
+                                    is_odd()) == forward_iterator<const int*>(ia + 4));
+    }
+    {
+        const int ia[] = {1, 3, 5, 7, 9, 2};
+        assert(std::partition_point(forward_iterator<const int*>(std::begin(ia)),
+                                    forward_iterator<const int*>(std::end(ia)),
+                                    is_odd()) == forward_iterator<const int*>(ia + 5));
+    }
+    {
+        const int ia[] = {1, 3, 5, 7, 9, 11};
+        assert(std::partition_point(forward_iterator<const int*>(std::begin(ia)),
+                                    forward_iterator<const int*>(std::end(ia)),
+                                    is_odd()) == forward_iterator<const int*>(ia + 6));
+    }
+    {
+        const int ia[] = {1, 3, 5, 2, 4, 6, 7};
+        assert(std::partition_point(forward_iterator<const int*>(std::begin(ia)),
+                                    forward_iterator<const int*>(std::begin(ia)),
+                                    is_odd()) == forward_iterator<const int*>(ia));
+    }
+}

Added: libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.partitions/stable_partition.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.partitions/stable_partition.pass.cpp?rev=224658&view=auto
==============================================================================
--- libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.partitions/stable_partition.pass.cpp (added)
+++ libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.partitions/stable_partition.pass.cpp Fri Dec 19 19:40:03 2014
@@ -0,0 +1,314 @@
+//===----------------------------------------------------------------------===//
+//
+//                     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.
+//
+//===----------------------------------------------------------------------===//
+
+// <algorithm>
+
+// template<BidirectionalIterator Iter, Predicate<auto, Iter::value_type> Pred>
+//   requires ShuffleIterator<Iter>
+//         && CopyConstructible<Pred>
+//   Iter
+//   stable_partition(Iter first, Iter last, Pred pred);
+
+#include <algorithm>
+#include <cassert>
+#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
+#include <memory>
+#endif
+
+#include "test_iterators.h"
+
+struct is_odd
+{
+    bool operator()(const int& i) const {return i & 1;}
+};
+
+struct odd_first
+{
+    bool operator()(const std::pair<int,int>& p) const
+        {return p.first & 1;}
+};
+
+template <class Iter>
+void
+test()
+{
+    {  // check mixed
+    typedef std::pair<int,int> P;
+    P array[] =
+    {
+        P(0, 1),
+        P(0, 2),
+        P(1, 1),
+        P(1, 2),
+        P(2, 1),
+        P(2, 2),
+        P(3, 1),
+        P(3, 2),
+        P(4, 1),
+        P(4, 2)
+    };
+    const unsigned size = sizeof(array)/sizeof(array[0]);
+    Iter r = std::stable_partition(Iter(array), Iter(array+size), odd_first());
+    assert(base(r) == array + 4);
+    assert(array[0] == P(1, 1));
+    assert(array[1] == P(1, 2));
+    assert(array[2] == P(3, 1));
+    assert(array[3] == P(3, 2));
+    assert(array[4] == P(0, 1));
+    assert(array[5] == P(0, 2));
+    assert(array[6] == P(2, 1));
+    assert(array[7] == P(2, 2));
+    assert(array[8] == P(4, 1));
+    assert(array[9] == P(4, 2));
+    }
+    {
+    typedef std::pair<int,int> P;
+    P array[] =
+    {
+        P(0, 1),
+        P(0, 2),
+        P(1, 1),
+        P(1, 2),
+        P(2, 1),
+        P(2, 2),
+        P(3, 1),
+        P(3, 2),
+        P(4, 1),
+        P(4, 2)
+    };
+    const unsigned size = sizeof(array)/sizeof(array[0]);
+    Iter r = std::stable_partition(Iter(array), Iter(array+size), odd_first());
+    assert(base(r) == array + 4);
+    assert(array[0] == P(1, 1));
+    assert(array[1] == P(1, 2));
+    assert(array[2] == P(3, 1));
+    assert(array[3] == P(3, 2));
+    assert(array[4] == P(0, 1));
+    assert(array[5] == P(0, 2));
+    assert(array[6] == P(2, 1));
+    assert(array[7] == P(2, 2));
+    assert(array[8] == P(4, 1));
+    assert(array[9] == P(4, 2));
+    // check empty
+    r = std::stable_partition(Iter(array), Iter(array), odd_first());
+    assert(base(r) == array);
+    // check one true
+    r = std::stable_partition(Iter(array), Iter(array+1), odd_first());
+    assert(base(r) == array+1);
+    assert(array[0] == P(1, 1));
+    // check one false
+    r = std::stable_partition(Iter(array+4), Iter(array+5), odd_first());
+    assert(base(r) == array+4);
+    assert(array[4] == P(0, 1));
+    }
+    {  // check all false
+    typedef std::pair<int,int> P;
+    P array[] =
+    {
+        P(0, 1),
+        P(0, 2),
+        P(2, 1),
+        P(2, 2),
+        P(4, 1),
+        P(4, 2),
+        P(6, 1),
+        P(6, 2),
+        P(8, 1),
+        P(8, 2)
+    };
+    const unsigned size = sizeof(array)/sizeof(array[0]);
+    Iter r = std::stable_partition(Iter(array), Iter(array+size), odd_first());
+    assert(base(r) == array);
+    assert(array[0] == P(0, 1));
+    assert(array[1] == P(0, 2));
+    assert(array[2] == P(2, 1));
+    assert(array[3] == P(2, 2));
+    assert(array[4] == P(4, 1));
+    assert(array[5] == P(4, 2));
+    assert(array[6] == P(6, 1));
+    assert(array[7] == P(6, 2));
+    assert(array[8] == P(8, 1));
+    assert(array[9] == P(8, 2));
+    }
+    {  // check all true
+    typedef std::pair<int,int> P;
+    P array[] =
+    {
+        P(1, 1),
+        P(1, 2),
+        P(3, 1),
+        P(3, 2),
+        P(5, 1),
+        P(5, 2),
+        P(7, 1),
+        P(7, 2),
+        P(9, 1),
+        P(9, 2)
+    };
+    const unsigned size = sizeof(array)/sizeof(array[0]);
+    Iter r = std::stable_partition(Iter(array), Iter(array+size), odd_first());
+    assert(base(r) == array + size);
+    assert(array[0] == P(1, 1));
+    assert(array[1] == P(1, 2));
+    assert(array[2] == P(3, 1));
+    assert(array[3] == P(3, 2));
+    assert(array[4] == P(5, 1));
+    assert(array[5] == P(5, 2));
+    assert(array[6] == P(7, 1));
+    assert(array[7] == P(7, 2));
+    assert(array[8] == P(9, 1));
+    assert(array[9] == P(9, 2));
+    }
+    {  // check all false but first true
+    typedef std::pair<int,int> P;
+    P array[] =
+    {
+        P(1, 1),
+        P(0, 2),
+        P(2, 1),
+        P(2, 2),
+        P(4, 1),
+        P(4, 2),
+        P(6, 1),
+        P(6, 2),
+        P(8, 1),
+        P(8, 2)
+    };
+    const unsigned size = sizeof(array)/sizeof(array[0]);
+    Iter r = std::stable_partition(Iter(array), Iter(array+size), odd_first());
+    assert(base(r) == array + 1);
+    assert(array[0] == P(1, 1));
+    assert(array[1] == P(0, 2));
+    assert(array[2] == P(2, 1));
+    assert(array[3] == P(2, 2));
+    assert(array[4] == P(4, 1));
+    assert(array[5] == P(4, 2));
+    assert(array[6] == P(6, 1));
+    assert(array[7] == P(6, 2));
+    assert(array[8] == P(8, 1));
+    assert(array[9] == P(8, 2));
+    }
+    {  // check all false but last true
+    typedef std::pair<int,int> P;
+    P array[] =
+    {
+        P(0, 1),
+        P(0, 2),
+        P(2, 1),
+        P(2, 2),
+        P(4, 1),
+        P(4, 2),
+        P(6, 1),
+        P(6, 2),
+        P(8, 1),
+        P(1, 2)
+    };
+    const unsigned size = sizeof(array)/sizeof(array[0]);
+    Iter r = std::stable_partition(Iter(array), Iter(array+size), odd_first());
+    assert(base(r) == array + 1);
+    assert(array[0] == P(1, 2));
+    assert(array[1] == P(0, 1));
+    assert(array[2] == P(0, 2));
+    assert(array[3] == P(2, 1));
+    assert(array[4] == P(2, 2));
+    assert(array[5] == P(4, 1));
+    assert(array[6] == P(4, 2));
+    assert(array[7] == P(6, 1));
+    assert(array[8] == P(6, 2));
+    assert(array[9] == P(8, 1));
+    }
+    {  // check all true but first false
+    typedef std::pair<int,int> P;
+    P array[] =
+    {
+        P(0, 1),
+        P(1, 2),
+        P(3, 1),
+        P(3, 2),
+        P(5, 1),
+        P(5, 2),
+        P(7, 1),
+        P(7, 2),
+        P(9, 1),
+        P(9, 2)
+    };
+    const unsigned size = sizeof(array)/sizeof(array[0]);
+    Iter r = std::stable_partition(Iter(array), Iter(array+size), odd_first());
+    assert(base(r) == array + size-1);
+    assert(array[0] == P(1, 2));
+    assert(array[1] == P(3, 1));
+    assert(array[2] == P(3, 2));
+    assert(array[3] == P(5, 1));
+    assert(array[4] == P(5, 2));
+    assert(array[5] == P(7, 1));
+    assert(array[6] == P(7, 2));
+    assert(array[7] == P(9, 1));
+    assert(array[8] == P(9, 2));
+    assert(array[9] == P(0, 1));
+    }
+    {  // check all true but last false
+    typedef std::pair<int,int> P;
+    P array[] =
+    {
+        P(1, 1),
+        P(1, 2),
+        P(3, 1),
+        P(3, 2),
+        P(5, 1),
+        P(5, 2),
+        P(7, 1),
+        P(7, 2),
+        P(9, 1),
+        P(0, 2)
+    };
+    const unsigned size = sizeof(array)/sizeof(array[0]);
+    Iter r = std::stable_partition(Iter(array), Iter(array+size), odd_first());
+    assert(base(r) == array + size-1);
+    assert(array[0] == P(1, 1));
+    assert(array[1] == P(1, 2));
+    assert(array[2] == P(3, 1));
+    assert(array[3] == P(3, 2));
+    assert(array[4] == P(5, 1));
+    assert(array[5] == P(5, 2));
+    assert(array[6] == P(7, 1));
+    assert(array[7] == P(7, 2));
+    assert(array[8] == P(9, 1));
+    assert(array[9] == P(0, 2));
+    }
+}
+
+#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
+
+struct is_null
+{
+    template <class P>
+        bool operator()(const P& p) {return p == 0;}
+};
+
+template <class Iter>
+void
+test1()
+{
+    const unsigned size = 5;
+    std::unique_ptr<int> array[size];
+    Iter r = std::stable_partition(Iter(array), Iter(array+size), is_null());
+}
+
+#endif  // _LIBCPP_HAS_NO_RVALUE_REFERENCES
+
+int main()
+{
+    test<bidirectional_iterator<std::pair<int,int>*> >();
+    test<random_access_iterator<std::pair<int,int>*> >();
+    test<std::pair<int,int>*>();
+
+#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
+    test1<bidirectional_iterator<std::unique_ptr<int>*> >();
+#endif
+}

Added: libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.random.shuffle/random_shuffle.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.random.shuffle/random_shuffle.pass.cpp?rev=224658&view=auto
==============================================================================
--- libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.random.shuffle/random_shuffle.pass.cpp (added)
+++ libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.random.shuffle/random_shuffle.pass.cpp Fri Dec 19 19:40:03 2014
@@ -0,0 +1,30 @@
+//===----------------------------------------------------------------------===//
+//
+//                     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.
+//
+//===----------------------------------------------------------------------===//
+
+// <algorithm>
+
+// template<RandomAccessIterator Iter>
+//   requires ShuffleIterator<Iter>
+//   void
+//   random_shuffle(Iter first, Iter last);
+
+#include <algorithm>
+#include <cassert>
+
+int main()
+{
+    int ia[] = {1, 2, 3, 4};
+    int ia1[] = {1, 4, 3, 2};
+    int ia2[] = {4, 1, 2, 3};
+    const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+    std::random_shuffle(ia, ia+sa);
+    assert(std::equal(ia, ia+sa, ia1));
+    std::random_shuffle(ia, ia+sa);
+    assert(std::equal(ia, ia+sa, ia2));
+}

Added: libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.random.shuffle/random_shuffle_rand.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.random.shuffle/random_shuffle_rand.pass.cpp?rev=224658&view=auto
==============================================================================
--- libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.random.shuffle/random_shuffle_rand.pass.cpp (added)
+++ libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.random.shuffle/random_shuffle_rand.pass.cpp Fri Dec 19 19:40:03 2014
@@ -0,0 +1,37 @@
+//===----------------------------------------------------------------------===//
+//
+//                     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.
+//
+//===----------------------------------------------------------------------===//
+
+// <algorithm>
+
+// template<RandomAccessIterator Iter, Callable<auto, Iter::difference_type> Rand>
+//   requires ShuffleIterator<Iter>
+//         && Convertible<Rand::result_type, Iter::difference_type>
+//   void
+//   random_shuffle(Iter first, Iter last, Rand&& rand);
+
+#include <algorithm>
+#include <cassert>
+
+struct gen
+{
+    int operator()(int n)
+    {
+        return n-1;
+    }
+};
+
+int main()
+{
+    int ia[] = {1, 2, 3, 4};
+    int ia1[] = {4, 1, 2, 3};
+    const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+    gen r;
+    std::random_shuffle(ia, ia+sa, r);
+    assert(std::equal(ia, ia+sa, ia1));
+}

Added: libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.random.shuffle/random_shuffle_urng.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.random.shuffle/random_shuffle_urng.pass.cpp?rev=224658&view=auto
==============================================================================
--- libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.random.shuffle/random_shuffle_urng.pass.cpp (added)
+++ libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.random.shuffle/random_shuffle_urng.pass.cpp Fri Dec 19 19:40:03 2014
@@ -0,0 +1,31 @@
+//===----------------------------------------------------------------------===//
+//
+//                     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.
+//
+//===----------------------------------------------------------------------===//
+
+// <algorithm>
+
+// template<class RandomAccessIterator, class UniformRandomNumberGenerator>
+//     void shuffle(RandomAccessIterator first, RandomAccessIterator last,
+//                  UniformRandomNumberGenerator& g);
+
+#include <algorithm>
+#include <random>
+#include <cassert>
+
+int main()
+{
+    int ia[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
+    int ia1[] = {2, 7, 1, 4, 3, 6, 5, 10, 9, 8};
+    int ia2[] = {1, 8, 3, 4, 6, 9, 5, 7, 2, 10};
+    const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+    std::minstd_rand g;
+    std::shuffle(ia, ia+sa, g);
+    assert(std::equal(ia, ia+sa, ia1));
+    std::shuffle(ia, ia+sa, g);
+    assert(std::equal(ia, ia+sa, ia2));
+}

Added: libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.remove/remove.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.remove/remove.pass.cpp?rev=224658&view=auto
==============================================================================
--- libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.remove/remove.pass.cpp (added)
+++ libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.remove/remove.pass.cpp Fri Dec 19 19:40:03 2014
@@ -0,0 +1,83 @@
+//===----------------------------------------------------------------------===//
+//
+//                     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.
+//
+//===----------------------------------------------------------------------===//
+
+// <algorithm>
+
+// template<ForwardIterator Iter, class T>
+//   requires OutputIterator<Iter, RvalueOf<Iter::reference>::type>
+//         && HasEqualTo<Iter::value_type, T>
+//   Iter
+//   remove(Iter first, Iter last, const T& value);
+
+#include <algorithm>
+#include <cassert>
+#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
+#include <memory>
+#endif
+
+#include "test_iterators.h"
+
+template <class Iter>
+void
+test()
+{
+    int ia[] = {0, 1, 2, 3, 4, 2, 3, 4, 2};
+    const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+    Iter r = std::remove(Iter(ia), Iter(ia+sa), 2);
+    assert(base(r) == ia + sa-3);
+    assert(ia[0] == 0);
+    assert(ia[1] == 1);
+    assert(ia[2] == 3);
+    assert(ia[3] == 4);
+    assert(ia[4] == 3);
+    assert(ia[5] == 4);
+}
+
+#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
+
+template <class Iter>
+void
+test1()
+{
+    const unsigned sa = 9;
+    std::unique_ptr<int> ia[sa];
+    ia[0].reset(new int(0));
+    ia[1].reset(new int(1));
+    ia[3].reset(new int(3));
+    ia[4].reset(new int(4));
+    ia[6].reset(new int(3));
+    ia[7].reset(new int(4));
+    Iter r = std::remove(Iter(ia), Iter(ia+sa), std::unique_ptr<int>());
+    assert(base(r) == ia + sa-3);
+    assert(*ia[0] == 0);
+    assert(*ia[1] == 1);
+    assert(*ia[2] == 3);
+    assert(*ia[3] == 4);
+    assert(*ia[4] == 3);
+    assert(*ia[5] == 4);
+}
+
+#endif  // _LIBCPP_HAS_NO_RVALUE_REFERENCES
+
+int main()
+{
+    test<forward_iterator<int*> >();
+    test<bidirectional_iterator<int*> >();
+    test<random_access_iterator<int*> >();
+    test<int*>();
+
+#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
+
+    test1<forward_iterator<std::unique_ptr<int>*> >();
+    test1<bidirectional_iterator<std::unique_ptr<int>*> >();
+    test1<random_access_iterator<std::unique_ptr<int>*> >();
+    test1<std::unique_ptr<int>*>();
+
+#endif  // _LIBCPP_HAS_NO_RVALUE_REFERENCES
+}

Added: libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.remove/remove_copy.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.remove/remove_copy.pass.cpp?rev=224658&view=auto
==============================================================================
--- libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.remove/remove_copy.pass.cpp (added)
+++ libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.remove/remove_copy.pass.cpp Fri Dec 19 19:40:03 2014
@@ -0,0 +1,70 @@
+//===----------------------------------------------------------------------===//
+//
+//                     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.
+//
+//===----------------------------------------------------------------------===//
+
+// <algorithm>
+
+// template<InputIterator InIter, OutputIterator<auto, InIter::reference> OutIter, class T>
+//   requires HasEqualTo<InIter::value_type, T>
+//   OutIter
+//   remove_copy(InIter first, InIter last, OutIter result, const T& value);
+
+#include <algorithm>
+#include <cassert>
+
+#include "test_iterators.h"
+
+template <class InIter, class OutIter>
+void
+test()
+{
+    int ia[] = {0, 1, 2, 3, 4, 2, 3, 4, 2};
+    const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+    int ib[sa];
+    OutIter r = std::remove_copy(InIter(ia), InIter(ia+sa), OutIter(ib), 2);
+    assert(base(r) == ib + sa-3);
+    assert(ib[0] == 0);
+    assert(ib[1] == 1);
+    assert(ib[2] == 3);
+    assert(ib[3] == 4);
+    assert(ib[4] == 3);
+    assert(ib[5] == 4);
+}
+
+int main()
+{
+    test<input_iterator<const int*>, output_iterator<int*> >();
+    test<input_iterator<const int*>, forward_iterator<int*> >();
+    test<input_iterator<const int*>, bidirectional_iterator<int*> >();
+    test<input_iterator<const int*>, random_access_iterator<int*> >();
+    test<input_iterator<const int*>, int*>();
+
+    test<forward_iterator<const int*>, output_iterator<int*> >();
+    test<forward_iterator<const int*>, forward_iterator<int*> >();
+    test<forward_iterator<const int*>, bidirectional_iterator<int*> >();
+    test<forward_iterator<const int*>, random_access_iterator<int*> >();
+    test<forward_iterator<const int*>, int*>();
+
+    test<bidirectional_iterator<const int*>, output_iterator<int*> >();
+    test<bidirectional_iterator<const int*>, forward_iterator<int*> >();
+    test<bidirectional_iterator<const int*>, bidirectional_iterator<int*> >();
+    test<bidirectional_iterator<const int*>, random_access_iterator<int*> >();
+    test<bidirectional_iterator<const int*>, int*>();
+
+    test<random_access_iterator<const int*>, output_iterator<int*> >();
+    test<random_access_iterator<const int*>, forward_iterator<int*> >();
+    test<random_access_iterator<const int*>, bidirectional_iterator<int*> >();
+    test<random_access_iterator<const int*>, random_access_iterator<int*> >();
+    test<random_access_iterator<const int*>, int*>();
+
+    test<const int*, output_iterator<int*> >();
+    test<const int*, forward_iterator<int*> >();
+    test<const int*, bidirectional_iterator<int*> >();
+    test<const int*, random_access_iterator<int*> >();
+    test<const int*, int*>();
+}

Added: libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.remove/remove_copy_if.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.remove/remove_copy_if.pass.cpp?rev=224658&view=auto
==============================================================================
--- libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.remove/remove_copy_if.pass.cpp (added)
+++ libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.remove/remove_copy_if.pass.cpp Fri Dec 19 19:40:03 2014
@@ -0,0 +1,73 @@
+//===----------------------------------------------------------------------===//
+//
+//                     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.
+//
+//===----------------------------------------------------------------------===//
+
+// <algorithm>
+
+// template<InputIterator InIter, OutputIterator<auto, InIter::reference> OutIter,
+//          Predicate<auto, InIter::value_type> Pred>
+//   requires CopyConstructible<Pred>
+//   OutIter
+//   remove_copy_if(InIter first, InIter last, OutIter result, Pred pred);
+
+#include <algorithm>
+#include <functional>
+#include <cassert>
+
+#include "test_iterators.h"
+
+template <class InIter, class OutIter>
+void
+test()
+{
+    int ia[] = {0, 1, 2, 3, 4, 2, 3, 4, 2};
+    const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+    int ib[sa];
+    OutIter r = std::remove_copy_if(InIter(ia), InIter(ia+sa), OutIter(ib),
+                                    std::bind2nd(std::equal_to<int>(), 2));
+    assert(base(r) == ib + sa-3);
+    assert(ib[0] == 0);
+    assert(ib[1] == 1);
+    assert(ib[2] == 3);
+    assert(ib[3] == 4);
+    assert(ib[4] == 3);
+    assert(ib[5] == 4);
+}
+
+int main()
+{
+    test<input_iterator<const int*>, output_iterator<int*> >();
+    test<input_iterator<const int*>, forward_iterator<int*> >();
+    test<input_iterator<const int*>, bidirectional_iterator<int*> >();
+    test<input_iterator<const int*>, random_access_iterator<int*> >();
+    test<input_iterator<const int*>, int*>();
+
+    test<forward_iterator<const int*>, output_iterator<int*> >();
+    test<forward_iterator<const int*>, forward_iterator<int*> >();
+    test<forward_iterator<const int*>, bidirectional_iterator<int*> >();
+    test<forward_iterator<const int*>, random_access_iterator<int*> >();
+    test<forward_iterator<const int*>, int*>();
+
+    test<bidirectional_iterator<const int*>, output_iterator<int*> >();
+    test<bidirectional_iterator<const int*>, forward_iterator<int*> >();
+    test<bidirectional_iterator<const int*>, bidirectional_iterator<int*> >();
+    test<bidirectional_iterator<const int*>, random_access_iterator<int*> >();
+    test<bidirectional_iterator<const int*>, int*>();
+
+    test<random_access_iterator<const int*>, output_iterator<int*> >();
+    test<random_access_iterator<const int*>, forward_iterator<int*> >();
+    test<random_access_iterator<const int*>, bidirectional_iterator<int*> >();
+    test<random_access_iterator<const int*>, random_access_iterator<int*> >();
+    test<random_access_iterator<const int*>, int*>();
+
+    test<const int*, output_iterator<int*> >();
+    test<const int*, forward_iterator<int*> >();
+    test<const int*, bidirectional_iterator<int*> >();
+    test<const int*, random_access_iterator<int*> >();
+    test<const int*, int*>();
+}

Added: libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.remove/remove_if.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.remove/remove_if.pass.cpp?rev=224658&view=auto
==============================================================================
--- libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.remove/remove_if.pass.cpp (added)
+++ libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.remove/remove_if.pass.cpp Fri Dec 19 19:40:03 2014
@@ -0,0 +1,98 @@
+//===----------------------------------------------------------------------===//
+//
+//                     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.
+//
+//===----------------------------------------------------------------------===//
+
+// <algorithm>
+
+// template<ForwardIterator Iter, Predicate<auto, Iter::value_type> Pred>
+//   requires OutputIterator<Iter, RvalueOf<Iter::reference>::type>
+//         && CopyConstructible<Pred>
+//   Iter
+//   remove_if(Iter first, Iter last, Pred pred);
+
+#include <algorithm>
+#include <functional>
+#include <cassert>
+#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
+#include <memory>
+#endif
+
+#include "test_iterators.h"
+#include "counting_predicates.hpp"
+
+bool equal2 ( int i ) { return i == 2; }
+
+template <class Iter>
+void
+test()
+{
+    int ia[] = {0, 1, 2, 3, 4, 2, 3, 4, 2};
+    const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+//     int* r = std::remove_if(ia, ia+sa, std::bind2nd(std::equal_to<int>(), 2));
+    unary_counting_predicate<bool(*)(int), int> cp(equal2);
+    int* r = std::remove_if(ia, ia+sa, std::ref(cp));
+    assert(r == ia + sa-3);
+    assert(ia[0] == 0);
+    assert(ia[1] == 1);
+    assert(ia[2] == 3);
+    assert(ia[3] == 4);
+    assert(ia[4] == 3);
+    assert(ia[5] == 4);
+    assert(cp.count() == sa);
+}
+
+#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
+
+struct pred
+{
+    bool operator()(const std::unique_ptr<int>& i) {return *i == 2;}
+};
+
+template <class Iter>
+void
+test1()
+{
+    const unsigned sa = 9;
+    std::unique_ptr<int> ia[sa];
+    ia[0].reset(new int(0));
+    ia[1].reset(new int(1));
+    ia[2].reset(new int(2));
+    ia[3].reset(new int(3));
+    ia[4].reset(new int(4));
+    ia[5].reset(new int(2));
+    ia[6].reset(new int(3));
+    ia[7].reset(new int(4));
+    ia[8].reset(new int(2));
+    Iter r = std::remove_if(Iter(ia), Iter(ia+sa), pred());
+    assert(base(r) == ia + sa-3);
+    assert(*ia[0] == 0);
+    assert(*ia[1] == 1);
+    assert(*ia[2] == 3);
+    assert(*ia[3] == 4);
+    assert(*ia[4] == 3);
+    assert(*ia[5] == 4);
+}
+
+#endif  // _LIBCPP_HAS_NO_RVALUE_REFERENCES
+
+int main()
+{
+    test<forward_iterator<int*> >();
+    test<bidirectional_iterator<int*> >();
+    test<random_access_iterator<int*> >();
+    test<int*>();
+
+#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
+
+    test1<forward_iterator<std::unique_ptr<int>*> >();
+    test1<bidirectional_iterator<std::unique_ptr<int>*> >();
+    test1<random_access_iterator<std::unique_ptr<int>*> >();
+    test1<std::unique_ptr<int>*>();
+
+#endif  // _LIBCPP_HAS_NO_RVALUE_REFERENCES
+}

Added: libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.replace/replace.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.replace/replace.pass.cpp?rev=224658&view=auto
==============================================================================
--- libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.replace/replace.pass.cpp (added)
+++ libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.replace/replace.pass.cpp Fri Dec 19 19:40:03 2014
@@ -0,0 +1,44 @@
+//===----------------------------------------------------------------------===//
+//
+//                     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.
+//
+//===----------------------------------------------------------------------===//
+
+// <algorithm>
+
+// template<ForwardIterator Iter, class T>
+//   requires OutputIterator<Iter, Iter::reference>
+//         && OutputIterator<Iter, const T&>
+//         && HasEqualTo<Iter::value_type, T>
+//   void
+//   replace(Iter first, Iter last, const T& old_value, const T& new_value);
+
+#include <algorithm>
+#include <cassert>
+
+#include "test_iterators.h"
+
+template <class Iter>
+void
+test()
+{
+    int ia[] = {0, 1, 2, 3, 4};
+    const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+    std::replace(Iter(ia), Iter(ia+sa), 2, 5);
+    assert(ia[0] == 0);
+    assert(ia[1] == 1);
+    assert(ia[2] == 5);
+    assert(ia[3] == 3);
+    assert(ia[4] == 4);
+}
+
+int main()
+{
+    test<forward_iterator<int*> >();
+    test<bidirectional_iterator<int*> >();
+    test<random_access_iterator<int*> >();
+    test<int*>();
+}

Added: libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.replace/replace_copy.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.replace/replace_copy.pass.cpp?rev=224658&view=auto
==============================================================================
--- libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.replace/replace_copy.pass.cpp (added)
+++ libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.replace/replace_copy.pass.cpp Fri Dec 19 19:40:03 2014
@@ -0,0 +1,72 @@
+//===----------------------------------------------------------------------===//
+//
+//                     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.
+//
+//===----------------------------------------------------------------------===//
+
+// <algorithm>
+
+// template<InputIterator InIter, typename OutIter, class T>
+//   requires OutputIterator<OutIter, InIter::reference>
+//         && OutputIterator<OutIter, const T&>
+//         && HasEqualTo<InIter::value_type, T>
+//   OutIter
+//   replace_copy(InIter first, InIter last, OutIter result, const T& old_value,
+//                                                           const T& new_value);
+
+#include <algorithm>
+#include <cassert>
+
+#include "test_iterators.h"
+
+template <class InIter, class OutIter>
+void
+test()
+{
+    int ia[] = {0, 1, 2, 3, 4};
+    const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+    int ib[sa] = {0};
+    OutIter r = std::replace_copy(InIter(ia), InIter(ia+sa), OutIter(ib), 2, 5);
+    assert(base(r) == ib + sa);
+    assert(ib[0] == 0);
+    assert(ib[1] == 1);
+    assert(ib[2] == 5);
+    assert(ib[3] == 3);
+    assert(ib[4] == 4);
+}
+
+int main()
+{
+    test<input_iterator<const int*>, output_iterator<int*> >();
+    test<input_iterator<const int*>, forward_iterator<int*> >();
+    test<input_iterator<const int*>, bidirectional_iterator<int*> >();
+    test<input_iterator<const int*>, random_access_iterator<int*> >();
+    test<input_iterator<const int*>, int*>();
+
+    test<forward_iterator<const int*>, output_iterator<int*> >();
+    test<forward_iterator<const int*>, forward_iterator<int*> >();
+    test<forward_iterator<const int*>, bidirectional_iterator<int*> >();
+    test<forward_iterator<const int*>, random_access_iterator<int*> >();
+    test<forward_iterator<const int*>, int*>();
+
+    test<bidirectional_iterator<const int*>, output_iterator<int*> >();
+    test<bidirectional_iterator<const int*>, forward_iterator<int*> >();
+    test<bidirectional_iterator<const int*>, bidirectional_iterator<int*> >();
+    test<bidirectional_iterator<const int*>, random_access_iterator<int*> >();
+    test<bidirectional_iterator<const int*>, int*>();
+
+    test<random_access_iterator<const int*>, output_iterator<int*> >();
+    test<random_access_iterator<const int*>, forward_iterator<int*> >();
+    test<random_access_iterator<const int*>, bidirectional_iterator<int*> >();
+    test<random_access_iterator<const int*>, random_access_iterator<int*> >();
+    test<random_access_iterator<const int*>, int*>();
+
+    test<const int*, output_iterator<int*> >();
+    test<const int*, forward_iterator<int*> >();
+    test<const int*, bidirectional_iterator<int*> >();
+    test<const int*, random_access_iterator<int*> >();
+    test<const int*, int*>();
+}

Added: libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.replace/replace_copy_if.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.replace/replace_copy_if.pass.cpp?rev=224658&view=auto
==============================================================================
--- libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.replace/replace_copy_if.pass.cpp (added)
+++ libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.replace/replace_copy_if.pass.cpp Fri Dec 19 19:40:03 2014
@@ -0,0 +1,74 @@
+//===----------------------------------------------------------------------===//
+//
+//                     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.
+//
+//===----------------------------------------------------------------------===//
+
+// <algorithm>
+
+// template<InputIterator InIter, typename OutIter,
+//          Predicate<auto, InIter::value_type> Pred, class T>
+//   requires OutputIterator<OutIter, InIter::reference>
+//         && OutputIterator<OutIter, const T&>
+//         && CopyConstructible<Pred>
+//   OutIter
+//   replace_copy_if(InIter first, InIter last, OutIter result, Pred pred, const T& new_value);
+
+#include <algorithm>
+#include <functional>
+#include <cassert>
+
+#include "test_iterators.h"
+
+template <class InIter, class OutIter>
+void
+test()
+{
+    int ia[] = {0, 1, 2, 3, 4};
+    const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+    int ib[sa] = {0};
+    OutIter r = std::replace_copy_if(InIter(ia), InIter(ia+sa), OutIter(ib),
+                                     std::bind2nd(std::equal_to<int>(), 2), 5);
+    assert(base(r) == ib + sa);
+    assert(ib[0] == 0);
+    assert(ib[1] == 1);
+    assert(ib[2] == 5);
+    assert(ib[3] == 3);
+    assert(ib[4] == 4);
+}
+
+int main()
+{
+    test<input_iterator<const int*>, output_iterator<int*> >();
+    test<input_iterator<const int*>, forward_iterator<int*> >();
+    test<input_iterator<const int*>, bidirectional_iterator<int*> >();
+    test<input_iterator<const int*>, random_access_iterator<int*> >();
+    test<input_iterator<const int*>, int*>();
+
+    test<forward_iterator<const int*>, output_iterator<int*> >();
+    test<forward_iterator<const int*>, forward_iterator<int*> >();
+    test<forward_iterator<const int*>, bidirectional_iterator<int*> >();
+    test<forward_iterator<const int*>, random_access_iterator<int*> >();
+    test<forward_iterator<const int*>, int*>();
+
+    test<bidirectional_iterator<const int*>, output_iterator<int*> >();
+    test<bidirectional_iterator<const int*>, forward_iterator<int*> >();
+    test<bidirectional_iterator<const int*>, bidirectional_iterator<int*> >();
+    test<bidirectional_iterator<const int*>, random_access_iterator<int*> >();
+    test<bidirectional_iterator<const int*>, int*>();
+
+    test<random_access_iterator<const int*>, output_iterator<int*> >();
+    test<random_access_iterator<const int*>, forward_iterator<int*> >();
+    test<random_access_iterator<const int*>, bidirectional_iterator<int*> >();
+    test<random_access_iterator<const int*>, random_access_iterator<int*> >();
+    test<random_access_iterator<const int*>, int*>();
+
+    test<const int*, output_iterator<int*> >();
+    test<const int*, forward_iterator<int*> >();
+    test<const int*, bidirectional_iterator<int*> >();
+    test<const int*, random_access_iterator<int*> >();
+    test<const int*, int*>();
+}

Added: libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.replace/replace_if.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.replace/replace_if.pass.cpp?rev=224658&view=auto
==============================================================================
--- libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.replace/replace_if.pass.cpp (added)
+++ libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.replace/replace_if.pass.cpp Fri Dec 19 19:40:03 2014
@@ -0,0 +1,45 @@
+//===----------------------------------------------------------------------===//
+//
+//                     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.
+//
+//===----------------------------------------------------------------------===//
+
+// <algorithm>
+
+// template<ForwardIterator Iter, Predicate<auto, Iter::value_type> Pred, class T>
+//   requires OutputIterator<Iter, Iter::reference>
+//         && OutputIterator<Iter, const T&>
+//         && CopyConstructible<Pred>
+//   void
+//   replace_if(Iter first, Iter last, Pred pred, const T& new_value);
+
+#include <algorithm>
+#include <functional>
+#include <cassert>
+
+#include "test_iterators.h"
+
+template <class Iter>
+void
+test()
+{
+    int ia[] = {0, 1, 2, 3, 4};
+    const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+    std::replace_if(Iter(ia), Iter(ia+sa), std::bind2nd(std::equal_to<int>(), 2), 5);
+    assert(ia[0] == 0);
+    assert(ia[1] == 1);
+    assert(ia[2] == 5);
+    assert(ia[3] == 3);
+    assert(ia[4] == 4);
+}
+
+int main()
+{
+    test<forward_iterator<int*> >();
+    test<bidirectional_iterator<int*> >();
+    test<random_access_iterator<int*> >();
+    test<int*>();
+}

Added: libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.reverse/reverse.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.reverse/reverse.pass.cpp?rev=224658&view=auto
==============================================================================
--- libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.reverse/reverse.pass.cpp (added)
+++ libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.reverse/reverse.pass.cpp Fri Dec 19 19:40:03 2014
@@ -0,0 +1,60 @@
+//===----------------------------------------------------------------------===//
+//
+//                     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.
+//
+//===----------------------------------------------------------------------===//
+
+// <algorithm>
+
+// template<BidirectionalIterator Iter>
+//   requires HasSwap<Iter::reference, Iter::reference>
+//   void
+//   reverse(Iter first, Iter last);
+
+#include <algorithm>
+#include <cassert>
+
+#include "test_iterators.h"
+
+template <class Iter>
+void
+test()
+{
+    int ia[] = {0};
+    const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+    std::reverse(Iter(ia), Iter(ia));
+    assert(ia[0] == 0);
+    std::reverse(Iter(ia), Iter(ia+sa));
+    assert(ia[0] == 0);
+
+    int ib[] = {0, 1};
+    const unsigned sb = sizeof(ib)/sizeof(ib[0]);
+    std::reverse(Iter(ib), Iter(ib+sb));
+    assert(ib[0] == 1);
+    assert(ib[1] == 0);
+
+    int ic[] = {0, 1, 2};
+    const unsigned sc = sizeof(ic)/sizeof(ic[0]);
+    std::reverse(Iter(ic), Iter(ic+sc));
+    assert(ic[0] == 2);
+    assert(ic[1] == 1);
+    assert(ic[2] == 0);
+
+    int id[] = {0, 1, 2, 3};
+    const unsigned sd = sizeof(id)/sizeof(id[0]);
+    std::reverse(Iter(id), Iter(id+sd));
+    assert(id[0] == 3);
+    assert(id[1] == 2);
+    assert(id[2] == 1);
+    assert(id[3] == 0);
+}
+
+int main()
+{
+    test<bidirectional_iterator<int*> >();
+    test<random_access_iterator<int*> >();
+    test<int*>();
+}

Added: libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.reverse/reverse_copy.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.reverse/reverse_copy.pass.cpp?rev=224658&view=auto
==============================================================================
--- libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.reverse/reverse_copy.pass.cpp (added)
+++ libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.reverse/reverse_copy.pass.cpp Fri Dec 19 19:40:03 2014
@@ -0,0 +1,81 @@
+//===----------------------------------------------------------------------===//
+//
+//                     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.
+//
+//===----------------------------------------------------------------------===//
+
+// <algorithm>
+
+// template<BidirectionalIterator InIter, OutputIterator<auto, InIter::reference> OutIter>
+//   OutIter
+//   reverse_copy(InIter first, InIter last, OutIter result);
+
+#include <algorithm>
+#include <cassert>
+
+#include "test_iterators.h"
+
+template <class InIter, class OutIter>
+void
+test()
+{
+    const int ia[] = {0};
+    const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+    int ja[sa] = {-1};
+    OutIter r = std::reverse_copy(InIter(ia), InIter(ia), OutIter(ja));
+    assert(base(r) == ja);
+    assert(ja[0] == -1);
+    r = std::reverse_copy(InIter(ia), InIter(ia+sa), OutIter(ja));
+    assert(ja[0] == 0);
+
+    const int ib[] = {0, 1};
+    const unsigned sb = sizeof(ib)/sizeof(ib[0]);
+    int jb[sb] = {-1};
+    r = std::reverse_copy(InIter(ib), InIter(ib+sb), OutIter(jb));
+    assert(base(r) == jb+sb);
+    assert(jb[0] == 1);
+    assert(jb[1] == 0);
+
+    const int ic[] = {0, 1, 2};
+    const unsigned sc = sizeof(ic)/sizeof(ic[0]);
+    int jc[sc] = {-1};
+    r = std::reverse_copy(InIter(ic), InIter(ic+sc), OutIter(jc));
+    assert(base(r) == jc+sc);
+    assert(jc[0] == 2);
+    assert(jc[1] == 1);
+    assert(jc[2] == 0);
+
+    int id[] = {0, 1, 2, 3};
+    const unsigned sd = sizeof(id)/sizeof(id[0]);
+    int jd[sd] = {-1};
+    r = std::reverse_copy(InIter(id), InIter(id+sd), OutIter(jd));
+    assert(base(r) == jd+sd);
+    assert(jd[0] == 3);
+    assert(jd[1] == 2);
+    assert(jd[2] == 1);
+    assert(jd[3] == 0);
+}
+
+int main()
+{
+    test<bidirectional_iterator<const int*>, output_iterator<int*> >();
+    test<bidirectional_iterator<const int*>, forward_iterator<int*> >();
+    test<bidirectional_iterator<const int*>, bidirectional_iterator<int*> >();
+    test<bidirectional_iterator<const int*>, random_access_iterator<int*> >();
+    test<bidirectional_iterator<const int*>, int*>();
+
+    test<random_access_iterator<const int*>, output_iterator<int*> >();
+    test<random_access_iterator<const int*>, forward_iterator<int*> >();
+    test<random_access_iterator<const int*>, bidirectional_iterator<int*> >();
+    test<random_access_iterator<const int*>, random_access_iterator<int*> >();
+    test<random_access_iterator<const int*>, int*>();
+
+    test<const int*, output_iterator<int*> >();
+    test<const int*, forward_iterator<int*> >();
+    test<const int*, bidirectional_iterator<int*> >();
+    test<const int*, random_access_iterator<int*> >();
+    test<const int*, int*>();
+}

Added: libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.rotate/rotate.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.rotate/rotate.pass.cpp?rev=224658&view=auto
==============================================================================
--- libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.rotate/rotate.pass.cpp (added)
+++ libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.rotate/rotate.pass.cpp Fri Dec 19 19:40:03 2014
@@ -0,0 +1,439 @@
+//===----------------------------------------------------------------------===//
+//
+//                     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.
+//
+//===----------------------------------------------------------------------===//
+
+// <algorithm>
+
+// template<ShuffleIterator Iter>
+//   Iter
+//   rotate(Iter first, Iter middle, Iter last);
+
+#include <algorithm>
+#include <cassert>
+#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
+#include <memory>
+#endif
+
+#include "test_iterators.h"
+
+template <class Iter>
+void
+test()
+{
+    int ia[] = {0};
+    const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+    Iter r = std::rotate(Iter(ia), Iter(ia), Iter(ia));
+    assert(base(r) == ia);
+    assert(ia[0] == 0);
+    r = std::rotate(Iter(ia), Iter(ia), Iter(ia+sa));
+    assert(base(r) == ia+sa);
+    assert(ia[0] == 0);
+    r = std::rotate(Iter(ia), Iter(ia+sa), Iter(ia+sa));
+    assert(base(r) == ia);
+    assert(ia[0] == 0);
+
+    int ib[] = {0, 1};
+    const unsigned sb = sizeof(ib)/sizeof(ib[0]);
+    r = std::rotate(Iter(ib), Iter(ib), Iter(ib+sb));
+    assert(base(r) == ib+sb);
+    assert(ib[0] == 0);
+    assert(ib[1] == 1);
+    r = std::rotate(Iter(ib), Iter(ib+1), Iter(ib+sb));
+    assert(base(r) == ib+1);
+    assert(ib[0] == 1);
+    assert(ib[1] == 0);
+    r = std::rotate(Iter(ib), Iter(ib+sb), Iter(ib+sb));
+    assert(base(r) == ib);
+    assert(ib[0] == 1);
+    assert(ib[1] == 0);
+
+    int ic[] = {0, 1, 2};
+    const unsigned sc = sizeof(ic)/sizeof(ic[0]);
+    r = std::rotate(Iter(ic), Iter(ic), Iter(ic+sc));
+    assert(base(r) == ic+sc);
+    assert(ic[0] == 0);
+    assert(ic[1] == 1);
+    assert(ic[2] == 2);
+    r = std::rotate(Iter(ic), Iter(ic+1), Iter(ic+sc));
+    assert(base(r) == ic+2);
+    assert(ic[0] == 1);
+    assert(ic[1] == 2);
+    assert(ic[2] == 0);
+    r = std::rotate(Iter(ic), Iter(ic+2), Iter(ic+sc));
+    assert(base(r) == ic+1);
+    assert(ic[0] == 0);
+    assert(ic[1] == 1);
+    assert(ic[2] == 2);
+    r = std::rotate(Iter(ic), Iter(ic+sc), Iter(ic+sc));
+    assert(base(r) == ic);
+    assert(ic[0] == 0);
+    assert(ic[1] == 1);
+    assert(ic[2] == 2);
+
+    int id[] = {0, 1, 2, 3};
+    const unsigned sd = sizeof(id)/sizeof(id[0]);
+    r = std::rotate(Iter(id), Iter(id), Iter(id+sd));
+    assert(base(r) == id+sd);
+    assert(id[0] == 0);
+    assert(id[1] == 1);
+    assert(id[2] == 2);
+    assert(id[3] == 3);
+    r = std::rotate(Iter(id), Iter(id+1), Iter(id+sd));
+    assert(base(r) == id+3);
+    assert(id[0] == 1);
+    assert(id[1] == 2);
+    assert(id[2] == 3);
+    assert(id[3] == 0);
+    r = std::rotate(Iter(id), Iter(id+2), Iter(id+sd));
+    assert(base(r) == id+2);
+    assert(id[0] == 3);
+    assert(id[1] == 0);
+    assert(id[2] == 1);
+    assert(id[3] == 2);
+    r = std::rotate(Iter(id), Iter(id+3), Iter(id+sd));
+    assert(base(r) == id+1);
+    assert(id[0] == 2);
+    assert(id[1] == 3);
+    assert(id[2] == 0);
+    assert(id[3] == 1);
+    r = std::rotate(Iter(id), Iter(id+sd), Iter(id+sd));
+    assert(base(r) == id);
+    assert(id[0] == 2);
+    assert(id[1] == 3);
+    assert(id[2] == 0);
+    assert(id[3] == 1);
+
+    int ie[] = {0, 1, 2, 3, 4};
+    const unsigned se = sizeof(ie)/sizeof(ie[0]);
+    r = std::rotate(Iter(ie), Iter(ie), Iter(ie+se));
+    assert(base(r) == ie+se);
+    assert(ie[0] == 0);
+    assert(ie[1] == 1);
+    assert(ie[2] == 2);
+    assert(ie[3] == 3);
+    assert(ie[4] == 4);
+    r = std::rotate(Iter(ie), Iter(ie+1), Iter(ie+se));
+    assert(base(r) == ie+4);
+    assert(ie[0] == 1);
+    assert(ie[1] == 2);
+    assert(ie[2] == 3);
+    assert(ie[3] == 4);
+    assert(ie[4] == 0);
+    r = std::rotate(Iter(ie), Iter(ie+2), Iter(ie+se));
+    assert(base(r) == ie+3);
+    assert(ie[0] == 3);
+    assert(ie[1] == 4);
+    assert(ie[2] == 0);
+    assert(ie[3] == 1);
+    assert(ie[4] == 2);
+    r = std::rotate(Iter(ie), Iter(ie+3), Iter(ie+se));
+    assert(base(r) == ie+2);
+    assert(ie[0] == 1);
+    assert(ie[1] == 2);
+    assert(ie[2] == 3);
+    assert(ie[3] == 4);
+    assert(ie[4] == 0);
+    r = std::rotate(Iter(ie), Iter(ie+4), Iter(ie+se));
+    assert(base(r) == ie+1);
+    assert(ie[0] == 0);
+    assert(ie[1] == 1);
+    assert(ie[2] == 2);
+    assert(ie[3] == 3);
+    assert(ie[4] == 4);
+    r = std::rotate(Iter(ie), Iter(ie+se), Iter(ie+se));
+    assert(base(r) == ie);
+    assert(ie[0] == 0);
+    assert(ie[1] == 1);
+    assert(ie[2] == 2);
+    assert(ie[3] == 3);
+    assert(ie[4] == 4);
+
+    int ig[] = {0, 1, 2, 3, 4, 5};
+    const unsigned sg = sizeof(ig)/sizeof(ig[0]);
+    r = std::rotate(Iter(ig), Iter(ig), Iter(ig+sg));
+    assert(base(r) == ig+sg);
+    assert(ig[0] == 0);
+    assert(ig[1] == 1);
+    assert(ig[2] == 2);
+    assert(ig[3] == 3);
+    assert(ig[4] == 4);
+    assert(ig[5] == 5);
+    r = std::rotate(Iter(ig), Iter(ig+1), Iter(ig+sg));
+    assert(base(r) == ig+5);
+    assert(ig[0] == 1);
+    assert(ig[1] == 2);
+    assert(ig[2] == 3);
+    assert(ig[3] == 4);
+    assert(ig[4] == 5);
+    assert(ig[5] == 0);
+    r = std::rotate(Iter(ig), Iter(ig+2), Iter(ig+sg));
+    assert(base(r) == ig+4);
+    assert(ig[0] == 3);
+    assert(ig[1] == 4);
+    assert(ig[2] == 5);
+    assert(ig[3] == 0);
+    assert(ig[4] == 1);
+    assert(ig[5] == 2);
+    r = std::rotate(Iter(ig), Iter(ig+3), Iter(ig+sg));
+    assert(base(r) == ig+3);
+    assert(ig[0] == 0);
+    assert(ig[1] == 1);
+    assert(ig[2] == 2);
+    assert(ig[3] == 3);
+    assert(ig[4] == 4);
+    assert(ig[5] == 5);
+    r = std::rotate(Iter(ig), Iter(ig+4), Iter(ig+sg));
+    assert(base(r) == ig+2);
+    assert(ig[0] == 4);
+    assert(ig[1] == 5);
+    assert(ig[2] == 0);
+    assert(ig[3] == 1);
+    assert(ig[4] == 2);
+    assert(ig[5] == 3);
+    r = std::rotate(Iter(ig), Iter(ig+5), Iter(ig+sg));
+    assert(base(r) == ig+1);
+    assert(ig[0] == 3);
+    assert(ig[1] == 4);
+    assert(ig[2] == 5);
+    assert(ig[3] == 0);
+    assert(ig[4] == 1);
+    assert(ig[5] == 2);
+    r = std::rotate(Iter(ig), Iter(ig+sg), Iter(ig+sg));
+    assert(base(r) == ig);
+    assert(ig[0] == 3);
+    assert(ig[1] == 4);
+    assert(ig[2] == 5);
+    assert(ig[3] == 0);
+    assert(ig[4] == 1);
+    assert(ig[5] == 2);
+}
+
+#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
+
+template <class Iter>
+void
+test1()
+{
+    std::unique_ptr<int> ia[1];
+    const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+    for (int i = 0; i < sa; ++i)
+        ia[i].reset(new int(i));
+    Iter r = std::rotate(Iter(ia), Iter(ia), Iter(ia));
+    assert(base(r) == ia);
+    assert(*ia[0] == 0);
+    r = std::rotate(Iter(ia), Iter(ia), Iter(ia+sa));
+    assert(base(r) == ia+sa);
+    assert(*ia[0] == 0);
+    r = std::rotate(Iter(ia), Iter(ia+sa), Iter(ia+sa));
+    assert(base(r) == ia);
+    assert(*ia[0] == 0);
+
+    std::unique_ptr<int> ib[2];
+    const unsigned sb = sizeof(ib)/sizeof(ib[0]);
+    for (int i = 0; i < sb; ++i)
+        ib[i].reset(new int(i));
+    r = std::rotate(Iter(ib), Iter(ib), Iter(ib+sb));
+    assert(base(r) == ib+sb);
+    assert(*ib[0] == 0);
+    assert(*ib[1] == 1);
+    r = std::rotate(Iter(ib), Iter(ib+1), Iter(ib+sb));
+    assert(base(r) == ib+1);
+    assert(*ib[0] == 1);
+    assert(*ib[1] == 0);
+    r = std::rotate(Iter(ib), Iter(ib+sb), Iter(ib+sb));
+    assert(base(r) == ib);
+    assert(*ib[0] == 1);
+    assert(*ib[1] == 0);
+
+    std::unique_ptr<int> ic[3];
+    const unsigned sc = sizeof(ic)/sizeof(ic[0]);
+    for (int i = 0; i < sc; ++i)
+        ic[i].reset(new int(i));
+    r = std::rotate(Iter(ic), Iter(ic), Iter(ic+sc));
+    assert(base(r) == ic+sc);
+    assert(*ic[0] == 0);
+    assert(*ic[1] == 1);
+    assert(*ic[2] == 2);
+    r = std::rotate(Iter(ic), Iter(ic+1), Iter(ic+sc));
+    assert(base(r) == ic+2);
+    assert(*ic[0] == 1);
+    assert(*ic[1] == 2);
+    assert(*ic[2] == 0);
+    r = std::rotate(Iter(ic), Iter(ic+2), Iter(ic+sc));
+    assert(base(r) == ic+1);
+    assert(*ic[0] == 0);
+    assert(*ic[1] == 1);
+    assert(*ic[2] == 2);
+    r = std::rotate(Iter(ic), Iter(ic+sc), Iter(ic+sc));
+    assert(base(r) == ic);
+    assert(*ic[0] == 0);
+    assert(*ic[1] == 1);
+    assert(*ic[2] == 2);
+
+    std::unique_ptr<int> id[4];
+    const unsigned sd = sizeof(id)/sizeof(id[0]);
+    for (int i = 0; i < sd; ++i)
+        id[i].reset(new int(i));
+    r = std::rotate(Iter(id), Iter(id), Iter(id+sd));
+    assert(base(r) == id+sd);
+    assert(*id[0] == 0);
+    assert(*id[1] == 1);
+    assert(*id[2] == 2);
+    assert(*id[3] == 3);
+    r = std::rotate(Iter(id), Iter(id+1), Iter(id+sd));
+    assert(base(r) == id+3);
+    assert(*id[0] == 1);
+    assert(*id[1] == 2);
+    assert(*id[2] == 3);
+    assert(*id[3] == 0);
+    r = std::rotate(Iter(id), Iter(id+2), Iter(id+sd));
+    assert(base(r) == id+2);
+    assert(*id[0] == 3);
+    assert(*id[1] == 0);
+    assert(*id[2] == 1);
+    assert(*id[3] == 2);
+    r = std::rotate(Iter(id), Iter(id+3), Iter(id+sd));
+    assert(base(r) == id+1);
+    assert(*id[0] == 2);
+    assert(*id[1] == 3);
+    assert(*id[2] == 0);
+    assert(*id[3] == 1);
+    r = std::rotate(Iter(id), Iter(id+sd), Iter(id+sd));
+    assert(base(r) == id);
+    assert(*id[0] == 2);
+    assert(*id[1] == 3);
+    assert(*id[2] == 0);
+    assert(*id[3] == 1);
+
+    std::unique_ptr<int> ie[5];
+    const unsigned se = sizeof(ie)/sizeof(ie[0]);
+    for (int i = 0; i < se; ++i)
+        ie[i].reset(new int(i));
+    r = std::rotate(Iter(ie), Iter(ie), Iter(ie+se));
+    assert(base(r) == ie+se);
+    assert(*ie[0] == 0);
+    assert(*ie[1] == 1);
+    assert(*ie[2] == 2);
+    assert(*ie[3] == 3);
+    assert(*ie[4] == 4);
+    r = std::rotate(Iter(ie), Iter(ie+1), Iter(ie+se));
+    assert(base(r) == ie+4);
+    assert(*ie[0] == 1);
+    assert(*ie[1] == 2);
+    assert(*ie[2] == 3);
+    assert(*ie[3] == 4);
+    assert(*ie[4] == 0);
+    r = std::rotate(Iter(ie), Iter(ie+2), Iter(ie+se));
+    assert(base(r) == ie+3);
+    assert(*ie[0] == 3);
+    assert(*ie[1] == 4);
+    assert(*ie[2] == 0);
+    assert(*ie[3] == 1);
+    assert(*ie[4] == 2);
+    r = std::rotate(Iter(ie), Iter(ie+3), Iter(ie+se));
+    assert(base(r) == ie+2);
+    assert(*ie[0] == 1);
+    assert(*ie[1] == 2);
+    assert(*ie[2] == 3);
+    assert(*ie[3] == 4);
+    assert(*ie[4] == 0);
+    r = std::rotate(Iter(ie), Iter(ie+4), Iter(ie+se));
+    assert(base(r) == ie+1);
+    assert(*ie[0] == 0);
+    assert(*ie[1] == 1);
+    assert(*ie[2] == 2);
+    assert(*ie[3] == 3);
+    assert(*ie[4] == 4);
+    r = std::rotate(Iter(ie), Iter(ie+se), Iter(ie+se));
+    assert(base(r) == ie);
+    assert(*ie[0] == 0);
+    assert(*ie[1] == 1);
+    assert(*ie[2] == 2);
+    assert(*ie[3] == 3);
+    assert(*ie[4] == 4);
+
+    std::unique_ptr<int> ig[6];
+    const unsigned sg = sizeof(ig)/sizeof(ig[0]);
+    for (int i = 0; i < sg; ++i)
+        ig[i].reset(new int(i));
+    r = std::rotate(Iter(ig), Iter(ig), Iter(ig+sg));
+    assert(base(r) == ig+sg);
+    assert(*ig[0] == 0);
+    assert(*ig[1] == 1);
+    assert(*ig[2] == 2);
+    assert(*ig[3] == 3);
+    assert(*ig[4] == 4);
+    assert(*ig[5] == 5);
+    r = std::rotate(Iter(ig), Iter(ig+1), Iter(ig+sg));
+    assert(base(r) == ig+5);
+    assert(*ig[0] == 1);
+    assert(*ig[1] == 2);
+    assert(*ig[2] == 3);
+    assert(*ig[3] == 4);
+    assert(*ig[4] == 5);
+    assert(*ig[5] == 0);
+    r = std::rotate(Iter(ig), Iter(ig+2), Iter(ig+sg));
+    assert(base(r) == ig+4);
+    assert(*ig[0] == 3);
+    assert(*ig[1] == 4);
+    assert(*ig[2] == 5);
+    assert(*ig[3] == 0);
+    assert(*ig[4] == 1);
+    assert(*ig[5] == 2);
+    r = std::rotate(Iter(ig), Iter(ig+3), Iter(ig+sg));
+    assert(base(r) == ig+3);
+    assert(*ig[0] == 0);
+    assert(*ig[1] == 1);
+    assert(*ig[2] == 2);
+    assert(*ig[3] == 3);
+    assert(*ig[4] == 4);
+    assert(*ig[5] == 5);
+    r = std::rotate(Iter(ig), Iter(ig+4), Iter(ig+sg));
+    assert(base(r) == ig+2);
+    assert(*ig[0] == 4);
+    assert(*ig[1] == 5);
+    assert(*ig[2] == 0);
+    assert(*ig[3] == 1);
+    assert(*ig[4] == 2);
+    assert(*ig[5] == 3);
+    r = std::rotate(Iter(ig), Iter(ig+5), Iter(ig+sg));
+    assert(base(r) == ig+1);
+    assert(*ig[0] == 3);
+    assert(*ig[1] == 4);
+    assert(*ig[2] == 5);
+    assert(*ig[3] == 0);
+    assert(*ig[4] == 1);
+    assert(*ig[5] == 2);
+    r = std::rotate(Iter(ig), Iter(ig+sg), Iter(ig+sg));
+    assert(base(r) == ig);
+    assert(*ig[0] == 3);
+    assert(*ig[1] == 4);
+    assert(*ig[2] == 5);
+    assert(*ig[3] == 0);
+    assert(*ig[4] == 1);
+    assert(*ig[5] == 2);
+}
+
+#endif  // _LIBCPP_HAS_NO_RVALUE_REFERENCES
+
+int main()
+{
+    test<forward_iterator<int*> >();
+    test<bidirectional_iterator<int*> >();
+    test<random_access_iterator<int*> >();
+    test<int*>();
+
+#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
+
+    test1<forward_iterator<std::unique_ptr<int>*> >();
+    test1<bidirectional_iterator<std::unique_ptr<int>*> >();
+    test1<random_access_iterator<std::unique_ptr<int>*> >();
+    test1<std::unique_ptr<int>*>();
+
+#endif  // _LIBCPP_HAS_NO_RVALUE_REFERENCES
+}

Added: libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.rotate/rotate_copy.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.rotate/rotate_copy.pass.cpp?rev=224658&view=auto
==============================================================================
--- libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.rotate/rotate_copy.pass.cpp (added)
+++ libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.rotate/rotate_copy.pass.cpp Fri Dec 19 19:40:03 2014
@@ -0,0 +1,134 @@
+//===----------------------------------------------------------------------===//
+//
+//                     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.
+//
+//===----------------------------------------------------------------------===//
+
+// <algorithm>
+
+// template<ForwardIterator InIter, OutputIterator<auto, InIter::reference> OutIter>
+//   OutIter
+//   rotate_copy(InIter first, InIter middle, InIter last, OutIter result);
+
+#include <algorithm>
+#include <cassert>
+
+#include "test_iterators.h"
+
+template <class InIter, class OutIter>
+void
+test()
+{
+    int ia[] = {0, 1, 2, 3};
+    const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+    int ib[sa] = {0};
+
+    OutIter r = std::rotate_copy(InIter(ia), InIter(ia), InIter(ia), OutIter(ib));
+    assert(base(r) == ib);
+
+    r = std::rotate_copy(InIter(ia), InIter(ia), InIter(ia+1), OutIter(ib));
+    assert(base(r) == ib+1);
+    assert(ib[0] == 0);
+
+    r = std::rotate_copy(InIter(ia), InIter(ia+1), InIter(ia+1), OutIter(ib));
+    assert(base(r) == ib+1);
+    assert(ib[0] == 0);
+
+    r = std::rotate_copy(InIter(ia), InIter(ia), InIter(ia+2), OutIter(ib));
+    assert(base(r) == ib+2);
+    assert(ib[0] == 0);
+    assert(ib[1] == 1);
+
+    r = std::rotate_copy(InIter(ia), InIter(ia+1), InIter(ia+2), OutIter(ib));
+    assert(base(r) == ib+2);
+    assert(ib[0] == 1);
+    assert(ib[1] == 0);
+
+    r = std::rotate_copy(InIter(ia), InIter(ia+2), InIter(ia+2), OutIter(ib));
+    assert(base(r) == ib+2);
+    assert(ib[0] == 0);
+    assert(ib[1] == 1);
+
+    r = std::rotate_copy(InIter(ia), InIter(ia), InIter(ia+3), OutIter(ib));
+    assert(base(r) == ib+3);
+    assert(ib[0] == 0);
+    assert(ib[1] == 1);
+    assert(ib[2] == 2);
+
+    r = std::rotate_copy(InIter(ia), InIter(ia+1), InIter(ia+3), OutIter(ib));
+    assert(base(r) == ib+3);
+    assert(ib[0] == 1);
+    assert(ib[1] == 2);
+    assert(ib[2] == 0);
+
+    r = std::rotate_copy(InIter(ia), InIter(ia+2), InIter(ia+3), OutIter(ib));
+    assert(base(r) == ib+3);
+    assert(ib[0] == 2);
+    assert(ib[1] == 0);
+    assert(ib[2] == 1);
+
+    r = std::rotate_copy(InIter(ia), InIter(ia+3), InIter(ia+3), OutIter(ib));
+    assert(base(r) == ib+3);
+    assert(ib[0] == 0);
+    assert(ib[1] == 1);
+    assert(ib[2] == 2);
+
+    r = std::rotate_copy(InIter(ia), InIter(ia), InIter(ia+4), OutIter(ib));
+    assert(base(r) == ib+4);
+    assert(ib[0] == 0);
+    assert(ib[1] == 1);
+    assert(ib[2] == 2);
+    assert(ib[3] == 3);
+
+    r = std::rotate_copy(InIter(ia), InIter(ia+1), InIter(ia+4), OutIter(ib));
+    assert(base(r) == ib+4);
+    assert(ib[0] == 1);
+    assert(ib[1] == 2);
+    assert(ib[2] == 3);
+    assert(ib[3] == 0);
+
+    r = std::rotate_copy(InIter(ia), InIter(ia+2), InIter(ia+4), OutIter(ib));
+    assert(base(r) == ib+4);
+    assert(ib[0] == 2);
+    assert(ib[1] == 3);
+    assert(ib[2] == 0);
+    assert(ib[3] == 1);
+
+    r = std::rotate_copy(InIter(ia), InIter(ia+3), InIter(ia+4), OutIter(ib));
+    assert(base(r) == ib+4);
+    assert(ib[0] == 3);
+    assert(ib[1] == 0);
+    assert(ib[2] == 1);
+    assert(ib[3] == 2);
+
+    r = std::rotate_copy(InIter(ia), InIter(ia+4), InIter(ia+4), OutIter(ib));
+    assert(base(r) == ib+4);
+    assert(ib[0] == 0);
+    assert(ib[1] == 1);
+    assert(ib[2] == 2);
+    assert(ib[3] == 3);
+}
+
+int main()
+{
+    test<bidirectional_iterator<const int*>, output_iterator<int*> >();
+    test<bidirectional_iterator<const int*>, forward_iterator<int*> >();
+    test<bidirectional_iterator<const int*>, bidirectional_iterator<int*> >();
+    test<bidirectional_iterator<const int*>, random_access_iterator<int*> >();
+    test<bidirectional_iterator<const int*>, int*>();
+
+    test<random_access_iterator<const int*>, output_iterator<int*> >();
+    test<random_access_iterator<const int*>, forward_iterator<int*> >();
+    test<random_access_iterator<const int*>, bidirectional_iterator<int*> >();
+    test<random_access_iterator<const int*>, random_access_iterator<int*> >();
+    test<random_access_iterator<const int*>, int*>();
+
+    test<const int*, output_iterator<int*> >();
+    test<const int*, forward_iterator<int*> >();
+    test<const int*, bidirectional_iterator<int*> >();
+    test<const int*, random_access_iterator<int*> >();
+    test<const int*, int*>();
+}

Added: libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.swap/iter_swap.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.swap/iter_swap.pass.cpp?rev=224658&view=auto
==============================================================================
--- libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.swap/iter_swap.pass.cpp (added)
+++ libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.swap/iter_swap.pass.cpp Fri Dec 19 19:40:03 2014
@@ -0,0 +1,27 @@
+//===----------------------------------------------------------------------===//
+//
+//                     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.
+//
+//===----------------------------------------------------------------------===//
+
+// <algorithm>
+
+// template<Iterator Iter1, Iterator Iter2>
+//   requires HasSwap<Iter1::reference, Iter2::reference>
+//   void
+//   iter_swap(Iter1 a, Iter2 b);
+
+#include <algorithm>
+#include <cassert>
+
+int main()
+{
+    int i = 1;
+    int j = 2;
+    std::iter_swap(&i, &j);
+    assert(i == 2);
+    assert(j == 1);
+}

Added: libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.swap/swap_ranges.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.swap/swap_ranges.pass.cpp?rev=224658&view=auto
==============================================================================
--- libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.swap/swap_ranges.pass.cpp (added)
+++ libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.swap/swap_ranges.pass.cpp Fri Dec 19 19:40:03 2014
@@ -0,0 +1,110 @@
+//===----------------------------------------------------------------------===//
+//
+//                     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.
+//
+//===----------------------------------------------------------------------===//
+
+// <algorithm>
+
+// template<ForwardIterator Iter1, ForwardIterator Iter2>
+//   requires HasSwap<Iter1::reference, Iter2::reference>
+//   Iter2
+//   swap_ranges(Iter1 first1, Iter1 last1, Iter2 first2);
+
+#include <algorithm>
+#include <cassert>
+#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
+#include <memory>
+#endif
+
+#include "test_iterators.h"
+
+template<class Iter1, class Iter2>
+void
+test()
+{
+    int i[3] = {1, 2, 3};
+    int j[3] = {4, 5, 6};
+    Iter2 r = std::swap_ranges(Iter1(i), Iter1(i+3), Iter2(j));
+    assert(base(r) == j+3);
+    assert(i[0] == 4);
+    assert(i[1] == 5);
+    assert(i[2] == 6);
+    assert(j[0] == 1);
+    assert(j[1] == 2);
+    assert(j[2] == 3);
+}
+
+#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
+
+template<class Iter1, class Iter2>
+void
+test1()
+{
+    std::unique_ptr<int> i[3];
+    for (int k = 0; k < 3; ++k)
+        i[k].reset(new int(k+1));
+    std::unique_ptr<int> j[3];
+    for (int k = 0; k < 3; ++k)
+        j[k].reset(new int(k+4));
+    Iter2 r = std::swap_ranges(Iter1(i), Iter1(i+3), Iter2(j));
+    assert(base(r) == j+3);
+    assert(*i[0] == 4);
+    assert(*i[1] == 5);
+    assert(*i[2] == 6);
+    assert(*j[0] == 1);
+    assert(*j[1] == 2);
+    assert(*j[2] == 3);
+}
+
+#endif  // _LIBCPP_HAS_NO_RVALUE_REFERENCES
+
+int main()
+{
+    test<forward_iterator<int*>, forward_iterator<int*> >();
+    test<forward_iterator<int*>, bidirectional_iterator<int*> >();
+    test<forward_iterator<int*>, random_access_iterator<int*> >();
+    test<forward_iterator<int*>, int*>();
+
+    test<bidirectional_iterator<int*>, forward_iterator<int*> >();
+    test<bidirectional_iterator<int*>, bidirectional_iterator<int*> >();
+    test<bidirectional_iterator<int*>, random_access_iterator<int*> >();
+    test<bidirectional_iterator<int*>, int*>();
+
+    test<random_access_iterator<int*>, forward_iterator<int*> >();
+    test<random_access_iterator<int*>, bidirectional_iterator<int*> >();
+    test<random_access_iterator<int*>, random_access_iterator<int*> >();
+    test<random_access_iterator<int*>, int*>();
+
+    test<int*, forward_iterator<int*> >();
+    test<int*, bidirectional_iterator<int*> >();
+    test<int*, random_access_iterator<int*> >();
+    test<int*, int*>();
+
+#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
+
+    test1<forward_iterator<std::unique_ptr<int>*>, forward_iterator<std::unique_ptr<int>*> >();
+    test1<forward_iterator<std::unique_ptr<int>*>, bidirectional_iterator<std::unique_ptr<int>*> >();
+    test1<forward_iterator<std::unique_ptr<int>*>, random_access_iterator<std::unique_ptr<int>*> >();
+    test1<forward_iterator<std::unique_ptr<int>*>, std::unique_ptr<int>*>();
+
+    test1<bidirectional_iterator<std::unique_ptr<int>*>, forward_iterator<std::unique_ptr<int>*> >();
+    test1<bidirectional_iterator<std::unique_ptr<int>*>, bidirectional_iterator<std::unique_ptr<int>*> >();
+    test1<bidirectional_iterator<std::unique_ptr<int>*>, random_access_iterator<std::unique_ptr<int>*> >();
+    test1<bidirectional_iterator<std::unique_ptr<int>*>, std::unique_ptr<int>*>();
+
+    test1<random_access_iterator<std::unique_ptr<int>*>, forward_iterator<std::unique_ptr<int>*> >();
+    test1<random_access_iterator<std::unique_ptr<int>*>, bidirectional_iterator<std::unique_ptr<int>*> >();
+    test1<random_access_iterator<std::unique_ptr<int>*>, random_access_iterator<std::unique_ptr<int>*> >();
+    test1<random_access_iterator<std::unique_ptr<int>*>, std::unique_ptr<int>*>();
+
+    test1<std::unique_ptr<int>*, forward_iterator<std::unique_ptr<int>*> >();
+    test1<std::unique_ptr<int>*, bidirectional_iterator<std::unique_ptr<int>*> >();
+    test1<std::unique_ptr<int>*, random_access_iterator<std::unique_ptr<int>*> >();
+    test1<std::unique_ptr<int>*, std::unique_ptr<int>*>();
+
+#endif  // _LIBCPP_HAS_NO_RVALUE_REFERENCES
+}

Added: libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.transform/binary_transform.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.transform/binary_transform.pass.cpp?rev=224658&view=auto
==============================================================================
--- libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.transform/binary_transform.pass.cpp (added)
+++ libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.transform/binary_transform.pass.cpp Fri Dec 19 19:40:03 2014
@@ -0,0 +1,217 @@
+//===----------------------------------------------------------------------===//
+//
+//                     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.
+//
+//===----------------------------------------------------------------------===//
+
+// <algorithm>
+
+// template<InputIterator InIter1, InputIterator InIter2, class OutIter,
+//          Callable<auto, const InIter1::value_type&, const InIter2::value_type&> BinaryOp>
+//   requires OutputIterator<OutIter, BinaryOp::result_type> && CopyConstructible<BinaryOp>
+// OutIter
+// transform(InIter1 first1, InIter1 last1, InIter2 first2, OutIter result, BinaryOp binary_op);
+
+#include <algorithm>
+#include <functional>
+#include <cassert>
+
+#include "test_iterators.h"
+
+template<class InIter1, class InIter2, class OutIter>
+void
+test()
+{
+    int ia[] = {0, 1, 2, 3, 4};
+    const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+    int ib[sa] = {1, 2, 3, 4, 5};
+    OutIter r = std::transform(InIter1(ib), InIter1(ib+sa), InIter2(ia),
+                               OutIter(ib), std::minus<int>());
+    assert(base(r) == ib + sa);
+    assert(ib[0] == 1);
+    assert(ib[1] == 1);
+    assert(ib[2] == 1);
+    assert(ib[3] == 1);
+    assert(ib[4] == 1);
+}
+
+int main()
+{
+    test<input_iterator<const int*>, input_iterator<const int*>, output_iterator<int*> >();
+    test<input_iterator<const int*>, input_iterator<const int*>, input_iterator<int*> >();
+    test<input_iterator<const int*>, input_iterator<const int*>, forward_iterator<int*> >();
+    test<input_iterator<const int*>, input_iterator<const int*>, bidirectional_iterator<int*> >();
+    test<input_iterator<const int*>, input_iterator<const int*>, random_access_iterator<int*> >();
+    test<input_iterator<const int*>, input_iterator<const int*>, int*>();
+
+    test<input_iterator<const int*>, forward_iterator<const int*>, output_iterator<int*> >();
+    test<input_iterator<const int*>, forward_iterator<const int*>, input_iterator<int*> >();
+    test<input_iterator<const int*>, forward_iterator<const int*>, forward_iterator<int*> >();
+    test<input_iterator<const int*>, forward_iterator<const int*>, bidirectional_iterator<int*> >();
+    test<input_iterator<const int*>, forward_iterator<const int*>, random_access_iterator<int*> >();
+    test<input_iterator<const int*>, forward_iterator<const int*>, int*>();
+
+    test<input_iterator<const int*>, bidirectional_iterator<const int*>, output_iterator<int*> >();
+    test<input_iterator<const int*>, bidirectional_iterator<const int*>, input_iterator<int*> >();
+    test<input_iterator<const int*>, bidirectional_iterator<const int*>, forward_iterator<int*> >();
+    test<input_iterator<const int*>, bidirectional_iterator<const int*>, bidirectional_iterator<int*> >();
+    test<input_iterator<const int*>, bidirectional_iterator<const int*>, random_access_iterator<int*> >();
+    test<input_iterator<const int*>, bidirectional_iterator<const int*>, int*>();
+
+    test<input_iterator<const int*>, random_access_iterator<const int*>, output_iterator<int*> >();
+    test<input_iterator<const int*>, random_access_iterator<const int*>, input_iterator<int*> >();
+    test<input_iterator<const int*>, random_access_iterator<const int*>, forward_iterator<int*> >();
+    test<input_iterator<const int*>, random_access_iterator<const int*>, bidirectional_iterator<int*> >();
+    test<input_iterator<const int*>, random_access_iterator<const int*>, random_access_iterator<int*> >();
+    test<input_iterator<const int*>, random_access_iterator<const int*>, int*>();
+
+    test<input_iterator<const int*>, const int*, output_iterator<int*> >();
+    test<input_iterator<const int*>, const int*, input_iterator<int*> >();
+    test<input_iterator<const int*>, const int*, forward_iterator<int*> >();
+    test<input_iterator<const int*>, const int*, bidirectional_iterator<int*> >();
+    test<input_iterator<const int*>, const int*, random_access_iterator<int*> >();
+    test<input_iterator<const int*>, const int*, int*>();
+
+    test<forward_iterator<const int*>, input_iterator<const int*>, output_iterator<int*> >();
+    test<forward_iterator<const int*>, input_iterator<const int*>, input_iterator<int*> >();
+    test<forward_iterator<const int*>, input_iterator<const int*>, forward_iterator<int*> >();
+    test<forward_iterator<const int*>, input_iterator<const int*>, bidirectional_iterator<int*> >();
+    test<forward_iterator<const int*>, input_iterator<const int*>, random_access_iterator<int*> >();
+    test<forward_iterator<const int*>, input_iterator<const int*>, int*>();
+
+    test<forward_iterator<const int*>, forward_iterator<const int*>, output_iterator<int*> >();
+    test<forward_iterator<const int*>, forward_iterator<const int*>, input_iterator<int*> >();
+    test<forward_iterator<const int*>, forward_iterator<const int*>, forward_iterator<int*> >();
+    test<forward_iterator<const int*>, forward_iterator<const int*>, bidirectional_iterator<int*> >();
+    test<forward_iterator<const int*>, forward_iterator<const int*>, random_access_iterator<int*> >();
+    test<forward_iterator<const int*>, forward_iterator<const int*>, int*>();
+
+    test<forward_iterator<const int*>, bidirectional_iterator<const int*>, output_iterator<int*> >();
+    test<forward_iterator<const int*>, bidirectional_iterator<const int*>, input_iterator<int*> >();
+    test<forward_iterator<const int*>, bidirectional_iterator<const int*>, forward_iterator<int*> >();
+    test<forward_iterator<const int*>, bidirectional_iterator<const int*>, bidirectional_iterator<int*> >();
+    test<forward_iterator<const int*>, bidirectional_iterator<const int*>, random_access_iterator<int*> >();
+    test<forward_iterator<const int*>, bidirectional_iterator<const int*>, int*>();
+
+    test<forward_iterator<const int*>, random_access_iterator<const int*>, output_iterator<int*> >();
+    test<forward_iterator<const int*>, random_access_iterator<const int*>, input_iterator<int*> >();
+    test<forward_iterator<const int*>, random_access_iterator<const int*>, forward_iterator<int*> >();
+    test<forward_iterator<const int*>, random_access_iterator<const int*>, bidirectional_iterator<int*> >();
+    test<forward_iterator<const int*>, random_access_iterator<const int*>, random_access_iterator<int*> >();
+    test<forward_iterator<const int*>, random_access_iterator<const int*>, int*>();
+
+    test<forward_iterator<const int*>, const int*, output_iterator<int*> >();
+    test<forward_iterator<const int*>, const int*, input_iterator<int*> >();
+    test<forward_iterator<const int*>, const int*, forward_iterator<int*> >();
+    test<forward_iterator<const int*>, const int*, bidirectional_iterator<int*> >();
+    test<forward_iterator<const int*>, const int*, random_access_iterator<int*> >();
+    test<forward_iterator<const int*>, const int*, int*>();
+
+    test<bidirectional_iterator<const int*>, input_iterator<const int*>, output_iterator<int*> >();
+    test<bidirectional_iterator<const int*>, input_iterator<const int*>, input_iterator<int*> >();
+    test<bidirectional_iterator<const int*>, input_iterator<const int*>, forward_iterator<int*> >();
+    test<bidirectional_iterator<const int*>, input_iterator<const int*>, bidirectional_iterator<int*> >();
+    test<bidirectional_iterator<const int*>, input_iterator<const int*>, random_access_iterator<int*> >();
+    test<bidirectional_iterator<const int*>, input_iterator<const int*>, int*>();
+
+    test<bidirectional_iterator<const int*>, forward_iterator<const int*>, output_iterator<int*> >();
+    test<bidirectional_iterator<const int*>, forward_iterator<const int*>, input_iterator<int*> >();
+    test<bidirectional_iterator<const int*>, forward_iterator<const int*>, forward_iterator<int*> >();
+    test<bidirectional_iterator<const int*>, forward_iterator<const int*>, bidirectional_iterator<int*> >();
+    test<bidirectional_iterator<const int*>, forward_iterator<const int*>, random_access_iterator<int*> >();
+    test<bidirectional_iterator<const int*>, forward_iterator<const int*>, int*>();
+
+    test<bidirectional_iterator<const int*>, bidirectional_iterator<const int*>, output_iterator<int*> >();
+    test<bidirectional_iterator<const int*>, bidirectional_iterator<const int*>, input_iterator<int*> >();
+    test<bidirectional_iterator<const int*>, bidirectional_iterator<const int*>, forward_iterator<int*> >();
+    test<bidirectional_iterator<const int*>, bidirectional_iterator<const int*>, bidirectional_iterator<int*> >();
+    test<bidirectional_iterator<const int*>, bidirectional_iterator<const int*>, random_access_iterator<int*> >();
+    test<bidirectional_iterator<const int*>, bidirectional_iterator<const int*>, int*>();
+
+    test<bidirectional_iterator<const int*>, random_access_iterator<const int*>, output_iterator<int*> >();
+    test<bidirectional_iterator<const int*>, random_access_iterator<const int*>, input_iterator<int*> >();
+    test<bidirectional_iterator<const int*>, random_access_iterator<const int*>, forward_iterator<int*> >();
+    test<bidirectional_iterator<const int*>, random_access_iterator<const int*>, bidirectional_iterator<int*> >();
+    test<bidirectional_iterator<const int*>, random_access_iterator<const int*>, random_access_iterator<int*> >();
+    test<bidirectional_iterator<const int*>, random_access_iterator<const int*>, int*>();
+
+    test<bidirectional_iterator<const int*>, const int*, output_iterator<int*> >();
+    test<bidirectional_iterator<const int*>, const int*, input_iterator<int*> >();
+    test<bidirectional_iterator<const int*>, const int*, forward_iterator<int*> >();
+    test<bidirectional_iterator<const int*>, const int*, bidirectional_iterator<int*> >();
+    test<bidirectional_iterator<const int*>, const int*, random_access_iterator<int*> >();
+    test<bidirectional_iterator<const int*>, const int*, int*>();
+
+    test<random_access_iterator<const int*>, input_iterator<const int*>, output_iterator<int*> >();
+    test<random_access_iterator<const int*>, input_iterator<const int*>, input_iterator<int*> >();
+    test<random_access_iterator<const int*>, input_iterator<const int*>, forward_iterator<int*> >();
+    test<random_access_iterator<const int*>, input_iterator<const int*>, bidirectional_iterator<int*> >();
+    test<random_access_iterator<const int*>, input_iterator<const int*>, random_access_iterator<int*> >();
+    test<random_access_iterator<const int*>, input_iterator<const int*>, int*>();
+
+    test<random_access_iterator<const int*>, forward_iterator<const int*>, output_iterator<int*> >();
+    test<random_access_iterator<const int*>, forward_iterator<const int*>, input_iterator<int*> >();
+    test<random_access_iterator<const int*>, forward_iterator<const int*>, forward_iterator<int*> >();
+    test<random_access_iterator<const int*>, forward_iterator<const int*>, bidirectional_iterator<int*> >();
+    test<random_access_iterator<const int*>, forward_iterator<const int*>, random_access_iterator<int*> >();
+    test<random_access_iterator<const int*>, forward_iterator<const int*>, int*>();
+
+    test<random_access_iterator<const int*>, bidirectional_iterator<const int*>, output_iterator<int*> >();
+    test<random_access_iterator<const int*>, bidirectional_iterator<const int*>, input_iterator<int*> >();
+    test<random_access_iterator<const int*>, bidirectional_iterator<const int*>, forward_iterator<int*> >();
+    test<random_access_iterator<const int*>, bidirectional_iterator<const int*>, bidirectional_iterator<int*> >();
+    test<random_access_iterator<const int*>, bidirectional_iterator<const int*>, random_access_iterator<int*> >();
+    test<random_access_iterator<const int*>, bidirectional_iterator<const int*>, int*>();
+
+    test<random_access_iterator<const int*>, random_access_iterator<const int*>, output_iterator<int*> >();
+    test<random_access_iterator<const int*>, random_access_iterator<const int*>, input_iterator<int*> >();
+    test<random_access_iterator<const int*>, random_access_iterator<const int*>, forward_iterator<int*> >();
+    test<random_access_iterator<const int*>, random_access_iterator<const int*>, bidirectional_iterator<int*> >();
+    test<random_access_iterator<const int*>, random_access_iterator<const int*>, random_access_iterator<int*> >();
+    test<random_access_iterator<const int*>, random_access_iterator<const int*>, int*>();
+
+    test<random_access_iterator<const int*>, const int*, output_iterator<int*> >();
+    test<random_access_iterator<const int*>, const int*, input_iterator<int*> >();
+    test<random_access_iterator<const int*>, const int*, forward_iterator<int*> >();
+    test<random_access_iterator<const int*>, const int*, bidirectional_iterator<int*> >();
+    test<random_access_iterator<const int*>, const int*, random_access_iterator<int*> >();
+    test<random_access_iterator<const int*>, const int*, int*>();
+
+    test<const int*, input_iterator<const int*>, output_iterator<int*> >();
+    test<const int*, input_iterator<const int*>, input_iterator<int*> >();
+    test<const int*, input_iterator<const int*>, forward_iterator<int*> >();
+    test<const int*, input_iterator<const int*>, bidirectional_iterator<int*> >();
+    test<const int*, input_iterator<const int*>, random_access_iterator<int*> >();
+    test<const int*, input_iterator<const int*>, int*>();
+
+    test<const int*, forward_iterator<const int*>, output_iterator<int*> >();
+    test<const int*, forward_iterator<const int*>, input_iterator<int*> >();
+    test<const int*, forward_iterator<const int*>, forward_iterator<int*> >();
+    test<const int*, forward_iterator<const int*>, bidirectional_iterator<int*> >();
+    test<const int*, forward_iterator<const int*>, random_access_iterator<int*> >();
+    test<const int*, forward_iterator<const int*>, int*>();
+
+    test<const int*, bidirectional_iterator<const int*>, output_iterator<int*> >();
+    test<const int*, bidirectional_iterator<const int*>, input_iterator<int*> >();
+    test<const int*, bidirectional_iterator<const int*>, forward_iterator<int*> >();
+    test<const int*, bidirectional_iterator<const int*>, bidirectional_iterator<int*> >();
+    test<const int*, bidirectional_iterator<const int*>, random_access_iterator<int*> >();
+    test<const int*, bidirectional_iterator<const int*>, int*>();
+
+    test<const int*, random_access_iterator<const int*>, output_iterator<int*> >();
+    test<const int*, random_access_iterator<const int*>, input_iterator<int*> >();
+    test<const int*, random_access_iterator<const int*>, forward_iterator<int*> >();
+    test<const int*, random_access_iterator<const int*>, bidirectional_iterator<int*> >();
+    test<const int*, random_access_iterator<const int*>, random_access_iterator<int*> >();
+    test<const int*, random_access_iterator<const int*>, int*>();
+
+    test<const int*, const int*, output_iterator<int*> >();
+    test<const int*, const int*, input_iterator<int*> >();
+    test<const int*, const int*, forward_iterator<int*> >();
+    test<const int*, const int*, bidirectional_iterator<int*> >();
+    test<const int*, const int*, random_access_iterator<int*> >();
+    test<const int*, const int*, int*>();
+}

Added: libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.transform/unary_transform.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.transform/unary_transform.pass.cpp?rev=224658&view=auto
==============================================================================
--- libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.transform/unary_transform.pass.cpp (added)
+++ libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.transform/unary_transform.pass.cpp Fri Dec 19 19:40:03 2014
@@ -0,0 +1,77 @@
+//===----------------------------------------------------------------------===//
+//
+//                     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.
+//
+//===----------------------------------------------------------------------===//
+
+// <algorithm>
+
+// template<InputIterator InIter, class OutIter,
+//          Callable<auto, const InIter::value_type&> Op>
+//   requires OutputIterator<OutIter, Op::result_type> && CopyConstructible<Op>
+//   OutIter
+//   transform(InIter first, InIter last, OutIter result, Op op);
+
+#include <algorithm>
+#include <functional>
+#include <cassert>
+
+#include "test_iterators.h"
+
+template <class InIter, class OutIter>
+void
+test()
+{
+    int ia[] = {0, 1, 2, 3, 4};
+    const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+    int ib[sa] = {0};
+    OutIter r = std::transform(InIter(ia), InIter(ia+sa), OutIter(ib),
+                               std::bind2nd(std::plus<int>(), 1));
+    assert(base(r) == ib + sa);
+    assert(ib[0] == 1);
+    assert(ib[1] == 2);
+    assert(ib[2] == 3);
+    assert(ib[3] == 4);
+    assert(ib[4] == 5);
+}
+
+int main()
+{
+    test<input_iterator<const int*>, output_iterator<int*> >();
+    test<input_iterator<const int*>, input_iterator<int*> >();
+    test<input_iterator<const int*>, forward_iterator<int*> >();
+    test<input_iterator<const int*>, bidirectional_iterator<int*> >();
+    test<input_iterator<const int*>, random_access_iterator<int*> >();
+    test<input_iterator<const int*>, int*>();
+
+    test<forward_iterator<const int*>, output_iterator<int*> >();
+    test<forward_iterator<const int*>, input_iterator<int*> >();
+    test<forward_iterator<const int*>, forward_iterator<int*> >();
+    test<forward_iterator<const int*>, bidirectional_iterator<int*> >();
+    test<forward_iterator<const int*>, random_access_iterator<int*> >();
+    test<forward_iterator<const int*>, int*>();
+
+    test<bidirectional_iterator<const int*>, output_iterator<int*> >();
+    test<bidirectional_iterator<const int*>, input_iterator<int*> >();
+    test<bidirectional_iterator<const int*>, forward_iterator<int*> >();
+    test<bidirectional_iterator<const int*>, bidirectional_iterator<int*> >();
+    test<bidirectional_iterator<const int*>, random_access_iterator<int*> >();
+    test<bidirectional_iterator<const int*>, int*>();
+
+    test<random_access_iterator<const int*>, output_iterator<int*> >();
+    test<random_access_iterator<const int*>, input_iterator<int*> >();
+    test<random_access_iterator<const int*>, forward_iterator<int*> >();
+    test<random_access_iterator<const int*>, bidirectional_iterator<int*> >();
+    test<random_access_iterator<const int*>, random_access_iterator<int*> >();
+    test<random_access_iterator<const int*>, int*>();
+
+    test<const int*, output_iterator<int*> >();
+    test<const int*, input_iterator<int*> >();
+    test<const int*, forward_iterator<int*> >();
+    test<const int*, bidirectional_iterator<int*> >();
+    test<const int*, random_access_iterator<int*> >();
+    test<const int*, int*>();
+}

Added: libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.unique/unique.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.unique/unique.pass.cpp?rev=224658&view=auto
==============================================================================
--- libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.unique/unique.pass.cpp (added)
+++ libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.unique/unique.pass.cpp Fri Dec 19 19:40:03 2014
@@ -0,0 +1,189 @@
+//===----------------------------------------------------------------------===//
+//
+//                     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.
+//
+//===----------------------------------------------------------------------===//
+
+// <algorithm>
+
+// template<ForwardIterator Iter>
+//   requires OutputIterator<Iter, Iter::reference>
+//         && EqualityComparable<Iter::value_type>
+//   Iter
+//   unique(Iter first, Iter last);
+
+#include <algorithm>
+#include <cassert>
+#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
+#include <memory>
+#endif
+
+#include "test_iterators.h"
+
+template <class Iter>
+void
+test()
+{
+    int ia[] = {0};
+    const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+    Iter r = std::unique(Iter(ia), Iter(ia+sa));
+    assert(base(r) == ia + sa);
+    assert(ia[0] == 0);
+
+    int ib[] = {0, 1};
+    const unsigned sb = sizeof(ib)/sizeof(ib[0]);
+    r = std::unique(Iter(ib), Iter(ib+sb));
+    assert(base(r) == ib + sb);
+    assert(ib[0] == 0);
+    assert(ib[1] == 1);
+
+    int ic[] = {0, 0};
+    const unsigned sc = sizeof(ic)/sizeof(ic[0]);
+    r = std::unique(Iter(ic), Iter(ic+sc));
+    assert(base(r) == ic + 1);
+    assert(ic[0] == 0);
+
+    int id[] = {0, 0, 1};
+    const unsigned sd = sizeof(id)/sizeof(id[0]);
+    r = std::unique(Iter(id), Iter(id+sd));
+    assert(base(r) == id + 2);
+    assert(id[0] == 0);
+    assert(id[1] == 1);
+
+    int ie[] = {0, 0, 1, 0};
+    const unsigned se = sizeof(ie)/sizeof(ie[0]);
+    r = std::unique(Iter(ie), Iter(ie+se));
+    assert(base(r) == ie + 3);
+    assert(ie[0] == 0);
+    assert(ie[1] == 1);
+    assert(ie[2] == 0);
+
+    int ig[] = {0, 0, 1, 1};
+    const unsigned sg = sizeof(ig)/sizeof(ig[0]);
+    r = std::unique(Iter(ig), Iter(ig+sg));
+    assert(base(r) == ig + 2);
+    assert(ig[0] == 0);
+    assert(ig[1] == 1);
+
+    int ih[] = {0, 1, 1};
+    const unsigned sh = sizeof(ih)/sizeof(ih[0]);
+    r = std::unique(Iter(ih), Iter(ih+sh));
+    assert(base(r) == ih + 2);
+    assert(ih[0] == 0);
+    assert(ih[1] == 1);
+
+    int ii[] = {0, 1, 1, 1, 2, 2, 2};
+    const unsigned si = sizeof(ii)/sizeof(ii[0]);
+    r = std::unique(Iter(ii), Iter(ii+si));
+    assert(base(r) == ii + 3);
+    assert(ii[0] == 0);
+    assert(ii[1] == 1);
+    assert(ii[2] == 2);
+}
+
+#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
+
+struct do_nothing
+{
+    void operator()(void*) const {}
+};
+
+typedef std::unique_ptr<int, do_nothing> Ptr;
+
+template <class Iter>
+void
+test1()
+{
+    int one = 1;
+    int two = 2;
+    Ptr ia[1];
+    const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+    Iter r = std::unique(Iter(ia), Iter(ia+sa));
+    assert(base(r) == ia + sa);
+    assert(ia[0] == 0);
+
+    Ptr ib[2];
+    ib[1].reset(&one);
+    const unsigned sb = sizeof(ib)/sizeof(ib[0]);
+    r = std::unique(Iter(ib), Iter(ib+sb));
+    assert(base(r) == ib + sb);
+    assert(ib[0] == 0);
+    assert(*ib[1] == 1);
+
+    Ptr ic[2];
+    const unsigned sc = sizeof(ic)/sizeof(ic[0]);
+    r = std::unique(Iter(ic), Iter(ic+sc));
+    assert(base(r) == ic + 1);
+    assert(ic[0] == 0);
+
+    Ptr id[3];
+    id[2].reset(&one);
+    const unsigned sd = sizeof(id)/sizeof(id[0]);
+    r = std::unique(Iter(id), Iter(id+sd));
+    assert(base(r) == id + 2);
+    assert(id[0] == 0);
+    assert(*id[1] == 1);
+
+    Ptr ie[4];
+    ie[2].reset(&one);
+    const unsigned se = sizeof(ie)/sizeof(ie[0]);
+    r = std::unique(Iter(ie), Iter(ie+se));
+    assert(base(r) == ie + 3);
+    assert(ie[0] == 0);
+    assert(*ie[1] == 1);
+    assert(ie[2] == 0);
+
+    Ptr ig[4];
+    ig[2].reset(&one);
+    ig[3].reset(&one);
+    const unsigned sg = sizeof(ig)/sizeof(ig[0]);
+    r = std::unique(Iter(ig), Iter(ig+sg));
+    assert(base(r) == ig + 2);
+    assert(ig[0] == 0);
+    assert(*ig[1] == 1);
+
+    Ptr ih[3];
+    ih[1].reset(&one);
+    ih[2].reset(&one);
+    const unsigned sh = sizeof(ih)/sizeof(ih[0]);
+    r = std::unique(Iter(ih), Iter(ih+sh));
+    assert(base(r) == ih + 2);
+    assert(ih[0] == 0);
+    assert(*ih[1] == 1);
+
+    Ptr ii[7];
+    ii[1].reset(&one);
+    ii[2].reset(&one);
+    ii[3].reset(&one);
+    ii[4].reset(&two);
+    ii[5].reset(&two);
+    ii[6].reset(&two);
+    const unsigned si = sizeof(ii)/sizeof(ii[0]);
+    r = std::unique(Iter(ii), Iter(ii+si));
+    assert(base(r) == ii + 3);
+    assert(ii[0] == 0);
+    assert(*ii[1] == 1);
+    assert(*ii[2] == 2);
+}
+
+#endif  // _LIBCPP_HAS_NO_RVALUE_REFERENCES
+
+int main()
+{
+    test<forward_iterator<int*> >();
+    test<bidirectional_iterator<int*> >();
+    test<random_access_iterator<int*> >();
+    test<int*>();
+
+#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
+
+    test1<forward_iterator<Ptr*> >();
+    test1<bidirectional_iterator<Ptr*> >();
+    test1<random_access_iterator<Ptr*> >();
+    test1<Ptr*>();
+
+#endif  // _LIBCPP_HAS_NO_RVALUE_REFERENCES
+}

Added: libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.unique/unique_copy.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.unique/unique_copy.pass.cpp?rev=224658&view=auto
==============================================================================
--- libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.unique/unique_copy.pass.cpp (added)
+++ libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.unique/unique_copy.pass.cpp Fri Dec 19 19:40:03 2014
@@ -0,0 +1,125 @@
+//===----------------------------------------------------------------------===//
+//
+//                     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.
+//
+//===----------------------------------------------------------------------===//
+
+// <algorithm>
+
+// template<InputIterator InIter, class OutIter>
+//   requires OutputIterator<OutIter, RvalueOf<InIter::value_type>::type>
+//         && EqualityComparable<InIter::value_type>
+//         && HasAssign<InIter::value_type, InIter::reference>
+//         && Constructible<InIter::value_type, InIter::reference>
+//   OutIter
+//   unique_copy(InIter first, InIter last, OutIter result);
+
+#include <algorithm>
+#include <cassert>
+
+#include "test_iterators.h"
+
+template <class InIter, class OutIter>
+void
+test()
+{
+    const int ia[] = {0};
+    const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+    int ja[sa] = {-1};
+    OutIter r = std::unique_copy(InIter(ia), InIter(ia+sa), OutIter(ja));
+    assert(base(r) == ja + sa);
+    assert(ja[0] == 0);
+
+    const int ib[] = {0, 1};
+    const unsigned sb = sizeof(ib)/sizeof(ib[0]);
+    int jb[sb] = {-1};
+    r = std::unique_copy(InIter(ib), InIter(ib+sb), OutIter(jb));
+    assert(base(r) == jb + sb);
+    assert(jb[0] == 0);
+    assert(jb[1] == 1);
+
+    const int ic[] = {0, 0};
+    const unsigned sc = sizeof(ic)/sizeof(ic[0]);
+    int jc[sc] = {-1};
+    r = std::unique_copy(InIter(ic), InIter(ic+sc), OutIter(jc));
+    assert(base(r) == jc + 1);
+    assert(jc[0] == 0);
+
+    const int id[] = {0, 0, 1};
+    const unsigned sd = sizeof(id)/sizeof(id[0]);
+    int jd[sd] = {-1};
+    r = std::unique_copy(InIter(id), InIter(id+sd), OutIter(jd));
+    assert(base(r) == jd + 2);
+    assert(jd[0] == 0);
+    assert(jd[1] == 1);
+
+    const int ie[] = {0, 0, 1, 0};
+    const unsigned se = sizeof(ie)/sizeof(ie[0]);
+    int je[se] = {-1};
+    r = std::unique_copy(InIter(ie), InIter(ie+se), OutIter(je));
+    assert(base(r) == je + 3);
+    assert(je[0] == 0);
+    assert(je[1] == 1);
+    assert(je[2] == 0);
+
+    const int ig[] = {0, 0, 1, 1};
+    const unsigned sg = sizeof(ig)/sizeof(ig[0]);
+    int jg[sg] = {-1};
+    r = std::unique_copy(InIter(ig), InIter(ig+sg), OutIter(jg));
+    assert(base(r) == jg + 2);
+    assert(jg[0] == 0);
+    assert(jg[1] == 1);
+
+    const int ih[] = {0, 1, 1};
+    const unsigned sh = sizeof(ih)/sizeof(ih[0]);
+    int jh[sh] = {-1};
+    r = std::unique_copy(InIter(ih), InIter(ih+sh), OutIter(jh));
+    assert(base(r) == jh + 2);
+    assert(jh[0] == 0);
+    assert(jh[1] == 1);
+
+    const int ii[] = {0, 1, 1, 1, 2, 2, 2};
+    const unsigned si = sizeof(ii)/sizeof(ii[0]);
+    int ji[si] = {-1};
+    r = std::unique_copy(InIter(ii), InIter(ii+si), OutIter(ji));
+    assert(base(r) == ji + 3);
+    assert(ji[0] == 0);
+    assert(ji[1] == 1);
+    assert(ji[2] == 2);
+}
+
+int main()
+{
+    test<input_iterator<const int*>, output_iterator<int*> >();
+    test<input_iterator<const int*>, forward_iterator<int*> >();
+    test<input_iterator<const int*>, bidirectional_iterator<int*> >();
+    test<input_iterator<const int*>, random_access_iterator<int*> >();
+    test<input_iterator<const int*>, int*>();
+
+    test<forward_iterator<const int*>, output_iterator<int*> >();
+    test<forward_iterator<const int*>, forward_iterator<int*> >();
+    test<forward_iterator<const int*>, bidirectional_iterator<int*> >();
+    test<forward_iterator<const int*>, random_access_iterator<int*> >();
+    test<forward_iterator<const int*>, int*>();
+
+    test<bidirectional_iterator<const int*>, output_iterator<int*> >();
+    test<bidirectional_iterator<const int*>, forward_iterator<int*> >();
+    test<bidirectional_iterator<const int*>, bidirectional_iterator<int*> >();
+    test<bidirectional_iterator<const int*>, random_access_iterator<int*> >();
+    test<bidirectional_iterator<const int*>, int*>();
+
+    test<random_access_iterator<const int*>, output_iterator<int*> >();
+    test<random_access_iterator<const int*>, forward_iterator<int*> >();
+    test<random_access_iterator<const int*>, bidirectional_iterator<int*> >();
+    test<random_access_iterator<const int*>, random_access_iterator<int*> >();
+    test<random_access_iterator<const int*>, int*>();
+
+    test<const int*, output_iterator<int*> >();
+    test<const int*, forward_iterator<int*> >();
+    test<const int*, bidirectional_iterator<int*> >();
+    test<const int*, random_access_iterator<int*> >();
+    test<const int*, int*>();
+}

Added: libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.unique/unique_copy_pred.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.unique/unique_copy_pred.pass.cpp?rev=224658&view=auto
==============================================================================
--- libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.unique/unique_copy_pred.pass.cpp (added)
+++ libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.unique/unique_copy_pred.pass.cpp Fri Dec 19 19:40:03 2014
@@ -0,0 +1,152 @@
+//===----------------------------------------------------------------------===//
+//
+//                     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.
+//
+//===----------------------------------------------------------------------===//
+
+// <algorithm>
+
+// template<InputIterator InIter, class OutIter,
+//          EquivalenceRelation<auto, InIter::value_type> Pred>
+//   requires OutputIterator<OutIter, RvalueOf<InIter::value_type>::type>
+//         && HasAssign<InIter::value_type, InIter::reference>
+//         && Constructible<InIter::value_type, InIter::reference>
+//         && CopyConstructible<Pred>
+//   OutIter
+//   unique_copy(InIter first, InIter last, OutIter result, Pred pred);
+
+#include <algorithm>
+#include <cassert>
+
+#include "test_iterators.h"
+
+struct count_equal
+{
+    static unsigned count;
+    template <class T>
+    bool operator()(const T& x, const T& y)
+        {++count; return x == y;}
+};
+
+unsigned count_equal::count = 0;
+
+template <class InIter, class OutIter>
+void
+test()
+{
+    const int ia[] = {0};
+    const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+    int ja[sa] = {-1};
+    count_equal::count = 0;
+    OutIter r = std::unique_copy(InIter(ia), InIter(ia+sa), OutIter(ja), count_equal());
+    assert(base(r) == ja + sa);
+    assert(ja[0] == 0);
+    assert(count_equal::count == sa-1);
+
+    const int ib[] = {0, 1};
+    const unsigned sb = sizeof(ib)/sizeof(ib[0]);
+    int jb[sb] = {-1};
+    count_equal::count = 0;
+    r = std::unique_copy(InIter(ib), InIter(ib+sb), OutIter(jb), count_equal());
+    assert(base(r) == jb + sb);
+    assert(jb[0] == 0);
+    assert(jb[1] == 1);
+    assert(count_equal::count == sb-1);
+
+    const int ic[] = {0, 0};
+    const unsigned sc = sizeof(ic)/sizeof(ic[0]);
+    int jc[sc] = {-1};
+    count_equal::count = 0;
+    r = std::unique_copy(InIter(ic), InIter(ic+sc), OutIter(jc), count_equal());
+    assert(base(r) == jc + 1);
+    assert(jc[0] == 0);
+    assert(count_equal::count == sc-1);
+
+    const int id[] = {0, 0, 1};
+    const unsigned sd = sizeof(id)/sizeof(id[0]);
+    int jd[sd] = {-1};
+    count_equal::count = 0;
+    r = std::unique_copy(InIter(id), InIter(id+sd), OutIter(jd), count_equal());
+    assert(base(r) == jd + 2);
+    assert(jd[0] == 0);
+    assert(jd[1] == 1);
+    assert(count_equal::count == sd-1);
+
+    const int ie[] = {0, 0, 1, 0};
+    const unsigned se = sizeof(ie)/sizeof(ie[0]);
+    int je[se] = {-1};
+    count_equal::count = 0;
+    r = std::unique_copy(InIter(ie), InIter(ie+se), OutIter(je), count_equal());
+    assert(base(r) == je + 3);
+    assert(je[0] == 0);
+    assert(je[1] == 1);
+    assert(je[2] == 0);
+    assert(count_equal::count == se-1);
+
+    const int ig[] = {0, 0, 1, 1};
+    const unsigned sg = sizeof(ig)/sizeof(ig[0]);
+    int jg[sg] = {-1};
+    count_equal::count = 0;
+    r = std::unique_copy(InIter(ig), InIter(ig+sg), OutIter(jg), count_equal());
+    assert(base(r) == jg + 2);
+    assert(jg[0] == 0);
+    assert(jg[1] == 1);
+    assert(count_equal::count == sg-1);
+
+    const int ih[] = {0, 1, 1};
+    const unsigned sh = sizeof(ih)/sizeof(ih[0]);
+    int jh[sh] = {-1};
+    count_equal::count = 0;
+    r = std::unique_copy(InIter(ih), InIter(ih+sh), OutIter(jh), count_equal());
+    assert(base(r) == jh + 2);
+    assert(jh[0] == 0);
+    assert(jh[1] == 1);
+    assert(count_equal::count == sh-1);
+
+    const int ii[] = {0, 1, 1, 1, 2, 2, 2};
+    const unsigned si = sizeof(ii)/sizeof(ii[0]);
+    int ji[si] = {-1};
+    count_equal::count = 0;
+    r = std::unique_copy(InIter(ii), InIter(ii+si), OutIter(ji), count_equal());
+    assert(base(r) == ji + 3);
+    assert(ji[0] == 0);
+    assert(ji[1] == 1);
+    assert(ji[2] == 2);
+    assert(count_equal::count == si-1);
+}
+
+int main()
+{
+    test<input_iterator<const int*>, output_iterator<int*> >();
+    test<input_iterator<const int*>, forward_iterator<int*> >();
+    test<input_iterator<const int*>, bidirectional_iterator<int*> >();
+    test<input_iterator<const int*>, random_access_iterator<int*> >();
+    test<input_iterator<const int*>, int*>();
+
+    test<forward_iterator<const int*>, output_iterator<int*> >();
+    test<forward_iterator<const int*>, forward_iterator<int*> >();
+    test<forward_iterator<const int*>, bidirectional_iterator<int*> >();
+    test<forward_iterator<const int*>, random_access_iterator<int*> >();
+    test<forward_iterator<const int*>, int*>();
+
+    test<bidirectional_iterator<const int*>, output_iterator<int*> >();
+    test<bidirectional_iterator<const int*>, forward_iterator<int*> >();
+    test<bidirectional_iterator<const int*>, bidirectional_iterator<int*> >();
+    test<bidirectional_iterator<const int*>, random_access_iterator<int*> >();
+    test<bidirectional_iterator<const int*>, int*>();
+
+    test<random_access_iterator<const int*>, output_iterator<int*> >();
+    test<random_access_iterator<const int*>, forward_iterator<int*> >();
+    test<random_access_iterator<const int*>, bidirectional_iterator<int*> >();
+    test<random_access_iterator<const int*>, random_access_iterator<int*> >();
+    test<random_access_iterator<const int*>, int*>();
+
+    test<const int*, output_iterator<int*> >();
+    test<const int*, forward_iterator<int*> >();
+    test<const int*, bidirectional_iterator<int*> >();
+    test<const int*, random_access_iterator<int*> >();
+    test<const int*, int*>();
+}

Added: libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.unique/unique_pred.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.unique/unique_pred.pass.cpp?rev=224658&view=auto
==============================================================================
--- libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.unique/unique_pred.pass.cpp (added)
+++ libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.unique/unique_pred.pass.cpp Fri Dec 19 19:40:03 2014
@@ -0,0 +1,231 @@
+//===----------------------------------------------------------------------===//
+//
+//                     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.
+//
+//===----------------------------------------------------------------------===//
+
+// <algorithm>
+
+// template<ForwardIterator Iter, EquivalenceRelation<auto, Iter::value_type> Pred>
+//   requires OutputIterator<Iter, RvalueOf<Iter::reference>::type>
+//         && CopyConstructible<Pred>
+//   Iter
+//   unique(Iter first, Iter last, Pred pred);
+
+#include <algorithm>
+#include <cassert>
+#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
+#include <memory>
+#endif
+
+#include "test_iterators.h"
+
+struct count_equal
+{
+    static unsigned count;
+    template <class T>
+    bool operator()(const T& x, const T& y)
+        {++count; return x == y;}
+};
+
+unsigned count_equal::count = 0;
+
+template <class Iter>
+void
+test()
+{
+    int ia[] = {0};
+    const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+    count_equal::count = 0;
+    Iter r = std::unique(Iter(ia), Iter(ia+sa), count_equal());
+    assert(base(r) == ia + sa);
+    assert(ia[0] == 0);
+    assert(count_equal::count == sa-1);
+
+    int ib[] = {0, 1};
+    const unsigned sb = sizeof(ib)/sizeof(ib[0]);
+    count_equal::count = 0;
+    r = std::unique(Iter(ib), Iter(ib+sb), count_equal());
+    assert(base(r) == ib + sb);
+    assert(ib[0] == 0);
+    assert(ib[1] == 1);
+    assert(count_equal::count == sb-1);
+
+    int ic[] = {0, 0};
+    const unsigned sc = sizeof(ic)/sizeof(ic[0]);
+    count_equal::count = 0;
+    r = std::unique(Iter(ic), Iter(ic+sc), count_equal());
+    assert(base(r) == ic + 1);
+    assert(ic[0] == 0);
+    assert(count_equal::count == sc-1);
+
+    int id[] = {0, 0, 1};
+    const unsigned sd = sizeof(id)/sizeof(id[0]);
+    count_equal::count = 0;
+    r = std::unique(Iter(id), Iter(id+sd), count_equal());
+    assert(base(r) == id + 2);
+    assert(id[0] == 0);
+    assert(id[1] == 1);
+    assert(count_equal::count == sd-1);
+
+    int ie[] = {0, 0, 1, 0};
+    const unsigned se = sizeof(ie)/sizeof(ie[0]);
+    count_equal::count = 0;
+    r = std::unique(Iter(ie), Iter(ie+se), count_equal());
+    assert(base(r) == ie + 3);
+    assert(ie[0] == 0);
+    assert(ie[1] == 1);
+    assert(ie[2] == 0);
+    assert(count_equal::count == se-1);
+
+    int ig[] = {0, 0, 1, 1};
+    const unsigned sg = sizeof(ig)/sizeof(ig[0]);
+    count_equal::count = 0;
+    r = std::unique(Iter(ig), Iter(ig+sg), count_equal());
+    assert(base(r) == ig + 2);
+    assert(ig[0] == 0);
+    assert(ig[1] == 1);
+    assert(count_equal::count == sg-1);
+
+    int ih[] = {0, 1, 1};
+    const unsigned sh = sizeof(ih)/sizeof(ih[0]);
+    count_equal::count = 0;
+    r = std::unique(Iter(ih), Iter(ih+sh), count_equal());
+    assert(base(r) == ih + 2);
+    assert(ih[0] == 0);
+    assert(ih[1] == 1);
+    assert(count_equal::count == sh-1);
+
+    int ii[] = {0, 1, 1, 1, 2, 2, 2};
+    const unsigned si = sizeof(ii)/sizeof(ii[0]);
+    count_equal::count = 0;
+    r = std::unique(Iter(ii), Iter(ii+si), count_equal());
+    assert(base(r) == ii + 3);
+    assert(ii[0] == 0);
+    assert(ii[1] == 1);
+    assert(ii[2] == 2);
+    assert(count_equal::count == si-1);
+}
+
+#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
+
+struct do_nothing
+{
+    void operator()(void*) const {}
+};
+
+typedef std::unique_ptr<int, do_nothing> Ptr;
+
+template <class Iter>
+void
+test1()
+{
+    int one = 1;
+    int two = 2;
+    Ptr ia[1];
+    const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+    count_equal::count = 0;
+    Iter r = std::unique(Iter(ia), Iter(ia+sa), count_equal());
+    assert(base(r) == ia + sa);
+    assert(ia[0] == 0);
+    assert(count_equal::count == sa-1);
+
+    Ptr ib[2];
+    ib[1].reset(&one);
+    const unsigned sb = sizeof(ib)/sizeof(ib[0]);
+    count_equal::count = 0;
+    r = std::unique(Iter(ib), Iter(ib+sb), count_equal());
+    assert(base(r) == ib + sb);
+    assert(ib[0] == 0);
+    assert(*ib[1] == 1);
+    assert(count_equal::count == sb-1);
+
+    Ptr ic[2];
+    const unsigned sc = sizeof(ic)/sizeof(ic[0]);
+    count_equal::count = 0;
+    r = std::unique(Iter(ic), Iter(ic+sc), count_equal());
+    assert(base(r) == ic + 1);
+    assert(ic[0] == 0);
+    assert(count_equal::count == sc-1);
+
+    Ptr id[3];
+    id[2].reset(&one);
+    const unsigned sd = sizeof(id)/sizeof(id[0]);
+    count_equal::count = 0;
+    r = std::unique(Iter(id), Iter(id+sd), count_equal());
+    assert(base(r) == id + 2);
+    assert(id[0] == 0);
+    assert(*id[1] == 1);
+    assert(count_equal::count == sd-1);
+
+    Ptr ie[4];
+    ie[2].reset(&one);
+    const unsigned se = sizeof(ie)/sizeof(ie[0]);
+    count_equal::count = 0;
+    r = std::unique(Iter(ie), Iter(ie+se), count_equal());
+    assert(base(r) == ie + 3);
+    assert(ie[0] == 0);
+    assert(*ie[1] == 1);
+    assert(ie[2] == 0);
+    assert(count_equal::count == se-1);
+
+    Ptr ig[4];
+    ig[2].reset(&one);
+    ig[3].reset(&one);
+    const unsigned sg = sizeof(ig)/sizeof(ig[0]);
+    count_equal::count = 0;
+    r = std::unique(Iter(ig), Iter(ig+sg), count_equal());
+    assert(base(r) == ig + 2);
+    assert(ig[0] == 0);
+    assert(*ig[1] == 1);
+    assert(count_equal::count == sg-1);
+
+    Ptr ih[3];
+    ih[1].reset(&one);
+    ih[2].reset(&one);
+    const unsigned sh = sizeof(ih)/sizeof(ih[0]);
+    count_equal::count = 0;
+    r = std::unique(Iter(ih), Iter(ih+sh), count_equal());
+    assert(base(r) == ih + 2);
+    assert(ih[0] == 0);
+    assert(*ih[1] == 1);
+    assert(count_equal::count == sh-1);
+
+    Ptr ii[7];
+    ii[1].reset(&one);
+    ii[2].reset(&one);
+    ii[3].reset(&one);
+    ii[4].reset(&two);
+    ii[5].reset(&two);
+    ii[6].reset(&two);
+    const unsigned si = sizeof(ii)/sizeof(ii[0]);
+    count_equal::count = 0;
+    r = std::unique(Iter(ii), Iter(ii+si), count_equal());
+    assert(base(r) == ii + 3);
+    assert(ii[0] == 0);
+    assert(*ii[1] == 1);
+    assert(*ii[2] == 2);
+    assert(count_equal::count == si-1);
+}
+
+#endif  // _LIBCPP_HAS_NO_RVALUE_REFERENCES
+
+int main()
+{
+    test<forward_iterator<int*> >();
+    test<bidirectional_iterator<int*> >();
+    test<random_access_iterator<int*> >();
+    test<int*>();
+
+#ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
+
+    test1<forward_iterator<Ptr*> >();
+    test1<bidirectional_iterator<Ptr*> >();
+    test1<random_access_iterator<Ptr*> >();
+    test1<Ptr*>();
+
+#endif  // _LIBCPP_HAS_NO_RVALUE_REFERENCES
+}

Added: libcxx/trunk/test/std/algorithms/alg.modifying.operations/nothing_to_do.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/algorithms/alg.modifying.operations/nothing_to_do.pass.cpp?rev=224658&view=auto
==============================================================================
--- libcxx/trunk/test/std/algorithms/alg.modifying.operations/nothing_to_do.pass.cpp (added)
+++ libcxx/trunk/test/std/algorithms/alg.modifying.operations/nothing_to_do.pass.cpp Fri Dec 19 19:40:03 2014
@@ -0,0 +1,12 @@
+//===----------------------------------------------------------------------===//
+//
+//                     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()
+{
+}

Added: libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.adjacent.find/adjacent_find.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.adjacent.find/adjacent_find.pass.cpp?rev=224658&view=auto
==============================================================================
--- libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.adjacent.find/adjacent_find.pass.cpp (added)
+++ libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.adjacent.find/adjacent_find.pass.cpp Fri Dec 19 19:40:03 2014
@@ -0,0 +1,35 @@
+//===----------------------------------------------------------------------===//
+//
+//                     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.
+//
+//===----------------------------------------------------------------------===//
+
+// <algorithm>
+
+// template<ForwardIterator Iter>
+//   requires EqualityComparable<Iter::value_type>
+//   Iter
+//   adjacent_find(Iter first, Iter last);
+
+#include <algorithm>
+#include <cassert>
+
+#include "test_iterators.h"
+
+int main()
+{
+    int ia[] = {0, 1, 2, 2, 0, 1, 2, 3};
+    const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+    assert(std::adjacent_find(forward_iterator<const int*>(ia),
+                              forward_iterator<const int*>(ia + sa)) ==
+                              forward_iterator<const int*>(ia+2));
+    assert(std::adjacent_find(forward_iterator<const int*>(ia),
+                              forward_iterator<const int*>(ia)) ==
+                              forward_iterator<const int*>(ia));
+    assert(std::adjacent_find(forward_iterator<const int*>(ia+3),
+                              forward_iterator<const int*>(ia + sa)) ==
+                              forward_iterator<const int*>(ia+sa));
+}

Added: libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.adjacent.find/adjacent_find_pred.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.adjacent.find/adjacent_find_pred.pass.cpp?rev=224658&view=auto
==============================================================================
--- libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.adjacent.find/adjacent_find_pred.pass.cpp (added)
+++ libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.adjacent.find/adjacent_find_pred.pass.cpp Fri Dec 19 19:40:03 2014
@@ -0,0 +1,39 @@
+//===----------------------------------------------------------------------===//
+//
+//                     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.
+//
+//===----------------------------------------------------------------------===//
+
+// <algorithm>
+
+// template<ForwardIterator Iter, EquivalenceRelation<auto, Iter::value_type> Pred>
+//   requires CopyConstructible<Pred>
+//   Iter
+//   adjacent_find(Iter first, Iter last, Pred pred);
+
+#include <algorithm>
+#include <functional>
+#include <cassert>
+
+#include "test_iterators.h"
+
+int main()
+{
+    int ia[] = {0, 1, 2, 2, 0, 1, 2, 3};
+    const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+    assert(std::adjacent_find(forward_iterator<const int*>(ia),
+                              forward_iterator<const int*>(ia + sa),
+                              std::equal_to<int>()) ==
+                              forward_iterator<const int*>(ia+2));
+    assert(std::adjacent_find(forward_iterator<const int*>(ia),
+                              forward_iterator<const int*>(ia),
+                              std::equal_to<int>()) ==
+                              forward_iterator<const int*>(ia));
+    assert(std::adjacent_find(forward_iterator<const int*>(ia+3),
+                              forward_iterator<const int*>(ia + sa),
+                              std::equal_to<int>()) ==
+                              forward_iterator<const int*>(ia+sa));
+}

Added: libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.all_of/all_of.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.all_of/all_of.pass.cpp?rev=224658&view=auto
==============================================================================
--- libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.all_of/all_of.pass.cpp (added)
+++ libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.all_of/all_of.pass.cpp Fri Dec 19 19:40:03 2014
@@ -0,0 +1,47 @@
+//===----------------------------------------------------------------------===//
+//
+//                     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.
+//
+//===----------------------------------------------------------------------===//
+
+// <algorithm>
+
+// template <class InputIterator, class Predicate>
+//   bool
+//   all_of(InputIterator first, InputIterator last, Predicate pred);
+
+#include <algorithm>
+#include <cassert>
+
+#include "test_iterators.h"
+
+struct test1
+{
+    bool operator()(const int& i) const
+    {
+        return i % 2 == 0;
+    }
+};
+
+int main()
+{
+    {
+        int ia[] = {2, 4, 6, 8};
+        const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+        assert(std::all_of(input_iterator<const int*>(ia),
+                           input_iterator<const int*>(ia + sa), test1()) == true);
+        assert(std::all_of(input_iterator<const int*>(ia),
+                           input_iterator<const int*>(ia), test1()) == true);
+    }
+    {
+        const int ia[] = {2, 4, 5, 8};
+        const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+        assert(std::all_of(input_iterator<const int*>(ia),
+                           input_iterator<const int*>(ia + sa), test1()) == false);
+        assert(std::all_of(input_iterator<const int*>(ia),
+                           input_iterator<const int*>(ia), test1()) == true);
+    }
+}

Added: libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.any_of/any_of.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.any_of/any_of.pass.cpp?rev=224658&view=auto
==============================================================================
--- libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.any_of/any_of.pass.cpp (added)
+++ libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.any_of/any_of.pass.cpp Fri Dec 19 19:40:03 2014
@@ -0,0 +1,55 @@
+//===----------------------------------------------------------------------===//
+//
+//                     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.
+//
+//===----------------------------------------------------------------------===//
+
+// <algorithm>
+
+// template <class InputIterator, class Predicate>
+//   bool
+//   any_of(InputIterator first, InputIterator last, Predicate pred);
+
+#include <algorithm>
+#include <cassert>
+
+#include "test_iterators.h"
+
+struct test1
+{
+    bool operator()(const int& i) const
+    {
+        return i % 2 == 0;
+    }
+};
+
+int main()
+{
+    {
+        int ia[] = {2, 4, 6, 8};
+        const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+        assert(std::any_of(input_iterator<const int*>(ia),
+                           input_iterator<const int*>(ia + sa), test1()) == true);
+        assert(std::any_of(input_iterator<const int*>(ia),
+                           input_iterator<const int*>(ia), test1()) == false);
+    }
+    {
+        const int ia[] = {2, 4, 5, 8};
+        const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+        assert(std::any_of(input_iterator<const int*>(ia),
+                           input_iterator<const int*>(ia + sa), test1()) == true);
+        assert(std::any_of(input_iterator<const int*>(ia),
+                           input_iterator<const int*>(ia), test1()) == false);
+    }
+    {
+        const int ia[] = {1, 3, 5, 7};
+        const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+        assert(std::any_of(input_iterator<const int*>(ia),
+                           input_iterator<const int*>(ia + sa), test1()) == false);
+        assert(std::any_of(input_iterator<const int*>(ia),
+                           input_iterator<const int*>(ia), test1()) == false);
+    }
+}

Added: libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.count/count.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.count/count.pass.cpp?rev=224658&view=auto
==============================================================================
--- libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.count/count.pass.cpp (added)
+++ libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.count/count.pass.cpp Fri Dec 19 19:40:03 2014
@@ -0,0 +1,32 @@
+//===----------------------------------------------------------------------===//
+//
+//                     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.
+//
+//===----------------------------------------------------------------------===//
+
+// <algorithm>
+
+// template<InputIterator Iter, class T>
+//   requires HasEqualTo<Iter::value_type, T>
+//   Iter::difference_type
+//   count(Iter first, Iter last, const T& value);
+
+#include <algorithm>
+#include <cassert>
+
+#include "test_iterators.h"
+
+int main()
+{
+    int ia[] = {0, 1, 2, 2, 0, 1, 2, 3};
+    const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+    assert(std::count(input_iterator<const int*>(ia),
+                      input_iterator<const int*>(ia + sa), 2) == 3);
+    assert(std::count(input_iterator<const int*>(ia),
+                      input_iterator<const int*>(ia + sa), 7) == 0);
+    assert(std::count(input_iterator<const int*>(ia),
+                      input_iterator<const int*>(ia), 2) == 0);
+}

Added: libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.count/count_if.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.count/count_if.pass.cpp?rev=224658&view=auto
==============================================================================
--- libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.count/count_if.pass.cpp (added)
+++ libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.count/count_if.pass.cpp Fri Dec 19 19:40:03 2014
@@ -0,0 +1,36 @@
+//===----------------------------------------------------------------------===//
+//
+//                     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.
+//
+//===----------------------------------------------------------------------===//
+
+// <algorithm>
+
+// template<InputIterator Iter, Predicate<auto, Iter::value_type> Pred>
+//   requires CopyConstructible<Pred>
+//   Iter::difference_type
+//   count_if(Iter first, Iter last, Pred pred);
+
+#include <algorithm>
+#include <functional>
+#include <cassert>
+
+#include "test_iterators.h"
+
+int main()
+{
+    int ia[] = {0, 1, 2, 2, 0, 1, 2, 3};
+    const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+    assert(std::count_if(input_iterator<const int*>(ia),
+                         input_iterator<const int*>(ia + sa),
+                         std::bind2nd(std::equal_to<int>(),2)) == 3);
+    assert(std::count_if(input_iterator<const int*>(ia),
+                         input_iterator<const int*>(ia + sa),
+                         std::bind2nd(std::equal_to<int>(),7)) == 0);
+    assert(std::count_if(input_iterator<const int*>(ia),
+                         input_iterator<const int*>(ia),
+                         std::bind2nd(std::equal_to<int>(),2)) == 0);
+}

Added: libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.equal/equal.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.equal/equal.pass.cpp?rev=224658&view=auto
==============================================================================
--- libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.equal/equal.pass.cpp (added)
+++ libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.equal/equal.pass.cpp Fri Dec 19 19:40:03 2014
@@ -0,0 +1,66 @@
+//===----------------------------------------------------------------------===//
+//
+//                     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.
+//
+//===----------------------------------------------------------------------===//
+
+// <algorithm>
+
+// template<InputIterator Iter1, InputIterator Iter2>
+//   requires HasEqualTo<Iter1::value_type, Iter2::value_type>
+//   bool
+//   equal(Iter1 first1, Iter1 last1, Iter2 first2);
+
+#include <algorithm>
+#include <cassert>
+
+#include "test_iterators.h"
+
+#if _LIBCPP_STD_VER > 11
+#define HAS_FOUR_ITERATOR_VERSION
+#endif
+
+int main()
+{
+    int ia[] = {0, 1, 2, 3, 4, 5};
+    const unsigned s = sizeof(ia)/sizeof(ia[0]);
+    int ib[s] = {0, 1, 2, 5, 4, 5};
+    assert(std::equal(input_iterator<const int*>(ia),
+                      input_iterator<const int*>(ia+s),
+                      input_iterator<const int*>(ia)));
+#ifdef HAS_FOUR_ITERATOR_VERSION
+    assert(std::equal(input_iterator<const int*>(ia),
+                      input_iterator<const int*>(ia+s),
+                      input_iterator<const int*>(ia),
+                      input_iterator<const int*>(ia+s)));
+    assert(std::equal(random_access_iterator<const int*>(ia),
+                      random_access_iterator<const int*>(ia+s),
+                      random_access_iterator<const int*>(ia),
+                      random_access_iterator<const int*>(ia+s)));
+#endif
+    assert(!std::equal(input_iterator<const int*>(ia),
+                       input_iterator<const int*>(ia+s),
+                       input_iterator<const int*>(ib)));
+#ifdef HAS_FOUR_ITERATOR_VERSION
+    assert(!std::equal(input_iterator<const int*>(ia),
+                       input_iterator<const int*>(ia+s),
+                       input_iterator<const int*>(ib),
+                       input_iterator<const int*>(ib+s)));
+    assert(!std::equal(random_access_iterator<const int*>(ia),
+                       random_access_iterator<const int*>(ia+s),
+                       random_access_iterator<const int*>(ib),
+                       random_access_iterator<const int*>(ib+s)));
+    assert(!std::equal(input_iterator<const int*>(ia),
+                       input_iterator<const int*>(ia+s),
+                       input_iterator<const int*>(ia),
+                       input_iterator<const int*>(ia+s-1)));
+    assert(!std::equal(random_access_iterator<const int*>(ia),
+                       random_access_iterator<const int*>(ia+s),
+                       random_access_iterator<const int*>(ia),
+                       random_access_iterator<const int*>(ia+s-1)));
+    
+#endif
+}

Added: libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.equal/equal_pred.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.equal/equal_pred.pass.cpp?rev=224658&view=auto
==============================================================================
--- libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.equal/equal_pred.pass.cpp (added)
+++ libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.equal/equal_pred.pass.cpp Fri Dec 19 19:40:03 2014
@@ -0,0 +1,87 @@
+//===----------------------------------------------------------------------===//
+//
+//                     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.
+//
+//===----------------------------------------------------------------------===//
+
+// <algorithm>
+
+// template<InputIterator Iter1, InputIterator Iter2,
+//          Predicate<auto, Iter1::value_type, Iter2::value_type> Pred>
+//   requires CopyConstructible<Pred>
+//   bool
+//   equal(Iter1 first1, Iter1 last1, Iter2 first2, Pred pred);
+
+#include <algorithm>
+#include <functional>
+#include <cassert>
+
+#include "test_iterators.h"
+
+#if _LIBCPP_STD_VER > 11
+#define HAS_FOUR_ITERATOR_VERSION
+#endif
+
+int comparison_count = 0;
+template <typename T>
+bool counting_equals ( const T &a, const T &b ) {
+    ++comparison_count;
+    return a == b;
+}
+
+int main()
+{
+    int ia[] = {0, 1, 2, 3, 4, 5};
+    const unsigned s = sizeof(ia)/sizeof(ia[0]);
+    int ib[s] = {0, 1, 2, 5, 4, 5};
+    assert(std::equal(input_iterator<const int*>(ia),
+                      input_iterator<const int*>(ia+s),
+                      input_iterator<const int*>(ia),
+                      std::equal_to<int>()));
+#ifdef HAS_FOUR_ITERATOR_VERSION
+    assert(std::equal(input_iterator<const int*>(ia),
+                      input_iterator<const int*>(ia+s),
+                      input_iterator<const int*>(ia),
+                      input_iterator<const int*>(ia+s),
+                      std::equal_to<int>()));
+    assert(std::equal(random_access_iterator<const int*>(ia),
+                      random_access_iterator<const int*>(ia+s),
+                      random_access_iterator<const int*>(ia),
+                      random_access_iterator<const int*>(ia+s),
+                      std::equal_to<int>()));
+
+    comparison_count = 0;
+    assert(!std::equal(input_iterator<const int*>(ia),
+                      input_iterator<const int*>(ia+s),
+                      input_iterator<const int*>(ia),
+                      input_iterator<const int*>(ia+s-1),
+                      counting_equals<int>));
+    assert(comparison_count > 0);
+    comparison_count = 0;
+    assert(!std::equal(random_access_iterator<const int*>(ia),
+                      random_access_iterator<const int*>(ia+s),
+                      random_access_iterator<const int*>(ia),
+                      random_access_iterator<const int*>(ia+s-1),
+                      counting_equals<int>));
+    assert(comparison_count == 0);
+#endif
+    assert(!std::equal(input_iterator<const int*>(ia),
+                       input_iterator<const int*>(ia+s),
+                       input_iterator<const int*>(ib),
+                       std::equal_to<int>()));
+#ifdef HAS_FOUR_ITERATOR_VERSION
+    assert(!std::equal(input_iterator<const int*>(ia),
+                       input_iterator<const int*>(ia+s),
+                       input_iterator<const int*>(ib),
+                       input_iterator<const int*>(ib+s),
+                       std::equal_to<int>()));
+    assert(!std::equal(random_access_iterator<const int*>(ia),
+                       random_access_iterator<const int*>(ia+s),
+                       random_access_iterator<const int*>(ib),
+                       random_access_iterator<const int*>(ib+s),
+                       std::equal_to<int>()));
+#endif
+}

Added: libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.find.end/find_end.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.find.end/find_end.pass.cpp?rev=224658&view=auto
==============================================================================
--- libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.find.end/find_end.pass.cpp (added)
+++ libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.find.end/find_end.pass.cpp Fri Dec 19 19:40:03 2014
@@ -0,0 +1,57 @@
+//===----------------------------------------------------------------------===//
+//
+//                     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.
+//
+//===----------------------------------------------------------------------===//
+
+// <algorithm>
+
+// template<ForwardIterator Iter1, ForwardIterator Iter2>
+//   requires HasEqualTo<Iter1::value_type, Iter2::value_type>
+//   Iter1
+//   find_end(Iter1 first1, Iter1 last1, Iter2 first2, Iter2 last2);
+
+#include <algorithm>
+#include <cassert>
+
+#include "test_iterators.h"
+
+template <class Iter1, class Iter2>
+void
+test()
+{
+    int ia[] = {0, 1, 2, 3, 4, 5, 0, 1, 2, 3, 4, 0, 1, 2, 3, 0, 1, 2, 0, 1, 0};
+    const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+    int b[] = {0};
+    assert(std::find_end(Iter1(ia), Iter1(ia+sa), Iter2(b), Iter2(b+1)) == Iter1(ia+sa-1));
+    int c[] = {0, 1};
+    assert(std::find_end(Iter1(ia), Iter1(ia+sa), Iter2(c), Iter2(c+2)) == Iter1(ia+18));
+    int d[] = {0, 1, 2};
+    assert(std::find_end(Iter1(ia), Iter1(ia+sa), Iter2(d), Iter2(d+3)) == Iter1(ia+15));
+    int e[] = {0, 1, 2, 3};
+    assert(std::find_end(Iter1(ia), Iter1(ia+sa), Iter2(e), Iter2(e+4)) == Iter1(ia+11));
+    int f[] = {0, 1, 2, 3, 4};
+    assert(std::find_end(Iter1(ia), Iter1(ia+sa), Iter2(f), Iter2(f+5)) == Iter1(ia+6));
+    int g[] = {0, 1, 2, 3, 4, 5};
+    assert(std::find_end(Iter1(ia), Iter1(ia+sa), Iter2(g), Iter2(g+6)) == Iter1(ia));
+    int h[] = {0, 1, 2, 3, 4, 5, 6};
+    assert(std::find_end(Iter1(ia), Iter1(ia+sa), Iter2(h), Iter2(h+7)) == Iter1(ia+sa));
+    assert(std::find_end(Iter1(ia), Iter1(ia+sa), Iter2(b), Iter2(b)) == Iter1(ia+sa));
+    assert(std::find_end(Iter1(ia), Iter1(ia), Iter2(b), Iter2(b+1)) == Iter1(ia));
+}
+
+int main()
+{
+    test<forward_iterator<const int*>, forward_iterator<const int*> >();
+    test<forward_iterator<const int*>, bidirectional_iterator<const int*> >();
+    test<forward_iterator<const int*>, random_access_iterator<const int*> >();
+    test<bidirectional_iterator<const int*>, forward_iterator<const int*> >();
+    test<bidirectional_iterator<const int*>, bidirectional_iterator<const int*> >();
+    test<bidirectional_iterator<const int*>, random_access_iterator<const int*> >();
+    test<random_access_iterator<const int*>, forward_iterator<const int*> >();
+    test<random_access_iterator<const int*>, bidirectional_iterator<const int*> >();
+    test<random_access_iterator<const int*>, random_access_iterator<const int*> >();
+}

Added: libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.find.end/find_end_pred.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.find.end/find_end_pred.pass.cpp?rev=224658&view=auto
==============================================================================
--- libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.find.end/find_end_pred.pass.cpp (added)
+++ libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.find.end/find_end_pred.pass.cpp Fri Dec 19 19:40:03 2014
@@ -0,0 +1,86 @@
+//===----------------------------------------------------------------------===//
+//
+//                     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.
+//
+//===----------------------------------------------------------------------===//
+
+// <algorithm>
+
+// template<ForwardIterator Iter1, ForwardIterator Iter2,
+//          Predicate<auto, Iter1::value_type, Iter2::value_type> Pred>
+//   requires CopyConstructible<Pred>
+//   Iter1
+//   find_end(Iter1 first1, Iter1 last1, Iter2 first2, Iter2 last2, Pred pred);
+
+#include <algorithm>
+#include <cassert>
+
+#include "test_iterators.h"
+
+struct count_equal
+{
+    static unsigned count;
+    template <class T>
+    bool operator()(const T& x, const T& y)
+        {++count; return x == y;}
+};
+
+unsigned count_equal::count = 0;
+
+template <class Iter1, class Iter2>
+void
+test()
+{
+    int ia[] = {0, 1, 2, 3, 4, 5, 0, 1, 2, 3, 4, 0, 1, 2, 3, 0, 1, 2, 0, 1, 0};
+    const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+    int b[] = {0};
+    count_equal::count = 0;
+    assert(std::find_end(Iter1(ia), Iter1(ia+sa), Iter2(b), Iter2(b+1), count_equal()) == Iter1(ia+sa-1));
+    assert(count_equal::count <= 1*(sa-1+1));
+    int c[] = {0, 1};
+    count_equal::count = 0;
+    assert(std::find_end(Iter1(ia), Iter1(ia+sa), Iter2(c), Iter2(c+2), count_equal()) == Iter1(ia+18));
+    assert(count_equal::count <= 2*(sa-2+1));
+    int d[] = {0, 1, 2};
+    count_equal::count = 0;
+    assert(std::find_end(Iter1(ia), Iter1(ia+sa), Iter2(d), Iter2(d+3), count_equal()) == Iter1(ia+15));
+    assert(count_equal::count <= 3*(sa-3+1));
+    int e[] = {0, 1, 2, 3};
+    count_equal::count = 0;
+    assert(std::find_end(Iter1(ia), Iter1(ia+sa), Iter2(e), Iter2(e+4), count_equal()) == Iter1(ia+11));
+    assert(count_equal::count <= 4*(sa-4+1));
+    int f[] = {0, 1, 2, 3, 4};
+    count_equal::count = 0;
+    assert(std::find_end(Iter1(ia), Iter1(ia+sa), Iter2(f), Iter2(f+5), count_equal()) == Iter1(ia+6));
+    assert(count_equal::count <= 5*(sa-5+1));
+    int g[] = {0, 1, 2, 3, 4, 5};
+    count_equal::count = 0;
+    assert(std::find_end(Iter1(ia), Iter1(ia+sa), Iter2(g), Iter2(g+6), count_equal()) == Iter1(ia));
+    assert(count_equal::count <= 6*(sa-6+1));
+    int h[] = {0, 1, 2, 3, 4, 5, 6};
+    count_equal::count = 0;
+    assert(std::find_end(Iter1(ia), Iter1(ia+sa), Iter2(h), Iter2(h+7), count_equal()) == Iter1(ia+sa));
+    assert(count_equal::count <= 7*(sa-7+1));
+    count_equal::count = 0;
+    assert(std::find_end(Iter1(ia), Iter1(ia+sa), Iter2(b), Iter2(b), count_equal()) == Iter1(ia+sa));
+    assert(count_equal::count <= 0);
+    count_equal::count = 0;
+    assert(std::find_end(Iter1(ia), Iter1(ia), Iter2(b), Iter2(b+1), count_equal()) == Iter1(ia));
+    assert(count_equal::count <= 0);
+}
+
+int main()
+{
+    test<forward_iterator<const int*>, forward_iterator<const int*> >();
+    test<forward_iterator<const int*>, bidirectional_iterator<const int*> >();
+    test<forward_iterator<const int*>, random_access_iterator<const int*> >();
+    test<bidirectional_iterator<const int*>, forward_iterator<const int*> >();
+    test<bidirectional_iterator<const int*>, bidirectional_iterator<const int*> >();
+    test<bidirectional_iterator<const int*>, random_access_iterator<const int*> >();
+    test<random_access_iterator<const int*>, forward_iterator<const int*> >();
+    test<random_access_iterator<const int*>, bidirectional_iterator<const int*> >();
+    test<random_access_iterator<const int*>, random_access_iterator<const int*> >();
+}

Added: libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.find.first.of/find_first_of.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.find.first.of/find_first_of.pass.cpp?rev=224658&view=auto
==============================================================================
--- libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.find.first.of/find_first_of.pass.cpp (added)
+++ libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.find.first.of/find_first_of.pass.cpp Fri Dec 19 19:40:03 2014
@@ -0,0 +1,49 @@
+//===----------------------------------------------------------------------===//
+//
+//                     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.
+//
+//===----------------------------------------------------------------------===//
+
+// <algorithm>
+
+// template<InputIterator Iter1, ForwardIterator Iter2>
+//   requires HasEqualTo<Iter1::value_type, Iter2::value_type>
+//   Iter1
+//   find_first_of(Iter1 first1, Iter1 last1, Iter2 first2, Iter2 last2);
+
+#include <algorithm>
+#include <cassert>
+
+#include "test_iterators.h"
+
+int main()
+{
+    int ia[] = {0, 1, 2, 3, 0, 1, 2, 3};
+    const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+    int ib[] = {1, 3, 5, 7};
+    const unsigned sb = sizeof(ib)/sizeof(ib[0]);
+    assert(std::find_first_of(input_iterator<const int*>(ia),
+                              input_iterator<const int*>(ia + sa),
+                              forward_iterator<const int*>(ib),
+                              forward_iterator<const int*>(ib + sb)) ==
+                              input_iterator<const int*>(ia+1));
+    int ic[] = {7};
+    assert(std::find_first_of(input_iterator<const int*>(ia),
+                              input_iterator<const int*>(ia + sa),
+                              forward_iterator<const int*>(ic),
+                              forward_iterator<const int*>(ic + 1)) ==
+                              input_iterator<const int*>(ia+sa));
+    assert(std::find_first_of(input_iterator<const int*>(ia),
+                              input_iterator<const int*>(ia + sa),
+                              forward_iterator<const int*>(ic),
+                              forward_iterator<const int*>(ic)) ==
+                              input_iterator<const int*>(ia+sa));
+    assert(std::find_first_of(input_iterator<const int*>(ia),
+                              input_iterator<const int*>(ia),
+                              forward_iterator<const int*>(ic),
+                              forward_iterator<const int*>(ic+1)) ==
+                              input_iterator<const int*>(ia));
+}

Added: libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.find.first.of/find_first_of_pred.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.find.first.of/find_first_of_pred.pass.cpp?rev=224658&view=auto
==============================================================================
--- libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.find.first.of/find_first_of_pred.pass.cpp (added)
+++ libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.find.first.of/find_first_of_pred.pass.cpp Fri Dec 19 19:40:03 2014
@@ -0,0 +1,55 @@
+//===----------------------------------------------------------------------===//
+//
+//                     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.
+//
+//===----------------------------------------------------------------------===//
+
+// <algorithm>
+
+// template<InputIterator Iter1, ForwardIterator Iter2,
+//          Predicate<auto, Iter1::value_type, Iter2::value_type> Pred>
+//   requires CopyConstructible<Pred>
+//   Iter1
+//   find_first_of(Iter1 first1, Iter1 last1, Iter2 first2, Iter2 last2, Pred pred);
+
+#include <algorithm>
+#include <functional>
+#include <cassert>
+
+#include "test_iterators.h"
+
+int main()
+{
+    int ia[] = {0, 1, 2, 3, 0, 1, 2, 3};
+    const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+    int ib[] = {1, 3, 5, 7};
+    const unsigned sb = sizeof(ib)/sizeof(ib[0]);
+    assert(std::find_first_of(input_iterator<const int*>(ia),
+                              input_iterator<const int*>(ia + sa),
+                              forward_iterator<const int*>(ib),
+                              forward_iterator<const int*>(ib + sb),
+                              std::equal_to<int>()) ==
+                              input_iterator<const int*>(ia+1));
+    int ic[] = {7};
+    assert(std::find_first_of(input_iterator<const int*>(ia),
+                              input_iterator<const int*>(ia + sa),
+                              forward_iterator<const int*>(ic),
+                              forward_iterator<const int*>(ic + 1),
+                              std::equal_to<int>()) ==
+                              input_iterator<const int*>(ia+sa));
+    assert(std::find_first_of(input_iterator<const int*>(ia),
+                              input_iterator<const int*>(ia + sa),
+                              forward_iterator<const int*>(ic),
+                              forward_iterator<const int*>(ic),
+                              std::equal_to<int>()) ==
+                              input_iterator<const int*>(ia+sa));
+    assert(std::find_first_of(input_iterator<const int*>(ia),
+                              input_iterator<const int*>(ia),
+                              forward_iterator<const int*>(ic),
+                              forward_iterator<const int*>(ic+1),
+                              std::equal_to<int>()) ==
+                              input_iterator<const int*>(ia));
+}

Added: libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.find/find.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.find/find.pass.cpp?rev=224658&view=auto
==============================================================================
--- libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.find/find.pass.cpp (added)
+++ libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.find/find.pass.cpp Fri Dec 19 19:40:03 2014
@@ -0,0 +1,31 @@
+//===----------------------------------------------------------------------===//
+//
+//                     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.
+//
+//===----------------------------------------------------------------------===//
+
+// <algorithm>
+
+// template<InputIterator Iter, class T>
+//   requires HasEqualTo<Iter::value_type, T>
+//   Iter
+//   find(Iter first, Iter last, const T& value);
+
+#include <algorithm>
+#include <cassert>
+
+#include "test_iterators.h"
+
+int main()
+{
+    int ia[] = {0, 1, 2, 3, 4, 5};
+    const unsigned s = sizeof(ia)/sizeof(ia[0]);
+    input_iterator<const int*> r = std::find(input_iterator<const int*>(ia),
+                                             input_iterator<const int*>(ia+s), 3);
+    assert(*r == 3);
+    r = std::find(input_iterator<const int*>(ia), input_iterator<const int*>(ia+s), 10);
+    assert(r == input_iterator<const int*>(ia+s));
+}

Added: libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.find/find_if.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.find/find_if.pass.cpp?rev=224658&view=auto
==============================================================================
--- libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.find/find_if.pass.cpp (added)
+++ libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.find/find_if.pass.cpp Fri Dec 19 19:40:03 2014
@@ -0,0 +1,35 @@
+//===----------------------------------------------------------------------===//
+//
+//                     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.
+//
+//===----------------------------------------------------------------------===//
+
+// <algorithm>
+
+// template<InputIterator Iter, Predicate<auto, Iter::value_type> Pred>
+//   requires CopyConstructible<Pred>
+//   Iter
+//   find_if(Iter first, Iter last, Pred pred);
+
+#include <algorithm>
+#include <functional>
+#include <cassert>
+
+#include "test_iterators.h"
+
+int main()
+{
+    int ia[] = {0, 1, 2, 3, 4, 5};
+    const unsigned s = sizeof(ia)/sizeof(ia[0]);
+    input_iterator<const int*> r = std::find_if(input_iterator<const int*>(ia),
+                                                input_iterator<const int*>(ia+s),
+                                                std::bind2nd(std::equal_to<int>(), 3));
+    assert(*r == 3);
+    r = std::find_if(input_iterator<const int*>(ia),
+                     input_iterator<const int*>(ia+s),
+                     std::bind2nd(std::equal_to<int>(), 10));
+    assert(r == input_iterator<const int*>(ia+s));
+}

Added: libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.find/find_if_not.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.find/find_if_not.pass.cpp?rev=224658&view=auto
==============================================================================
--- libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.find/find_if_not.pass.cpp (added)
+++ libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.find/find_if_not.pass.cpp Fri Dec 19 19:40:03 2014
@@ -0,0 +1,35 @@
+//===----------------------------------------------------------------------===//
+//
+//                     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.
+//
+//===----------------------------------------------------------------------===//
+
+// <algorithm>
+
+// template<InputIterator Iter, Predicate<auto, Iter::value_type> Pred>
+//   requires CopyConstructible<Pred>
+//   Iter
+//   find_if_not(Iter first, Iter last, Pred pred);
+
+#include <algorithm>
+#include <functional>
+#include <cassert>
+
+#include "test_iterators.h"
+
+int main()
+{
+    int ia[] = {0, 1, 2, 3, 4, 5};
+    const unsigned s = sizeof(ia)/sizeof(ia[0]);
+    input_iterator<const int*> r = std::find_if_not(input_iterator<const int*>(ia),
+                                                    input_iterator<const int*>(ia+s),
+                                                    std::bind2nd(std::not_equal_to<int>(), 3));
+    assert(*r == 3);
+    r = std::find_if_not(input_iterator<const int*>(ia),
+                         input_iterator<const int*>(ia+s),
+                         std::bind2nd(std::not_equal_to<int>(), 10));
+    assert(r == input_iterator<const int*>(ia+s));
+}

Added: libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.foreach/test.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.foreach/test.pass.cpp?rev=224658&view=auto
==============================================================================
--- libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.foreach/test.pass.cpp (added)
+++ libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.foreach/test.pass.cpp Fri Dec 19 19:40:03 2014
@@ -0,0 +1,39 @@
+//===----------------------------------------------------------------------===//
+//
+//                     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.
+//
+//===----------------------------------------------------------------------===//
+
+// <algorithm>
+
+// template<InputIterator Iter, Callable<auto, Iter::reference> Function>
+//   requires CopyConstructible<Function>
+//   Function
+//   for_each(Iter first, Iter last, Function f);
+
+#include <algorithm>
+#include <cassert>
+
+#include "test_iterators.h"
+
+struct for_each_test
+{
+    for_each_test(int c) : count(c) {}
+    int count;
+    void operator()(int& i) {++i; ++count;}
+};
+
+int main()
+{
+    int ia[] = {0, 1, 2, 3, 4, 5};
+    const unsigned s = sizeof(ia)/sizeof(ia[0]);
+    for_each_test f = std::for_each(input_iterator<int*>(ia),
+                                    input_iterator<int*>(ia+s),
+                                    for_each_test(0));
+    assert(f.count == s);
+    for (unsigned i = 0; i < s; ++i)
+        assert(ia[i] == i+1);
+}

Added: libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.is_permutation/is_permutation.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.is_permutation/is_permutation.pass.cpp?rev=224658&view=auto
==============================================================================
--- libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.is_permutation/is_permutation.pass.cpp (added)
+++ libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.is_permutation/is_permutation.pass.cpp Fri Dec 19 19:40:03 2014
@@ -0,0 +1,605 @@
+//===----------------------------------------------------------------------===//
+//
+//                     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.
+//
+//===----------------------------------------------------------------------===//
+
+// <algorithm>
+
+// template<class ForwardIterator1, class ForwardIterator2>
+//   bool
+//   is_permutation(ForwardIterator1 first1, ForwardIterator1 last1,
+//                  ForwardIterator2 first2);
+
+#include <algorithm>
+#include <cassert>
+
+#include "test_iterators.h"
+
+#if _LIBCPP_STD_VER > 11
+#define HAS_FOUR_ITERATOR_VERSION
+#endif
+
+int main()
+{
+    {
+        const int ia[] = {0};
+        const int ib[] = {0};
+        const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + 0),
+                                   forward_iterator<const int*>(ib)) == true);
+#ifdef HAS_FOUR_ITERATOR_VERSION
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + 0),
+                                   forward_iterator<const int*>(ib),
+                                   forward_iterator<const int*>(ib + 0)) == true);
+#endif
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib)) == true);
+#ifdef HAS_FOUR_ITERATOR_VERSION
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   forward_iterator<const int*>(ib + sa)) == true);
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   forward_iterator<const int*>(ib + sa - 1)) == false);
+#endif
+    }
+    {
+        const int ia[] = {0};
+        const int ib[] = {1};
+        const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib)) == false);
+#ifdef HAS_FOUR_ITERATOR_VERSION
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   forward_iterator<const int*>(ib + sa)) == false);
+#endif
+    }
+
+    {
+        const int ia[] = {0, 0};
+        const int ib[] = {0, 0};
+        const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib)) == true);
+#ifdef HAS_FOUR_ITERATOR_VERSION
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   forward_iterator<const int*>(ib + sa)) == true);
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   forward_iterator<const int*>(ib + sa - 1)) == false);
+#endif
+    }
+    {
+        const int ia[] = {0, 0};
+        const int ib[] = {0, 1};
+        const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib)) == false);
+#ifdef HAS_FOUR_ITERATOR_VERSION
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   forward_iterator<const int*>(ib + sa)) == false);
+#endif
+    }
+    {
+        const int ia[] = {0, 0};
+        const int ib[] = {1, 0};
+        const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib)) == false);
+#ifdef HAS_FOUR_ITERATOR_VERSION
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   forward_iterator<const int*>(ib + sa)) == false);
+#endif
+    }
+    {
+        const int ia[] = {0, 0};
+        const int ib[] = {1, 1};
+        const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib)) == false);
+#ifdef HAS_FOUR_ITERATOR_VERSION
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   forward_iterator<const int*>(ib + sa)) == false);
+#endif
+    }
+    {
+        const int ia[] = {0, 1};
+        const int ib[] = {0, 0};
+        const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib)) == false);
+#ifdef HAS_FOUR_ITERATOR_VERSION
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   forward_iterator<const int*>(ib + sa)) == false);
+#endif
+    }
+    {
+        const int ia[] = {0, 1};
+        const int ib[] = {0, 1};
+        const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib)) == true);
+#ifdef HAS_FOUR_ITERATOR_VERSION
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   forward_iterator<const int*>(ib + sa)) == true);
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   forward_iterator<const int*>(ib + sa - 1)) == false);
+#endif
+    }
+    {
+        const int ia[] = {0, 1};
+        const int ib[] = {1, 0};
+        const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib)) == true);
+#ifdef HAS_FOUR_ITERATOR_VERSION
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   forward_iterator<const int*>(ib + sa)) == true);
+#endif
+    }
+    {
+        const int ia[] = {0, 1};
+        const int ib[] = {1, 1};
+        const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib)) == false);
+#ifdef HAS_FOUR_ITERATOR_VERSION
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   forward_iterator<const int*>(ib + sa)) == false);
+#endif
+    }
+    {
+        const int ia[] = {1, 0};
+        const int ib[] = {0, 0};
+        const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib)) == false);
+#ifdef HAS_FOUR_ITERATOR_VERSION
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   forward_iterator<const int*>(ib + sa)) == false);
+#endif
+    }
+    {
+        const int ia[] = {1, 0};
+        const int ib[] = {0, 1};
+        const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib)) == true);
+#ifdef HAS_FOUR_ITERATOR_VERSION
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   forward_iterator<const int*>(ib + sa)) == true);
+#endif
+    }
+    {
+        const int ia[] = {1, 0};
+        const int ib[] = {1, 0};
+        const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib)) == true);
+#ifdef HAS_FOUR_ITERATOR_VERSION
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   forward_iterator<const int*>(ib + sa)) == true);
+#endif
+    }
+    {
+        const int ia[] = {1, 0};
+        const int ib[] = {1, 1};
+        const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib)) == false);
+#ifdef HAS_FOUR_ITERATOR_VERSION
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   forward_iterator<const int*>(ib + sa)) == false);
+#endif
+    }
+    {
+        const int ia[] = {1, 1};
+        const int ib[] = {0, 0};
+        const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib)) == false);
+#ifdef HAS_FOUR_ITERATOR_VERSION
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   forward_iterator<const int*>(ib + sa)) == false);
+#endif
+    }
+    {
+        const int ia[] = {1, 1};
+        const int ib[] = {0, 1};
+        const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib)) == false);
+#ifdef HAS_FOUR_ITERATOR_VERSION
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   forward_iterator<const int*>(ib + sa)) == false);
+#endif
+    }
+    {
+        const int ia[] = {1, 1};
+        const int ib[] = {1, 0};
+        const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib)) == false);
+#ifdef HAS_FOUR_ITERATOR_VERSION
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   forward_iterator<const int*>(ib + sa)) == false);
+#endif
+    }
+    {
+        const int ia[] = {1, 1};
+        const int ib[] = {1, 1};
+        const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib)) == true);
+#ifdef HAS_FOUR_ITERATOR_VERSION
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   forward_iterator<const int*>(ib + sa)) == true);
+#endif
+    }
+
+    {
+        const int ia[] = {0, 0, 0};
+        const int ib[] = {1, 0, 0};
+        const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib)) == false);
+#ifdef HAS_FOUR_ITERATOR_VERSION
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   forward_iterator<const int*>(ib + sa)) == false);
+#endif
+    }
+    {
+        const int ia[] = {0, 0, 0};
+        const int ib[] = {1, 0, 1};
+        const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib)) == false);
+#ifdef HAS_FOUR_ITERATOR_VERSION
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   forward_iterator<const int*>(ib + sa)) == false);
+#endif
+    }
+    {
+        const int ia[] = {0, 0, 0};
+        const int ib[] = {1, 0, 2};
+        const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib)) == false);
+#ifdef HAS_FOUR_ITERATOR_VERSION
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   forward_iterator<const int*>(ib + sa)) == false);
+#endif
+    }
+    {
+        const int ia[] = {0, 0, 0};
+        const int ib[] = {1, 1, 0};
+        const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib)) == false);
+#ifdef HAS_FOUR_ITERATOR_VERSION
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   forward_iterator<const int*>(ib + sa)) == false);
+#endif
+    }
+    {
+        const int ia[] = {0, 0, 0};
+        const int ib[] = {1, 1, 1};
+        const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib)) == false);
+#ifdef HAS_FOUR_ITERATOR_VERSION
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   forward_iterator<const int*>(ib + sa)) == false);
+#endif
+    }
+    {
+        const int ia[] = {0, 0, 0};
+        const int ib[] = {1, 1, 2};
+        const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib)) == false);
+#ifdef HAS_FOUR_ITERATOR_VERSION
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   forward_iterator<const int*>(ib + sa)) == false);
+#endif
+    }
+    {
+        const int ia[] = {0, 0, 0};
+        const int ib[] = {1, 2, 0};
+        const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib)) == false);
+#ifdef HAS_FOUR_ITERATOR_VERSION
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   forward_iterator<const int*>(ib + sa)) == false);
+#endif
+    }
+    {
+        const int ia[] = {0, 0, 0};
+        const int ib[] = {1, 2, 1};
+        const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib)) == false);
+#ifdef HAS_FOUR_ITERATOR_VERSION
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   forward_iterator<const int*>(ib + sa)) == false);
+#endif
+    }
+    {
+        const int ia[] = {0, 0, 0};
+        const int ib[] = {1, 2, 2};
+        const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib)) == false);
+#ifdef HAS_FOUR_ITERATOR_VERSION
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   forward_iterator<const int*>(ib + sa)) == false);
+#endif
+    }
+    {
+        const int ia[] = {0, 0, 1};
+        const int ib[] = {1, 0, 0};
+        const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib)) == true);
+#ifdef HAS_FOUR_ITERATOR_VERSION
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   forward_iterator<const int*>(ib + sa)) == true);
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   forward_iterator<const int*>(ib + sa - 1)) == false);
+#endif
+    }
+    {
+        const int ia[] = {0, 0, 1};
+        const int ib[] = {1, 0, 1};
+        const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib)) == false);
+#ifdef HAS_FOUR_ITERATOR_VERSION
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   forward_iterator<const int*>(ib + sa)) == false);
+#endif
+    }
+    {
+        const int ia[] = {0, 1, 2};
+        const int ib[] = {1, 0, 2};
+        const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib)) == true);
+#ifdef HAS_FOUR_ITERATOR_VERSION
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   forward_iterator<const int*>(ib + sa)) == true);
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   forward_iterator<const int*>(ib + sa - 1)) == false);
+#endif
+    }
+    {
+        const int ia[] = {0, 1, 2};
+        const int ib[] = {1, 2, 0};
+        const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib)) == true);
+#ifdef HAS_FOUR_ITERATOR_VERSION
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   forward_iterator<const int*>(ib + sa)) == true);
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   forward_iterator<const int*>(ib + sa - 1)) == false);
+#endif
+    }
+    {
+        const int ia[] = {0, 1, 2};
+        const int ib[] = {2, 1, 0};
+        const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib)) == true);
+#ifdef HAS_FOUR_ITERATOR_VERSION
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   forward_iterator<const int*>(ib + sa)) == true);
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   forward_iterator<const int*>(ib + sa - 1)) == false);
+#endif
+    }
+    {
+        const int ia[] = {0, 1, 2};
+        const int ib[] = {2, 0, 1};
+        const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib)) == true);
+#ifdef HAS_FOUR_ITERATOR_VERSION
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   forward_iterator<const int*>(ib + sa)) == true);
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   forward_iterator<const int*>(ib + sa - 1)) == false);
+#endif
+    }
+    {
+        const int ia[] = {0, 0, 1};
+        const int ib[] = {1, 0, 1};
+        const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib)) == false);
+#ifdef HAS_FOUR_ITERATOR_VERSION
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   forward_iterator<const int*>(ib + sa)) == false);
+#endif
+    }
+    {
+        const int ia[] = {0, 0, 1};
+        const int ib[] = {1, 0, 0};
+        const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib)) == true);
+#ifdef HAS_FOUR_ITERATOR_VERSION
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   forward_iterator<const int*>(ib + sa)) == true);
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib + 1),
+                                   forward_iterator<const int*>(ib + sa)) == false);
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   forward_iterator<const int*>(ib + sa - 1)) == false);
+#endif
+    }
+    {
+        const int ia[] = {0, 1, 2, 3, 0, 5, 6, 2, 4, 4};
+        const int ib[] = {4, 2, 3, 0, 1, 4, 0, 5, 6, 2};
+        const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib)) == true);
+#ifdef HAS_FOUR_ITERATOR_VERSION
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   forward_iterator<const int*>(ib + sa)) == true);
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib + 1 ),
+                                   forward_iterator<const int*>(ib + sa)) == false);
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   forward_iterator<const int*>(ib + sa - 1)) == false);
+#endif
+    }
+    {
+        const int ia[] = {0, 1, 2, 3, 0, 5, 6, 2, 4, 4};
+        const int ib[] = {4, 2, 3, 0, 1, 4, 0, 5, 6, 0};
+        const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib)) == false);
+#ifdef HAS_FOUR_ITERATOR_VERSION
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   forward_iterator<const int*>(ib + sa)) == false);
+#endif
+    }
+}

Added: libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.is_permutation/is_permutation_pred.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.is_permutation/is_permutation_pred.pass.cpp?rev=224658&view=auto
==============================================================================
--- libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.is_permutation/is_permutation_pred.pass.cpp (added)
+++ libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.is_permutation/is_permutation_pred.pass.cpp Fri Dec 19 19:40:03 2014
@@ -0,0 +1,729 @@
+//===----------------------------------------------------------------------===//
+//
+//                     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.
+//
+//===----------------------------------------------------------------------===//
+
+// <algorithm>
+
+// template<class ForwardIterator1, class ForwardIterator2, class BinaryPredicate>
+//   bool
+//   is_permutation(ForwardIterator1 first1, ForwardIterator1 last1,
+//                  ForwardIterator2 first2, BinaryPredicate pred);
+
+#include <algorithm>
+#include <functional>
+#include <cassert>
+
+#include "test_iterators.h"
+
+#if _LIBCPP_STD_VER > 11
+#define HAS_FOUR_ITERATOR_VERSION
+#endif
+
+int comparison_count = 0;
+template <typename T>
+bool counting_equals ( const T &a, const T &b ) {
+    ++comparison_count;
+    return a == b;
+    }
+
+
+int main()
+{
+    {
+        const int ia[] = {0};
+        const int ib[] = {0};
+        const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + 0),
+                                   forward_iterator<const int*>(ib),
+                                   std::equal_to<const int>()) == true);
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   std::equal_to<const int>()) == true);
+#ifdef HAS_FOUR_ITERATOR_VERSION
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   forward_iterator<const int*>(ib + sa),
+                                   std::equal_to<const int>()) == true);
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   forward_iterator<const int*>(ib + sa - 1),
+                                   std::equal_to<const int>()) == false);
+#endif
+    }
+    {
+        const int ia[] = {0};
+        const int ib[] = {1};
+        const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   std::equal_to<const int>()) == false);
+#ifdef HAS_FOUR_ITERATOR_VERSION
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   forward_iterator<const int*>(ib + sa),
+                                   std::equal_to<const int>()) == false);
+#endif
+    }
+
+    {
+        const int ia[] = {0, 0};
+        const int ib[] = {0, 0};
+        const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   std::equal_to<const int>()) == true);
+#ifdef HAS_FOUR_ITERATOR_VERSION
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   forward_iterator<const int*>(ib + sa),
+                                   std::equal_to<const int>()) == true);
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   forward_iterator<const int*>(ib + sa - 1),
+                                   std::equal_to<const int>()) == false);
+#endif
+    }
+    {
+        const int ia[] = {0, 0};
+        const int ib[] = {0, 1};
+        const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   std::equal_to<const int>()) == false);
+#ifdef HAS_FOUR_ITERATOR_VERSION
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   forward_iterator<const int*>(ib + sa),
+                                   std::equal_to<const int>()) == false);
+#endif
+    }
+    {
+        const int ia[] = {0, 0};
+        const int ib[] = {1, 0};
+        const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   std::equal_to<const int>()) == false);
+#ifdef HAS_FOUR_ITERATOR_VERSION
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   forward_iterator<const int*>(ib + sa),
+                                   std::equal_to<const int>()) == false);
+#endif
+    }
+    {
+        const int ia[] = {0, 0};
+        const int ib[] = {1, 1};
+        const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   std::equal_to<const int>()) == false);
+#ifdef HAS_FOUR_ITERATOR_VERSION
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   forward_iterator<const int*>(ib + sa),
+                                   std::equal_to<const int>()) == false);
+#endif
+    }
+    {
+        const int ia[] = {0, 1};
+        const int ib[] = {0, 0};
+        const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   std::equal_to<const int>()) == false);
+#ifdef HAS_FOUR_ITERATOR_VERSION
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   forward_iterator<const int*>(ib + sa),
+                                   std::equal_to<const int>()) == false);
+#endif
+    }
+    {
+        const int ia[] = {0, 1};
+        const int ib[] = {0, 1};
+        const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   std::equal_to<const int>()) == true);
+#ifdef HAS_FOUR_ITERATOR_VERSION
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   forward_iterator<const int*>(ib + sa),
+                                   std::equal_to<const int>()) == true);
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   forward_iterator<const int*>(ib + sa - 1),
+                                   std::equal_to<const int>()) == false);
+#endif
+    }
+    {
+        const int ia[] = {0, 1};
+        const int ib[] = {1, 0};
+        const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   std::equal_to<const int>()) == true);
+#ifdef HAS_FOUR_ITERATOR_VERSION
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   forward_iterator<const int*>(ib + sa),
+                                   std::equal_to<const int>()) == true);
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   forward_iterator<const int*>(ib + sa - 1),
+                                   std::equal_to<const int>()) == false);
+#endif
+    }
+    {
+        const int ia[] = {0, 1};
+        const int ib[] = {1, 1};
+        const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   std::equal_to<const int>()) == false);
+#ifdef HAS_FOUR_ITERATOR_VERSION
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   forward_iterator<const int*>(ib + sa),
+                                   std::equal_to<const int>()) == false);
+#endif
+    }
+    {
+        const int ia[] = {1, 0};
+        const int ib[] = {0, 0};
+        const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   std::equal_to<const int>()) == false);
+#ifdef HAS_FOUR_ITERATOR_VERSION
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   forward_iterator<const int*>(ib + sa),
+                                   std::equal_to<const int>()) == false);
+#endif
+    }
+    {
+        const int ia[] = {1, 0};
+        const int ib[] = {0, 1};
+        const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   std::equal_to<const int>()) == true);
+#ifdef HAS_FOUR_ITERATOR_VERSION
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   forward_iterator<const int*>(ib + sa),
+                                   std::equal_to<const int>()) == true);
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   forward_iterator<const int*>(ib + sa - 1),
+                                   std::equal_to<const int>()) == false);
+#endif
+    }
+    {
+        const int ia[] = {1, 0};
+        const int ib[] = {1, 0};
+        const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   std::equal_to<const int>()) == true);
+#ifdef HAS_FOUR_ITERATOR_VERSION
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   forward_iterator<const int*>(ib + sa),
+                                   std::equal_to<const int>()) == true);
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   forward_iterator<const int*>(ib + sa - 1),
+                                   std::equal_to<const int>()) == false);
+#endif
+    }
+    {
+        const int ia[] = {1, 0};
+        const int ib[] = {1, 1};
+        const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   std::equal_to<const int>()) == false);
+#ifdef HAS_FOUR_ITERATOR_VERSION
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   forward_iterator<const int*>(ib + sa),
+                                   std::equal_to<const int>()) == false);
+#endif
+    }
+    {
+        const int ia[] = {1, 1};
+        const int ib[] = {0, 0};
+        const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   std::equal_to<const int>()) == false);
+#ifdef HAS_FOUR_ITERATOR_VERSION
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   forward_iterator<const int*>(ib + sa),
+                                   std::equal_to<const int>()) == false);
+#endif
+    }
+    {
+        const int ia[] = {1, 1};
+        const int ib[] = {0, 1};
+        const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   std::equal_to<const int>()) == false);
+#ifdef HAS_FOUR_ITERATOR_VERSION
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   forward_iterator<const int*>(ib + sa),
+                                   std::equal_to<const int>()) == false);
+#endif
+    }
+    {
+        const int ia[] = {1, 1};
+        const int ib[] = {1, 0};
+        const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   std::equal_to<const int>()) == false);
+#ifdef HAS_FOUR_ITERATOR_VERSION
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   forward_iterator<const int*>(ib + sa),
+                                   std::equal_to<const int>()) == false);
+#endif
+    }
+    {
+        const int ia[] = {1, 1};
+        const int ib[] = {1, 1};
+        const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   std::equal_to<const int>()) == true);
+#ifdef HAS_FOUR_ITERATOR_VERSION
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   forward_iterator<const int*>(ib + sa),
+                                   std::equal_to<const int>()) == true);
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   forward_iterator<const int*>(ib + sa - 1),
+                                   std::equal_to<const int>()) == false);
+#endif
+    }
+
+    {
+        const int ia[] = {0, 0, 0};
+        const int ib[] = {1, 0, 0};
+        const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   std::equal_to<const int>()) == false);
+#ifdef HAS_FOUR_ITERATOR_VERSION
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   forward_iterator<const int*>(ib + sa),
+                                   std::equal_to<const int>()) == false);
+#endif
+    }
+    {
+        const int ia[] = {0, 0, 0};
+        const int ib[] = {1, 0, 1};
+        const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   std::equal_to<const int>()) == false);
+#ifdef HAS_FOUR_ITERATOR_VERSION
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   forward_iterator<const int*>(ib + sa),
+                                   std::equal_to<const int>()) == false);
+#endif
+    }
+    {
+        const int ia[] = {0, 0, 0};
+        const int ib[] = {1, 0, 2};
+        const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   std::equal_to<const int>()) == false);
+#ifdef HAS_FOUR_ITERATOR_VERSION
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   forward_iterator<const int*>(ib + sa),
+                                   std::equal_to<const int>()) == false);
+#endif
+    }
+    {
+        const int ia[] = {0, 0, 0};
+        const int ib[] = {1, 1, 0};
+        const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   std::equal_to<const int>()) == false);
+#ifdef HAS_FOUR_ITERATOR_VERSION
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   forward_iterator<const int*>(ib + sa),
+                                   std::equal_to<const int>()) == false);
+#endif
+    }
+    {
+        const int ia[] = {0, 0, 0};
+        const int ib[] = {1, 1, 1};
+        const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   std::equal_to<const int>()) == false);
+#ifdef HAS_FOUR_ITERATOR_VERSION
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   forward_iterator<const int*>(ib + sa),
+                                   std::equal_to<const int>()) == false);
+#endif
+    }
+    {
+        const int ia[] = {0, 0, 0};
+        const int ib[] = {1, 1, 2};
+        const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   std::equal_to<const int>()) == false);
+#ifdef HAS_FOUR_ITERATOR_VERSION
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   forward_iterator<const int*>(ib + sa),
+                                   std::equal_to<const int>()) == false);
+#endif
+    }
+    {
+        const int ia[] = {0, 0, 0};
+        const int ib[] = {1, 2, 0};
+        const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   std::equal_to<const int>()) == false);
+#ifdef HAS_FOUR_ITERATOR_VERSION
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   forward_iterator<const int*>(ib + sa),
+                                   std::equal_to<const int>()) == false);
+#endif
+    }
+    {
+        const int ia[] = {0, 0, 0};
+        const int ib[] = {1, 2, 1};
+        const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   std::equal_to<const int>()) == false);
+#ifdef HAS_FOUR_ITERATOR_VERSION
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   forward_iterator<const int*>(ib + sa),
+                                   std::equal_to<const int>()) == false);
+#endif
+    }
+    {
+        const int ia[] = {0, 0, 0};
+        const int ib[] = {1, 2, 2};
+        const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   std::equal_to<const int>()) == false);
+#ifdef HAS_FOUR_ITERATOR_VERSION
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   forward_iterator<const int*>(ib + sa),
+                                   std::equal_to<const int>()) == false);
+#endif
+    }
+    {
+        const int ia[] = {0, 0, 1};
+        const int ib[] = {1, 0, 0};
+        const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   std::equal_to<const int>()) == true);
+#ifdef HAS_FOUR_ITERATOR_VERSION
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   forward_iterator<const int*>(ib + sa),
+                                   std::equal_to<const int>()) == true);
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   forward_iterator<const int*>(ib + sa - 1),
+                                   std::equal_to<const int>()) == false);
+#endif
+    }
+    {
+        const int ia[] = {0, 0, 1};
+        const int ib[] = {1, 0, 1};
+        const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   std::equal_to<const int>()) == false);
+#ifdef HAS_FOUR_ITERATOR_VERSION
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   forward_iterator<const int*>(ib + sa),
+                                   std::equal_to<const int>()) == false);
+#endif
+    }
+    {
+        const int ia[] = {0, 1, 2};
+        const int ib[] = {1, 0, 2};
+        const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   std::equal_to<const int>()) == true);
+#ifdef HAS_FOUR_ITERATOR_VERSION
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   forward_iterator<const int*>(ib + sa),
+                                   std::equal_to<const int>()) == true);
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   forward_iterator<const int*>(ib + sa - 1),
+                                   std::equal_to<const int>()) == false);
+#endif
+    }
+    {
+        const int ia[] = {0, 1, 2};
+        const int ib[] = {1, 2, 0};
+        const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   std::equal_to<const int>()) == true);
+#ifdef HAS_FOUR_ITERATOR_VERSION
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   forward_iterator<const int*>(ib + sa),
+                                   std::equal_to<const int>()) == true);
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   forward_iterator<const int*>(ib + sa - 1),
+                                   std::equal_to<const int>()) == false);
+#endif
+    }
+    {
+        const int ia[] = {0, 1, 2};
+        const int ib[] = {2, 1, 0};
+        const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   std::equal_to<const int>()) == true);
+#ifdef HAS_FOUR_ITERATOR_VERSION
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   forward_iterator<const int*>(ib + sa),
+                                   std::equal_to<const int>()) == true);
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   forward_iterator<const int*>(ib + sa - 1),
+                                   std::equal_to<const int>()) == false);
+#endif
+    }
+    {
+        const int ia[] = {0, 1, 2};
+        const int ib[] = {2, 0, 1};
+        const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   std::equal_to<const int>()) == true);
+#ifdef HAS_FOUR_ITERATOR_VERSION
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   forward_iterator<const int*>(ib + sa),
+                                   std::equal_to<const int>()) == true);
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   forward_iterator<const int*>(ib + sa - 1),
+                                   std::equal_to<const int>()) == false);
+#endif
+    }
+    {
+        const int ia[] = {0, 0, 1};
+        const int ib[] = {1, 0, 1};
+        const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   std::equal_to<const int>()) == false);
+#ifdef HAS_FOUR_ITERATOR_VERSION
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   forward_iterator<const int*>(ib + sa),
+                                   std::equal_to<const int>()) == false);
+#endif
+    }
+    {
+        const int ia[] = {0, 0, 1};
+        const int ib[] = {1, 0, 0};
+        const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   std::equal_to<const int>()) == true);
+#ifdef HAS_FOUR_ITERATOR_VERSION
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   forward_iterator<const int*>(ib + sa),
+                                   std::equal_to<const int>()) == true);
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib + 1),
+                                   forward_iterator<const int*>(ib + sa),
+                                   std::equal_to<const int>()) == false);
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   forward_iterator<const int*>(ib + sa - 1),
+                                   std::equal_to<const int>()) == false);
+#endif
+    }
+    {
+        const int ia[] = {0, 1, 2, 3, 0, 5, 6, 2, 4, 4};
+        const int ib[] = {4, 2, 3, 0, 1, 4, 0, 5, 6, 2};
+        const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   std::equal_to<const int>()) == true);
+#ifdef HAS_FOUR_ITERATOR_VERSION
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   forward_iterator<const int*>(ib + sa),
+                                   std::equal_to<const int>()) == true);
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib + 1),
+                                   forward_iterator<const int*>(ib + sa),
+                                   std::equal_to<const int>()) == false);
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   forward_iterator<const int*>(ib + sa - 1),
+                                   std::equal_to<const int>()) == false);
+        comparison_count = 0;
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   forward_iterator<const int*>(ib + sa - 1),
+                                   counting_equals<const int>) == false);
+        assert ( comparison_count > 0 );
+        comparison_count = 0;
+        assert(std::is_permutation(random_access_iterator<const int*>(ia),
+                                   random_access_iterator<const int*>(ia + sa),
+                                   random_access_iterator<const int*>(ib),
+                                   random_access_iterator<const int*>(ib + sa - 1),
+                                   counting_equals<const int>) == false);
+        assert ( comparison_count == 0 );
+#endif
+    }
+    {
+        const int ia[] = {0, 1, 2, 3, 0, 5, 6, 2, 4, 4};
+        const int ib[] = {4, 2, 3, 0, 1, 4, 0, 5, 6, 0};
+        const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   std::equal_to<const int>()) == false);
+#ifdef HAS_FOUR_ITERATOR_VERSION
+        assert(std::is_permutation(forward_iterator<const int*>(ia),
+                                   forward_iterator<const int*>(ia + sa),
+                                   forward_iterator<const int*>(ib),
+                                   forward_iterator<const int*>(ib + sa),
+                                   std::equal_to<const int>()) == false);
+#endif
+    }
+}

Added: libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.none_of/none_of.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.none_of/none_of.pass.cpp?rev=224658&view=auto
==============================================================================
--- libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.none_of/none_of.pass.cpp (added)
+++ libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.none_of/none_of.pass.cpp Fri Dec 19 19:40:03 2014
@@ -0,0 +1,55 @@
+//===----------------------------------------------------------------------===//
+//
+//                     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.
+//
+//===----------------------------------------------------------------------===//
+
+// <algorithm>
+
+// template <class InputIterator, class Predicate>
+//   bool
+//   none_of(InputIterator first, InputIterator last, Predicate pred);
+
+#include <algorithm>
+#include <cassert>
+
+#include "test_iterators.h"
+
+struct test1
+{
+    bool operator()(const int& i) const
+    {
+        return i % 2 == 0;
+    }
+};
+
+int main()
+{
+    {
+        int ia[] = {2, 4, 6, 8};
+        const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+        assert(std::none_of(input_iterator<const int*>(ia),
+                            input_iterator<const int*>(ia + sa), test1()) == false);
+        assert(std::none_of(input_iterator<const int*>(ia),
+                            input_iterator<const int*>(ia), test1()) == true);
+    }
+    {
+        const int ia[] = {2, 4, 5, 8};
+        const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+        assert(std::none_of(input_iterator<const int*>(ia),
+                            input_iterator<const int*>(ia + sa), test1()) == false);
+        assert(std::none_of(input_iterator<const int*>(ia),
+                            input_iterator<const int*>(ia), test1()) == true);
+    }
+    {
+        const int ia[] = {1, 3, 5, 7};
+        const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+        assert(std::none_of(input_iterator<const int*>(ia),
+                            input_iterator<const int*>(ia + sa), test1()) == true);
+        assert(std::none_of(input_iterator<const int*>(ia),
+                            input_iterator<const int*>(ia), test1()) == true);
+    }
+}

Added: libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.search/search.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.search/search.pass.cpp?rev=224658&view=auto
==============================================================================
--- libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.search/search.pass.cpp (added)
+++ libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.search/search.pass.cpp Fri Dec 19 19:40:03 2014
@@ -0,0 +1,72 @@
+//===----------------------------------------------------------------------===//
+//
+//                     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.
+//
+//===----------------------------------------------------------------------===//
+
+// <algorithm>
+
+// template<ForwardIterator Iter1, ForwardIterator Iter2>
+//   requires HasEqualTo<Iter1::value_type, Iter2::value_type>
+//   Iter1
+//   search(Iter1 first1, Iter1 last1, Iter2 first2, Iter2 last2);
+
+#include <algorithm>
+#include <cassert>
+
+#include "test_iterators.h"
+
+template <class Iter1, class Iter2>
+void
+test()
+{
+    int ia[] = {0, 1, 2, 3, 4, 5};
+    const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+    assert(std::search(Iter1(ia), Iter1(ia+sa), Iter2(ia), Iter2(ia)) == Iter1(ia));
+    assert(std::search(Iter1(ia), Iter1(ia+sa), Iter2(ia), Iter2(ia+1)) == Iter1(ia));
+    assert(std::search(Iter1(ia), Iter1(ia+sa), Iter2(ia+1), Iter2(ia+2)) == Iter1(ia+1));
+    assert(std::search(Iter1(ia), Iter1(ia+sa), Iter2(ia+2), Iter2(ia+2)) == Iter1(ia));
+    assert(std::search(Iter1(ia), Iter1(ia+sa), Iter2(ia+2), Iter2(ia+3)) == Iter1(ia+2));
+    assert(std::search(Iter1(ia), Iter1(ia+sa), Iter2(ia+2), Iter2(ia+3)) == Iter1(ia+2));
+    assert(std::search(Iter1(ia), Iter1(ia), Iter2(ia+2), Iter2(ia+3)) == Iter1(ia));
+    assert(std::search(Iter1(ia), Iter1(ia+sa), Iter2(ia+sa-1), Iter2(ia+sa)) == Iter1(ia+sa-1));
+    assert(std::search(Iter1(ia), Iter1(ia+sa), Iter2(ia+sa-3), Iter2(ia+sa)) == Iter1(ia+sa-3));
+    assert(std::search(Iter1(ia), Iter1(ia+sa), Iter2(ia), Iter2(ia+sa)) == Iter1(ia));
+    assert(std::search(Iter1(ia), Iter1(ia+sa-1), Iter2(ia), Iter2(ia+sa)) == Iter1(ia+sa-1));
+    assert(std::search(Iter1(ia), Iter1(ia+1), Iter2(ia), Iter2(ia+sa)) == Iter1(ia+1));
+    int ib[] = {0, 1, 2, 0, 1, 2, 3, 0, 1, 2, 3, 4};
+    const unsigned sb = sizeof(ib)/sizeof(ib[0]);
+    int ic[] = {1};
+    assert(std::search(Iter1(ib), Iter1(ib+sb), Iter2(ic), Iter2(ic+1)) == Iter1(ib+1));
+    int id[] = {1, 2};
+    assert(std::search(Iter1(ib), Iter1(ib+sb), Iter2(id), Iter2(id+2)) == Iter1(ib+1));
+    int ie[] = {1, 2, 3};
+    assert(std::search(Iter1(ib), Iter1(ib+sb), Iter2(ie), Iter2(ie+3)) == Iter1(ib+4));
+    int ig[] = {1, 2, 3, 4};
+    assert(std::search(Iter1(ib), Iter1(ib+sb), Iter2(ig), Iter2(ig+4)) == Iter1(ib+8));
+    int ih[] = {0, 1, 1, 1, 1, 2, 3, 0, 1, 2, 3, 4};
+    const unsigned sh = sizeof(ih)/sizeof(ih[0]);
+    int ii[] = {1, 1, 2};
+    assert(std::search(Iter1(ih), Iter1(ih+sh), Iter2(ii), Iter2(ii+3)) == Iter1(ih+3));
+    int ij[] = {0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0};
+    const unsigned sj = sizeof(ij)/sizeof(ij[0]);
+    int ik[] = {0, 0, 0, 0, 1, 1, 1, 1, 0, 0};
+    const unsigned sk = sizeof(ik)/sizeof(ik[0]);
+    assert(std::search(Iter1(ij), Iter1(ij+sj), Iter2(ik), Iter2(ik+sk)) == Iter1(ij+6));
+}
+
+int main()
+{
+    test<forward_iterator<const int*>, forward_iterator<const int*> >();
+    test<forward_iterator<const int*>, bidirectional_iterator<const int*> >();
+    test<forward_iterator<const int*>, random_access_iterator<const int*> >();
+    test<bidirectional_iterator<const int*>, forward_iterator<const int*> >();
+    test<bidirectional_iterator<const int*>, bidirectional_iterator<const int*> >();
+    test<bidirectional_iterator<const int*>, random_access_iterator<const int*> >();
+    test<random_access_iterator<const int*>, forward_iterator<const int*> >();
+    test<random_access_iterator<const int*>, bidirectional_iterator<const int*> >();
+    test<random_access_iterator<const int*>, random_access_iterator<const int*> >();
+}

Added: libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.search/search_n.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.search/search_n.pass.cpp?rev=224658&view=auto
==============================================================================
--- libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.search/search_n.pass.cpp (added)
+++ libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.search/search_n.pass.cpp Fri Dec 19 19:40:03 2014
@@ -0,0 +1,73 @@
+//===----------------------------------------------------------------------===//
+//
+//                     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.
+//
+//===----------------------------------------------------------------------===//
+
+// <algorithm>
+
+// template<class ForwardIterator, class Size, class T>
+//   ForwardIterator
+//   search_n(ForwardIterator first, ForwardIterator last, Size count,
+//            const T& value);
+
+#include <algorithm>
+#include <cassert>
+
+#include "test_iterators.h"
+
+template <class Iter>
+void
+test()
+{
+    int ia[] = {0, 1, 2, 3, 4, 5};
+    const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+    assert(std::search_n(Iter(ia), Iter(ia+sa), 0, 0) == Iter(ia));
+    assert(std::search_n(Iter(ia), Iter(ia+sa), 1, 0) == Iter(ia+0));
+    assert(std::search_n(Iter(ia), Iter(ia+sa), 2, 0) == Iter(ia+sa));
+    assert(std::search_n(Iter(ia), Iter(ia+sa), sa, 0) == Iter(ia+sa));
+    assert(std::search_n(Iter(ia), Iter(ia+sa), 0, 3) == Iter(ia));
+    assert(std::search_n(Iter(ia), Iter(ia+sa), 1, 3) == Iter(ia+3));
+    assert(std::search_n(Iter(ia), Iter(ia+sa), 2, 3) == Iter(ia+sa));
+    assert(std::search_n(Iter(ia), Iter(ia+sa), sa, 3) == Iter(ia+sa));
+    assert(std::search_n(Iter(ia), Iter(ia+sa), 0, 5) == Iter(ia));
+    assert(std::search_n(Iter(ia), Iter(ia+sa), 1, 5) == Iter(ia+5));
+    assert(std::search_n(Iter(ia), Iter(ia+sa), 2, 5) == Iter(ia+sa));
+    assert(std::search_n(Iter(ia), Iter(ia+sa), sa, 5) == Iter(ia+sa));
+
+    int ib[] = {0, 0, 1, 1, 2, 2};
+    const unsigned sb = sizeof(ib)/sizeof(ib[0]);
+    assert(std::search_n(Iter(ib), Iter(ib+sb), 0, 0) == Iter(ib));
+    assert(std::search_n(Iter(ib), Iter(ib+sb), 1, 0) == Iter(ib+0));
+    assert(std::search_n(Iter(ib), Iter(ib+sb), 2, 0) == Iter(ib+0));
+    assert(std::search_n(Iter(ib), Iter(ib+sb), 3, 0) == Iter(ib+sb));
+    assert(std::search_n(Iter(ib), Iter(ib+sb), sb, 0) == Iter(ib+sb));
+    assert(std::search_n(Iter(ib), Iter(ib+sb), 0, 1) == Iter(ib));
+    assert(std::search_n(Iter(ib), Iter(ib+sb), 1, 1) == Iter(ib+2));
+    assert(std::search_n(Iter(ib), Iter(ib+sb), 2, 1) == Iter(ib+2));
+    assert(std::search_n(Iter(ib), Iter(ib+sb), 3, 1) == Iter(ib+sb));
+    assert(std::search_n(Iter(ib), Iter(ib+sb), sb, 1) == Iter(ib+sb));
+    assert(std::search_n(Iter(ib), Iter(ib+sb), 0, 2) == Iter(ib));
+    assert(std::search_n(Iter(ib), Iter(ib+sb), 1, 2) == Iter(ib+4));
+    assert(std::search_n(Iter(ib), Iter(ib+sb), 2, 2) == Iter(ib+4));
+    assert(std::search_n(Iter(ib), Iter(ib+sb), 3, 2) == Iter(ib+sb));
+    assert(std::search_n(Iter(ib), Iter(ib+sb), sb, 2) == Iter(ib+sb));
+
+    int ic[] = {0, 0, 0};
+    const unsigned sc = sizeof(ic)/sizeof(ic[0]);
+    assert(std::search_n(Iter(ic), Iter(ic+sc), 0, 0) == Iter(ic));
+    assert(std::search_n(Iter(ic), Iter(ic+sc), 1, 0) == Iter(ic));
+    assert(std::search_n(Iter(ic), Iter(ic+sc), 2, 0) == Iter(ic));
+    assert(std::search_n(Iter(ic), Iter(ic+sc), 3, 0) == Iter(ic));
+    assert(std::search_n(Iter(ic), Iter(ic+sc), 4, 0) == Iter(ic+sc));
+}
+
+int main()
+{
+    test<forward_iterator<const int*> >();
+    test<bidirectional_iterator<const int*> >();
+    test<random_access_iterator<const int*> >();
+}

Added: libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.search/search_n_pred.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.search/search_n_pred.pass.cpp?rev=224658&view=auto
==============================================================================
--- libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.search/search_n_pred.pass.cpp (added)
+++ libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.search/search_n_pred.pass.cpp Fri Dec 19 19:40:03 2014
@@ -0,0 +1,148 @@
+//===----------------------------------------------------------------------===//
+//
+//                     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.
+//
+//===----------------------------------------------------------------------===//
+
+// <algorithm>
+
+// template<class ForwardIterator, class Size, class T, class BinaryPredicate>
+//   ForwardIterator
+//   search_n(ForwardIterator first, ForwardIterator last, Size count,
+//            const T& value, BinaryPredicate pred);
+
+#include <algorithm>
+#include <cassert>
+
+#include "test_iterators.h"
+
+struct count_equal
+{
+    static unsigned count;
+    template <class T>
+    bool operator()(const T& x, const T& y)
+        {++count; return x == y;}
+};
+
+unsigned count_equal::count = 0;
+
+template <class Iter>
+void
+test()
+{
+    int ia[] = {0, 1, 2, 3, 4, 5};
+    const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+    count_equal::count = 0;
+    assert(std::search_n(Iter(ia), Iter(ia+sa), 0, 0, count_equal()) == Iter(ia));
+    assert(count_equal::count <= sa);
+    count_equal::count = 0;
+    assert(std::search_n(Iter(ia), Iter(ia+sa), 1, 0, count_equal()) == Iter(ia+0));
+    assert(count_equal::count <= sa);
+    count_equal::count = 0;
+    assert(std::search_n(Iter(ia), Iter(ia+sa), 2, 0, count_equal()) == Iter(ia+sa));
+    assert(count_equal::count <= sa);
+    count_equal::count = 0;
+    assert(std::search_n(Iter(ia), Iter(ia+sa), sa, 0, count_equal()) == Iter(ia+sa));
+    assert(count_equal::count <= sa);
+    count_equal::count = 0;
+    assert(std::search_n(Iter(ia), Iter(ia+sa), 0, 3, count_equal()) == Iter(ia));
+    assert(count_equal::count <= sa);
+    count_equal::count = 0;
+    assert(std::search_n(Iter(ia), Iter(ia+sa), 1, 3, count_equal()) == Iter(ia+3));
+    assert(count_equal::count <= sa);
+    count_equal::count = 0;
+    assert(std::search_n(Iter(ia), Iter(ia+sa), 2, 3, count_equal()) == Iter(ia+sa));
+    assert(count_equal::count <= sa);
+    count_equal::count = 0;
+    assert(std::search_n(Iter(ia), Iter(ia+sa), sa, 3, count_equal()) == Iter(ia+sa));
+    assert(count_equal::count <= sa);
+    count_equal::count = 0;
+    assert(std::search_n(Iter(ia), Iter(ia+sa), 0, 5, count_equal()) == Iter(ia));
+    assert(count_equal::count <= sa);
+    count_equal::count = 0;
+    assert(std::search_n(Iter(ia), Iter(ia+sa), 1, 5, count_equal()) == Iter(ia+5));
+    assert(count_equal::count <= sa);
+    count_equal::count = 0;
+    assert(std::search_n(Iter(ia), Iter(ia+sa), 2, 5, count_equal()) == Iter(ia+sa));
+    assert(count_equal::count <= sa);
+    count_equal::count = 0;
+    assert(std::search_n(Iter(ia), Iter(ia+sa), sa, 5, count_equal()) == Iter(ia+sa));
+    assert(count_equal::count <= sa);
+    count_equal::count = 0;
+
+    int ib[] = {0, 0, 1, 1, 2, 2};
+    const unsigned sb = sizeof(ib)/sizeof(ib[0]);
+    assert(std::search_n(Iter(ib), Iter(ib+sb), 0, 0, count_equal()) == Iter(ib));
+    assert(count_equal::count <= sb);
+    count_equal::count = 0;
+    assert(std::search_n(Iter(ib), Iter(ib+sb), 1, 0, count_equal()) == Iter(ib+0));
+    assert(count_equal::count <= sb);
+    count_equal::count = 0;
+    assert(std::search_n(Iter(ib), Iter(ib+sb), 2, 0, count_equal()) == Iter(ib+0));
+    assert(count_equal::count <= sb);
+    count_equal::count = 0;
+    assert(std::search_n(Iter(ib), Iter(ib+sb), 3, 0, count_equal()) == Iter(ib+sb));
+    assert(count_equal::count <= sb);
+    count_equal::count = 0;
+    assert(std::search_n(Iter(ib), Iter(ib+sb), sb, 0, count_equal()) == Iter(ib+sb));
+    assert(count_equal::count <= sb);
+    count_equal::count = 0;
+    assert(std::search_n(Iter(ib), Iter(ib+sb), 0, 1, count_equal()) == Iter(ib));
+    assert(count_equal::count <= sb);
+    count_equal::count = 0;
+    assert(std::search_n(Iter(ib), Iter(ib+sb), 1, 1, count_equal()) == Iter(ib+2));
+    assert(count_equal::count <= sb);
+    count_equal::count = 0;
+    assert(std::search_n(Iter(ib), Iter(ib+sb), 2, 1, count_equal()) == Iter(ib+2));
+    assert(count_equal::count <= sb);
+    count_equal::count = 0;
+    assert(std::search_n(Iter(ib), Iter(ib+sb), 3, 1, count_equal()) == Iter(ib+sb));
+    assert(count_equal::count <= sb);
+    count_equal::count = 0;
+    assert(std::search_n(Iter(ib), Iter(ib+sb), sb, 1, count_equal()) == Iter(ib+sb));
+    assert(count_equal::count <= sb);
+    count_equal::count = 0;
+    assert(std::search_n(Iter(ib), Iter(ib+sb), 0, 2, count_equal()) == Iter(ib));
+    assert(count_equal::count <= sb);
+    count_equal::count = 0;
+    assert(std::search_n(Iter(ib), Iter(ib+sb), 1, 2, count_equal()) == Iter(ib+4));
+    assert(count_equal::count <= sb);
+    count_equal::count = 0;
+    assert(std::search_n(Iter(ib), Iter(ib+sb), 2, 2, count_equal()) == Iter(ib+4));
+    assert(count_equal::count <= sb);
+    count_equal::count = 0;
+    assert(std::search_n(Iter(ib), Iter(ib+sb), 3, 2, count_equal()) == Iter(ib+sb));
+    assert(count_equal::count <= sb);
+    count_equal::count = 0;
+    assert(std::search_n(Iter(ib), Iter(ib+sb), sb, 2, count_equal()) == Iter(ib+sb));
+    assert(count_equal::count <= sb);
+    count_equal::count = 0;
+
+    int ic[] = {0, 0, 0};
+    const unsigned sc = sizeof(ic)/sizeof(ic[0]);
+    assert(std::search_n(Iter(ic), Iter(ic+sc), 0, 0, count_equal()) == Iter(ic));
+    assert(count_equal::count <= sc);
+    count_equal::count = 0;
+    assert(std::search_n(Iter(ic), Iter(ic+sc), 1, 0, count_equal()) == Iter(ic));
+    assert(count_equal::count <= sc);
+    count_equal::count = 0;
+    assert(std::search_n(Iter(ic), Iter(ic+sc), 2, 0, count_equal()) == Iter(ic));
+    assert(count_equal::count <= sc);
+    count_equal::count = 0;
+    assert(std::search_n(Iter(ic), Iter(ic+sc), 3, 0, count_equal()) == Iter(ic));
+    assert(count_equal::count <= sc);
+    count_equal::count = 0;
+    assert(std::search_n(Iter(ic), Iter(ic+sc), 4, 0, count_equal()) == Iter(ic+sc));
+    assert(count_equal::count <= sc);
+    count_equal::count = 0;
+}
+
+int main()
+{
+    test<forward_iterator<const int*> >();
+    test<bidirectional_iterator<const int*> >();
+    test<random_access_iterator<const int*> >();
+}

Added: libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.search/search_pred.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.search/search_pred.pass.cpp?rev=224658&view=auto
==============================================================================
--- libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.search/search_pred.pass.cpp (added)
+++ libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.search/search_pred.pass.cpp Fri Dec 19 19:40:03 2014
@@ -0,0 +1,111 @@
+//===----------------------------------------------------------------------===//
+//
+//                     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.
+//
+//===----------------------------------------------------------------------===//
+
+// <algorithm>
+
+// template<ForwardIterator Iter1, ForwardIterator Iter2>
+//   requires HasEqualTo<Iter1::value_type, Iter2::value_type>
+//   Iter1
+//   search(Iter1 first1, Iter1 last1, Iter2 first2, Iter2 last2);
+
+#include <algorithm>
+#include <cassert>
+
+#include "test_iterators.h"
+
+struct count_equal
+{
+    static unsigned count;
+    template <class T>
+    bool operator()(const T& x, const T& y)
+        {++count; return x == y;}
+};
+
+unsigned count_equal::count = 0;
+
+template <class Iter1, class Iter2>
+void
+test()
+{
+    int ia[] = {0, 1, 2, 3, 4, 5};
+    const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+    count_equal::count = 0;
+    assert(std::search(Iter1(ia), Iter1(ia+sa), Iter2(ia), Iter2(ia), count_equal()) == Iter1(ia));
+    assert(count_equal::count <= 0);
+    count_equal::count = 0;
+    assert(std::search(Iter1(ia), Iter1(ia+sa), Iter2(ia), Iter2(ia+1), count_equal()) == Iter1(ia));
+    assert(count_equal::count <= sa);
+    count_equal::count = 0;
+    assert(std::search(Iter1(ia), Iter1(ia+sa), Iter2(ia+1), Iter2(ia+2), count_equal()) == Iter1(ia+1));
+    assert(count_equal::count <= sa);
+    count_equal::count = 0;
+    assert(std::search(Iter1(ia), Iter1(ia+sa), Iter2(ia+2), Iter2(ia+2), count_equal()) == Iter1(ia));
+    assert(count_equal::count <= 0);
+    count_equal::count = 0;
+    assert(std::search(Iter1(ia), Iter1(ia+sa), Iter2(ia+2), Iter2(ia+3), count_equal()) == Iter1(ia+2));
+    assert(count_equal::count <= sa);
+    count_equal::count = 0;
+    assert(std::search(Iter1(ia), Iter1(ia+sa), Iter2(ia+2), Iter2(ia+3), count_equal()) == Iter1(ia+2));
+    assert(count_equal::count <= sa);
+    count_equal::count = 0;
+    assert(std::search(Iter1(ia), Iter1(ia), Iter2(ia+2), Iter2(ia+3), count_equal()) == Iter1(ia));
+    assert(count_equal::count <= 0);
+    count_equal::count = 0;
+    assert(std::search(Iter1(ia), Iter1(ia+sa), Iter2(ia+sa-1), Iter2(ia+sa), count_equal()) == Iter1(ia+sa-1));
+    assert(count_equal::count <= sa);
+    count_equal::count = 0;
+    assert(std::search(Iter1(ia), Iter1(ia+sa), Iter2(ia+sa-3), Iter2(ia+sa), count_equal()) == Iter1(ia+sa-3));
+    assert(count_equal::count <= sa*3);
+    count_equal::count = 0;
+    assert(std::search(Iter1(ia), Iter1(ia+sa), Iter2(ia), Iter2(ia+sa), count_equal()) == Iter1(ia));
+    assert(count_equal::count <= sa*sa);
+    count_equal::count = 0;
+    assert(std::search(Iter1(ia), Iter1(ia+sa-1), Iter2(ia), Iter2(ia+sa), count_equal()) == Iter1(ia+sa-1));
+    assert(count_equal::count <= (sa-1)*sa);
+    count_equal::count = 0;
+    assert(std::search(Iter1(ia), Iter1(ia+1), Iter2(ia), Iter2(ia+sa), count_equal()) == Iter1(ia+1));
+    assert(count_equal::count <= sa);
+    count_equal::count = 0;
+    int ib[] = {0, 1, 2, 0, 1, 2, 3, 0, 1, 2, 3, 4};
+    const unsigned sb = sizeof(ib)/sizeof(ib[0]);
+    int ic[] = {1};
+    assert(std::search(Iter1(ib), Iter1(ib+sb), Iter2(ic), Iter2(ic+1), count_equal()) == Iter1(ib+1));
+    assert(count_equal::count <= sb);
+    count_equal::count = 0;
+    int id[] = {1, 2};
+    assert(std::search(Iter1(ib), Iter1(ib+sb), Iter2(id), Iter2(id+2), count_equal()) == Iter1(ib+1));
+    assert(count_equal::count <= sb*2);
+    count_equal::count = 0;
+    int ie[] = {1, 2, 3};
+    assert(std::search(Iter1(ib), Iter1(ib+sb), Iter2(ie), Iter2(ie+3), count_equal()) == Iter1(ib+4));
+    assert(count_equal::count <= sb*3);
+    count_equal::count = 0;
+    int ig[] = {1, 2, 3, 4};
+    assert(std::search(Iter1(ib), Iter1(ib+sb), Iter2(ig), Iter2(ig+4), count_equal()) == Iter1(ib+8));
+    assert(count_equal::count <= sb*4);
+    count_equal::count = 0;
+    int ih[] = {0, 1, 1, 1, 1, 2, 3, 0, 1, 2, 3, 4};
+    const unsigned sh = sizeof(ih)/sizeof(ih[0]);
+    int ii[] = {1, 1, 2};
+    assert(std::search(Iter1(ih), Iter1(ih+sh), Iter2(ii), Iter2(ii+3), count_equal()) == Iter1(ih+3));
+    assert(count_equal::count <= sh*3);
+}
+
+int main()
+{
+    test<forward_iterator<const int*>, forward_iterator<const int*> >();
+    test<forward_iterator<const int*>, bidirectional_iterator<const int*> >();
+    test<forward_iterator<const int*>, random_access_iterator<const int*> >();
+    test<bidirectional_iterator<const int*>, forward_iterator<const int*> >();
+    test<bidirectional_iterator<const int*>, bidirectional_iterator<const int*> >();
+    test<bidirectional_iterator<const int*>, random_access_iterator<const int*> >();
+    test<random_access_iterator<const int*>, forward_iterator<const int*> >();
+    test<random_access_iterator<const int*>, bidirectional_iterator<const int*> >();
+    test<random_access_iterator<const int*>, random_access_iterator<const int*> >();
+}

Added: libcxx/trunk/test/std/algorithms/alg.nonmodifying/mismatch/mismatch.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/algorithms/alg.nonmodifying/mismatch/mismatch.pass.cpp?rev=224658&view=auto
==============================================================================
--- libcxx/trunk/test/std/algorithms/alg.nonmodifying/mismatch/mismatch.pass.cpp (added)
+++ libcxx/trunk/test/std/algorithms/alg.nonmodifying/mismatch/mismatch.pass.cpp Fri Dec 19 19:40:03 2014
@@ -0,0 +1,53 @@
+//===----------------------------------------------------------------------===//
+//
+//                     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.
+//
+//===----------------------------------------------------------------------===//
+
+// <algorithm>
+
+// template<InputIterator Iter1, InputIterator Iter2>
+//   requires HasEqualTo<Iter1::value_type, Iter2::value_type>
+//   pair<Iter1, Iter2>
+//   mismatch(Iter1 first1, Iter1 last1, Iter2 first2);
+
+#include <algorithm>
+#include <cassert>
+
+#include "test_iterators.h"
+
+#if _LIBCPP_STD_VER > 11
+#define HAS_FOUR_ITERATOR_VERSION
+#endif
+
+int main()
+{
+    int ia[] = {0, 1, 2, 2, 0, 1, 2, 3};
+    const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+    int ib[] = {0, 1, 2, 3, 0, 1, 2, 3};
+    const unsigned sb = sizeof(ib)/sizeof(ib[0]);
+
+	typedef input_iterator<const int*> II;
+	typedef random_access_iterator<const int*>  RAI;
+
+    assert(std::mismatch(II(ia), II(ia + sa), II(ib))
+    		== (std::pair<II, II>(II(ia+3), II(ib+3))));
+
+    assert(std::mismatch(RAI(ia), RAI(ia + sa), RAI(ib))
+    		== (std::pair<RAI, RAI>(RAI(ia+3), RAI(ib+3))));
+
+#ifdef HAS_FOUR_ITERATOR_VERSION
+    assert(std::mismatch(II(ia), II(ia + sa), II(ib), II(ib+sb))
+    		== (std::pair<II, II>(II(ia+3), II(ib+3))));
+
+    assert(std::mismatch(RAI(ia), RAI(ia + sa), RAI(ib), RAI(ib+sb))
+    		== (std::pair<RAI, RAI>(RAI(ia+3), RAI(ib+3))));
+
+
+    assert(std::mismatch(II(ia), II(ia + sa), II(ib), II(ib+2))
+    		== (std::pair<II, II>(II(ia+2), II(ib+2))));
+#endif
+}

Added: libcxx/trunk/test/std/algorithms/alg.nonmodifying/mismatch/mismatch_pred.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/algorithms/alg.nonmodifying/mismatch/mismatch_pred.pass.cpp?rev=224658&view=auto
==============================================================================
--- libcxx/trunk/test/std/algorithms/alg.nonmodifying/mismatch/mismatch_pred.pass.cpp (added)
+++ libcxx/trunk/test/std/algorithms/alg.nonmodifying/mismatch/mismatch_pred.pass.cpp Fri Dec 19 19:40:03 2014
@@ -0,0 +1,71 @@
+//===----------------------------------------------------------------------===//
+//
+//                     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.
+//
+//===----------------------------------------------------------------------===//
+
+// <algorithm>
+
+// template<InputIterator Iter1, InputIterator Iter2,
+//          Predicate<auto, Iter1::value_type, Iter2::value_type> Pred>
+//   requires CopyConstructible<Pred>
+//   pair<Iter1, Iter2>
+//   mismatch(Iter1 first1, Iter1 last1, Iter2 first2, Pred pred);
+
+#include <algorithm>
+#include <functional>
+#include <cassert>
+
+#include "test_iterators.h"
+#include "counting_predicates.hpp"
+
+#if _LIBCPP_STD_VER > 11
+#define HAS_FOUR_ITERATOR_VERSION
+#endif
+
+int main()
+{
+    int ia[] = {0, 1, 2, 2, 0, 1, 2, 3};
+    const unsigned sa = sizeof(ia)/sizeof(ia[0]);
+    int ib[] = {0, 1, 2, 3, 0, 1, 2, 3};
+    const unsigned sb = sizeof(ib)/sizeof(ib[0]);
+    
+	typedef input_iterator<const int*> II;
+	typedef random_access_iterator<const int*>  RAI;
+	typedef std::equal_to<int> EQ;
+
+    assert(std::mismatch(II(ia), II(ia + sa), II(ib), EQ())
+            == (std::pair<II, II>(II(ia+3), II(ib+3))));
+    assert(std::mismatch(RAI(ia), RAI(ia + sa), RAI(ib), EQ())
+            == (std::pair<RAI, RAI>(RAI(ia+3), RAI(ib+3))));
+
+    binary_counting_predicate<EQ, int> bcp((EQ()));
+    assert(std::mismatch(RAI(ia), RAI(ia + sa), RAI(ib), std::ref(bcp))
+            == (std::pair<RAI, RAI>(RAI(ia+3), RAI(ib+3))));
+	assert(bcp.count() > 0 && bcp.count() < sa);
+	bcp.reset();
+		
+#ifdef HAS_FOUR_ITERATOR_VERSION
+    assert(std::mismatch(II(ia), II(ia + sa), II(ib), II(ib + sb), EQ())
+            == (std::pair<II, II>(II(ia+3), II(ib+3))));
+    assert(std::mismatch(RAI(ia), RAI(ia + sa), RAI(ib), RAI(ib + sb), EQ())
+            == (std::pair<RAI, RAI>(RAI(ia+3), RAI(ib+3))));
+
+    assert(std::mismatch(II(ia), II(ia + sa), II(ib), II(ib + sb), std::ref(bcp))
+            == (std::pair<II, II>(II(ia+3), II(ib+3))));
+	assert(bcp.count() > 0 && bcp.count() < std::min(sa, sb));
+#endif
+
+    assert(std::mismatch(ia, ia + sa, ib, EQ()) ==
+           (std::pair<int*,int*>(ia+3,ib+3)));
+
+#ifdef HAS_FOUR_ITERATOR_VERSION
+    assert(std::mismatch(ia, ia + sa, ib, ib + sb, EQ()) ==
+           (std::pair<int*,int*>(ia+3,ib+3)));
+    assert(std::mismatch(ia, ia + sa, ib, ib + 2, EQ()) ==
+           (std::pair<int*,int*>(ia+2,ib+2)));
+#endif
+}

Added: libcxx/trunk/test/std/algorithms/alg.nonmodifying/nothing_to_do.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/algorithms/alg.nonmodifying/nothing_to_do.pass.cpp?rev=224658&view=auto
==============================================================================
--- libcxx/trunk/test/std/algorithms/alg.nonmodifying/nothing_to_do.pass.cpp (added)
+++ libcxx/trunk/test/std/algorithms/alg.nonmodifying/nothing_to_do.pass.cpp Fri Dec 19 19:40:03 2014
@@ -0,0 +1,12 @@
+//===----------------------------------------------------------------------===//
+//
+//                     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()
+{
+}

Added: libcxx/trunk/test/std/algorithms/alg.sorting/alg.binary.search/binary.search/binary_search.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/algorithms/alg.sorting/alg.binary.search/binary.search/binary_search.pass.cpp?rev=224658&view=auto
==============================================================================
--- libcxx/trunk/test/std/algorithms/alg.sorting/alg.binary.search/binary.search/binary_search.pass.cpp (added)
+++ libcxx/trunk/test/std/algorithms/alg.sorting/alg.binary.search/binary.search/binary_search.pass.cpp Fri Dec 19 19:40:03 2014
@@ -0,0 +1,63 @@
+//===----------------------------------------------------------------------===//
+//
+//                     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.
+//
+//===----------------------------------------------------------------------===//
+
+// <algorithm>
+
+// template<ForwardIterator Iter, class T>
+//   requires HasLess<T, Iter::value_type>
+//         && HasLess<Iter::value_type, T>
+//   bool
+//   binary_search(Iter first, Iter last, const T& value);
+
+#include <algorithm>
+#include <vector>
+#include <cassert>
+
+#include "test_iterators.h"
+
+template <class Iter, class T>
+void
+test(Iter first, Iter last, const T& value, bool x)
+{
+    assert(std::binary_search(first, last, value) == x);
+}
+
+template <class Iter>
+void
+test()
+{
+    const unsigned N = 1000;
+    const unsigned M = 10;
+    std::vector<int> v(N);
+    int x = 0;
+    for (int i = 0; i < v.size(); ++i)
+    {
+        v[i] = x;
+        if (++x == M)
+            x = 0;
+    }
+    std::sort(v.begin(), v.end());
+    for (x = 0; x < M; ++x)
+        test(Iter(v.data()), Iter(v.data()+v.size()), x, true);
+    test(Iter(v.data()), Iter(v.data()+v.size()), -1, false);
+    test(Iter(v.data()), Iter(v.data()+v.size()), M, false);
+}
+
+int main()
+{
+    int d[] = {0, 2, 4, 6};
+    for (int* e = d; e <= d+4; ++e)
+        for (int x = -1; x <= 7; ++x)
+            test(d, e, x, (x % 2 == 0) && ((e-d)*2 > x));
+
+    test<forward_iterator<const int*> >();
+    test<bidirectional_iterator<const int*> >();
+    test<random_access_iterator<const int*> >();
+    test<const int*>();
+}

Added: libcxx/trunk/test/std/algorithms/alg.sorting/alg.binary.search/binary.search/binary_search_comp.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/algorithms/alg.sorting/alg.binary.search/binary.search/binary_search_comp.pass.cpp?rev=224658&view=auto
==============================================================================
--- libcxx/trunk/test/std/algorithms/alg.sorting/alg.binary.search/binary.search/binary_search_comp.pass.cpp (added)
+++ libcxx/trunk/test/std/algorithms/alg.sorting/alg.binary.search/binary.search/binary_search_comp.pass.cpp Fri Dec 19 19:40:03 2014
@@ -0,0 +1,64 @@
+//===----------------------------------------------------------------------===//
+//
+//                     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.
+//
+//===----------------------------------------------------------------------===//
+
+// <algorithm>
+
+// template<ForwardIterator Iter, class T, CopyConstructible Compare>
+//   requires Predicate<Compare, T, Iter::value_type>
+//         && Predicate<Compare, Iter::value_type, T>
+//   bool
+//   binary_search(Iter first, Iter last, const T& value, Compare comp);
+
+#include <algorithm>
+#include <vector>
+#include <functional>
+#include <cassert>
+
+#include "test_iterators.h"
+
+template <class Iter, class T>
+void
+test(Iter first, Iter last, const T& value, bool x)
+{
+    assert(std::binary_search(first, last, value, std::greater<int>()) == x);
+}
+
+template <class Iter>
+void
+test()
+{
+    const unsigned N = 1000;
+    const unsigned M = 10;
+    std::vector<int> v(N);
+    int x = 0;
+    for (int i = 0; i < v.size(); ++i)
+    {
+        v[i] = x;
+        if (++x == M)
+            x = 0;
+    }
+    std::sort(v.begin(), v.end(), std::greater<int>());
+    for (x = 0; x < M; ++x)
+        test(Iter(v.data()), Iter(v.data()+v.size()), x, true);
+    test(Iter(v.data()), Iter(v.data()+v.size()), -1, false);
+    test(Iter(v.data()), Iter(v.data()+v.size()), M, false);
+}
+
+int main()
+{
+    int d[] = {6, 4, 2, 0};
+    for (int* e = d; e <= d+4; ++e)
+        for (int x = -1; x <= 7; ++x)
+            test(d, e, x, (x % 2 == 0) && e != d && (-2*(e-d) + 8 <= x));
+
+    test<forward_iterator<const int*> >();
+    test<bidirectional_iterator<const int*> >();
+    test<random_access_iterator<const int*> >();
+    test<const int*>();
+}

Added: libcxx/trunk/test/std/algorithms/alg.sorting/alg.binary.search/equal.range/equal_range.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/algorithms/alg.sorting/alg.binary.search/equal.range/equal_range.pass.cpp?rev=224658&view=auto
==============================================================================
--- libcxx/trunk/test/std/algorithms/alg.sorting/alg.binary.search/equal.range/equal_range.pass.cpp (added)
+++ libcxx/trunk/test/std/algorithms/alg.sorting/alg.binary.search/equal.range/equal_range.pass.cpp Fri Dec 19 19:40:03 2014
@@ -0,0 +1,69 @@
+//===----------------------------------------------------------------------===//
+//
+//                     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.
+//
+//===----------------------------------------------------------------------===//
+
+// <algorithm>
+
+// template<ForwardIterator Iter, class T>
+//   requires HasLess<T, Iter::value_type>
+//         && HasLess<Iter::value_type, T>
+//   pair<Iter, Iter>
+//   equal_range(Iter first, Iter last, const T& value);
+
+#include <algorithm>
+#include <vector>
+#include <cassert>
+
+#include "test_iterators.h"
+
+template <class Iter, class T>
+void
+test(Iter first, Iter last, const T& value)
+{
+    std::pair<Iter, Iter> i = std::equal_range(first, last, value);
+    for (Iter j = first; j != i.first; ++j)
+        assert(*j < value);
+    for (Iter j = i.first; j != last; ++j)
+        assert(!(*j < value));
+    for (Iter j = first; j != i.second; ++j)
+        assert(!(value < *j));
+    for (Iter j = i.second; j != last; ++j)
+        assert(value < *j);
+}
+
+template <class Iter>
+void
+test()
+{
+    const unsigned N = 1000;
+    const unsigned M = 10;
+    std::vector<int> v(N);
+    int x = 0;
+    for (int i = 0; i < v.size(); ++i)
+    {
+        v[i] = x;
+        if (++x == M)
+            x = 0;
+    }
+    std::sort(v.begin(), v.end());
+    for (x = 0; x <= M; ++x)
+        test(Iter(v.data()), Iter(v.data()+v.size()), x);
+}
+
+int main()
+{
+    int d[] = {0, 1, 2, 3};
+    for (int* e = d; e <= d+4; ++e)
+        for (int x = -1; x <= 4; ++x)
+            test(d, e, x);
+
+    test<forward_iterator<const int*> >();
+    test<bidirectional_iterator<const int*> >();
+    test<random_access_iterator<const int*> >();
+    test<const int*>();
+}

Added: libcxx/trunk/test/std/algorithms/alg.sorting/alg.binary.search/equal.range/equal_range_comp.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/algorithms/alg.sorting/alg.binary.search/equal.range/equal_range_comp.pass.cpp?rev=224658&view=auto
==============================================================================
--- libcxx/trunk/test/std/algorithms/alg.sorting/alg.binary.search/equal.range/equal_range_comp.pass.cpp (added)
+++ libcxx/trunk/test/std/algorithms/alg.sorting/alg.binary.search/equal.range/equal_range_comp.pass.cpp Fri Dec 19 19:40:03 2014
@@ -0,0 +1,70 @@
+//===----------------------------------------------------------------------===//
+//
+//                     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.
+//
+//===----------------------------------------------------------------------===//
+
+// <algorithm>
+
+// template<ForwardIterator Iter, class T, CopyConstructible Compare>
+//   requires Predicate<Compare, T, Iter::value_type>
+//         && Predicate<Compare, Iter::value_type, T>
+//   pair<Iter, Iter>
+//   equal_range(Iter first, Iter last, const T& value, Compare comp);
+
+#include <algorithm>
+#include <functional>
+#include <vector>
+#include <cassert>
+
+#include "test_iterators.h"
+
+template <class Iter, class T>
+void
+test(Iter first, Iter last, const T& value)
+{
+    std::pair<Iter, Iter> i = std::equal_range(first, last, value, std::greater<int>());
+    for (Iter j = first; j != i.first; ++j)
+        assert(std::greater<int>()(*j, value));
+    for (Iter j = i.first; j != last; ++j)
+        assert(!std::greater<int>()(*j, value));
+    for (Iter j = first; j != i.second; ++j)
+        assert(!std::greater<int>()(value, *j));
+    for (Iter j = i.second; j != last; ++j)
+        assert(std::greater<int>()(value, *j));
+}
+
+template <class Iter>
+void
+test()
+{
+    const unsigned N = 1000;
+    const unsigned M = 10;
+    std::vector<int> v(N);
+    int x = 0;
+    for (int i = 0; i < v.size(); ++i)
+    {
+        v[i] = x;
+        if (++x == M)
+            x = 0;
+    }
+    std::sort(v.begin(), v.end(), std::greater<int>());
+    for (x = 0; x <= M; ++x)
+        test(Iter(v.data()), Iter(v.data()+v.size()), x);
+}
+
+int main()
+{
+    int d[] = {3, 2, 1, 0};
+    for (int* e = d; e <= d+4; ++e)
+        for (int x = -1; x <= 4; ++x)
+            test(d, e, x);
+
+    test<forward_iterator<const int*> >();
+    test<bidirectional_iterator<const int*> >();
+    test<random_access_iterator<const int*> >();
+    test<const int*>();
+}

Added: libcxx/trunk/test/std/algorithms/alg.sorting/alg.binary.search/lower.bound/lower_bound.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/algorithms/alg.sorting/alg.binary.search/lower.bound/lower_bound.pass.cpp?rev=224658&view=auto
==============================================================================
--- libcxx/trunk/test/std/algorithms/alg.sorting/alg.binary.search/lower.bound/lower_bound.pass.cpp (added)
+++ libcxx/trunk/test/std/algorithms/alg.sorting/alg.binary.search/lower.bound/lower_bound.pass.cpp Fri Dec 19 19:40:03 2014
@@ -0,0 +1,64 @@
+//===----------------------------------------------------------------------===//
+//
+//                     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.
+//
+//===----------------------------------------------------------------------===//
+
+// <algorithm>
+
+// template<ForwardIterator Iter, class T>
+//   requires HasLess<Iter::value_type, T>
+//   Iter
+//   lower_bound(Iter first, Iter last, const T& value);
+
+#include <algorithm>
+#include <vector>
+#include <cassert>
+
+#include "test_iterators.h"
+
+template <class Iter, class T>
+void
+test(Iter first, Iter last, const T& value)
+{
+    Iter i = std::lower_bound(first, last, value);
+    for (Iter j = first; j != i; ++j)
+        assert(*j < value);
+    for (Iter j = i; j != last; ++j)
+        assert(!(*j < value));
+}
+
+template <class Iter>
+void
+test()
+{
+    const unsigned N = 1000;
+    const unsigned M = 10;
+    std::vector<int> v(N);
+    int x = 0;
+    for (int i = 0; i < v.size(); ++i)
+    {
+        v[i] = x;
+        if (++x == M)
+            x = 0;
+    }
+    std::sort(v.begin(), v.end());
+    for (x = 0; x <= M; ++x)
+        test(Iter(v.data()), Iter(v.data()+v.size()), x);
+}
+
+int main()
+{
+    int d[] = {0, 1, 2, 3};
+    for (int* e = d; e <= d+4; ++e)
+        for (int x = -1; x <= 4; ++x)
+            test(d, e, x);
+
+    test<forward_iterator<const int*> >();
+    test<bidirectional_iterator<const int*> >();
+    test<random_access_iterator<const int*> >();
+    test<const int*>();
+}

Added: libcxx/trunk/test/std/algorithms/alg.sorting/alg.binary.search/lower.bound/lower_bound_comp.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/algorithms/alg.sorting/alg.binary.search/lower.bound/lower_bound_comp.pass.cpp?rev=224658&view=auto
==============================================================================
--- libcxx/trunk/test/std/algorithms/alg.sorting/alg.binary.search/lower.bound/lower_bound_comp.pass.cpp (added)
+++ libcxx/trunk/test/std/algorithms/alg.sorting/alg.binary.search/lower.bound/lower_bound_comp.pass.cpp Fri Dec 19 19:40:03 2014
@@ -0,0 +1,65 @@
+//===----------------------------------------------------------------------===//
+//
+//                     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.
+//
+//===----------------------------------------------------------------------===//
+
+// <algorithm>
+
+// template<ForwardIterator Iter, class T>
+//   requires HasLess<Iter::value_type, T>
+//   Iter
+//   lower_bound(Iter first, Iter last, const T& value);
+
+#include <algorithm>
+#include <functional>
+#include <vector>
+#include <cassert>
+
+#include "test_iterators.h"
+
+template <class Iter, class T>
+void
+test(Iter first, Iter last, const T& value)
+{
+    Iter i = std::lower_bound(first, last, value, std::greater<int>());
+    for (Iter j = first; j != i; ++j)
+        assert(std::greater<int>()(*j, value));
+    for (Iter j = i; j != last; ++j)
+        assert(!std::greater<int>()(*j, value));
+}
+
+template <class Iter>
+void
+test()
+{
+    const unsigned N = 1000;
+    const unsigned M = 10;
+    std::vector<int> v(N);
+    int x = 0;
+    for (int i = 0; i < v.size(); ++i)
+    {
+        v[i] = x;
+        if (++x == M)
+            x = 0;
+    }
+    std::sort(v.begin(), v.end(), std::greater<int>());
+    for (x = 0; x <= M; ++x)
+        test(Iter(v.data()), Iter(v.data()+v.size()), x);
+}
+
+int main()
+{
+    int d[] = {3, 2, 1, 0};
+    for (int* e = d; e <= d+4; ++e)
+        for (int x = -1; x <= 4; ++x)
+            test(d, e, x);
+
+    test<forward_iterator<const int*> >();
+    test<bidirectional_iterator<const int*> >();
+    test<random_access_iterator<const int*> >();
+    test<const int*>();
+}

Added: libcxx/trunk/test/std/algorithms/alg.sorting/alg.binary.search/nothing_to_do.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/algorithms/alg.sorting/alg.binary.search/nothing_to_do.pass.cpp?rev=224658&view=auto
==============================================================================
--- libcxx/trunk/test/std/algorithms/alg.sorting/alg.binary.search/nothing_to_do.pass.cpp (added)
+++ libcxx/trunk/test/std/algorithms/alg.sorting/alg.binary.search/nothing_to_do.pass.cpp Fri Dec 19 19:40:03 2014
@@ -0,0 +1,12 @@
+//===----------------------------------------------------------------------===//
+//
+//                     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()
+{
+}

Added: libcxx/trunk/test/std/algorithms/alg.sorting/alg.binary.search/upper.bound/upper_bound.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/algorithms/alg.sorting/alg.binary.search/upper.bound/upper_bound.pass.cpp?rev=224658&view=auto
==============================================================================
--- libcxx/trunk/test/std/algorithms/alg.sorting/alg.binary.search/upper.bound/upper_bound.pass.cpp (added)
+++ libcxx/trunk/test/std/algorithms/alg.sorting/alg.binary.search/upper.bound/upper_bound.pass.cpp Fri Dec 19 19:40:03 2014
@@ -0,0 +1,64 @@
+//===----------------------------------------------------------------------===//
+//
+//                     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.
+//
+//===----------------------------------------------------------------------===//
+
+// <algorithm>
+
+// template<ForwardIterator Iter, class T>
+//   requires HasLess<T, Iter::value_type>
+//   Iter
+//   upper_bound(Iter first, Iter last, const T& value);
+
+#include <algorithm>
+#include <vector>
+#include <cassert>
+
+#include "test_iterators.h"
+
+template <class Iter, class T>
+void
+test(Iter first, Iter last, const T& value)
+{
+    Iter i = std::upper_bound(first, last, value);
+    for (Iter j = first; j != i; ++j)
+        assert(!(value < *j));
+    for (Iter j = i; j != last; ++j)
+        assert(value < *j);
+}
+
+template <class Iter>
+void
+test()
+{
+    const unsigned N = 1000;
+    const unsigned M = 10;
+    std::vector<int> v(N);
+    int x = 0;
+    for (int i = 0; i < v.size(); ++i)
+    {
+        v[i] = x;
+        if (++x == M)
+            x = 0;
+    }
+    std::sort(v.begin(), v.end());
+    for (x = 0; x <= M; ++x)
+        test(Iter(v.data()), Iter(v.data()+v.size()), x);
+}
+
+int main()
+{
+    int d[] = {0, 1, 2, 3};
+    for (int* e = d; e <= d+4; ++e)
+        for (int x = -1; x <= 4; ++x)
+            test(d, e, x);
+
+    test<forward_iterator<const int*> >();
+    test<bidirectional_iterator<const int*> >();
+    test<random_access_iterator<const int*> >();
+    test<const int*>();
+}

Added: libcxx/trunk/test/std/algorithms/alg.sorting/alg.binary.search/upper.bound/upper_bound_comp.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/algorithms/alg.sorting/alg.binary.search/upper.bound/upper_bound_comp.pass.cpp?rev=224658&view=auto
==============================================================================
--- libcxx/trunk/test/std/algorithms/alg.sorting/alg.binary.search/upper.bound/upper_bound_comp.pass.cpp (added)
+++ libcxx/trunk/test/std/algorithms/alg.sorting/alg.binary.search/upper.bound/upper_bound_comp.pass.cpp Fri Dec 19 19:40:03 2014
@@ -0,0 +1,65 @@
+//===----------------------------------------------------------------------===//
+//
+//                     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.
+//
+//===----------------------------------------------------------------------===//
+
+// <algorithm>
+
+// template<ForwardIterator Iter, class T, Predicate<auto, T, Iter::value_type> Compare>
+//   requires CopyConstructible<Compare>
+//   Iter
+//   upper_bound(Iter first, Iter last, const T& value, Compare comp);
+
+#include <algorithm>
+#include <functional>
+#include <vector>
+#include <cassert>
+
+#include "test_iterators.h"
+
+template <class Iter, class T>
+void
+test(Iter first, Iter last, const T& value)
+{
+    Iter i = std::upper_bound(first, last, value, std::greater<int>());
+    for (Iter j = first; j != i; ++j)
+        assert(!std::greater<int>()(value, *j));
+    for (Iter j = i; j != last; ++j)
+        assert(std::greater<int>()(value, *j));
+}
+
+template <class Iter>
+void
+test()
+{
+    const unsigned N = 1000;
+    const unsigned M = 10;
+    std::vector<int> v(N);
+    int x = 0;
+    for (int i = 0; i < v.size(); ++i)
+    {
+        v[i] = x;
+        if (++x == M)
+            x = 0;
+    }
+    std::sort(v.begin(), v.end(), std::greater<int>());
+    for (x = 0; x <= M; ++x)
+        test(Iter(v.data()), Iter(v.data()+v.size()), x);
+}
+
+int main()
+{
+    int d[] = {3, 2, 1, 0};
+    for (int* e = d; e <= d+4; ++e)
+        for (int x = -1; x <= 4; ++x)
+            test(d, e, x);
+
+    test<forward_iterator<const int*> >();
+    test<bidirectional_iterator<const int*> >();
+    test<random_access_iterator<const int*> >();
+    test<const int*>();
+}

Added: libcxx/trunk/test/std/algorithms/alg.sorting/alg.heap.operations/is.heap/is_heap.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/algorithms/alg.sorting/alg.heap.operations/is.heap/is_heap.pass.cpp?rev=224658&view=auto
==============================================================================
--- libcxx/trunk/test/std/algorithms/alg.sorting/alg.heap.operations/is.heap/is_heap.pass.cpp (added)
+++ libcxx/trunk/test/std/algorithms/alg.sorting/alg.heap.operations/is.heap/is_heap.pass.cpp Fri Dec 19 19:40:03 2014
@@ -0,0 +1,521 @@
+//===----------------------------------------------------------------------===//
+//
+//                     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.
+//
+//===----------------------------------------------------------------------===//
+
+// <algorithm>
+
+// template<RandomAccessIterator Iter>
+//   requires LessThanComparable<Iter::value_type>
+//   bool
+//   is_heap(Iter first, Iter last);
+
+#include <algorithm>
+#include <cassert>
+
+void test()
+{
+    int i1[] = {0, 0};
+    assert(std::is_heap(i1, i1));
+    assert(std::is_heap(i1, i1+1) == (std::is_heap_until(i1, i1+1) == i1+1));
+    int i2[] = {0, 1};
+    int i3[] = {1, 0};
+    assert(std::is_heap(i1, i1+2) == (std::is_heap_until(i1, i1+2) == i1+2));
+    assert(std::is_heap(i2, i2+2) == (std::is_heap_until(i2, i2+2) == i2+2));
+    assert(std::is_heap(i3, i3+2) == (std::is_heap_until(i3, i3+2) == i3+2));
+    int i4[] = {0, 0, 0};
+    int i5[] = {0, 0, 1};
+    int i6[] = {0, 1, 0};
+    int i7[] = {0, 1, 1};
+    int i8[] = {1, 0, 0};
+    int i9[] = {1, 0, 1};
+    int i10[] = {1, 1, 0};
+    assert(std::is_heap(i4, i4+3) == (std::is_heap_until(i4, i4+3) == i4+3));
+    assert(std::is_heap(i5, i5+3) == (std::is_heap_until(i5, i5+3) == i5+3));
+    assert(std::is_heap(i6, i6+3) == (std::is_heap_until(i6, i6+3) == i6+3));
+    assert(std::is_heap(i7, i7+3) == (std::is_heap_until(i7, i7+3) == i7+3));
+    assert(std::is_heap(i8, i8+3) == (std::is_heap_until(i8, i8+3) == i8+3));
+    assert(std::is_heap(i9, i9+3) == (std::is_heap_until(i9, i9+3) == i9+3));
+    assert(std::is_heap(i10, i10+3) == (std::is_heap_until(i10, i10+3) == i10+3));
+    int i11[] = {0, 0, 0, 0};
+    int i12[] = {0, 0, 0, 1};
+    int i13[] = {0, 0, 1, 0};
+    int i14[] = {0, 0, 1, 1};
+    int i15[] = {0, 1, 0, 0};
+    int i16[] = {0, 1, 0, 1};
+    int i17[] = {0, 1, 1, 0};
+    int i18[] = {0, 1, 1, 1};
+    int i19[] = {1, 0, 0, 0};
+    int i20[] = {1, 0, 0, 1};
+    int i21[] = {1, 0, 1, 0};
+    int i22[] = {1, 0, 1, 1};
+    int i23[] = {1, 1, 0, 0};
+    int i24[] = {1, 1, 0, 1};
+    int i25[] = {1, 1, 1, 0};
+    assert(std::is_heap(i11, i11+4) == (std::is_heap_until(i11, i11+4) == i11+4));
+    assert(std::is_heap(i12, i12+4) == (std::is_heap_until(i12, i12+4) == i12+4));
+    assert(std::is_heap(i13, i13+4) == (std::is_heap_until(i13, i13+4) == i13+4));
+    assert(std::is_heap(i14, i14+4) == (std::is_heap_until(i14, i14+4) == i14+4));
+    assert(std::is_heap(i15, i15+4) == (std::is_heap_until(i15, i15+4) == i15+4));
+    assert(std::is_heap(i16, i16+4) == (std::is_heap_until(i16, i16+4) == i16+4));
+    assert(std::is_heap(i17, i17+4) == (std::is_heap_until(i17, i17+4) == i17+4));
+    assert(std::is_heap(i18, i18+4) == (std::is_heap_until(i18, i18+4) == i18+4));
+    assert(std::is_heap(i19, i19+4) == (std::is_heap_until(i19, i19+4) == i19+4));
+    assert(std::is_heap(i20, i20+4) == (std::is_heap_until(i20, i20+4) == i20+4));
+    assert(std::is_heap(i21, i21+4) == (std::is_heap_until(i21, i21+4) == i21+4));
+    assert(std::is_heap(i22, i22+4) == (std::is_heap_until(i22, i22+4) == i22+4));
+    assert(std::is_heap(i23, i23+4) == (std::is_heap_until(i23, i23+4) == i23+4));
+    assert(std::is_heap(i24, i24+4) == (std::is_heap_until(i24, i24+4) == i24+4));
+    assert(std::is_heap(i25, i25+4) == (std::is_heap_until(i25, i25+4) == i25+4));
+    int i26[] = {0, 0, 0, 0, 0};
+    int i27[] = {0, 0, 0, 0, 1};
+    int i28[] = {0, 0, 0, 1, 0};
+    int i29[] = {0, 0, 0, 1, 1};
+    int i30[] = {0, 0, 1, 0, 0};
+    int i31[] = {0, 0, 1, 0, 1};
+    int i32[] = {0, 0, 1, 1, 0};
+    int i33[] = {0, 0, 1, 1, 1};
+    int i34[] = {0, 1, 0, 0, 0};
+    int i35[] = {0, 1, 0, 0, 1};
+    int i36[] = {0, 1, 0, 1, 0};
+    int i37[] = {0, 1, 0, 1, 1};
+    int i38[] = {0, 1, 1, 0, 0};
+    int i39[] = {0, 1, 1, 0, 1};
+    int i40[] = {0, 1, 1, 1, 0};
+    int i41[] = {0, 1, 1, 1, 1};
+    int i42[] = {1, 0, 0, 0, 0};
+    int i43[] = {1, 0, 0, 0, 1};
+    int i44[] = {1, 0, 0, 1, 0};
+    int i45[] = {1, 0, 0, 1, 1};
+    int i46[] = {1, 0, 1, 0, 0};
+    int i47[] = {1, 0, 1, 0, 1};
+    int i48[] = {1, 0, 1, 1, 0};
+    int i49[] = {1, 0, 1, 1, 1};
+    int i50[] = {1, 1, 0, 0, 0};
+    int i51[] = {1, 1, 0, 0, 1};
+    int i52[] = {1, 1, 0, 1, 0};
+    int i53[] = {1, 1, 0, 1, 1};
+    int i54[] = {1, 1, 1, 0, 0};
+    int i55[] = {1, 1, 1, 0, 1};
+    int i56[] = {1, 1, 1, 1, 0};
+    assert(std::is_heap(i26, i26+5) == (std::is_heap_until(i26, i26+5) == i26+5));
+    assert(std::is_heap(i27, i27+5) == (std::is_heap_until(i27, i27+5) == i27+5));
+    assert(std::is_heap(i28, i28+5) == (std::is_heap_until(i28, i28+5) == i28+5));
+    assert(std::is_heap(i29, i29+5) == (std::is_heap_until(i29, i29+5) == i29+5));
+    assert(std::is_heap(i30, i30+5) == (std::is_heap_until(i30, i30+5) == i30+5));
+    assert(std::is_heap(i31, i31+5) == (std::is_heap_until(i31, i31+5) == i31+5));
+    assert(std::is_heap(i32, i32+5) == (std::is_heap_until(i32, i32+5) == i32+5));
+    assert(std::is_heap(i33, i33+5) == (std::is_heap_until(i33, i33+5) == i33+5));
+    assert(std::is_heap(i34, i34+5) == (std::is_heap_until(i34, i34+5) == i34+5));
+    assert(std::is_heap(i35, i35+5) == (std::is_heap_until(i35, i35+5) == i35+5));
+    assert(std::is_heap(i36, i36+5) == (std::is_heap_until(i36, i36+5) == i36+5));
+    assert(std::is_heap(i37, i37+5) == (std::is_heap_until(i37, i37+5) == i37+5));
+    assert(std::is_heap(i38, i38+5) == (std::is_heap_until(i38, i38+5) == i38+5));
+    assert(std::is_heap(i39, i39+5) == (std::is_heap_until(i39, i39+5) == i39+5));
+    assert(std::is_heap(i40, i40+5) == (std::is_heap_until(i40, i40+5) == i40+5));
+    assert(std::is_heap(i41, i41+5) == (std::is_heap_until(i41, i41+5) == i41+5));
+    assert(std::is_heap(i42, i42+5) == (std::is_heap_until(i42, i42+5) == i42+5));
+    assert(std::is_heap(i43, i43+5) == (std::is_heap_until(i43, i43+5) == i43+5));
+    assert(std::is_heap(i44, i44+5) == (std::is_heap_until(i44, i44+5) == i44+5));
+    assert(std::is_heap(i45, i45+5) == (std::is_heap_until(i45, i45+5) == i45+5));
+    assert(std::is_heap(i46, i46+5) == (std::is_heap_until(i46, i46+5) == i46+5));
+    assert(std::is_heap(i47, i47+5) == (std::is_heap_until(i47, i47+5) == i47+5));
+    assert(std::is_heap(i48, i48+5) == (std::is_heap_until(i48, i48+5) == i48+5));
+    assert(std::is_heap(i49, i49+5) == (std::is_heap_until(i49, i49+5) == i49+5));
+    assert(std::is_heap(i50, i50+5) == (std::is_heap_until(i50, i50+5) == i50+5));
+    assert(std::is_heap(i51, i51+5) == (std::is_heap_until(i51, i51+5) == i51+5));
+    assert(std::is_heap(i52, i52+5) == (std::is_heap_until(i52, i52+5) == i52+5));
+    assert(std::is_heap(i53, i53+5) == (std::is_heap_until(i53, i53+5) == i53+5));
+    assert(std::is_heap(i54, i54+5) == (std::is_heap_until(i54, i54+5) == i54+5));
+    assert(std::is_heap(i55, i55+5) == (std::is_heap_until(i55, i55+5) == i55+5));
+    assert(std::is_heap(i56, i56+5) == (std::is_heap_until(i56, i56+5) == i56+5));
+    int i57[] = {0, 0, 0, 0, 0, 0};
+    int i58[] = {0, 0, 0, 0, 0, 1};
+    int i59[] = {0, 0, 0, 0, 1, 0};
+    int i60[] = {0, 0, 0, 0, 1, 1};
+    int i61[] = {0, 0, 0, 1, 0, 0};
+    int i62[] = {0, 0, 0, 1, 0, 1};
+    int i63[] = {0, 0, 0, 1, 1, 0};
+    int i64[] = {0, 0, 0, 1, 1, 1};
+    int i65[] = {0, 0, 1, 0, 0, 0};
+    int i66[] = {0, 0, 1, 0, 0, 1};
+    int i67[] = {0, 0, 1, 0, 1, 0};
+    int i68[] = {0, 0, 1, 0, 1, 1};
+    int i69[] = {0, 0, 1, 1, 0, 0};
+    int i70[] = {0, 0, 1, 1, 0, 1};
+    int i71[] = {0, 0, 1, 1, 1, 0};
+    int i72[] = {0, 0, 1, 1, 1, 1};
+    int i73[] = {0, 1, 0, 0, 0, 0};
+    int i74[] = {0, 1, 0, 0, 0, 1};
+    int i75[] = {0, 1, 0, 0, 1, 0};
+    int i76[] = {0, 1, 0, 0, 1, 1};
+    int i77[] = {0, 1, 0, 1, 0, 0};
+    int i78[] = {0, 1, 0, 1, 0, 1};
+    int i79[] = {0, 1, 0, 1, 1, 0};
+    int i80[] = {0, 1, 0, 1, 1, 1};
+    int i81[] = {0, 1, 1, 0, 0, 0};
+    int i82[] = {0, 1, 1, 0, 0, 1};
+    int i83[] = {0, 1, 1, 0, 1, 0};
+    int i84[] = {0, 1, 1, 0, 1, 1};
+    int i85[] = {0, 1, 1, 1, 0, 0};
+    int i86[] = {0, 1, 1, 1, 0, 1};
+    int i87[] = {0, 1, 1, 1, 1, 0};
+    int i88[] = {0, 1, 1, 1, 1, 1};
+    int i89[] = {1, 0, 0, 0, 0, 0};
+    int i90[] = {1, 0, 0, 0, 0, 1};
+    int i91[] = {1, 0, 0, 0, 1, 0};
+    int i92[] = {1, 0, 0, 0, 1, 1};
+    int i93[] = {1, 0, 0, 1, 0, 0};
+    int i94[] = {1, 0, 0, 1, 0, 1};
+    int i95[] = {1, 0, 0, 1, 1, 0};
+    int i96[] = {1, 0, 0, 1, 1, 1};
+    int i97[] = {1, 0, 1, 0, 0, 0};
+    int i98[] = {1, 0, 1, 0, 0, 1};
+    int i99[] = {1, 0, 1, 0, 1, 0};
+    int i100[] = {1, 0, 1, 0, 1, 1};
+    int i101[] = {1, 0, 1, 1, 0, 0};
+    int i102[] = {1, 0, 1, 1, 0, 1};
+    int i103[] = {1, 0, 1, 1, 1, 0};
+    int i104[] = {1, 0, 1, 1, 1, 1};
+    int i105[] = {1, 1, 0, 0, 0, 0};
+    int i106[] = {1, 1, 0, 0, 0, 1};
+    int i107[] = {1, 1, 0, 0, 1, 0};
+    int i108[] = {1, 1, 0, 0, 1, 1};
+    int i109[] = {1, 1, 0, 1, 0, 0};
+    int i110[] = {1, 1, 0, 1, 0, 1};
+    int i111[] = {1, 1, 0, 1, 1, 0};
+    int i112[] = {1, 1, 0, 1, 1, 1};
+    int i113[] = {1, 1, 1, 0, 0, 0};
+    int i114[] = {1, 1, 1, 0, 0, 1};
+    int i115[] = {1, 1, 1, 0, 1, 0};
+    int i116[] = {1, 1, 1, 0, 1, 1};
+    int i117[] = {1, 1, 1, 1, 0, 0};
+    int i118[] = {1, 1, 1, 1, 0, 1};
+    int i119[] = {1, 1, 1, 1, 1, 0};
+    assert(std::is_heap(i57, i57+6) == (std::is_heap_until(i57, i57+6) == i57+6));
+    assert(std::is_heap(i58, i58+6) == (std::is_heap_until(i58, i58+6) == i58+6));
+    assert(std::is_heap(i59, i59+6) == (std::is_heap_until(i59, i59+6) == i59+6));
+    assert(std::is_heap(i60, i60+6) == (std::is_heap_until(i60, i60+6) == i60+6));
+    assert(std::is_heap(i61, i61+6) == (std::is_heap_until(i61, i61+6) == i61+6));
+    assert(std::is_heap(i62, i62+6) == (std::is_heap_until(i62, i62+6) == i62+6));
+    assert(std::is_heap(i63, i63+6) == (std::is_heap_until(i63, i63+6) == i63+6));
+    assert(std::is_heap(i64, i64+6) == (std::is_heap_until(i64, i64+6) == i64+6));
+    assert(std::is_heap(i65, i65+6) == (std::is_heap_until(i65, i65+6) == i65+6));
+    assert(std::is_heap(i66, i66+6) == (std::is_heap_until(i66, i66+6) == i66+6));
+    assert(std::is_heap(i67, i67+6) == (std::is_heap_until(i67, i67+6) == i67+6));
+    assert(std::is_heap(i68, i68+6) == (std::is_heap_until(i68, i68+6) == i68+6));
+    assert(std::is_heap(i69, i69+6) == (std::is_heap_until(i69, i69+6) == i69+6));
+    assert(std::is_heap(i70, i70+6) == (std::is_heap_until(i70, i70+6) == i70+6));
+    assert(std::is_heap(i71, i71+6) == (std::is_heap_until(i71, i71+6) == i71+6));
+    assert(std::is_heap(i72, i72+6) == (std::is_heap_until(i72, i72+6) == i72+6));
+    assert(std::is_heap(i73, i73+6) == (std::is_heap_until(i73, i73+6) == i73+6));
+    assert(std::is_heap(i74, i74+6) == (std::is_heap_until(i74, i74+6) == i74+6));
+    assert(std::is_heap(i75, i75+6) == (std::is_heap_until(i75, i75+6) == i75+6));
+    assert(std::is_heap(i76, i76+6) == (std::is_heap_until(i76, i76+6) == i76+6));
+    assert(std::is_heap(i77, i77+6) == (std::is_heap_until(i77, i77+6) == i77+6));
+    assert(std::is_heap(i78, i78+6) == (std::is_heap_until(i78, i78+6) == i78+6));
+    assert(std::is_heap(i79, i79+6) == (std::is_heap_until(i79, i79+6) == i79+6));
+    assert(std::is_heap(i80, i80+6) == (std::is_heap_until(i80, i80+6) == i80+6));
+    assert(std::is_heap(i81, i81+6) == (std::is_heap_until(i81, i81+6) == i81+6));
+    assert(std::is_heap(i82, i82+6) == (std::is_heap_until(i82, i82+6) == i82+6));
+    assert(std::is_heap(i83, i83+6) == (std::is_heap_until(i83, i83+6) == i83+6));
+    assert(std::is_heap(i84, i84+6) == (std::is_heap_until(i84, i84+6) == i84+6));
+    assert(std::is_heap(i85, i85+6) == (std::is_heap_until(i85, i85+6) == i85+6));
+    assert(std::is_heap(i86, i86+6) == (std::is_heap_until(i86, i86+6) == i86+6));
+    assert(std::is_heap(i87, i87+6) == (std::is_heap_until(i87, i87+6) == i87+6));
+    assert(std::is_heap(i88, i88+6) == (std::is_heap_until(i88, i88+6) == i88+6));
+    assert(std::is_heap(i89, i89+6) == (std::is_heap_until(i89, i89+6) == i89+6));
+    assert(std::is_heap(i90, i90+6) == (std::is_heap_until(i90, i90+6) == i90+6));
+    assert(std::is_heap(i91, i91+6) == (std::is_heap_until(i91, i91+6) == i91+6));
+    assert(std::is_heap(i92, i92+6) == (std::is_heap_until(i92, i92+6) == i92+6));
+    assert(std::is_heap(i93, i93+6) == (std::is_heap_until(i93, i93+6) == i93+6));
+    assert(std::is_heap(i94, i94+6) == (std::is_heap_until(i94, i94+6) == i94+6));
+    assert(std::is_heap(i95, i95+6) == (std::is_heap_until(i95, i95+6) == i95+6));
+    assert(std::is_heap(i96, i96+6) == (std::is_heap_until(i96, i96+6) == i96+6));
+    assert(std::is_heap(i97, i97+6) == (std::is_heap_until(i97, i97+6) == i97+6));
+    assert(std::is_heap(i98, i98+6) == (std::is_heap_until(i98, i98+6) == i98+6));
+    assert(std::is_heap(i99, i99+6) == (std::is_heap_until(i99, i99+6) == i99+6));
+    assert(std::is_heap(i100, i100+6) == (std::is_heap_until(i100, i100+6) == i100+6));
+    assert(std::is_heap(i101, i101+6) == (std::is_heap_until(i101, i101+6) == i101+6));
+    assert(std::is_heap(i102, i102+6) == (std::is_heap_until(i102, i102+6) == i102+6));
+    assert(std::is_heap(i103, i103+6) == (std::is_heap_until(i103, i103+6) == i103+6));
+    assert(std::is_heap(i104, i104+6) == (std::is_heap_until(i104, i104+6) == i104+6));
+    assert(std::is_heap(i105, i105+6) == (std::is_heap_until(i105, i105+6) == i105+6));
+    assert(std::is_heap(i106, i106+6) == (std::is_heap_until(i106, i106+6) == i106+6));
+    assert(std::is_heap(i107, i107+6) == (std::is_heap_until(i107, i107+6) == i107+6));
+    assert(std::is_heap(i108, i108+6) == (std::is_heap_until(i108, i108+6) == i108+6));
+    assert(std::is_heap(i109, i109+6) == (std::is_heap_until(i109, i109+6) == i109+6));
+    assert(std::is_heap(i110, i110+6) == (std::is_heap_until(i110, i110+6) == i110+6));
+    assert(std::is_heap(i111, i111+6) == (std::is_heap_until(i111, i111+6) == i111+6));
+    assert(std::is_heap(i112, i112+6) == (std::is_heap_until(i112, i112+6) == i112+6));
+    assert(std::is_heap(i113, i113+6) == (std::is_heap_until(i113, i113+6) == i113+6));
+    assert(std::is_heap(i114, i114+6) == (std::is_heap_until(i114, i114+6) == i114+6));
+    assert(std::is_heap(i115, i115+6) == (std::is_heap_until(i115, i115+6) == i115+6));
+    assert(std::is_heap(i116, i116+6) == (std::is_heap_until(i116, i116+6) == i116+6));
+    assert(std::is_heap(i117, i117+6) == (std::is_heap_until(i117, i117+6) == i117+6));
+    assert(std::is_heap(i118, i118+6) == (std::is_heap_until(i118, i118+6) == i118+6));
+    assert(std::is_heap(i119, i119+6) == (std::is_heap_until(i119, i119+6) == i119+6));
+    int i120[] = {0, 0, 0, 0, 0, 0, 0};
+    int i121[] = {0, 0, 0, 0, 0, 0, 1};
+    int i122[] = {0, 0, 0, 0, 0, 1, 0};
+    int i123[] = {0, 0, 0, 0, 0, 1, 1};
+    int i124[] = {0, 0, 0, 0, 1, 0, 0};
+    int i125[] = {0, 0, 0, 0, 1, 0, 1};
+    int i126[] = {0, 0, 0, 0, 1, 1, 0};
+    int i127[] = {0, 0, 0, 0, 1, 1, 1};
+    int i128[] = {0, 0, 0, 1, 0, 0, 0};
+    int i129[] = {0, 0, 0, 1, 0, 0, 1};
+    int i130[] = {0, 0, 0, 1, 0, 1, 0};
+    int i131[] = {0, 0, 0, 1, 0, 1, 1};
+    int i132[] = {0, 0, 0, 1, 1, 0, 0};
+    int i133[] = {0, 0, 0, 1, 1, 0, 1};
+    int i134[] = {0, 0, 0, 1, 1, 1, 0};
+    int i135[] = {0, 0, 0, 1, 1, 1, 1};
+    int i136[] = {0, 0, 1, 0, 0, 0, 0};
+    int i137[] = {0, 0, 1, 0, 0, 0, 1};
+    int i138[] = {0, 0, 1, 0, 0, 1, 0};
+    int i139[] = {0, 0, 1, 0, 0, 1, 1};
+    int i140[] = {0, 0, 1, 0, 1, 0, 0};
+    int i141[] = {0, 0, 1, 0, 1, 0, 1};
+    int i142[] = {0, 0, 1, 0, 1, 1, 0};
+    int i143[] = {0, 0, 1, 0, 1, 1, 1};
+    int i144[] = {0, 0, 1, 1, 0, 0, 0};
+    int i145[] = {0, 0, 1, 1, 0, 0, 1};
+    int i146[] = {0, 0, 1, 1, 0, 1, 0};
+    int i147[] = {0, 0, 1, 1, 0, 1, 1};
+    int i148[] = {0, 0, 1, 1, 1, 0, 0};
+    int i149[] = {0, 0, 1, 1, 1, 0, 1};
+    int i150[] = {0, 0, 1, 1, 1, 1, 0};
+    int i151[] = {0, 0, 1, 1, 1, 1, 1};
+    int i152[] = {0, 1, 0, 0, 0, 0, 0};
+    int i153[] = {0, 1, 0, 0, 0, 0, 1};
+    int i154[] = {0, 1, 0, 0, 0, 1, 0};
+    int i155[] = {0, 1, 0, 0, 0, 1, 1};
+    int i156[] = {0, 1, 0, 0, 1, 0, 0};
+    int i157[] = {0, 1, 0, 0, 1, 0, 1};
+    int i158[] = {0, 1, 0, 0, 1, 1, 0};
+    int i159[] = {0, 1, 0, 0, 1, 1, 1};
+    int i160[] = {0, 1, 0, 1, 0, 0, 0};
+    int i161[] = {0, 1, 0, 1, 0, 0, 1};
+    int i162[] = {0, 1, 0, 1, 0, 1, 0};
+    int i163[] = {0, 1, 0, 1, 0, 1, 1};
+    int i164[] = {0, 1, 0, 1, 1, 0, 0};
+    int i165[] = {0, 1, 0, 1, 1, 0, 1};
+    int i166[] = {0, 1, 0, 1, 1, 1, 0};
+    int i167[] = {0, 1, 0, 1, 1, 1, 1};
+    int i168[] = {0, 1, 1, 0, 0, 0, 0};
+    int i169[] = {0, 1, 1, 0, 0, 0, 1};
+    int i170[] = {0, 1, 1, 0, 0, 1, 0};
+    int i171[] = {0, 1, 1, 0, 0, 1, 1};
+    int i172[] = {0, 1, 1, 0, 1, 0, 0};
+    int i173[] = {0, 1, 1, 0, 1, 0, 1};
+    int i174[] = {0, 1, 1, 0, 1, 1, 0};
+    int i175[] = {0, 1, 1, 0, 1, 1, 1};
+    int i176[] = {0, 1, 1, 1, 0, 0, 0};
+    int i177[] = {0, 1, 1, 1, 0, 0, 1};
+    int i178[] = {0, 1, 1, 1, 0, 1, 0};
+    int i179[] = {0, 1, 1, 1, 0, 1, 1};
+    int i180[] = {0, 1, 1, 1, 1, 0, 0};
+    int i181[] = {0, 1, 1, 1, 1, 0, 1};
+    int i182[] = {0, 1, 1, 1, 1, 1, 0};
+    int i183[] = {0, 1, 1, 1, 1, 1, 1};
+    int i184[] = {1, 0, 0, 0, 0, 0, 0};
+    int i185[] = {1, 0, 0, 0, 0, 0, 1};
+    int i186[] = {1, 0, 0, 0, 0, 1, 0};
+    int i187[] = {1, 0, 0, 0, 0, 1, 1};
+    int i188[] = {1, 0, 0, 0, 1, 0, 0};
+    int i189[] = {1, 0, 0, 0, 1, 0, 1};
+    int i190[] = {1, 0, 0, 0, 1, 1, 0};
+    int i191[] = {1, 0, 0, 0, 1, 1, 1};
+    int i192[] = {1, 0, 0, 1, 0, 0, 0};
+    int i193[] = {1, 0, 0, 1, 0, 0, 1};
+    int i194[] = {1, 0, 0, 1, 0, 1, 0};
+    int i195[] = {1, 0, 0, 1, 0, 1, 1};
+    int i196[] = {1, 0, 0, 1, 1, 0, 0};
+    int i197[] = {1, 0, 0, 1, 1, 0, 1};
+    int i198[] = {1, 0, 0, 1, 1, 1, 0};
+    int i199[] = {1, 0, 0, 1, 1, 1, 1};
+    int i200[] = {1, 0, 1, 0, 0, 0, 0};
+    int i201[] = {1, 0, 1, 0, 0, 0, 1};
+    int i202[] = {1, 0, 1, 0, 0, 1, 0};
+    int i203[] = {1, 0, 1, 0, 0, 1, 1};
+    int i204[] = {1, 0, 1, 0, 1, 0, 0};
+    int i205[] = {1, 0, 1, 0, 1, 0, 1};
+    int i206[] = {1, 0, 1, 0, 1, 1, 0};
+    int i207[] = {1, 0, 1, 0, 1, 1, 1};
+    int i208[] = {1, 0, 1, 1, 0, 0, 0};
+    int i209[] = {1, 0, 1, 1, 0, 0, 1};
+    int i210[] = {1, 0, 1, 1, 0, 1, 0};
+    int i211[] = {1, 0, 1, 1, 0, 1, 1};
+    int i212[] = {1, 0, 1, 1, 1, 0, 0};
+    int i213[] = {1, 0, 1, 1, 1, 0, 1};
+    int i214[] = {1, 0, 1, 1, 1, 1, 0};
+    int i215[] = {1, 0, 1, 1, 1, 1, 1};
+    int i216[] = {1, 1, 0, 0, 0, 0, 0};
+    int i217[] = {1, 1, 0, 0, 0, 0, 1};
+    int i218[] = {1, 1, 0, 0, 0, 1, 0};
+    int i219[] = {1, 1, 0, 0, 0, 1, 1};
+    int i220[] = {1, 1, 0, 0, 1, 0, 0};
+    int i221[] = {1, 1, 0, 0, 1, 0, 1};
+    int i222[] = {1, 1, 0, 0, 1, 1, 0};
+    int i223[] = {1, 1, 0, 0, 1, 1, 1};
+    int i224[] = {1, 1, 0, 1, 0, 0, 0};
+    int i225[] = {1, 1, 0, 1, 0, 0, 1};
+    int i226[] = {1, 1, 0, 1, 0, 1, 0};
+    int i227[] = {1, 1, 0, 1, 0, 1, 1};
+    int i228[] = {1, 1, 0, 1, 1, 0, 0};
+    int i229[] = {1, 1, 0, 1, 1, 0, 1};
+    int i230[] = {1, 1, 0, 1, 1, 1, 0};
+    int i231[] = {1, 1, 0, 1, 1, 1, 1};
+    int i232[] = {1, 1, 1, 0, 0, 0, 0};
+    int i233[] = {1, 1, 1, 0, 0, 0, 1};
+    int i234[] = {1, 1, 1, 0, 0, 1, 0};
+    int i235[] = {1, 1, 1, 0, 0, 1, 1};
+    int i236[] = {1, 1, 1, 0, 1, 0, 0};
+    int i237[] = {1, 1, 1, 0, 1, 0, 1};
+    int i238[] = {1, 1, 1, 0, 1, 1, 0};
+    int i239[] = {1, 1, 1, 0, 1, 1, 1};
+    int i240[] = {1, 1, 1, 1, 0, 0, 0};
+    int i241[] = {1, 1, 1, 1, 0, 0, 1};
+    int i242[] = {1, 1, 1, 1, 0, 1, 0};
+    int i243[] = {1, 1, 1, 1, 0, 1, 1};
+    int i244[] = {1, 1, 1, 1, 1, 0, 0};
+    int i245[] = {1, 1, 1, 1, 1, 0, 1};
+    int i246[] = {1, 1, 1, 1, 1, 1, 0};
+    assert(std::is_heap(i120, i120+7) == (std::is_heap_until(i120, i120+7) == i120+7));
+    assert(std::is_heap(i121, i121+7) == (std::is_heap_until(i121, i121+7) == i121+7));
+    assert(std::is_heap(i122, i122+7) == (std::is_heap_until(i122, i122+7) == i122+7));
+    assert(std::is_heap(i123, i123+7) == (std::is_heap_until(i123, i123+7) == i123+7));
+    assert(std::is_heap(i124, i124+7) == (std::is_heap_until(i124, i124+7) == i124+7));
+    assert(std::is_heap(i125, i125+7) == (std::is_heap_until(i125, i125+7) == i125+7));
+    assert(std::is_heap(i126, i126+7) == (std::is_heap_until(i126, i126+7) == i126+7));
+    assert(std::is_heap(i127, i127+7) == (std::is_heap_until(i127, i127+7) == i127+7));
+    assert(std::is_heap(i128, i128+7) == (std::is_heap_until(i128, i128+7) == i128+7));
+    assert(std::is_heap(i129, i129+7) == (std::is_heap_until(i129, i129+7) == i129+7));
+    assert(std::is_heap(i130, i130+7) == (std::is_heap_until(i130, i130+7) == i130+7));
+    assert(std::is_heap(i131, i131+7) == (std::is_heap_until(i131, i131+7) == i131+7));
+    assert(std::is_heap(i132, i132+7) == (std::is_heap_until(i132, i132+7) == i132+7));
+    assert(std::is_heap(i133, i133+7) == (std::is_heap_until(i133, i133+7) == i133+7));
+    assert(std::is_heap(i134, i134+7) == (std::is_heap_until(i134, i134+7) == i134+7));
+    assert(std::is_heap(i135, i135+7) == (std::is_heap_until(i135, i135+7) == i135+7));
+    assert(std::is_heap(i136, i136+7) == (std::is_heap_until(i136, i136+7) == i136+7));
+    assert(std::is_heap(i137, i137+7) == (std::is_heap_until(i137, i137+7) == i137+7));
+    assert(std::is_heap(i138, i138+7) == (std::is_heap_until(i138, i138+7) == i138+7));
+    assert(std::is_heap(i139, i139+7) == (std::is_heap_until(i139, i139+7) == i139+7));
+    assert(std::is_heap(i140, i140+7) == (std::is_heap_until(i140, i140+7) == i140+7));
+    assert(std::is_heap(i141, i141+7) == (std::is_heap_until(i141, i141+7) == i141+7));
+    assert(std::is_heap(i142, i142+7) == (std::is_heap_until(i142, i142+7) == i142+7));
+    assert(std::is_heap(i143, i143+7) == (std::is_heap_until(i143, i143+7) == i143+7));
+    assert(std::is_heap(i144, i144+7) == (std::is_heap_until(i144, i144+7) == i144+7));
+    assert(std::is_heap(i145, i145+7) == (std::is_heap_until(i145, i145+7) == i145+7));
+    assert(std::is_heap(i146, i146+7) == (std::is_heap_until(i146, i146+7) == i146+7));
+    assert(std::is_heap(i147, i147+7) == (std::is_heap_until(i147, i147+7) == i147+7));
+    assert(std::is_heap(i148, i148+7) == (std::is_heap_until(i148, i148+7) == i148+7));
+    assert(std::is_heap(i149, i149+7) == (std::is_heap_until(i149, i149+7) == i149+7));
+    assert(std::is_heap(i150, i150+7) == (std::is_heap_until(i150, i150+7) == i150+7));
+    assert(std::is_heap(i151, i151+7) == (std::is_heap_until(i151, i151+7) == i151+7));
+    assert(std::is_heap(i152, i152+7) == (std::is_heap_until(i152, i152+7) == i152+7));
+    assert(std::is_heap(i153, i153+7) == (std::is_heap_until(i153, i153+7) == i153+7));
+    assert(std::is_heap(i154, i154+7) == (std::is_heap_until(i154, i154+7) == i154+7));
+    assert(std::is_heap(i155, i155+7) == (std::is_heap_until(i155, i155+7) == i155+7));
+    assert(std::is_heap(i156, i156+7) == (std::is_heap_until(i156, i156+7) == i156+7));
+    assert(std::is_heap(i157, i157+7) == (std::is_heap_until(i157, i157+7) == i157+7));
+    assert(std::is_heap(i158, i158+7) == (std::is_heap_until(i158, i158+7) == i158+7));
+    assert(std::is_heap(i159, i159+7) == (std::is_heap_until(i159, i159+7) == i159+7));
+    assert(std::is_heap(i160, i160+7) == (std::is_heap_until(i160, i160+7) == i160+7));
+    assert(std::is_heap(i161, i161+7) == (std::is_heap_until(i161, i161+7) == i161+7));
+    assert(std::is_heap(i162, i162+7) == (std::is_heap_until(i162, i162+7) == i162+7));
+    assert(std::is_heap(i163, i163+7) == (std::is_heap_until(i163, i163+7) == i163+7));
+    assert(std::is_heap(i164, i164+7) == (std::is_heap_until(i164, i164+7) == i164+7));
+    assert(std::is_heap(i165, i165+7) == (std::is_heap_until(i165, i165+7) == i165+7));
+    assert(std::is_heap(i166, i166+7) == (std::is_heap_until(i166, i166+7) == i166+7));
+    assert(std::is_heap(i167, i167+7) == (std::is_heap_until(i167, i167+7) == i167+7));
+    assert(std::is_heap(i168, i168+7) == (std::is_heap_until(i168, i168+7) == i168+7));
+    assert(std::is_heap(i169, i169+7) == (std::is_heap_until(i169, i169+7) == i169+7));
+    assert(std::is_heap(i170, i170+7) == (std::is_heap_until(i170, i170+7) == i170+7));
+    assert(std::is_heap(i171, i171+7) == (std::is_heap_until(i171, i171+7) == i171+7));
+    assert(std::is_heap(i172, i172+7) == (std::is_heap_until(i172, i172+7) == i172+7));
+    assert(std::is_heap(i173, i173+7) == (std::is_heap_until(i173, i173+7) == i173+7));
+    assert(std::is_heap(i174, i174+7) == (std::is_heap_until(i174, i174+7) == i174+7));
+    assert(std::is_heap(i175, i175+7) == (std::is_heap_until(i175, i175+7) == i175+7));
+    assert(std::is_heap(i176, i176+7) == (std::is_heap_until(i176, i176+7) == i176+7));
+    assert(std::is_heap(i177, i177+7) == (std::is_heap_until(i177, i177+7) == i177+7));
+    assert(std::is_heap(i178, i178+7) == (std::is_heap_until(i178, i178+7) == i178+7));
+    assert(std::is_heap(i179, i179+7) == (std::is_heap_until(i179, i179+7) == i179+7));
+    assert(std::is_heap(i180, i180+7) == (std::is_heap_until(i180, i180+7) == i180+7));
+    assert(std::is_heap(i181, i181+7) == (std::is_heap_until(i181, i181+7) == i181+7));
+    assert(std::is_heap(i182, i182+7) == (std::is_heap_until(i182, i182+7) == i182+7));
+    assert(std::is_heap(i183, i183+7) == (std::is_heap_until(i183, i183+7) == i183+7));
+    assert(std::is_heap(i184, i184+7) == (std::is_heap_until(i184, i184+7) == i184+7));
+    assert(std::is_heap(i185, i185+7) == (std::is_heap_until(i185, i185+7) == i185+7));
+    assert(std::is_heap(i186, i186+7) == (std::is_heap_until(i186, i186+7) == i186+7));
+    assert(std::is_heap(i187, i187+7) == (std::is_heap_until(i187, i187+7) == i187+7));
+    assert(std::is_heap(i188, i188+7) == (std::is_heap_until(i188, i188+7) == i188+7));
+    assert(std::is_heap(i189, i189+7) == (std::is_heap_until(i189, i189+7) == i189+7));
+    assert(std::is_heap(i190, i190+7) == (std::is_heap_until(i190, i190+7) == i190+7));
+    assert(std::is_heap(i191, i191+7) == (std::is_heap_until(i191, i191+7) == i191+7));
+    assert(std::is_heap(i192, i192+7) == (std::is_heap_until(i192, i192+7) == i192+7));
+    assert(std::is_heap(i193, i193+7) == (std::is_heap_until(i193, i193+7) == i193+7));
+    assert(std::is_heap(i194, i194+7) == (std::is_heap_until(i194, i194+7) == i194+7));
+    assert(std::is_heap(i195, i195+7) == (std::is_heap_until(i195, i195+7) == i195+7));
+    assert(std::is_heap(i196, i196+7) == (std::is_heap_until(i196, i196+7) == i196+7));
+    assert(std::is_heap(i197, i197+7) == (std::is_heap_until(i197, i197+7) == i197+7));
+    assert(std::is_heap(i198, i198+7) == (std::is_heap_until(i198, i198+7) == i198+7));
+    assert(std::is_heap(i199, i199+7) == (std::is_heap_until(i199, i199+7) == i199+7));
+    assert(std::is_heap(i200, i200+7) == (std::is_heap_until(i200, i200+7) == i200+7));
+    assert(std::is_heap(i201, i201+7) == (std::is_heap_until(i201, i201+7) == i201+7));
+    assert(std::is_heap(i202, i202+7) == (std::is_heap_until(i202, i202+7) == i202+7));
+    assert(std::is_heap(i203, i203+7) == (std::is_heap_until(i203, i203+7) == i203+7));
+    assert(std::is_heap(i204, i204+7) == (std::is_heap_until(i204, i204+7) == i204+7));
+    assert(std::is_heap(i205, i205+7) == (std::is_heap_until(i205, i205+7) == i205+7));
+    assert(std::is_heap(i206, i206+7) == (std::is_heap_until(i206, i206+7) == i206+7));
+    assert(std::is_heap(i207, i207+7) == (std::is_heap_until(i207, i207+7) == i207+7));
+    assert(std::is_heap(i208, i208+7) == (std::is_heap_until(i208, i208+7) == i208+7));
+    assert(std::is_heap(i209, i209+7) == (std::is_heap_until(i209, i209+7) == i209+7));
+    assert(std::is_heap(i210, i210+7) == (std::is_heap_until(i210, i210+7) == i210+7));
+    assert(std::is_heap(i211, i211+7) == (std::is_heap_until(i211, i211+7) == i211+7));
+    assert(std::is_heap(i212, i212+7) == (std::is_heap_until(i212, i212+7) == i212+7));
+    assert(std::is_heap(i213, i213+7) == (std::is_heap_until(i213, i213+7) == i213+7));
+    assert(std::is_heap(i214, i214+7) == (std::is_heap_until(i214, i214+7) == i214+7));
+    assert(std::is_heap(i215, i215+7) == (std::is_heap_until(i215, i215+7) == i215+7));
+    assert(std::is_heap(i216, i216+7) == (std::is_heap_until(i216, i216+7) == i216+7));
+    assert(std::is_heap(i217, i217+7) == (std::is_heap_until(i217, i217+7) == i217+7));
+    assert(std::is_heap(i218, i218+7) == (std::is_heap_until(i218, i218+7) == i218+7));
+    assert(std::is_heap(i219, i219+7) == (std::is_heap_until(i219, i219+7) == i219+7));
+    assert(std::is_heap(i220, i220+7) == (std::is_heap_until(i220, i220+7) == i220+7));
+    assert(std::is_heap(i221, i221+7) == (std::is_heap_until(i221, i221+7) == i221+7));
+    assert(std::is_heap(i222, i222+7) == (std::is_heap_until(i222, i222+7) == i222+7));
+    assert(std::is_heap(i223, i223+7) == (std::is_heap_until(i223, i223+7) == i223+7));
+    assert(std::is_heap(i224, i224+7) == (std::is_heap_until(i224, i224+7) == i224+7));
+    assert(std::is_heap(i225, i225+7) == (std::is_heap_until(i225, i225+7) == i225+7));
+    assert(std::is_heap(i226, i226+7) == (std::is_heap_until(i226, i226+7) == i226+7));
+    assert(std::is_heap(i227, i227+7) == (std::is_heap_until(i227, i227+7) == i227+7));
+    assert(std::is_heap(i228, i228+7) == (std::is_heap_until(i228, i228+7) == i228+7));
+    assert(std::is_heap(i229, i229+7) == (std::is_heap_until(i229, i229+7) == i229+7));
+    assert(std::is_heap(i230, i230+7) == (std::is_heap_until(i230, i230+7) == i230+7));
+    assert(std::is_heap(i231, i231+7) == (std::is_heap_until(i231, i231+7) == i231+7));
+    assert(std::is_heap(i232, i232+7) == (std::is_heap_until(i232, i232+7) == i232+7));
+    assert(std::is_heap(i233, i233+7) == (std::is_heap_until(i233, i233+7) == i233+7));
+    assert(std::is_heap(i234, i234+7) == (std::is_heap_until(i234, i234+7) == i234+7));
+    assert(std::is_heap(i235, i235+7) == (std::is_heap_until(i235, i235+7) == i235+7));
+    assert(std::is_heap(i236, i236+7) == (std::is_heap_until(i236, i236+7) == i236+7));
+    assert(std::is_heap(i237, i237+7) == (std::is_heap_until(i237, i237+7) == i237+7));
+    assert(std::is_heap(i238, i238+7) == (std::is_heap_until(i238, i238+7) == i238+7));
+    assert(std::is_heap(i239, i239+7) == (std::is_heap_until(i239, i239+7) == i239+7));
+    assert(std::is_heap(i240, i240+7) == (std::is_heap_until(i240, i240+7) == i240+7));
+    assert(std::is_heap(i241, i241+7) == (std::is_heap_until(i241, i241+7) == i241+7));
+    assert(std::is_heap(i242, i242+7) == (std::is_heap_until(i242, i242+7) == i242+7));
+    assert(std::is_heap(i243, i243+7) == (std::is_heap_until(i243, i243+7) == i243+7));
+    assert(std::is_heap(i244, i244+7) == (std::is_heap_until(i244, i244+7) == i244+7));
+    assert(std::is_heap(i245, i245+7) == (std::is_heap_until(i245, i245+7) == i245+7));
+    assert(std::is_heap(i246, i246+7) == (std::is_heap_until(i246, i246+7) == i246+7));
+}
+
+int main()
+{
+    test();
+}

Added: libcxx/trunk/test/std/algorithms/alg.sorting/alg.heap.operations/is.heap/is_heap_comp.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/algorithms/alg.sorting/alg.heap.operations/is.heap/is_heap_comp.pass.cpp?rev=224658&view=auto
==============================================================================
--- libcxx/trunk/test/std/algorithms/alg.sorting/alg.heap.operations/is.heap/is_heap_comp.pass.cpp (added)
+++ libcxx/trunk/test/std/algorithms/alg.sorting/alg.heap.operations/is.heap/is_heap_comp.pass.cpp Fri Dec 19 19:40:03 2014
@@ -0,0 +1,522 @@
+//===----------------------------------------------------------------------===//
+//
+//                     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.
+//
+//===----------------------------------------------------------------------===//
+
+// <algorithm>
+
+// template<RandomAccessIterator Iter>
+//   requires LessThanComparable<Iter::value_type>
+//   bool
+//   is_heap(Iter first, Iter last);
+
+#include <algorithm>
+#include <functional>
+#include <cassert>
+
+void test()
+{
+    int i1[] = {0, 0};
+    assert(std::is_heap(i1, i1, std::greater<int>()));
+    assert(std::is_heap(i1, i1+1, std::greater<int>()) == (std::is_heap_until(i1, i1+1, std::greater<int>()) == i1+1));
+    int i2[] = {0, 1};
+    int i3[] = {1, 0};
+    assert(std::is_heap(i1, i1+2, std::greater<int>()) == (std::is_heap_until(i1, i1+2, std::greater<int>()) == i1+2));
+    assert(std::is_heap(i2, i2+2, std::greater<int>()) == (std::is_heap_until(i2, i2+2, std::greater<int>()) == i2+2));
+    assert(std::is_heap(i3, i3+2, std::greater<int>()) == (std::is_heap_until(i3, i3+2, std::greater<int>()) == i3+2));
+    int i4[] = {0, 0, 0};
+    int i5[] = {0, 0, 1};
+    int i6[] = {0, 1, 0};
+    int i7[] = {0, 1, 1};
+    int i8[] = {1, 0, 0};
+    int i9[] = {1, 0, 1};
+    int i10[] = {1, 1, 0};
+    assert(std::is_heap(i4, i4+3, std::greater<int>()) == (std::is_heap_until(i4, i4+3, std::greater<int>()) == i4+3));
+    assert(std::is_heap(i5, i5+3, std::greater<int>()) == (std::is_heap_until(i5, i5+3, std::greater<int>()) == i5+3));
+    assert(std::is_heap(i6, i6+3, std::greater<int>()) == (std::is_heap_until(i6, i6+3, std::greater<int>()) == i6+3));
+    assert(std::is_heap(i7, i7+3, std::greater<int>()) == (std::is_heap_until(i7, i7+3, std::greater<int>()) == i7+3));
+    assert(std::is_heap(i8, i8+3, std::greater<int>()) == (std::is_heap_until(i8, i8+3, std::greater<int>()) == i8+3));
+    assert(std::is_heap(i9, i9+3, std::greater<int>()) == (std::is_heap_until(i9, i9+3, std::greater<int>()) == i9+3));
+    assert(std::is_heap(i10, i10+3, std::greater<int>()) == (std::is_heap_until(i10, i10+3, std::greater<int>()) == i10+3));
+    int i11[] = {0, 0, 0, 0};
+    int i12[] = {0, 0, 0, 1};
+    int i13[] = {0, 0, 1, 0};
+    int i14[] = {0, 0, 1, 1};
+    int i15[] = {0, 1, 0, 0};
+    int i16[] = {0, 1, 0, 1};
+    int i17[] = {0, 1, 1, 0};
+    int i18[] = {0, 1, 1, 1};
+    int i19[] = {1, 0, 0, 0};
+    int i20[] = {1, 0, 0, 1};
+    int i21[] = {1, 0, 1, 0};
+    int i22[] = {1, 0, 1, 1};
+    int i23[] = {1, 1, 0, 0};
+    int i24[] = {1, 1, 0, 1};
+    int i25[] = {1, 1, 1, 0};
+    assert(std::is_heap(i11, i11+4, std::greater<int>()) == (std::is_heap_until(i11, i11+4, std::greater<int>()) == i11+4));
+    assert(std::is_heap(i12, i12+4, std::greater<int>()) == (std::is_heap_until(i12, i12+4, std::greater<int>()) == i12+4));
+    assert(std::is_heap(i13, i13+4, std::greater<int>()) == (std::is_heap_until(i13, i13+4, std::greater<int>()) == i13+4));
+    assert(std::is_heap(i14, i14+4, std::greater<int>()) == (std::is_heap_until(i14, i14+4, std::greater<int>()) == i14+4));
+    assert(std::is_heap(i15, i15+4, std::greater<int>()) == (std::is_heap_until(i15, i15+4, std::greater<int>()) == i15+4));
+    assert(std::is_heap(i16, i16+4, std::greater<int>()) == (std::is_heap_until(i16, i16+4, std::greater<int>()) == i16+4));
+    assert(std::is_heap(i17, i17+4, std::greater<int>()) == (std::is_heap_until(i17, i17+4, std::greater<int>()) == i17+4));
+    assert(std::is_heap(i18, i18+4, std::greater<int>()) == (std::is_heap_until(i18, i18+4, std::greater<int>()) == i18+4));
+    assert(std::is_heap(i19, i19+4, std::greater<int>()) == (std::is_heap_until(i19, i19+4, std::greater<int>()) == i19+4));
+    assert(std::is_heap(i20, i20+4, std::greater<int>()) == (std::is_heap_until(i20, i20+4, std::greater<int>()) == i20+4));
+    assert(std::is_heap(i21, i21+4, std::greater<int>()) == (std::is_heap_until(i21, i21+4, std::greater<int>()) == i21+4));
+    assert(std::is_heap(i22, i22+4, std::greater<int>()) == (std::is_heap_until(i22, i22+4, std::greater<int>()) == i22+4));
+    assert(std::is_heap(i23, i23+4, std::greater<int>()) == (std::is_heap_until(i23, i23+4, std::greater<int>()) == i23+4));
+    assert(std::is_heap(i24, i24+4, std::greater<int>()) == (std::is_heap_until(i24, i24+4, std::greater<int>()) == i24+4));
+    assert(std::is_heap(i25, i25+4, std::greater<int>()) == (std::is_heap_until(i25, i25+4, std::greater<int>()) == i25+4));
+    int i26[] = {0, 0, 0, 0, 0};
+    int i27[] = {0, 0, 0, 0, 1};
+    int i28[] = {0, 0, 0, 1, 0};
+    int i29[] = {0, 0, 0, 1, 1};
+    int i30[] = {0, 0, 1, 0, 0};
+    int i31[] = {0, 0, 1, 0, 1};
+    int i32[] = {0, 0, 1, 1, 0};
+    int i33[] = {0, 0, 1, 1, 1};
+    int i34[] = {0, 1, 0, 0, 0};
+    int i35[] = {0, 1, 0, 0, 1};
+    int i36[] = {0, 1, 0, 1, 0};
+    int i37[] = {0, 1, 0, 1, 1};
+    int i38[] = {0, 1, 1, 0, 0};
+    int i39[] = {0, 1, 1, 0, 1};
+    int i40[] = {0, 1, 1, 1, 0};
+    int i41[] = {0, 1, 1, 1, 1};
+    int i42[] = {1, 0, 0, 0, 0};
+    int i43[] = {1, 0, 0, 0, 1};
+    int i44[] = {1, 0, 0, 1, 0};
+    int i45[] = {1, 0, 0, 1, 1};
+    int i46[] = {1, 0, 1, 0, 0};
+    int i47[] = {1, 0, 1, 0, 1};
+    int i48[] = {1, 0, 1, 1, 0};
+    int i49[] = {1, 0, 1, 1, 1};
+    int i50[] = {1, 1, 0, 0, 0};
+    int i51[] = {1, 1, 0, 0, 1};
+    int i52[] = {1, 1, 0, 1, 0};
+    int i53[] = {1, 1, 0, 1, 1};
+    int i54[] = {1, 1, 1, 0, 0};
+    int i55[] = {1, 1, 1, 0, 1};
+    int i56[] = {1, 1, 1, 1, 0};
+    assert(std::is_heap(i26, i26+5, std::greater<int>()) == (std::is_heap_until(i26, i26+5, std::greater<int>()) == i26+5));
+    assert(std::is_heap(i27, i27+5, std::greater<int>()) == (std::is_heap_until(i27, i27+5, std::greater<int>()) == i27+5));
+    assert(std::is_heap(i28, i28+5, std::greater<int>()) == (std::is_heap_until(i28, i28+5, std::greater<int>()) == i28+5));
+    assert(std::is_heap(i29, i29+5, std::greater<int>()) == (std::is_heap_until(i29, i29+5, std::greater<int>()) == i29+5));
+    assert(std::is_heap(i30, i30+5, std::greater<int>()) == (std::is_heap_until(i30, i30+5, std::greater<int>()) == i30+5));
+    assert(std::is_heap(i31, i31+5, std::greater<int>()) == (std::is_heap_until(i31, i31+5, std::greater<int>()) == i31+5));
+    assert(std::is_heap(i32, i32+5, std::greater<int>()) == (std::is_heap_until(i32, i32+5, std::greater<int>()) == i32+5));
+    assert(std::is_heap(i33, i33+5, std::greater<int>()) == (std::is_heap_until(i33, i33+5, std::greater<int>()) == i33+5));
+    assert(std::is_heap(i34, i34+5, std::greater<int>()) == (std::is_heap_until(i34, i34+5, std::greater<int>()) == i34+5));
+    assert(std::is_heap(i35, i35+5, std::greater<int>()) == (std::is_heap_until(i35, i35+5, std::greater<int>()) == i35+5));
+    assert(std::is_heap(i36, i36+5, std::greater<int>()) == (std::is_heap_until(i36, i36+5, std::greater<int>()) == i36+5));
+    assert(std::is_heap(i37, i37+5, std::greater<int>()) == (std::is_heap_until(i37, i37+5, std::greater<int>()) == i37+5));
+    assert(std::is_heap(i38, i38+5, std::greater<int>()) == (std::is_heap_until(i38, i38+5, std::greater<int>()) == i38+5));
+    assert(std::is_heap(i39, i39+5, std::greater<int>()) == (std::is_heap_until(i39, i39+5, std::greater<int>()) == i39+5));
+    assert(std::is_heap(i40, i40+5, std::greater<int>()) == (std::is_heap_until(i40, i40+5, std::greater<int>()) == i40+5));
+    assert(std::is_heap(i41, i41+5, std::greater<int>()) == (std::is_heap_until(i41, i41+5, std::greater<int>()) == i41+5));
+    assert(std::is_heap(i42, i42+5, std::greater<int>()) == (std::is_heap_until(i42, i42+5, std::greater<int>()) == i42+5));
+    assert(std::is_heap(i43, i43+5, std::greater<int>()) == (std::is_heap_until(i43, i43+5, std::greater<int>()) == i43+5));
+    assert(std::is_heap(i44, i44+5, std::greater<int>()) == (std::is_heap_until(i44, i44+5, std::greater<int>()) == i44+5));
+    assert(std::is_heap(i45, i45+5, std::greater<int>()) == (std::is_heap_until(i45, i45+5, std::greater<int>()) == i45+5));
+    assert(std::is_heap(i46, i46+5, std::greater<int>()) == (std::is_heap_until(i46, i46+5, std::greater<int>()) == i46+5));
+    assert(std::is_heap(i47, i47+5, std::greater<int>()) == (std::is_heap_until(i47, i47+5, std::greater<int>()) == i47+5));
+    assert(std::is_heap(i48, i48+5, std::greater<int>()) == (std::is_heap_until(i48, i48+5, std::greater<int>()) == i48+5));
+    assert(std::is_heap(i49, i49+5, std::greater<int>()) == (std::is_heap_until(i49, i49+5, std::greater<int>()) == i49+5));
+    assert(std::is_heap(i50, i50+5, std::greater<int>()) == (std::is_heap_until(i50, i50+5, std::greater<int>()) == i50+5));
+    assert(std::is_heap(i51, i51+5, std::greater<int>()) == (std::is_heap_until(i51, i51+5, std::greater<int>()) == i51+5));
+    assert(std::is_heap(i52, i52+5, std::greater<int>()) == (std::is_heap_until(i52, i52+5, std::greater<int>()) == i52+5));
+    assert(std::is_heap(i53, i53+5, std::greater<int>()) == (std::is_heap_until(i53, i53+5, std::greater<int>()) == i53+5));
+    assert(std::is_heap(i54, i54+5, std::greater<int>()) == (std::is_heap_until(i54, i54+5, std::greater<int>()) == i54+5));
+    assert(std::is_heap(i55, i55+5, std::greater<int>()) == (std::is_heap_until(i55, i55+5, std::greater<int>()) == i55+5));
+    assert(std::is_heap(i56, i56+5, std::greater<int>()) == (std::is_heap_until(i56, i56+5, std::greater<int>()) == i56+5));
+    int i57[] = {0, 0, 0, 0, 0, 0};
+    int i58[] = {0, 0, 0, 0, 0, 1};
+    int i59[] = {0, 0, 0, 0, 1, 0};
+    int i60[] = {0, 0, 0, 0, 1, 1};
+    int i61[] = {0, 0, 0, 1, 0, 0};
+    int i62[] = {0, 0, 0, 1, 0, 1};
+    int i63[] = {0, 0, 0, 1, 1, 0};
+    int i64[] = {0, 0, 0, 1, 1, 1};
+    int i65[] = {0, 0, 1, 0, 0, 0};
+    int i66[] = {0, 0, 1, 0, 0, 1};
+    int i67[] = {0, 0, 1, 0, 1, 0};
+    int i68[] = {0, 0, 1, 0, 1, 1};
+    int i69[] = {0, 0, 1, 1, 0, 0};
+    int i70[] = {0, 0, 1, 1, 0, 1};
+    int i71[] = {0, 0, 1, 1, 1, 0};
+    int i72[] = {0, 0, 1, 1, 1, 1};
+    int i73[] = {0, 1, 0, 0, 0, 0};
+    int i74[] = {0, 1, 0, 0, 0, 1};
+    int i75[] = {0, 1, 0, 0, 1, 0};
+    int i76[] = {0, 1, 0, 0, 1, 1};
+    int i77[] = {0, 1, 0, 1, 0, 0};
+    int i78[] = {0, 1, 0, 1, 0, 1};
+    int i79[] = {0, 1, 0, 1, 1, 0};
+    int i80[] = {0, 1, 0, 1, 1, 1};
+    int i81[] = {0, 1, 1, 0, 0, 0};
+    int i82[] = {0, 1, 1, 0, 0, 1};
+    int i83[] = {0, 1, 1, 0, 1, 0};
+    int i84[] = {0, 1, 1, 0, 1, 1};
+    int i85[] = {0, 1, 1, 1, 0, 0};
+    int i86[] = {0, 1, 1, 1, 0, 1};
+    int i87[] = {0, 1, 1, 1, 1, 0};
+    int i88[] = {0, 1, 1, 1, 1, 1};
+    int i89[] = {1, 0, 0, 0, 0, 0};
+    int i90[] = {1, 0, 0, 0, 0, 1};
+    int i91[] = {1, 0, 0, 0, 1, 0};
+    int i92[] = {1, 0, 0, 0, 1, 1};
+    int i93[] = {1, 0, 0, 1, 0, 0};
+    int i94[] = {1, 0, 0, 1, 0, 1};
+    int i95[] = {1, 0, 0, 1, 1, 0};
+    int i96[] = {1, 0, 0, 1, 1, 1};
+    int i97[] = {1, 0, 1, 0, 0, 0};
+    int i98[] = {1, 0, 1, 0, 0, 1};
+    int i99[] = {1, 0, 1, 0, 1, 0};
+    int i100[] = {1, 0, 1, 0, 1, 1};
+    int i101[] = {1, 0, 1, 1, 0, 0};
+    int i102[] = {1, 0, 1, 1, 0, 1};
+    int i103[] = {1, 0, 1, 1, 1, 0};
+    int i104[] = {1, 0, 1, 1, 1, 1};
+    int i105[] = {1, 1, 0, 0, 0, 0};
+    int i106[] = {1, 1, 0, 0, 0, 1};
+    int i107[] = {1, 1, 0, 0, 1, 0};
+    int i108[] = {1, 1, 0, 0, 1, 1};
+    int i109[] = {1, 1, 0, 1, 0, 0};
+    int i110[] = {1, 1, 0, 1, 0, 1};
+    int i111[] = {1, 1, 0, 1, 1, 0};
+    int i112[] = {1, 1, 0, 1, 1, 1};
+    int i113[] = {1, 1, 1, 0, 0, 0};
+    int i114[] = {1, 1, 1, 0, 0, 1};
+    int i115[] = {1, 1, 1, 0, 1, 0};
+    int i116[] = {1, 1, 1, 0, 1, 1};
+    int i117[] = {1, 1, 1, 1, 0, 0};
+    int i118[] = {1, 1, 1, 1, 0, 1};
+    int i119[] = {1, 1, 1, 1, 1, 0};
+    assert(std::is_heap(i57, i57+6, std::greater<int>()) == (std::is_heap_until(i57, i57+6, std::greater<int>()) == i57+6));
+    assert(std::is_heap(i58, i58+6, std::greater<int>()) == (std::is_heap_until(i58, i58+6, std::greater<int>()) == i58+6));
+    assert(std::is_heap(i59, i59+6, std::greater<int>()) == (std::is_heap_until(i59, i59+6, std::greater<int>()) == i59+6));
+    assert(std::is_heap(i60, i60+6, std::greater<int>()) == (std::is_heap_until(i60, i60+6, std::greater<int>()) == i60+6));
+    assert(std::is_heap(i61, i61+6, std::greater<int>()) == (std::is_heap_until(i61, i61+6, std::greater<int>()) == i61+6));
+    assert(std::is_heap(i62, i62+6, std::greater<int>()) == (std::is_heap_until(i62, i62+6, std::greater<int>()) == i62+6));
+    assert(std::is_heap(i63, i63+6, std::greater<int>()) == (std::is_heap_until(i63, i63+6, std::greater<int>()) == i63+6));
+    assert(std::is_heap(i64, i64+6, std::greater<int>()) == (std::is_heap_until(i64, i64+6, std::greater<int>()) == i64+6));
+    assert(std::is_heap(i65, i65+6, std::greater<int>()) == (std::is_heap_until(i65, i65+6, std::greater<int>()) == i65+6));
+    assert(std::is_heap(i66, i66+6, std::greater<int>()) == (std::is_heap_until(i66, i66+6, std::greater<int>()) == i66+6));
+    assert(std::is_heap(i67, i67+6, std::greater<int>()) == (std::is_heap_until(i67, i67+6, std::greater<int>()) == i67+6));
+    assert(std::is_heap(i68, i68+6, std::greater<int>()) == (std::is_heap_until(i68, i68+6, std::greater<int>()) == i68+6));
+    assert(std::is_heap(i69, i69+6, std::greater<int>()) == (std::is_heap_until(i69, i69+6, std::greater<int>()) == i69+6));
+    assert(std::is_heap(i70, i70+6, std::greater<int>()) == (std::is_heap_until(i70, i70+6, std::greater<int>()) == i70+6));
+    assert(std::is_heap(i71, i71+6, std::greater<int>()) == (std::is_heap_until(i71, i71+6, std::greater<int>()) == i71+6));
+    assert(std::is_heap(i72, i72+6, std::greater<int>()) == (std::is_heap_until(i72, i72+6, std::greater<int>()) == i72+6));
+    assert(std::is_heap(i73, i73+6, std::greater<int>()) == (std::is_heap_until(i73, i73+6, std::greater<int>()) == i73+6));
+    assert(std::is_heap(i74, i74+6, std::greater<int>()) == (std::is_heap_until(i74, i74+6, std::greater<int>()) == i74+6));
+    assert(std::is_heap(i75, i75+6, std::greater<int>()) == (std::is_heap_until(i75, i75+6, std::greater<int>()) == i75+6));
+    assert(std::is_heap(i76, i76+6, std::greater<int>()) == (std::is_heap_until(i76, i76+6, std::greater<int>()) == i76+6));
+    assert(std::is_heap(i77, i77+6, std::greater<int>()) == (std::is_heap_until(i77, i77+6, std::greater<int>()) == i77+6));
+    assert(std::is_heap(i78, i78+6, std::greater<int>()) == (std::is_heap_until(i78, i78+6, std::greater<int>()) == i78+6));
+    assert(std::is_heap(i79, i79+6, std::greater<int>()) == (std::is_heap_until(i79, i79+6, std::greater<int>()) == i79+6));
+    assert(std::is_heap(i80, i80+6, std::greater<int>()) == (std::is_heap_until(i80, i80+6, std::greater<int>()) == i80+6));
+    assert(std::is_heap(i81, i81+6, std::greater<int>()) == (std::is_heap_until(i81, i81+6, std::greater<int>()) == i81+6));
+    assert(std::is_heap(i82, i82+6, std::greater<int>()) == (std::is_heap_until(i82, i82+6, std::greater<int>()) == i82+6));
+    assert(std::is_heap(i83, i83+6, std::greater<int>()) == (std::is_heap_until(i83, i83+6, std::greater<int>()) == i83+6));
+    assert(std::is_heap(i84, i84+6, std::greater<int>()) == (std::is_heap_until(i84, i84+6, std::greater<int>()) == i84+6));
+    assert(std::is_heap(i85, i85+6, std::greater<int>()) == (std::is_heap_until(i85, i85+6, std::greater<int>()) == i85+6));
+    assert(std::is_heap(i86, i86+6, std::greater<int>()) == (std::is_heap_until(i86, i86+6, std::greater<int>()) == i86+6));
+    assert(std::is_heap(i87, i87+6, std::greater<int>()) == (std::is_heap_until(i87, i87+6, std::greater<int>()) == i87+6));
+    assert(std::is_heap(i88, i88+6, std::greater<int>()) == (std::is_heap_until(i88, i88+6, std::greater<int>()) == i88+6));
+    assert(std::is_heap(i89, i89+6, std::greater<int>()) == (std::is_heap_until(i89, i89+6, std::greater<int>()) == i89+6));
+    assert(std::is_heap(i90, i90+6, std::greater<int>()) == (std::is_heap_until(i90, i90+6, std::greater<int>()) == i90+6));
+    assert(std::is_heap(i91, i91+6, std::greater<int>()) == (std::is_heap_until(i91, i91+6, std::greater<int>()) == i91+6));
+    assert(std::is_heap(i92, i92+6, std::greater<int>()) == (std::is_heap_until(i92, i92+6, std::greater<int>()) == i92+6));
+    assert(std::is_heap(i93, i93+6, std::greater<int>()) == (std::is_heap_until(i93, i93+6, std::greater<int>()) == i93+6));
+    assert(std::is_heap(i94, i94+6, std::greater<int>()) == (std::is_heap_until(i94, i94+6, std::greater<int>()) == i94+6));
+    assert(std::is_heap(i95, i95+6, std::greater<int>()) == (std::is_heap_until(i95, i95+6, std::greater<int>()) == i95+6));
+    assert(std::is_heap(i96, i96+6, std::greater<int>()) == (std::is_heap_until(i96, i96+6, std::greater<int>()) == i96+6));
+    assert(std::is_heap(i97, i97+6, std::greater<int>()) == (std::is_heap_until(i97, i97+6, std::greater<int>()) == i97+6));
+    assert(std::is_heap(i98, i98+6, std::greater<int>()) == (std::is_heap_until(i98, i98+6, std::greater<int>()) == i98+6));
+    assert(std::is_heap(i99, i99+6, std::greater<int>()) == (std::is_heap_until(i99, i99+6, std::greater<int>()) == i99+6));
+    assert(std::is_heap(i100, i100+6, std::greater<int>()) == (std::is_heap_until(i100, i100+6, std::greater<int>()) == i100+6));
+    assert(std::is_heap(i101, i101+6, std::greater<int>()) == (std::is_heap_until(i101, i101+6, std::greater<int>()) == i101+6));
+    assert(std::is_heap(i102, i102+6, std::greater<int>()) == (std::is_heap_until(i102, i102+6, std::greater<int>()) == i102+6));
+    assert(std::is_heap(i103, i103+6, std::greater<int>()) == (std::is_heap_until(i103, i103+6, std::greater<int>()) == i103+6));
+    assert(std::is_heap(i104, i104+6, std::greater<int>()) == (std::is_heap_until(i104, i104+6, std::greater<int>()) == i104+6));
+    assert(std::is_heap(i105, i105+6, std::greater<int>()) == (std::is_heap_until(i105, i105+6, std::greater<int>()) == i105+6));
+    assert(std::is_heap(i106, i106+6, std::greater<int>()) == (std::is_heap_until(i106, i106+6, std::greater<int>()) == i106+6));
+    assert(std::is_heap(i107, i107+6, std::greater<int>()) == (std::is_heap_until(i107, i107+6, std::greater<int>()) == i107+6));
+    assert(std::is_heap(i108, i108+6, std::greater<int>()) == (std::is_heap_until(i108, i108+6, std::greater<int>()) == i108+6));
+    assert(std::is_heap(i109, i109+6, std::greater<int>()) == (std::is_heap_until(i109, i109+6, std::greater<int>()) == i109+6));
+    assert(std::is_heap(i110, i110+6, std::greater<int>()) == (std::is_heap_until(i110, i110+6, std::greater<int>()) == i110+6));
+    assert(std::is_heap(i111, i111+6, std::greater<int>()) == (std::is_heap_until(i111, i111+6, std::greater<int>()) == i111+6));
+    assert(std::is_heap(i112, i112+6, std::greater<int>()) == (std::is_heap_until(i112, i112+6, std::greater<int>()) == i112+6));
+    assert(std::is_heap(i113, i113+6, std::greater<int>()) == (std::is_heap_until(i113, i113+6, std::greater<int>()) == i113+6));
+    assert(std::is_heap(i114, i114+6, std::greater<int>()) == (std::is_heap_until(i114, i114+6, std::greater<int>()) == i114+6));
+    assert(std::is_heap(i115, i115+6, std::greater<int>()) == (std::is_heap_until(i115, i115+6, std::greater<int>()) == i115+6));
+    assert(std::is_heap(i116, i116+6, std::greater<int>()) == (std::is_heap_until(i116, i116+6, std::greater<int>()) == i116+6));
+    assert(std::is_heap(i117, i117+6, std::greater<int>()) == (std::is_heap_until(i117, i117+6, std::greater<int>()) == i117+6));
+    assert(std::is_heap(i118, i118+6, std::greater<int>()) == (std::is_heap_until(i118, i118+6, std::greater<int>()) == i118+6));
+    assert(std::is_heap(i119, i119+6, std::greater<int>()) == (std::is_heap_until(i119, i119+6, std::greater<int>()) == i119+6));
+    int i120[] = {0, 0, 0, 0, 0, 0, 0};
+    int i121[] = {0, 0, 0, 0, 0, 0, 1};
+    int i122[] = {0, 0, 0, 0, 0, 1, 0};
+    int i123[] = {0, 0, 0, 0, 0, 1, 1};
+    int i124[] = {0, 0, 0, 0, 1, 0, 0};
+    int i125[] = {0, 0, 0, 0, 1, 0, 1};
+    int i126[] = {0, 0, 0, 0, 1, 1, 0};
+    int i127[] = {0, 0, 0, 0, 1, 1, 1};
+    int i128[] = {0, 0, 0, 1, 0, 0, 0};
+    int i129[] = {0, 0, 0, 1, 0, 0, 1};
+    int i130[] = {0, 0, 0, 1, 0, 1, 0};
+    int i131[] = {0, 0, 0, 1, 0, 1, 1};
+    int i132[] = {0, 0, 0, 1, 1, 0, 0};
+    int i133[] = {0, 0, 0, 1, 1, 0, 1};
+    int i134[] = {0, 0, 0, 1, 1, 1, 0};
+    int i135[] = {0, 0, 0, 1, 1, 1, 1};
+    int i136[] = {0, 0, 1, 0, 0, 0, 0};
+    int i137[] = {0, 0, 1, 0, 0, 0, 1};
+    int i138[] = {0, 0, 1, 0, 0, 1, 0};
+    int i139[] = {0, 0, 1, 0, 0, 1, 1};
+    int i140[] = {0, 0, 1, 0, 1, 0, 0};
+    int i141[] = {0, 0, 1, 0, 1, 0, 1};
+    int i142[] = {0, 0, 1, 0, 1, 1, 0};
+    int i143[] = {0, 0, 1, 0, 1, 1, 1};
+    int i144[] = {0, 0, 1, 1, 0, 0, 0};
+    int i145[] = {0, 0, 1, 1, 0, 0, 1};
+    int i146[] = {0, 0, 1, 1, 0, 1, 0};
+    int i147[] = {0, 0, 1, 1, 0, 1, 1};
+    int i148[] = {0, 0, 1, 1, 1, 0, 0};
+    int i149[] = {0, 0, 1, 1, 1, 0, 1};
+    int i150[] = {0, 0, 1, 1, 1, 1, 0};
+    int i151[] = {0, 0, 1, 1, 1, 1, 1};
+    int i152[] = {0, 1, 0, 0, 0, 0, 0};
+    int i153[] = {0, 1, 0, 0, 0, 0, 1};
+    int i154[] = {0, 1, 0, 0, 0, 1, 0};
+    int i155[] = {0, 1, 0, 0, 0, 1, 1};
+    int i156[] = {0, 1, 0, 0, 1, 0, 0};
+    int i157[] = {0, 1, 0, 0, 1, 0, 1};
+    int i158[] = {0, 1, 0, 0, 1, 1, 0};
+    int i159[] = {0, 1, 0, 0, 1, 1, 1};
+    int i160[] = {0, 1, 0, 1, 0, 0, 0};
+    int i161[] = {0, 1, 0, 1, 0, 0, 1};
+    int i162[] = {0, 1, 0, 1, 0, 1, 0};
+    int i163[] = {0, 1, 0, 1, 0, 1, 1};
+    int i164[] = {0, 1, 0, 1, 1, 0, 0};
+    int i165[] = {0, 1, 0, 1, 1, 0, 1};
+    int i166[] = {0, 1, 0, 1, 1, 1, 0};
+    int i167[] = {0, 1, 0, 1, 1, 1, 1};
+    int i168[] = {0, 1, 1, 0, 0, 0, 0};
+    int i169[] = {0, 1, 1, 0, 0, 0, 1};
+    int i170[] = {0, 1, 1, 0, 0, 1, 0};
+    int i171[] = {0, 1, 1, 0, 0, 1, 1};
+    int i172[] = {0, 1, 1, 0, 1, 0, 0};
+    int i173[] = {0, 1, 1, 0, 1, 0, 1};
+    int i174[] = {0, 1, 1, 0, 1, 1, 0};
+    int i175[] = {0, 1, 1, 0, 1, 1, 1};
+    int i176[] = {0, 1, 1, 1, 0, 0, 0};
+    int i177[] = {0, 1, 1, 1, 0, 0, 1};
+    int i178[] = {0, 1, 1, 1, 0, 1, 0};
+    int i179[] = {0, 1, 1, 1, 0, 1, 1};
+    int i180[] = {0, 1, 1, 1, 1, 0, 0};
+    int i181[] = {0, 1, 1, 1, 1, 0, 1};
+    int i182[] = {0, 1, 1, 1, 1, 1, 0};
+    int i183[] = {0, 1, 1, 1, 1, 1, 1};
+    int i184[] = {1, 0, 0, 0, 0, 0, 0};
+    int i185[] = {1, 0, 0, 0, 0, 0, 1};
+    int i186[] = {1, 0, 0, 0, 0, 1, 0};
+    int i187[] = {1, 0, 0, 0, 0, 1, 1};
+    int i188[] = {1, 0, 0, 0, 1, 0, 0};
+    int i189[] = {1, 0, 0, 0, 1, 0, 1};
+    int i190[] = {1, 0, 0, 0, 1, 1, 0};
+    int i191[] = {1, 0, 0, 0, 1, 1, 1};
+    int i192[] = {1, 0, 0, 1, 0, 0, 0};
+    int i193[] = {1, 0, 0, 1, 0, 0, 1};
+    int i194[] = {1, 0, 0, 1, 0, 1, 0};
+    int i195[] = {1, 0, 0, 1, 0, 1, 1};
+    int i196[] = {1, 0, 0, 1, 1, 0, 0};
+    int i197[] = {1, 0, 0, 1, 1, 0, 1};
+    int i198[] = {1, 0, 0, 1, 1, 1, 0};
+    int i199[] = {1, 0, 0, 1, 1, 1, 1};
+    int i200[] = {1, 0, 1, 0, 0, 0, 0};
+    int i201[] = {1, 0, 1, 0, 0, 0, 1};
+    int i202[] = {1, 0, 1, 0, 0, 1, 0};
+    int i203[] = {1, 0, 1, 0, 0, 1, 1};
+    int i204[] = {1, 0, 1, 0, 1, 0, 0};
+    int i205[] = {1, 0, 1, 0, 1, 0, 1};
+    int i206[] = {1, 0, 1, 0, 1, 1, 0};
+    int i207[] = {1, 0, 1, 0, 1, 1, 1};
+    int i208[] = {1, 0, 1, 1, 0, 0, 0};
+    int i209[] = {1, 0, 1, 1, 0, 0, 1};
+    int i210[] = {1, 0, 1, 1, 0, 1, 0};
+    int i211[] = {1, 0, 1, 1, 0, 1, 1};
+    int i212[] = {1, 0, 1, 1, 1, 0, 0};
+    int i213[] = {1, 0, 1, 1, 1, 0, 1};
+    int i214[] = {1, 0, 1, 1, 1, 1, 0};
+    int i215[] = {1, 0, 1, 1, 1, 1, 1};
+    int i216[] = {1, 1, 0, 0, 0, 0, 0};
+    int i217[] = {1, 1, 0, 0, 0, 0, 1};
+    int i218[] = {1, 1, 0, 0, 0, 1, 0};
+    int i219[] = {1, 1, 0, 0, 0, 1, 1};
+    int i220[] = {1, 1, 0, 0, 1, 0, 0};
+    int i221[] = {1, 1, 0, 0, 1, 0, 1};
+    int i222[] = {1, 1, 0, 0, 1, 1, 0};
+    int i223[] = {1, 1, 0, 0, 1, 1, 1};
+    int i224[] = {1, 1, 0, 1, 0, 0, 0};
+    int i225[] = {1, 1, 0, 1, 0, 0, 1};
+    int i226[] = {1, 1, 0, 1, 0, 1, 0};
+    int i227[] = {1, 1, 0, 1, 0, 1, 1};
+    int i228[] = {1, 1, 0, 1, 1, 0, 0};
+    int i229[] = {1, 1, 0, 1, 1, 0, 1};
+    int i230[] = {1, 1, 0, 1, 1, 1, 0};
+    int i231[] = {1, 1, 0, 1, 1, 1, 1};
+    int i232[] = {1, 1, 1, 0, 0, 0, 0};
+    int i233[] = {1, 1, 1, 0, 0, 0, 1};
+    int i234[] = {1, 1, 1, 0, 0, 1, 0};
+    int i235[] = {1, 1, 1, 0, 0, 1, 1};
+    int i236[] = {1, 1, 1, 0, 1, 0, 0};
+    int i237[] = {1, 1, 1, 0, 1, 0, 1};
+    int i238[] = {1, 1, 1, 0, 1, 1, 0};
+    int i239[] = {1, 1, 1, 0, 1, 1, 1};
+    int i240[] = {1, 1, 1, 1, 0, 0, 0};
+    int i241[] = {1, 1, 1, 1, 0, 0, 1};
+    int i242[] = {1, 1, 1, 1, 0, 1, 0};
+    int i243[] = {1, 1, 1, 1, 0, 1, 1};
+    int i244[] = {1, 1, 1, 1, 1, 0, 0};
+    int i245[] = {1, 1, 1, 1, 1, 0, 1};
+    int i246[] = {1, 1, 1, 1, 1, 1, 0};
+    assert(std::is_heap(i120, i120+7, std::greater<int>()) == (std::is_heap_until(i120, i120+7, std::greater<int>()) == i120+7));
+    assert(std::is_heap(i121, i121+7, std::greater<int>()) == (std::is_heap_until(i121, i121+7, std::greater<int>()) == i121+7));
+    assert(std::is_heap(i122, i122+7, std::greater<int>()) == (std::is_heap_until(i122, i122+7, std::greater<int>()) == i122+7));
+    assert(std::is_heap(i123, i123+7, std::greater<int>()) == (std::is_heap_until(i123, i123+7, std::greater<int>()) == i123+7));
+    assert(std::is_heap(i124, i124+7, std::greater<int>()) == (std::is_heap_until(i124, i124+7, std::greater<int>()) == i124+7));
+    assert(std::is_heap(i125, i125+7, std::greater<int>()) == (std::is_heap_until(i125, i125+7, std::greater<int>()) == i125+7));
+    assert(std::is_heap(i126, i126+7, std::greater<int>()) == (std::is_heap_until(i126, i126+7, std::greater<int>()) == i126+7));
+    assert(std::is_heap(i127, i127+7, std::greater<int>()) == (std::is_heap_until(i127, i127+7, std::greater<int>()) == i127+7));
+    assert(std::is_heap(i128, i128+7, std::greater<int>()) == (std::is_heap_until(i128, i128+7, std::greater<int>()) == i128+7));
+    assert(std::is_heap(i129, i129+7, std::greater<int>()) == (std::is_heap_until(i129, i129+7, std::greater<int>()) == i129+7));
+    assert(std::is_heap(i130, i130+7, std::greater<int>()) == (std::is_heap_until(i130, i130+7, std::greater<int>()) == i130+7));
+    assert(std::is_heap(i131, i131+7, std::greater<int>()) == (std::is_heap_until(i131, i131+7, std::greater<int>()) == i131+7));
+    assert(std::is_heap(i132, i132+7, std::greater<int>()) == (std::is_heap_until(i132, i132+7, std::greater<int>()) == i132+7));
+    assert(std::is_heap(i133, i133+7, std::greater<int>()) == (std::is_heap_until(i133, i133+7, std::greater<int>()) == i133+7));
+    assert(std::is_heap(i134, i134+7, std::greater<int>()) == (std::is_heap_until(i134, i134+7, std::greater<int>()) == i134+7));
+    assert(std::is_heap(i135, i135+7, std::greater<int>()) == (std::is_heap_until(i135, i135+7, std::greater<int>()) == i135+7));
+    assert(std::is_heap(i136, i136+7, std::greater<int>()) == (std::is_heap_until(i136, i136+7, std::greater<int>()) == i136+7));
+    assert(std::is_heap(i137, i137+7, std::greater<int>()) == (std::is_heap_until(i137, i137+7, std::greater<int>()) == i137+7));
+    assert(std::is_heap(i138, i138+7, std::greater<int>()) == (std::is_heap_until(i138, i138+7, std::greater<int>()) == i138+7));
+    assert(std::is_heap(i139, i139+7, std::greater<int>()) == (std::is_heap_until(i139, i139+7, std::greater<int>()) == i139+7));
+    assert(std::is_heap(i140, i140+7, std::greater<int>()) == (std::is_heap_until(i140, i140+7, std::greater<int>()) == i140+7));
+    assert(std::is_heap(i141, i141+7, std::greater<int>()) == (std::is_heap_until(i141, i141+7, std::greater<int>()) == i141+7));
+    assert(std::is_heap(i142, i142+7, std::greater<int>()) == (std::is_heap_until(i142, i142+7, std::greater<int>()) == i142+7));
+    assert(std::is_heap(i143, i143+7, std::greater<int>()) == (std::is_heap_until(i143, i143+7, std::greater<int>()) == i143+7));
+    assert(std::is_heap(i144, i144+7, std::greater<int>()) == (std::is_heap_until(i144, i144+7, std::greater<int>()) == i144+7));
+    assert(std::is_heap(i145, i145+7, std::greater<int>()) == (std::is_heap_until(i145, i145+7, std::greater<int>()) == i145+7));
+    assert(std::is_heap(i146, i146+7, std::greater<int>()) == (std::is_heap_until(i146, i146+7, std::greater<int>()) == i146+7));
+    assert(std::is_heap(i147, i147+7, std::greater<int>()) == (std::is_heap_until(i147, i147+7, std::greater<int>()) == i147+7));
+    assert(std::is_heap(i148, i148+7, std::greater<int>()) == (std::is_heap_until(i148, i148+7, std::greater<int>()) == i148+7));
+    assert(std::is_heap(i149, i149+7, std::greater<int>()) == (std::is_heap_until(i149, i149+7, std::greater<int>()) == i149+7));
+    assert(std::is_heap(i150, i150+7, std::greater<int>()) == (std::is_heap_until(i150, i150+7, std::greater<int>()) == i150+7));
+    assert(std::is_heap(i151, i151+7, std::greater<int>()) == (std::is_heap_until(i151, i151+7, std::greater<int>()) == i151+7));
+    assert(std::is_heap(i152, i152+7, std::greater<int>()) == (std::is_heap_until(i152, i152+7, std::greater<int>()) == i152+7));
+    assert(std::is_heap(i153, i153+7, std::greater<int>()) == (std::is_heap_until(i153, i153+7, std::greater<int>()) == i153+7));
+    assert(std::is_heap(i154, i154+7, std::greater<int>()) == (std::is_heap_until(i154, i154+7, std::greater<int>()) == i154+7));
+    assert(std::is_heap(i155, i155+7, std::greater<int>()) == (std::is_heap_until(i155, i155+7, std::greater<int>()) == i155+7));
+    assert(std::is_heap(i156, i156+7, std::greater<int>()) == (std::is_heap_until(i156, i156+7, std::greater<int>()) == i156+7));
+    assert(std::is_heap(i157, i157+7, std::greater<int>()) == (std::is_heap_until(i157, i157+7, std::greater<int>()) == i157+7));
+    assert(std::is_heap(i158, i158+7, std::greater<int>()) == (std::is_heap_until(i158, i158+7, std::greater<int>()) == i158+7));
+    assert(std::is_heap(i159, i159+7, std::greater<int>()) == (std::is_heap_until(i159, i159+7, std::greater<int>()) == i159+7));
+    assert(std::is_heap(i160, i160+7, std::greater<int>()) == (std::is_heap_until(i160, i160+7, std::greater<int>()) == i160+7));
+    assert(std::is_heap(i161, i161+7, std::greater<int>()) == (std::is_heap_until(i161, i161+7, std::greater<int>()) == i161+7));
+    assert(std::is_heap(i162, i162+7, std::greater<int>()) == (std::is_heap_until(i162, i162+7, std::greater<int>()) == i162+7));
+    assert(std::is_heap(i163, i163+7, std::greater<int>()) == (std::is_heap_until(i163, i163+7, std::greater<int>()) == i163+7));
+    assert(std::is_heap(i164, i164+7, std::greater<int>()) == (std::is_heap_until(i164, i164+7, std::greater<int>()) == i164+7));
+    assert(std::is_heap(i165, i165+7, std::greater<int>()) == (std::is_heap_until(i165, i165+7, std::greater<int>()) == i165+7));
+    assert(std::is_heap(i166, i166+7, std::greater<int>()) == (std::is_heap_until(i166, i166+7, std::greater<int>()) == i166+7));
+    assert(std::is_heap(i167, i167+7, std::greater<int>()) == (std::is_heap_until(i167, i167+7, std::greater<int>()) == i167+7));
+    assert(std::is_heap(i168, i168+7, std::greater<int>()) == (std::is_heap_until(i168, i168+7, std::greater<int>()) == i168+7));
+    assert(std::is_heap(i169, i169+7, std::greater<int>()) == (std::is_heap_until(i169, i169+7, std::greater<int>()) == i169+7));
+    assert(std::is_heap(i170, i170+7, std::greater<int>()) == (std::is_heap_until(i170, i170+7, std::greater<int>()) == i170+7));
+    assert(std::is_heap(i171, i171+7, std::greater<int>()) == (std::is_heap_until(i171, i171+7, std::greater<int>()) == i171+7));
+    assert(std::is_heap(i172, i172+7, std::greater<int>()) == (std::is_heap_until(i172, i172+7, std::greater<int>()) == i172+7));
+    assert(std::is_heap(i173, i173+7, std::greater<int>()) == (std::is_heap_until(i173, i173+7, std::greater<int>()) == i173+7));
+    assert(std::is_heap(i174, i174+7, std::greater<int>()) == (std::is_heap_until(i174, i174+7, std::greater<int>()) == i174+7));
+    assert(std::is_heap(i175, i175+7, std::greater<int>()) == (std::is_heap_until(i175, i175+7, std::greater<int>()) == i175+7));
+    assert(std::is_heap(i176, i176+7, std::greater<int>()) == (std::is_heap_until(i176, i176+7, std::greater<int>()) == i176+7));
+    assert(std::is_heap(i177, i177+7, std::greater<int>()) == (std::is_heap_until(i177, i177+7, std::greater<int>()) == i177+7));
+    assert(std::is_heap(i178, i178+7, std::greater<int>()) == (std::is_heap_until(i178, i178+7, std::greater<int>()) == i178+7));
+    assert(std::is_heap(i179, i179+7, std::greater<int>()) == (std::is_heap_until(i179, i179+7, std::greater<int>()) == i179+7));
+    assert(std::is_heap(i180, i180+7, std::greater<int>()) == (std::is_heap_until(i180, i180+7, std::greater<int>()) == i180+7));
+    assert(std::is_heap(i181, i181+7, std::greater<int>()) == (std::is_heap_until(i181, i181+7, std::greater<int>()) == i181+7));
+    assert(std::is_heap(i182, i182+7, std::greater<int>()) == (std::is_heap_until(i182, i182+7, std::greater<int>()) == i182+7));
+    assert(std::is_heap(i183, i183+7, std::greater<int>()) == (std::is_heap_until(i183, i183+7, std::greater<int>()) == i183+7));
+    assert(std::is_heap(i184, i184+7, std::greater<int>()) == (std::is_heap_until(i184, i184+7, std::greater<int>()) == i184+7));
+    assert(std::is_heap(i185, i185+7, std::greater<int>()) == (std::is_heap_until(i185, i185+7, std::greater<int>()) == i185+7));
+    assert(std::is_heap(i186, i186+7, std::greater<int>()) == (std::is_heap_until(i186, i186+7, std::greater<int>()) == i186+7));
+    assert(std::is_heap(i187, i187+7, std::greater<int>()) == (std::is_heap_until(i187, i187+7, std::greater<int>()) == i187+7));
+    assert(std::is_heap(i188, i188+7, std::greater<int>()) == (std::is_heap_until(i188, i188+7, std::greater<int>()) == i188+7));
+    assert(std::is_heap(i189, i189+7, std::greater<int>()) == (std::is_heap_until(i189, i189+7, std::greater<int>()) == i189+7));
+    assert(std::is_heap(i190, i190+7, std::greater<int>()) == (std::is_heap_until(i190, i190+7, std::greater<int>()) == i190+7));
+    assert(std::is_heap(i191, i191+7, std::greater<int>()) == (std::is_heap_until(i191, i191+7, std::greater<int>()) == i191+7));
+    assert(std::is_heap(i192, i192+7, std::greater<int>()) == (std::is_heap_until(i192, i192+7, std::greater<int>()) == i192+7));
+    assert(std::is_heap(i193, i193+7, std::greater<int>()) == (std::is_heap_until(i193, i193+7, std::greater<int>()) == i193+7));
+    assert(std::is_heap(i194, i194+7, std::greater<int>()) == (std::is_heap_until(i194, i194+7, std::greater<int>()) == i194+7));
+    assert(std::is_heap(i195, i195+7, std::greater<int>()) == (std::is_heap_until(i195, i195+7, std::greater<int>()) == i195+7));
+    assert(std::is_heap(i196, i196+7, std::greater<int>()) == (std::is_heap_until(i196, i196+7, std::greater<int>()) == i196+7));
+    assert(std::is_heap(i197, i197+7, std::greater<int>()) == (std::is_heap_until(i197, i197+7, std::greater<int>()) == i197+7));
+    assert(std::is_heap(i198, i198+7, std::greater<int>()) == (std::is_heap_until(i198, i198+7, std::greater<int>()) == i198+7));
+    assert(std::is_heap(i199, i199+7, std::greater<int>()) == (std::is_heap_until(i199, i199+7, std::greater<int>()) == i199+7));
+    assert(std::is_heap(i200, i200+7, std::greater<int>()) == (std::is_heap_until(i200, i200+7, std::greater<int>()) == i200+7));
+    assert(std::is_heap(i201, i201+7, std::greater<int>()) == (std::is_heap_until(i201, i201+7, std::greater<int>()) == i201+7));
+    assert(std::is_heap(i202, i202+7, std::greater<int>()) == (std::is_heap_until(i202, i202+7, std::greater<int>()) == i202+7));
+    assert(std::is_heap(i203, i203+7, std::greater<int>()) == (std::is_heap_until(i203, i203+7, std::greater<int>()) == i203+7));
+    assert(std::is_heap(i204, i204+7, std::greater<int>()) == (std::is_heap_until(i204, i204+7, std::greater<int>()) == i204+7));
+    assert(std::is_heap(i205, i205+7, std::greater<int>()) == (std::is_heap_until(i205, i205+7, std::greater<int>()) == i205+7));
+    assert(std::is_heap(i206, i206+7, std::greater<int>()) == (std::is_heap_until(i206, i206+7, std::greater<int>()) == i206+7));
+    assert(std::is_heap(i207, i207+7, std::greater<int>()) == (std::is_heap_until(i207, i207+7, std::greater<int>()) == i207+7));
+    assert(std::is_heap(i208, i208+7, std::greater<int>()) == (std::is_heap_until(i208, i208+7, std::greater<int>()) == i208+7));
+    assert(std::is_heap(i209, i209+7, std::greater<int>()) == (std::is_heap_until(i209, i209+7, std::greater<int>()) == i209+7));
+    assert(std::is_heap(i210, i210+7, std::greater<int>()) == (std::is_heap_until(i210, i210+7, std::greater<int>()) == i210+7));
+    assert(std::is_heap(i211, i211+7, std::greater<int>()) == (std::is_heap_until(i211, i211+7, std::greater<int>()) == i211+7));
+    assert(std::is_heap(i212, i212+7, std::greater<int>()) == (std::is_heap_until(i212, i212+7, std::greater<int>()) == i212+7));
+    assert(std::is_heap(i213, i213+7, std::greater<int>()) == (std::is_heap_until(i213, i213+7, std::greater<int>()) == i213+7));
+    assert(std::is_heap(i214, i214+7, std::greater<int>()) == (std::is_heap_until(i214, i214+7, std::greater<int>()) == i214+7));
+    assert(std::is_heap(i215, i215+7, std::greater<int>()) == (std::is_heap_until(i215, i215+7, std::greater<int>()) == i215+7));
+    assert(std::is_heap(i216, i216+7, std::greater<int>()) == (std::is_heap_until(i216, i216+7, std::greater<int>()) == i216+7));
+    assert(std::is_heap(i217, i217+7, std::greater<int>()) == (std::is_heap_until(i217, i217+7, std::greater<int>()) == i217+7));
+    assert(std::is_heap(i218, i218+7, std::greater<int>()) == (std::is_heap_until(i218, i218+7, std::greater<int>()) == i218+7));
+    assert(std::is_heap(i219, i219+7, std::greater<int>()) == (std::is_heap_until(i219, i219+7, std::greater<int>()) == i219+7));
+    assert(std::is_heap(i220, i220+7, std::greater<int>()) == (std::is_heap_until(i220, i220+7, std::greater<int>()) == i220+7));
+    assert(std::is_heap(i221, i221+7, std::greater<int>()) == (std::is_heap_until(i221, i221+7, std::greater<int>()) == i221+7));
+    assert(std::is_heap(i222, i222+7, std::greater<int>()) == (std::is_heap_until(i222, i222+7, std::greater<int>()) == i222+7));
+    assert(std::is_heap(i223, i223+7, std::greater<int>()) == (std::is_heap_until(i223, i223+7, std::greater<int>()) == i223+7));
+    assert(std::is_heap(i224, i224+7, std::greater<int>()) == (std::is_heap_until(i224, i224+7, std::greater<int>()) == i224+7));
+    assert(std::is_heap(i225, i225+7, std::greater<int>()) == (std::is_heap_until(i225, i225+7, std::greater<int>()) == i225+7));
+    assert(std::is_heap(i226, i226+7, std::greater<int>()) == (std::is_heap_until(i226, i226+7, std::greater<int>()) == i226+7));
+    assert(std::is_heap(i227, i227+7, std::greater<int>()) == (std::is_heap_until(i227, i227+7, std::greater<int>()) == i227+7));
+    assert(std::is_heap(i228, i228+7, std::greater<int>()) == (std::is_heap_until(i228, i228+7, std::greater<int>()) == i228+7));
+    assert(std::is_heap(i229, i229+7, std::greater<int>()) == (std::is_heap_until(i229, i229+7, std::greater<int>()) == i229+7));
+    assert(std::is_heap(i230, i230+7, std::greater<int>()) == (std::is_heap_until(i230, i230+7, std::greater<int>()) == i230+7));
+    assert(std::is_heap(i231, i231+7, std::greater<int>()) == (std::is_heap_until(i231, i231+7, std::greater<int>()) == i231+7));
+    assert(std::is_heap(i232, i232+7, std::greater<int>()) == (std::is_heap_until(i232, i232+7, std::greater<int>()) == i232+7));
+    assert(std::is_heap(i233, i233+7, std::greater<int>()) == (std::is_heap_until(i233, i233+7, std::greater<int>()) == i233+7));
+    assert(std::is_heap(i234, i234+7, std::greater<int>()) == (std::is_heap_until(i234, i234+7, std::greater<int>()) == i234+7));
+    assert(std::is_heap(i235, i235+7, std::greater<int>()) == (std::is_heap_until(i235, i235+7, std::greater<int>()) == i235+7));
+    assert(std::is_heap(i236, i236+7, std::greater<int>()) == (std::is_heap_until(i236, i236+7, std::greater<int>()) == i236+7));
+    assert(std::is_heap(i237, i237+7, std::greater<int>()) == (std::is_heap_until(i237, i237+7, std::greater<int>()) == i237+7));
+    assert(std::is_heap(i238, i238+7, std::greater<int>()) == (std::is_heap_until(i238, i238+7, std::greater<int>()) == i238+7));
+    assert(std::is_heap(i239, i239+7, std::greater<int>()) == (std::is_heap_until(i239, i239+7, std::greater<int>()) == i239+7));
+    assert(std::is_heap(i240, i240+7, std::greater<int>()) == (std::is_heap_until(i240, i240+7, std::greater<int>()) == i240+7));
+    assert(std::is_heap(i241, i241+7, std::greater<int>()) == (std::is_heap_until(i241, i241+7, std::greater<int>()) == i241+7));
+    assert(std::is_heap(i242, i242+7, std::greater<int>()) == (std::is_heap_until(i242, i242+7, std::greater<int>()) == i242+7));
+    assert(std::is_heap(i243, i243+7, std::greater<int>()) == (std::is_heap_until(i243, i243+7, std::greater<int>()) == i243+7));
+    assert(std::is_heap(i244, i244+7, std::greater<int>()) == (std::is_heap_until(i244, i244+7, std::greater<int>()) == i244+7));
+    assert(std::is_heap(i245, i245+7, std::greater<int>()) == (std::is_heap_until(i245, i245+7, std::greater<int>()) == i245+7));
+    assert(std::is_heap(i246, i246+7, std::greater<int>()) == (std::is_heap_until(i246, i246+7, std::greater<int>()) == i246+7));
+}
+
+int main()
+{
+    test();
+}

Added: libcxx/trunk/test/std/algorithms/alg.sorting/alg.heap.operations/is.heap/is_heap_until.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/algorithms/alg.sorting/alg.heap.operations/is.heap/is_heap_until.pass.cpp?rev=224658&view=auto
==============================================================================
--- libcxx/trunk/test/std/algorithms/alg.sorting/alg.heap.operations/is.heap/is_heap_until.pass.cpp (added)
+++ libcxx/trunk/test/std/algorithms/alg.sorting/alg.heap.operations/is.heap/is_heap_until.pass.cpp Fri Dec 19 19:40:03 2014
@@ -0,0 +1,521 @@
+//===----------------------------------------------------------------------===//
+//
+//                     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.
+//
+//===----------------------------------------------------------------------===//
+
+// <algorithm>
+
+// template<RandomAccessIterator Iter>
+//   requires LessThanComparable<Iter::value_type>
+//   Iter
+//   is_heap_until(Iter first, Iter last);
+
+#include <algorithm>
+#include <cassert>
+
+void test()
+{
+    int i1[] = {0, 0};
+    assert(std::is_heap_until(i1, i1) == i1);
+    assert(std::is_heap_until(i1, i1+1) == i1+1);
+    int i2[] = {0, 1};
+    int i3[] = {1, 0};
+    assert(std::is_heap_until(i1, i1+2) == i1+2);
+    assert(std::is_heap_until(i2, i2+2) == i2+1);
+    assert(std::is_heap_until(i3, i3+2) == i3+2);
+    int i4[] = {0, 0, 0};
+    int i5[] = {0, 0, 1};
+    int i6[] = {0, 1, 0};
+    int i7[] = {0, 1, 1};
+    int i8[] = {1, 0, 0};
+    int i9[] = {1, 0, 1};
+    int i10[] = {1, 1, 0};
+    assert(std::is_heap_until(i4, i4+3) == i4+3);
+    assert(std::is_heap_until(i5, i5+3) == i5+2);
+    assert(std::is_heap_until(i6, i6+3) == i6+1);
+    assert(std::is_heap_until(i7, i7+3) == i7+1);
+    assert(std::is_heap_until(i8, i8+3) == i8+3);
+    assert(std::is_heap_until(i9, i9+3) == i9+3);
+    assert(std::is_heap_until(i10, i10+3) == i10+3);
+    int i11[] = {0, 0, 0, 0};
+    int i12[] = {0, 0, 0, 1};
+    int i13[] = {0, 0, 1, 0};
+    int i14[] = {0, 0, 1, 1};
+    int i15[] = {0, 1, 0, 0};
+    int i16[] = {0, 1, 0, 1};
+    int i17[] = {0, 1, 1, 0};
+    int i18[] = {0, 1, 1, 1};
+    int i19[] = {1, 0, 0, 0};
+    int i20[] = {1, 0, 0, 1};
+    int i21[] = {1, 0, 1, 0};
+    int i22[] = {1, 0, 1, 1};
+    int i23[] = {1, 1, 0, 0};
+    int i24[] = {1, 1, 0, 1};
+    int i25[] = {1, 1, 1, 0};
+    assert(std::is_heap_until(i11, i11+4) == i11+4);
+    assert(std::is_heap_until(i12, i12+4) == i12+3);
+    assert(std::is_heap_until(i13, i13+4) == i13+2);
+    assert(std::is_heap_until(i14, i14+4) == i14+2);
+    assert(std::is_heap_until(i15, i15+4) == i15+1);
+    assert(std::is_heap_until(i16, i16+4) == i16+1);
+    assert(std::is_heap_until(i17, i17+4) == i17+1);
+    assert(std::is_heap_until(i18, i18+4) == i18+1);
+    assert(std::is_heap_until(i19, i19+4) == i19+4);
+    assert(std::is_heap_until(i20, i20+4) == i20+3);
+    assert(std::is_heap_until(i21, i21+4) == i21+4);
+    assert(std::is_heap_until(i22, i22+4) == i22+3);
+    assert(std::is_heap_until(i23, i23+4) == i23+4);
+    assert(std::is_heap_until(i24, i24+4) == i24+4);
+    assert(std::is_heap_until(i25, i25+4) == i25+4);
+    int i26[] = {0, 0, 0, 0, 0};
+    int i27[] = {0, 0, 0, 0, 1};
+    int i28[] = {0, 0, 0, 1, 0};
+    int i29[] = {0, 0, 0, 1, 1};
+    int i30[] = {0, 0, 1, 0, 0};
+    int i31[] = {0, 0, 1, 0, 1};
+    int i32[] = {0, 0, 1, 1, 0};
+    int i33[] = {0, 0, 1, 1, 1};
+    int i34[] = {0, 1, 0, 0, 0};
+    int i35[] = {0, 1, 0, 0, 1};
+    int i36[] = {0, 1, 0, 1, 0};
+    int i37[] = {0, 1, 0, 1, 1};
+    int i38[] = {0, 1, 1, 0, 0};
+    int i39[] = {0, 1, 1, 0, 1};
+    int i40[] = {0, 1, 1, 1, 0};
+    int i41[] = {0, 1, 1, 1, 1};
+    int i42[] = {1, 0, 0, 0, 0};
+    int i43[] = {1, 0, 0, 0, 1};
+    int i44[] = {1, 0, 0, 1, 0};
+    int i45[] = {1, 0, 0, 1, 1};
+    int i46[] = {1, 0, 1, 0, 0};
+    int i47[] = {1, 0, 1, 0, 1};
+    int i48[] = {1, 0, 1, 1, 0};
+    int i49[] = {1, 0, 1, 1, 1};
+    int i50[] = {1, 1, 0, 0, 0};
+    int i51[] = {1, 1, 0, 0, 1};
+    int i52[] = {1, 1, 0, 1, 0};
+    int i53[] = {1, 1, 0, 1, 1};
+    int i54[] = {1, 1, 1, 0, 0};
+    int i55[] = {1, 1, 1, 0, 1};
+    int i56[] = {1, 1, 1, 1, 0};
+    assert(std::is_heap_until(i26, i26+5) == i26+5);
+    assert(std::is_heap_until(i27, i27+5) == i27+4);
+    assert(std::is_heap_until(i28, i28+5) == i28+3);
+    assert(std::is_heap_until(i29, i29+5) == i29+3);
+    assert(std::is_heap_until(i30, i30+5) == i30+2);
+    assert(std::is_heap_until(i31, i31+5) == i31+2);
+    assert(std::is_heap_until(i32, i32+5) == i32+2);
+    assert(std::is_heap_until(i33, i33+5) == i33+2);
+    assert(std::is_heap_until(i34, i34+5) == i34+1);
+    assert(std::is_heap_until(i35, i35+5) == i35+1);
+    assert(std::is_heap_until(i36, i36+5) == i36+1);
+    assert(std::is_heap_until(i37, i37+5) == i37+1);
+    assert(std::is_heap_until(i38, i38+5) == i38+1);
+    assert(std::is_heap_until(i39, i39+5) == i39+1);
+    assert(std::is_heap_until(i40, i40+5) == i40+1);
+    assert(std::is_heap_until(i41, i41+5) == i41+1);
+    assert(std::is_heap_until(i42, i42+5) == i42+5);
+    assert(std::is_heap_until(i43, i43+5) == i43+4);
+    assert(std::is_heap_until(i44, i44+5) == i44+3);
+    assert(std::is_heap_until(i45, i45+5) == i45+3);
+    assert(std::is_heap_until(i46, i46+5) == i46+5);
+    assert(std::is_heap_until(i47, i47+5) == i47+4);
+    assert(std::is_heap_until(i48, i48+5) == i48+3);
+    assert(std::is_heap_until(i49, i49+5) == i49+3);
+    assert(std::is_heap_until(i50, i50+5) == i50+5);
+    assert(std::is_heap_until(i51, i51+5) == i51+5);
+    assert(std::is_heap_until(i52, i52+5) == i52+5);
+    assert(std::is_heap_until(i53, i53+5) == i53+5);
+    assert(std::is_heap_until(i54, i54+5) == i54+5);
+    assert(std::is_heap_until(i55, i55+5) == i55+5);
+    assert(std::is_heap_until(i56, i56+5) == i56+5);
+    int i57[] = {0, 0, 0, 0, 0, 0};
+    int i58[] = {0, 0, 0, 0, 0, 1};
+    int i59[] = {0, 0, 0, 0, 1, 0};
+    int i60[] = {0, 0, 0, 0, 1, 1};
+    int i61[] = {0, 0, 0, 1, 0, 0};
+    int i62[] = {0, 0, 0, 1, 0, 1};
+    int i63[] = {0, 0, 0, 1, 1, 0};
+    int i64[] = {0, 0, 0, 1, 1, 1};
+    int i65[] = {0, 0, 1, 0, 0, 0};
+    int i66[] = {0, 0, 1, 0, 0, 1};
+    int i67[] = {0, 0, 1, 0, 1, 0};
+    int i68[] = {0, 0, 1, 0, 1, 1};
+    int i69[] = {0, 0, 1, 1, 0, 0};
+    int i70[] = {0, 0, 1, 1, 0, 1};
+    int i71[] = {0, 0, 1, 1, 1, 0};
+    int i72[] = {0, 0, 1, 1, 1, 1};
+    int i73[] = {0, 1, 0, 0, 0, 0};
+    int i74[] = {0, 1, 0, 0, 0, 1};
+    int i75[] = {0, 1, 0, 0, 1, 0};
+    int i76[] = {0, 1, 0, 0, 1, 1};
+    int i77[] = {0, 1, 0, 1, 0, 0};
+    int i78[] = {0, 1, 0, 1, 0, 1};
+    int i79[] = {0, 1, 0, 1, 1, 0};
+    int i80[] = {0, 1, 0, 1, 1, 1};
+    int i81[] = {0, 1, 1, 0, 0, 0};
+    int i82[] = {0, 1, 1, 0, 0, 1};
+    int i83[] = {0, 1, 1, 0, 1, 0};
+    int i84[] = {0, 1, 1, 0, 1, 1};
+    int i85[] = {0, 1, 1, 1, 0, 0};
+    int i86[] = {0, 1, 1, 1, 0, 1};
+    int i87[] = {0, 1, 1, 1, 1, 0};
+    int i88[] = {0, 1, 1, 1, 1, 1};
+    int i89[] = {1, 0, 0, 0, 0, 0};
+    int i90[] = {1, 0, 0, 0, 0, 1};
+    int i91[] = {1, 0, 0, 0, 1, 0};
+    int i92[] = {1, 0, 0, 0, 1, 1};
+    int i93[] = {1, 0, 0, 1, 0, 0};
+    int i94[] = {1, 0, 0, 1, 0, 1};
+    int i95[] = {1, 0, 0, 1, 1, 0};
+    int i96[] = {1, 0, 0, 1, 1, 1};
+    int i97[] = {1, 0, 1, 0, 0, 0};
+    int i98[] = {1, 0, 1, 0, 0, 1};
+    int i99[] = {1, 0, 1, 0, 1, 0};
+    int i100[] = {1, 0, 1, 0, 1, 1};
+    int i101[] = {1, 0, 1, 1, 0, 0};
+    int i102[] = {1, 0, 1, 1, 0, 1};
+    int i103[] = {1, 0, 1, 1, 1, 0};
+    int i104[] = {1, 0, 1, 1, 1, 1};
+    int i105[] = {1, 1, 0, 0, 0, 0};
+    int i106[] = {1, 1, 0, 0, 0, 1};
+    int i107[] = {1, 1, 0, 0, 1, 0};
+    int i108[] = {1, 1, 0, 0, 1, 1};
+    int i109[] = {1, 1, 0, 1, 0, 0};
+    int i110[] = {1, 1, 0, 1, 0, 1};
+    int i111[] = {1, 1, 0, 1, 1, 0};
+    int i112[] = {1, 1, 0, 1, 1, 1};
+    int i113[] = {1, 1, 1, 0, 0, 0};
+    int i114[] = {1, 1, 1, 0, 0, 1};
+    int i115[] = {1, 1, 1, 0, 1, 0};
+    int i116[] = {1, 1, 1, 0, 1, 1};
+    int i117[] = {1, 1, 1, 1, 0, 0};
+    int i118[] = {1, 1, 1, 1, 0, 1};
+    int i119[] = {1, 1, 1, 1, 1, 0};
+    assert(std::is_heap_until(i57, i57+6) == i57+6);
+    assert(std::is_heap_until(i58, i58+6) == i58+5);
+    assert(std::is_heap_until(i59, i59+6) == i59+4);
+    assert(std::is_heap_until(i60, i60+6) == i60+4);
+    assert(std::is_heap_until(i61, i61+6) == i61+3);
+    assert(std::is_heap_until(i62, i62+6) == i62+3);
+    assert(std::is_heap_until(i63, i63+6) == i63+3);
+    assert(std::is_heap_until(i64, i64+6) == i64+3);
+    assert(std::is_heap_until(i65, i65+6) == i65+2);
+    assert(std::is_heap_until(i66, i66+6) == i66+2);
+    assert(std::is_heap_until(i67, i67+6) == i67+2);
+    assert(std::is_heap_until(i68, i68+6) == i68+2);
+    assert(std::is_heap_until(i69, i69+6) == i69+2);
+    assert(std::is_heap_until(i70, i70+6) == i70+2);
+    assert(std::is_heap_until(i71, i71+6) == i71+2);
+    assert(std::is_heap_until(i72, i72+6) == i72+2);
+    assert(std::is_heap_until(i73, i73+6) == i73+1);
+    assert(std::is_heap_until(i74, i74+6) == i74+1);
+    assert(std::is_heap_until(i75, i75+6) == i75+1);
+    assert(std::is_heap_until(i76, i76+6) == i76+1);
+    assert(std::is_heap_until(i77, i77+6) == i77+1);
+    assert(std::is_heap_until(i78, i78+6) == i78+1);
+    assert(std::is_heap_until(i79, i79+6) == i79+1);
+    assert(std::is_heap_until(i80, i80+6) == i80+1);
+    assert(std::is_heap_until(i81, i81+6) == i81+1);
+    assert(std::is_heap_until(i82, i82+6) == i82+1);
+    assert(std::is_heap_until(i83, i83+6) == i83+1);
+    assert(std::is_heap_until(i84, i84+6) == i84+1);
+    assert(std::is_heap_until(i85, i85+6) == i85+1);
+    assert(std::is_heap_until(i86, i86+6) == i86+1);
+    assert(std::is_heap_until(i87, i87+6) == i87+1);
+    assert(std::is_heap_until(i88, i88+6) == i88+1);
+    assert(std::is_heap_until(i89, i89+6) == i89+6);
+    assert(std::is_heap_until(i90, i90+6) == i90+5);
+    assert(std::is_heap_until(i91, i91+6) == i91+4);
+    assert(std::is_heap_until(i92, i92+6) == i92+4);
+    assert(std::is_heap_until(i93, i93+6) == i93+3);
+    assert(std::is_heap_until(i94, i94+6) == i94+3);
+    assert(std::is_heap_until(i95, i95+6) == i95+3);
+    assert(std::is_heap_until(i96, i96+6) == i96+3);
+    assert(std::is_heap_until(i97, i97+6) == i97+6);
+    assert(std::is_heap_until(i98, i98+6) == i98+6);
+    assert(std::is_heap_until(i99, i99+6) == i99+4);
+    assert(std::is_heap_until(i100, i100+6) == i100+4);
+    assert(std::is_heap_until(i101, i101+6) == i101+3);
+    assert(std::is_heap_until(i102, i102+6) == i102+3);
+    assert(std::is_heap_until(i103, i103+6) == i103+3);
+    assert(std::is_heap_until(i104, i104+6) == i104+3);
+    assert(std::is_heap_until(i105, i105+6) == i105+6);
+    assert(std::is_heap_until(i106, i106+6) == i106+5);
+    assert(std::is_heap_until(i107, i107+6) == i107+6);
+    assert(std::is_heap_until(i108, i108+6) == i108+5);
+    assert(std::is_heap_until(i109, i109+6) == i109+6);
+    assert(std::is_heap_until(i110, i110+6) == i110+5);
+    assert(std::is_heap_until(i111, i111+6) == i111+6);
+    assert(std::is_heap_until(i112, i112+6) == i112+5);
+    assert(std::is_heap_until(i113, i113+6) == i113+6);
+    assert(std::is_heap_until(i114, i114+6) == i114+6);
+    assert(std::is_heap_until(i115, i115+6) == i115+6);
+    assert(std::is_heap_until(i116, i116+6) == i116+6);
+    assert(std::is_heap_until(i117, i117+6) == i117+6);
+    assert(std::is_heap_until(i118, i118+6) == i118+6);
+    assert(std::is_heap_until(i119, i119+6) == i119+6);
+    int i120[] = {0, 0, 0, 0, 0, 0, 0};
+    int i121[] = {0, 0, 0, 0, 0, 0, 1};
+    int i122[] = {0, 0, 0, 0, 0, 1, 0};
+    int i123[] = {0, 0, 0, 0, 0, 1, 1};
+    int i124[] = {0, 0, 0, 0, 1, 0, 0};
+    int i125[] = {0, 0, 0, 0, 1, 0, 1};
+    int i126[] = {0, 0, 0, 0, 1, 1, 0};
+    int i127[] = {0, 0, 0, 0, 1, 1, 1};
+    int i128[] = {0, 0, 0, 1, 0, 0, 0};
+    int i129[] = {0, 0, 0, 1, 0, 0, 1};
+    int i130[] = {0, 0, 0, 1, 0, 1, 0};
+    int i131[] = {0, 0, 0, 1, 0, 1, 1};
+    int i132[] = {0, 0, 0, 1, 1, 0, 0};
+    int i133[] = {0, 0, 0, 1, 1, 0, 1};
+    int i134[] = {0, 0, 0, 1, 1, 1, 0};
+    int i135[] = {0, 0, 0, 1, 1, 1, 1};
+    int i136[] = {0, 0, 1, 0, 0, 0, 0};
+    int i137[] = {0, 0, 1, 0, 0, 0, 1};
+    int i138[] = {0, 0, 1, 0, 0, 1, 0};
+    int i139[] = {0, 0, 1, 0, 0, 1, 1};
+    int i140[] = {0, 0, 1, 0, 1, 0, 0};
+    int i141[] = {0, 0, 1, 0, 1, 0, 1};
+    int i142[] = {0, 0, 1, 0, 1, 1, 0};
+    int i143[] = {0, 0, 1, 0, 1, 1, 1};
+    int i144[] = {0, 0, 1, 1, 0, 0, 0};
+    int i145[] = {0, 0, 1, 1, 0, 0, 1};
+    int i146[] = {0, 0, 1, 1, 0, 1, 0};
+    int i147[] = {0, 0, 1, 1, 0, 1, 1};
+    int i148[] = {0, 0, 1, 1, 1, 0, 0};
+    int i149[] = {0, 0, 1, 1, 1, 0, 1};
+    int i150[] = {0, 0, 1, 1, 1, 1, 0};
+    int i151[] = {0, 0, 1, 1, 1, 1, 1};
+    int i152[] = {0, 1, 0, 0, 0, 0, 0};
+    int i153[] = {0, 1, 0, 0, 0, 0, 1};
+    int i154[] = {0, 1, 0, 0, 0, 1, 0};
+    int i155[] = {0, 1, 0, 0, 0, 1, 1};
+    int i156[] = {0, 1, 0, 0, 1, 0, 0};
+    int i157[] = {0, 1, 0, 0, 1, 0, 1};
+    int i158[] = {0, 1, 0, 0, 1, 1, 0};
+    int i159[] = {0, 1, 0, 0, 1, 1, 1};
+    int i160[] = {0, 1, 0, 1, 0, 0, 0};
+    int i161[] = {0, 1, 0, 1, 0, 0, 1};
+    int i162[] = {0, 1, 0, 1, 0, 1, 0};
+    int i163[] = {0, 1, 0, 1, 0, 1, 1};
+    int i164[] = {0, 1, 0, 1, 1, 0, 0};
+    int i165[] = {0, 1, 0, 1, 1, 0, 1};
+    int i166[] = {0, 1, 0, 1, 1, 1, 0};
+    int i167[] = {0, 1, 0, 1, 1, 1, 1};
+    int i168[] = {0, 1, 1, 0, 0, 0, 0};
+    int i169[] = {0, 1, 1, 0, 0, 0, 1};
+    int i170[] = {0, 1, 1, 0, 0, 1, 0};
+    int i171[] = {0, 1, 1, 0, 0, 1, 1};
+    int i172[] = {0, 1, 1, 0, 1, 0, 0};
+    int i173[] = {0, 1, 1, 0, 1, 0, 1};
+    int i174[] = {0, 1, 1, 0, 1, 1, 0};
+    int i175[] = {0, 1, 1, 0, 1, 1, 1};
+    int i176[] = {0, 1, 1, 1, 0, 0, 0};
+    int i177[] = {0, 1, 1, 1, 0, 0, 1};
+    int i178[] = {0, 1, 1, 1, 0, 1, 0};
+    int i179[] = {0, 1, 1, 1, 0, 1, 1};
+    int i180[] = {0, 1, 1, 1, 1, 0, 0};
+    int i181[] = {0, 1, 1, 1, 1, 0, 1};
+    int i182[] = {0, 1, 1, 1, 1, 1, 0};
+    int i183[] = {0, 1, 1, 1, 1, 1, 1};
+    int i184[] = {1, 0, 0, 0, 0, 0, 0};
+    int i185[] = {1, 0, 0, 0, 0, 0, 1};
+    int i186[] = {1, 0, 0, 0, 0, 1, 0};
+    int i187[] = {1, 0, 0, 0, 0, 1, 1};
+    int i188[] = {1, 0, 0, 0, 1, 0, 0};
+    int i189[] = {1, 0, 0, 0, 1, 0, 1};
+    int i190[] = {1, 0, 0, 0, 1, 1, 0};
+    int i191[] = {1, 0, 0, 0, 1, 1, 1};
+    int i192[] = {1, 0, 0, 1, 0, 0, 0};
+    int i193[] = {1, 0, 0, 1, 0, 0, 1};
+    int i194[] = {1, 0, 0, 1, 0, 1, 0};
+    int i195[] = {1, 0, 0, 1, 0, 1, 1};
+    int i196[] = {1, 0, 0, 1, 1, 0, 0};
+    int i197[] = {1, 0, 0, 1, 1, 0, 1};
+    int i198[] = {1, 0, 0, 1, 1, 1, 0};
+    int i199[] = {1, 0, 0, 1, 1, 1, 1};
+    int i200[] = {1, 0, 1, 0, 0, 0, 0};
+    int i201[] = {1, 0, 1, 0, 0, 0, 1};
+    int i202[] = {1, 0, 1, 0, 0, 1, 0};
+    int i203[] = {1, 0, 1, 0, 0, 1, 1};
+    int i204[] = {1, 0, 1, 0, 1, 0, 0};
+    int i205[] = {1, 0, 1, 0, 1, 0, 1};
+    int i206[] = {1, 0, 1, 0, 1, 1, 0};
+    int i207[] = {1, 0, 1, 0, 1, 1, 1};
+    int i208[] = {1, 0, 1, 1, 0, 0, 0};
+    int i209[] = {1, 0, 1, 1, 0, 0, 1};
+    int i210[] = {1, 0, 1, 1, 0, 1, 0};
+    int i211[] = {1, 0, 1, 1, 0, 1, 1};
+    int i212[] = {1, 0, 1, 1, 1, 0, 0};
+    int i213[] = {1, 0, 1, 1, 1, 0, 1};
+    int i214[] = {1, 0, 1, 1, 1, 1, 0};
+    int i215[] = {1, 0, 1, 1, 1, 1, 1};
+    int i216[] = {1, 1, 0, 0, 0, 0, 0};
+    int i217[] = {1, 1, 0, 0, 0, 0, 1};
+    int i218[] = {1, 1, 0, 0, 0, 1, 0};
+    int i219[] = {1, 1, 0, 0, 0, 1, 1};
+    int i220[] = {1, 1, 0, 0, 1, 0, 0};
+    int i221[] = {1, 1, 0, 0, 1, 0, 1};
+    int i222[] = {1, 1, 0, 0, 1, 1, 0};
+    int i223[] = {1, 1, 0, 0, 1, 1, 1};
+    int i224[] = {1, 1, 0, 1, 0, 0, 0};
+    int i225[] = {1, 1, 0, 1, 0, 0, 1};
+    int i226[] = {1, 1, 0, 1, 0, 1, 0};
+    int i227[] = {1, 1, 0, 1, 0, 1, 1};
+    int i228[] = {1, 1, 0, 1, 1, 0, 0};
+    int i229[] = {1, 1, 0, 1, 1, 0, 1};
+    int i230[] = {1, 1, 0, 1, 1, 1, 0};
+    int i231[] = {1, 1, 0, 1, 1, 1, 1};
+    int i232[] = {1, 1, 1, 0, 0, 0, 0};
+    int i233[] = {1, 1, 1, 0, 0, 0, 1};
+    int i234[] = {1, 1, 1, 0, 0, 1, 0};
+    int i235[] = {1, 1, 1, 0, 0, 1, 1};
+    int i236[] = {1, 1, 1, 0, 1, 0, 0};
+    int i237[] = {1, 1, 1, 0, 1, 0, 1};
+    int i238[] = {1, 1, 1, 0, 1, 1, 0};
+    int i239[] = {1, 1, 1, 0, 1, 1, 1};
+    int i240[] = {1, 1, 1, 1, 0, 0, 0};
+    int i241[] = {1, 1, 1, 1, 0, 0, 1};
+    int i242[] = {1, 1, 1, 1, 0, 1, 0};
+    int i243[] = {1, 1, 1, 1, 0, 1, 1};
+    int i244[] = {1, 1, 1, 1, 1, 0, 0};
+    int i245[] = {1, 1, 1, 1, 1, 0, 1};
+    int i246[] = {1, 1, 1, 1, 1, 1, 0};
+    assert(std::is_heap_until(i120, i120+7) == i120+7);
+    assert(std::is_heap_until(i121, i121+7) == i121+6);
+    assert(std::is_heap_until(i122, i122+7) == i122+5);
+    assert(std::is_heap_until(i123, i123+7) == i123+5);
+    assert(std::is_heap_until(i124, i124+7) == i124+4);
+    assert(std::is_heap_until(i125, i125+7) == i125+4);
+    assert(std::is_heap_until(i126, i126+7) == i126+4);
+    assert(std::is_heap_until(i127, i127+7) == i127+4);
+    assert(std::is_heap_until(i128, i128+7) == i128+3);
+    assert(std::is_heap_until(i129, i129+7) == i129+3);
+    assert(std::is_heap_until(i130, i130+7) == i130+3);
+    assert(std::is_heap_until(i131, i131+7) == i131+3);
+    assert(std::is_heap_until(i132, i132+7) == i132+3);
+    assert(std::is_heap_until(i133, i133+7) == i133+3);
+    assert(std::is_heap_until(i134, i134+7) == i134+3);
+    assert(std::is_heap_until(i135, i135+7) == i135+3);
+    assert(std::is_heap_until(i136, i136+7) == i136+2);
+    assert(std::is_heap_until(i137, i137+7) == i137+2);
+    assert(std::is_heap_until(i138, i138+7) == i138+2);
+    assert(std::is_heap_until(i139, i139+7) == i139+2);
+    assert(std::is_heap_until(i140, i140+7) == i140+2);
+    assert(std::is_heap_until(i141, i141+7) == i141+2);
+    assert(std::is_heap_until(i142, i142+7) == i142+2);
+    assert(std::is_heap_until(i143, i143+7) == i143+2);
+    assert(std::is_heap_until(i144, i144+7) == i144+2);
+    assert(std::is_heap_until(i145, i145+7) == i145+2);
+    assert(std::is_heap_until(i146, i146+7) == i146+2);
+    assert(std::is_heap_until(i147, i147+7) == i147+2);
+    assert(std::is_heap_until(i148, i148+7) == i148+2);
+    assert(std::is_heap_until(i149, i149+7) == i149+2);
+    assert(std::is_heap_until(i150, i150+7) == i150+2);
+    assert(std::is_heap_until(i151, i151+7) == i151+2);
+    assert(std::is_heap_until(i152, i152+7) == i152+1);
+    assert(std::is_heap_until(i153, i153+7) == i153+1);
+    assert(std::is_heap_until(i154, i154+7) == i154+1);
+    assert(std::is_heap_until(i155, i155+7) == i155+1);
+    assert(std::is_heap_until(i156, i156+7) == i156+1);
+    assert(std::is_heap_until(i157, i157+7) == i157+1);
+    assert(std::is_heap_until(i158, i158+7) == i158+1);
+    assert(std::is_heap_until(i159, i159+7) == i159+1);
+    assert(std::is_heap_until(i160, i160+7) == i160+1);
+    assert(std::is_heap_until(i161, i161+7) == i161+1);
+    assert(std::is_heap_until(i162, i162+7) == i162+1);
+    assert(std::is_heap_until(i163, i163+7) == i163+1);
+    assert(std::is_heap_until(i164, i164+7) == i164+1);
+    assert(std::is_heap_until(i165, i165+7) == i165+1);
+    assert(std::is_heap_until(i166, i166+7) == i166+1);
+    assert(std::is_heap_until(i167, i167+7) == i167+1);
+    assert(std::is_heap_until(i168, i168+7) == i168+1);
+    assert(std::is_heap_until(i169, i169+7) == i169+1);
+    assert(std::is_heap_until(i170, i170+7) == i170+1);
+    assert(std::is_heap_until(i171, i171+7) == i171+1);
+    assert(std::is_heap_until(i172, i172+7) == i172+1);
+    assert(std::is_heap_until(i173, i173+7) == i173+1);
+    assert(std::is_heap_until(i174, i174+7) == i174+1);
+    assert(std::is_heap_until(i175, i175+7) == i175+1);
+    assert(std::is_heap_until(i176, i176+7) == i176+1);
+    assert(std::is_heap_until(i177, i177+7) == i177+1);
+    assert(std::is_heap_until(i178, i178+7) == i178+1);
+    assert(std::is_heap_until(i179, i179+7) == i179+1);
+    assert(std::is_heap_until(i180, i180+7) == i180+1);
+    assert(std::is_heap_until(i181, i181+7) == i181+1);
+    assert(std::is_heap_until(i182, i182+7) == i182+1);
+    assert(std::is_heap_until(i183, i183+7) == i183+1);
+    assert(std::is_heap_until(i184, i184+7) == i184+7);
+    assert(std::is_heap_until(i185, i185+7) == i185+6);
+    assert(std::is_heap_until(i186, i186+7) == i186+5);
+    assert(std::is_heap_until(i187, i187+7) == i187+5);
+    assert(std::is_heap_until(i188, i188+7) == i188+4);
+    assert(std::is_heap_until(i189, i189+7) == i189+4);
+    assert(std::is_heap_until(i190, i190+7) == i190+4);
+    assert(std::is_heap_until(i191, i191+7) == i191+4);
+    assert(std::is_heap_until(i192, i192+7) == i192+3);
+    assert(std::is_heap_until(i193, i193+7) == i193+3);
+    assert(std::is_heap_until(i194, i194+7) == i194+3);
+    assert(std::is_heap_until(i195, i195+7) == i195+3);
+    assert(std::is_heap_until(i196, i196+7) == i196+3);
+    assert(std::is_heap_until(i197, i197+7) == i197+3);
+    assert(std::is_heap_until(i198, i198+7) == i198+3);
+    assert(std::is_heap_until(i199, i199+7) == i199+3);
+    assert(std::is_heap_until(i200, i200+7) == i200+7);
+    assert(std::is_heap_until(i201, i201+7) == i201+7);
+    assert(std::is_heap_until(i202, i202+7) == i202+7);
+    assert(std::is_heap_until(i203, i203+7) == i203+7);
+    assert(std::is_heap_until(i204, i204+7) == i204+4);
+    assert(std::is_heap_until(i205, i205+7) == i205+4);
+    assert(std::is_heap_until(i206, i206+7) == i206+4);
+    assert(std::is_heap_until(i207, i207+7) == i207+4);
+    assert(std::is_heap_until(i208, i208+7) == i208+3);
+    assert(std::is_heap_until(i209, i209+7) == i209+3);
+    assert(std::is_heap_until(i210, i210+7) == i210+3);
+    assert(std::is_heap_until(i211, i211+7) == i211+3);
+    assert(std::is_heap_until(i212, i212+7) == i212+3);
+    assert(std::is_heap_until(i213, i213+7) == i213+3);
+    assert(std::is_heap_until(i214, i214+7) == i214+3);
+    assert(std::is_heap_until(i215, i215+7) == i215+3);
+    assert(std::is_heap_until(i216, i216+7) == i216+7);
+    assert(std::is_heap_until(i217, i217+7) == i217+6);
+    assert(std::is_heap_until(i218, i218+7) == i218+5);
+    assert(std::is_heap_until(i219, i219+7) == i219+5);
+    assert(std::is_heap_until(i220, i220+7) == i220+7);
+    assert(std::is_heap_until(i221, i221+7) == i221+6);
+    assert(std::is_heap_until(i222, i222+7) == i222+5);
+    assert(std::is_heap_until(i223, i223+7) == i223+5);
+    assert(std::is_heap_until(i224, i224+7) == i224+7);
+    assert(std::is_heap_until(i225, i225+7) == i225+6);
+    assert(std::is_heap_until(i226, i226+7) == i226+5);
+    assert(std::is_heap_until(i227, i227+7) == i227+5);
+    assert(std::is_heap_until(i228, i228+7) == i228+7);
+    assert(std::is_heap_until(i229, i229+7) == i229+6);
+    assert(std::is_heap_until(i230, i230+7) == i230+5);
+    assert(std::is_heap_until(i231, i231+7) == i231+5);
+    assert(std::is_heap_until(i232, i232+7) == i232+7);
+    assert(std::is_heap_until(i233, i233+7) == i233+7);
+    assert(std::is_heap_until(i234, i234+7) == i234+7);
+    assert(std::is_heap_until(i235, i235+7) == i235+7);
+    assert(std::is_heap_until(i236, i236+7) == i236+7);
+    assert(std::is_heap_until(i237, i237+7) == i237+7);
+    assert(std::is_heap_until(i238, i238+7) == i238+7);
+    assert(std::is_heap_until(i239, i239+7) == i239+7);
+    assert(std::is_heap_until(i240, i240+7) == i240+7);
+    assert(std::is_heap_until(i241, i241+7) == i241+7);
+    assert(std::is_heap_until(i242, i242+7) == i242+7);
+    assert(std::is_heap_until(i243, i243+7) == i243+7);
+    assert(std::is_heap_until(i244, i244+7) == i244+7);
+    assert(std::is_heap_until(i245, i245+7) == i245+7);
+    assert(std::is_heap_until(i246, i246+7) == i246+7);
+}
+
+int main()
+{
+    test();
+}





More information about the cfe-commits mailing list