[libcxx-commits] [libcxx] r369481 - libcxx: Rename .hpp files in libcxx/test/support to .h
Nico Weber via libcxx-commits
libcxx-commits at lists.llvm.org
Tue Aug 20 17:14:14 PDT 2019
Author: nico
Date: Tue Aug 20 17:14:12 2019
New Revision: 369481
URL: http://llvm.org/viewvc/llvm-project?rev=369481&view=rev
Log:
libcxx: Rename .hpp files in libcxx/test/support to .h
LLVM uses .h as its extension for header files.
Files renamed using:
for f in libcxx/test/support/*.hpp; do git mv $f ${f%.hpp}.h; done
References to the files updated using:
for f in $(git diff master | grep 'rename from' | cut -f 3 -d ' '); do
a=$(basename $f);
echo $a;
rg -l $a libcxx | xargs sed -i '' "s/$a/${a%.hpp}.h/";
done
HPP include guards updated manually using:
for f in $(git diff master | grep 'rename from' | cut -f 3 -d ' '); do
echo ${f%.hpp}.h ;
done | xargs mvim
Differential Revision: https://reviews.llvm.org/D66104
Added:
libcxx/trunk/test/support/archetypes.h
libcxx/trunk/test/support/constexpr_char_traits.h
libcxx/trunk/test/support/container_debug_tests.h
libcxx/trunk/test/support/controlled_allocators.h
libcxx/trunk/test/support/count_new.h
libcxx/trunk/test/support/counting_predicates.h
libcxx/trunk/test/support/filesystem_include.h
libcxx/trunk/test/support/filesystem_test_helper.h
libcxx/trunk/test/support/format_string.h
libcxx/trunk/test/support/msvc_stdlib_force_include.h
libcxx/trunk/test/support/nasty_containers.h
libcxx/trunk/test/support/nasty_macros.h
libcxx/trunk/test/support/poisoned_hash_helper.h
libcxx/trunk/test/support/private_constructor.h
libcxx/trunk/test/support/rapid-cxx-test.h
libcxx/trunk/test/support/test_convertible.h
libcxx/trunk/test/support/test_memory_resource.h
libcxx/trunk/test/support/user_defined_integral.h
libcxx/trunk/test/support/uses_alloc_types.h
libcxx/trunk/test/support/variant_test_helpers.h
Removed:
libcxx/trunk/test/support/archetypes.hpp
libcxx/trunk/test/support/constexpr_char_traits.hpp
libcxx/trunk/test/support/container_debug_tests.hpp
libcxx/trunk/test/support/controlled_allocators.hpp
libcxx/trunk/test/support/count_new.hpp
libcxx/trunk/test/support/counting_predicates.hpp
libcxx/trunk/test/support/filesystem_include.hpp
libcxx/trunk/test/support/filesystem_test_helper.hpp
libcxx/trunk/test/support/format_string.hpp
libcxx/trunk/test/support/msvc_stdlib_force_include.hpp
libcxx/trunk/test/support/nasty_containers.hpp
libcxx/trunk/test/support/nasty_macros.hpp
libcxx/trunk/test/support/poisoned_hash_helper.hpp
libcxx/trunk/test/support/private_constructor.hpp
libcxx/trunk/test/support/rapid-cxx-test.hpp
libcxx/trunk/test/support/test_convertible.hpp
libcxx/trunk/test/support/test_memory_resource.hpp
libcxx/trunk/test/support/user_defined_integral.hpp
libcxx/trunk/test/support/uses_alloc_types.hpp
libcxx/trunk/test/support/variant_test_helpers.hpp
Modified:
libcxx/trunk/benchmarks/filesystem.bench.cpp
libcxx/trunk/test/libcxx/algorithms/half_positive.pass.cpp
libcxx/trunk/test/libcxx/containers/gnu_cxx/hash_map.pass.cpp
libcxx/trunk/test/libcxx/containers/gnu_cxx/hash_set.pass.cpp
libcxx/trunk/test/libcxx/containers/sequences/deque/spare_block_handling.pass.cpp
libcxx/trunk/test/libcxx/debug/containers/db_associative_container_tests.pass.cpp
libcxx/trunk/test/libcxx/debug/containers/db_sequence_container_iterators.multithread.pass.cpp
libcxx/trunk/test/libcxx/debug/containers/db_sequence_container_iterators.pass.cpp
libcxx/trunk/test/libcxx/debug/containers/db_string.pass.cpp
libcxx/trunk/test/libcxx/debug/containers/db_unord_container_tests.pass.cpp
libcxx/trunk/test/libcxx/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/construct_piecewise_pair.pass.cpp
libcxx/trunk/test/libcxx/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/db_deallocate.pass.cpp
libcxx/trunk/test/libcxx/experimental/memory/memory.resource.adaptor/memory.resource.adaptor.mem/db_deallocate.pass.cpp
libcxx/trunk/test/libcxx/input.output/filesystems/class.directory_entry/directory_entry.mods/last_write_time.sh.cpp
libcxx/trunk/test/libcxx/input.output/filesystems/class.path/path.itr/iterator_db.pass.cpp
libcxx/trunk/test/libcxx/input.output/filesystems/class.path/path.itr/reverse_iterator_produces_diagnostic.fail.cpp
libcxx/trunk/test/libcxx/input.output/filesystems/class.path/path.req/is_pathable.pass.cpp
libcxx/trunk/test/libcxx/type_traits/convert_to_integral.pass.cpp
libcxx/trunk/test/libcxx/utilities/optional/optional.object/triviality.abi.pass.cpp
libcxx/trunk/test/libcxx/utilities/tuple/tuple.tuple/tuple.cnstr/disable_reduced_arity_initialization_extension.pass.cpp
libcxx/trunk/test/libcxx/utilities/tuple/tuple.tuple/tuple.cnstr/enable_reduced_arity_initialization_extension.pass.cpp
libcxx/trunk/test/libcxx/utilities/utility/pairs/pairs.pair/assign_tuple_like.pass.cpp
libcxx/trunk/test/libcxx/utilities/utility/pairs/pairs.pair/piecewise.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_n.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/generate_n.pass.cpp
libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.partitions/is_partitioned.pass.cpp
libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.remove/remove_if.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/mismatch/mismatch_pred.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.merge/inplace_merge_comp.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/minmax_init_list_comp.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.ops/count.pass.cpp
libcxx/trunk/test/std/containers/associative/map/map.ops/count_transparent.pass.cpp
libcxx/trunk/test/std/containers/associative/map/map.ops/equal_range.pass.cpp
libcxx/trunk/test/std/containers/associative/map/map.ops/equal_range_transparent.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/multimap/multimap.ops/count.pass.cpp
libcxx/trunk/test/std/containers/associative/multimap/multimap.ops/count_transparent.pass.cpp
libcxx/trunk/test/std/containers/associative/multimap/multimap.ops/equal_range.pass.cpp
libcxx/trunk/test/std/containers/associative/multimap/multimap.ops/equal_range_transparent.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/multiset/count.pass.cpp
libcxx/trunk/test/std/containers/associative/multiset/count_transparent.pass.cpp
libcxx/trunk/test/std/containers/associative/multiset/equal_range.pass.cpp
libcxx/trunk/test/std/containers/associative/multiset/equal_range_transparent.pass.cpp
libcxx/trunk/test/std/containers/associative/multiset/find.pass.cpp
libcxx/trunk/test/std/containers/associative/multiset/lower_bound.pass.cpp
libcxx/trunk/test/std/containers/associative/multiset/upper_bound.pass.cpp
libcxx/trunk/test/std/containers/associative/set/count.pass.cpp
libcxx/trunk/test/std/containers/associative/set/count_transparent.pass.cpp
libcxx/trunk/test/std/containers/associative/set/equal_range.pass.cpp
libcxx/trunk/test/std/containers/associative/set/equal_range_transparent.pass.cpp
libcxx/trunk/test/std/containers/associative/set/find.pass.cpp
libcxx/trunk/test/std/containers/associative/set/lower_bound.pass.cpp
libcxx/trunk/test/std/containers/associative/set/upper_bound.pass.cpp
libcxx/trunk/test/std/containers/map_allocator_requirement_test_templates.h
libcxx/trunk/test/std/containers/sequences/forwardlist/forwardlist.ops/remove_if.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_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.ops/remove_if.pass.cpp
libcxx/trunk/test/std/containers/sequences/vector.bool/enabled_hash.pass.cpp
libcxx/trunk/test/std/containers/set_allocator_requirement_test_templates.h
libcxx/trunk/test/std/containers/unord/unord.map/unord.map.elem/index.pass.cpp
libcxx/trunk/test/std/diagnostics/syserr/syserr.hash/enabled_hash.pass.cpp
libcxx/trunk/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.ctor/default.pass.cpp
libcxx/trunk/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.ctor/memory_resource_convert.pass.cpp
libcxx/trunk/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.eq/equal.pass.cpp
libcxx/trunk/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.eq/not_equal.pass.cpp
libcxx/trunk/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/allocate.pass.cpp
libcxx/trunk/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/construct_pair.pass.cpp
libcxx/trunk/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/construct_pair_const_lvalue_pair.pass.cpp
libcxx/trunk/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/construct_pair_rvalue.pass.cpp
libcxx/trunk/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/construct_pair_values.pass.cpp
libcxx/trunk/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/construct_piecewise_pair.pass.cpp
libcxx/trunk/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/construct_types.pass.cpp
libcxx/trunk/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/deallocate.pass.cpp
libcxx/trunk/test/std/experimental/memory/memory.resource.adaptor/memory.resource.adaptor.ctor/alloc_copy.pass.cpp
libcxx/trunk/test/std/experimental/memory/memory.resource.adaptor/memory.resource.adaptor.ctor/alloc_move.pass.cpp
libcxx/trunk/test/std/experimental/memory/memory.resource.adaptor/memory.resource.adaptor.ctor/default.pass.cpp
libcxx/trunk/test/std/experimental/memory/memory.resource.adaptor/memory.resource.adaptor.mem/do_allocate_and_deallocate.pass.cpp
libcxx/trunk/test/std/experimental/memory/memory.resource.adaptor/memory.resource.adaptor.mem/do_is_equal.pass.cpp
libcxx/trunk/test/std/experimental/memory/memory.resource.aliases/header_string_synop.pass.cpp
libcxx/trunk/test/std/experimental/memory/memory.resource.global/default_resource.pass.cpp
libcxx/trunk/test/std/experimental/memory/memory.resource.global/new_delete_resource.pass.cpp
libcxx/trunk/test/std/experimental/memory/memory.resource.global/null_memory_resource.pass.cpp
libcxx/trunk/test/std/experimental/memory/memory.resource/memory.resource.eq/equal.pass.cpp
libcxx/trunk/test/std/experimental/memory/memory.resource/memory.resource.eq/not_equal.pass.cpp
libcxx/trunk/test/std/experimental/memory/memory.resource/memory.resource.public/allocate.pass.cpp
libcxx/trunk/test/std/experimental/memory/memory.resource/memory.resource.public/deallocate.pass.cpp
libcxx/trunk/test/std/experimental/memory/memory.resource/memory.resource.public/dtor.pass.cpp
libcxx/trunk/test/std/experimental/memory/memory.resource/memory.resource.public/is_equal.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/copy.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/copy_assign.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/default.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/default_const.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/move.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/move_assign.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/path.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/class.directory_entry/directory_entry.mods/assign.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/class.directory_entry/directory_entry.mods/refresh.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/class.directory_entry/directory_entry.mods/replace_filename.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/comparisons.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/file_size.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/file_type_obs.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/hard_link_count.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/last_write_time.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/path.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/status.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/symlink_status.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/copy.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/copy_assign.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/ctor.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/default_ctor.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/increment.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/move.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/move_assign.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.nonmembers/begin_end.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/class.directory_iterator/types.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/class.file_status/file_status.cons.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/class.file_status/file_status.mods.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/class.file_status/file_status.obs.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/class.filesystem_error/filesystem_error.members.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/class.path/path.itr/iterator.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.append.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.assign/braced_init.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.assign/copy.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.assign/move.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.assign/source.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.compare.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.concat.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.construct/copy.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.construct/default.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.construct/move.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.construct/source.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.decompose/empty.fail.cpp
libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.decompose/path.decompose.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.gen/lexically_normal.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.gen/lexically_relative_and_proximate.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.generic.obs/generic_string_alloc.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.generic.obs/named_overloads.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.modifiers/clear.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.modifiers/make_preferred.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.modifiers/remove_filename.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.modifiers/replace_extension.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.modifiers/replace_filename.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.modifiers/swap.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.native.obs/c_str.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.native.obs/named_overloads.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.native.obs/native.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.native.obs/operator_string.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.native.obs/string_alloc.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/class.path/path.nonmember/append_op.fail.cpp
libcxx/trunk/test/std/input.output/filesystems/class.path/path.nonmember/append_op.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/class.path/path.nonmember/comparison_ops.fail.cpp
libcxx/trunk/test/std/input.output/filesystems/class.path/path.nonmember/path.factory.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/class.path/path.nonmember/path.io.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/class.path/path.nonmember/path.io.unicode_bug.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/class.path/path.nonmember/swap.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/class.path/synop.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/copy.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/copy_assign.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/ctor.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/depth.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/disable_recursion_pending.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/increment.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/move.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/move_assign.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/pop.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/recursion_pending.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.nonmembers/begin_end.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/fs.enum/enum.copy_options.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/fs.enum/enum.directory_options.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/fs.enum/enum.file_type.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/fs.enum/enum.path.format.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/fs.enum/enum.perm_options.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/fs.enum/enum.perms.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/fs.filesystem.synopsis/file_time_type.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.absolute/absolute.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.canonical/canonical.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.copy/copy.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.copy_file/copy_file.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.copy_file/copy_file_large.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.copy_symlink/copy_symlink.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_directories/create_directories.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_directory/create_directory.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_directory/create_directory_with_attributes.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_directory_symlink/create_directory_symlink.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_hard_link/create_hard_link.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_symlink/create_symlink.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.current_path/current_path.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.equivalent/equivalent.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.exists/exists.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.file_size/file_size.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.hard_lk_ct/hard_link_count.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_block_file/is_block_file.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_char_file/is_character_file.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_directory/is_directory.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_empty/is_empty.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_fifo/is_fifo.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_other/is_other.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_regular_file/is_regular_file.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_socket/is_socket.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_symlink/is_symlink.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.last_write_time/last_write_time.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.permissions/permissions.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.proximate/proximate.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.read_symlink/read_symlink.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.relative/relative.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.remove/remove.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.remove_all/remove_all.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.rename/rename.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.resize_file/resize_file.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.space/space.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.status/status.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.status_known/status_known.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.symlink_status/symlink_status.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.temp_dir_path/temp_directory_path.pass.cpp
libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.weakly_canonical/weakly_canonical.pass.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++/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_astrk/test.pass.cpp
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/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++/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=/lv_value.pass.cpp
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/test.pass.cpp
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++/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=/lv_value.pass.cpp
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/test.pass.cpp
libcxx/trunk/test/std/language.support/support.dynamic/destroying_delete_t_declaration.pass.cpp
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.stdcvt/codecvt_utf16.pass.cpp
libcxx/trunk/test/std/localization/locale.stdcvt/codecvt_utf8.pass.cpp
libcxx/trunk/test/std/localization/locales/locale.convenience/conversions/conversions.buffer/ctor.pass.cpp
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/combine.pass.cpp
libcxx/trunk/test/std/strings/basic.string.hash/enabled_hashes.pass.cpp
libcxx/trunk/test/std/strings/basic.string/string.cons/implicit_deduction_guides.pass.cpp
libcxx/trunk/test/std/strings/string.view/string.view.comparison/opeq.string_view.pointer.pass.cpp
libcxx/trunk/test/std/strings/string.view/string.view.comparison/opeq.string_view.string_view.pass.cpp
libcxx/trunk/test/std/strings/string.view/string.view.comparison/opge.string_view.pointer.pass.cpp
libcxx/trunk/test/std/strings/string.view/string.view.comparison/opge.string_view.string_view.pass.cpp
libcxx/trunk/test/std/strings/string.view/string.view.comparison/opgt.string_view.pointer.pass.cpp
libcxx/trunk/test/std/strings/string.view/string.view.comparison/opgt.string_view.string_view.pass.cpp
libcxx/trunk/test/std/strings/string.view/string.view.comparison/ople.string_view.pointer.pass.cpp
libcxx/trunk/test/std/strings/string.view/string.view.comparison/ople.string_view.string_view.pass.cpp
libcxx/trunk/test/std/strings/string.view/string.view.comparison/oplt.string_view.pointer.pass.cpp
libcxx/trunk/test/std/strings/string.view/string.view.comparison/oplt.string_view.string_view.pass.cpp
libcxx/trunk/test/std/strings/string.view/string.view.comparison/opne.string_view.pointer.pass.cpp
libcxx/trunk/test/std/strings/string.view/string.view.comparison/opne.string_view.string_view.pass.cpp
libcxx/trunk/test/std/strings/string.view/string.view.cons/from_literal.pass.cpp
libcxx/trunk/test/std/strings/string.view/string.view.cons/implicit_deduction_guides.pass.cpp
libcxx/trunk/test/std/strings/string.view/string.view.find/find_char_size.pass.cpp
libcxx/trunk/test/std/strings/string.view/string.view.find/find_first_not_of_char_size.pass.cpp
libcxx/trunk/test/std/strings/string.view/string.view.find/find_first_not_of_pointer_size.pass.cpp
libcxx/trunk/test/std/strings/string.view/string.view.find/find_first_not_of_pointer_size_size.pass.cpp
libcxx/trunk/test/std/strings/string.view/string.view.find/find_first_of_char_size.pass.cpp
libcxx/trunk/test/std/strings/string.view/string.view.find/find_first_of_pointer_size.pass.cpp
libcxx/trunk/test/std/strings/string.view/string.view.find/find_first_of_pointer_size_size.pass.cpp
libcxx/trunk/test/std/strings/string.view/string.view.find/find_last_not_of_char_size.pass.cpp
libcxx/trunk/test/std/strings/string.view/string.view.find/find_last_not_of_pointer_size.pass.cpp
libcxx/trunk/test/std/strings/string.view/string.view.find/find_last_not_of_pointer_size_size.pass.cpp
libcxx/trunk/test/std/strings/string.view/string.view.find/find_last_of_char_size.pass.cpp
libcxx/trunk/test/std/strings/string.view/string.view.find/find_last_of_pointer_size.pass.cpp
libcxx/trunk/test/std/strings/string.view/string.view.find/find_last_of_pointer_size_size.pass.cpp
libcxx/trunk/test/std/strings/string.view/string.view.find/find_pointer_size.pass.cpp
libcxx/trunk/test/std/strings/string.view/string.view.find/find_pointer_size_size.pass.cpp
libcxx/trunk/test/std/strings/string.view/string.view.find/find_string_view_size.pass.cpp
libcxx/trunk/test/std/strings/string.view/string.view.find/rfind_char_size.pass.cpp
libcxx/trunk/test/std/strings/string.view/string.view.find/rfind_pointer_size.pass.cpp
libcxx/trunk/test/std/strings/string.view/string.view.find/rfind_pointer_size_size.pass.cpp
libcxx/trunk/test/std/strings/string.view/string.view.find/rfind_string_view_size.pass.cpp
libcxx/trunk/test/std/strings/string.view/string.view.hash/enabled_hashes.pass.cpp
libcxx/trunk/test/std/strings/string.view/string.view.ops/compare.pointer.pass.cpp
libcxx/trunk/test/std/strings/string.view/string.view.ops/compare.pointer_size.pass.cpp
libcxx/trunk/test/std/strings/string.view/string.view.ops/compare.size_size_sv.pass.cpp
libcxx/trunk/test/std/strings/string.view/string.view.ops/compare.size_size_sv_pointer_size.pass.cpp
libcxx/trunk/test/std/strings/string.view/string.view.ops/compare.size_size_sv_size_size.pass.cpp
libcxx/trunk/test/std/strings/string.view/string.view.ops/compare.sv.pass.cpp
libcxx/trunk/test/std/strings/string.view/string.view.template/ends_with.char.pass.cpp
libcxx/trunk/test/std/strings/string.view/string.view.template/ends_with.ptr.pass.cpp
libcxx/trunk/test/std/strings/string.view/string.view.template/ends_with.string_view.pass.cpp
libcxx/trunk/test/std/strings/string.view/string.view.template/starts_with.char.pass.cpp
libcxx/trunk/test/std/strings/string.view/string.view.template/starts_with.ptr.pass.cpp
libcxx/trunk/test/std/strings/string.view/string.view.template/starts_with.string_view.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_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.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_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.threads/thread.thread.class/thread.thread.id/enabled_hashes.pass.cpp
libcxx/trunk/test/std/utilities/allocator.adaptor/allocator.adaptor.members/construct_pair.pass.cpp
libcxx/trunk/test/std/utilities/allocator.adaptor/allocator.adaptor.members/construct_pair_const_lvalue_pair.pass.cpp
libcxx/trunk/test/std/utilities/allocator.adaptor/allocator.adaptor.members/construct_pair_piecewise.pass.cpp
libcxx/trunk/test/std/utilities/allocator.adaptor/allocator.adaptor.members/construct_pair_rvalue.pass.cpp
libcxx/trunk/test/std/utilities/allocator.adaptor/allocator.adaptor.members/construct_pair_values.pass.cpp
libcxx/trunk/test/std/utilities/allocator.adaptor/allocator.adaptor.members/construct_type.pass.cpp
libcxx/trunk/test/std/utilities/any/any.class/any.assign/copy.pass.cpp
libcxx/trunk/test/std/utilities/any/any.class/any.assign/value.pass.cpp
libcxx/trunk/test/std/utilities/any/any.class/any.cons/copy.pass.cpp
libcxx/trunk/test/std/utilities/any/any.class/any.cons/default.pass.cpp
libcxx/trunk/test/std/utilities/any/any.class/any.cons/in_place_type.pass.cpp
libcxx/trunk/test/std/utilities/any/any.class/any.cons/move.pass.cpp
libcxx/trunk/test/std/utilities/any/any.class/any.cons/value.pass.cpp
libcxx/trunk/test/std/utilities/any/any.class/any.modifiers/emplace.pass.cpp
libcxx/trunk/test/std/utilities/any/any.nonmembers/any.cast/any_cast_reference.pass.cpp
libcxx/trunk/test/std/utilities/any/any.nonmembers/make_any.pass.cpp
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.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/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_rfunction.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/copy_move.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.mod/swap.pass.cpp
libcxx/trunk/test/std/utilities/function.objects/refwrap/refwrap.helpers/ref_2.pass.cpp
libcxx/trunk/test/std/utilities/function.objects/unord.hash/enabled_hashes.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/util.smartptr/util.smartptr.enab/enable_shared_from_this.pass.cpp
libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.hash/enabled_hash.pass.cpp
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/util.smartptr.shared.const/auto_ptr.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_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/unique_ptr.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/optional/optional.hash/enabled_hash.pass.cpp
libcxx/trunk/test/std/utilities/optional/optional.hash/hash.pass.cpp
libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.assign/assign_value.pass.cpp
libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.assign/const_optional_U.pass.cpp
libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.assign/copy.pass.cpp
libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.assign/emplace.pass.cpp
libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.assign/move.pass.cpp
libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.assign/nullopt_t.pass.cpp
libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.assign/optional_U.pass.cpp
libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.ctor/U.pass.cpp
libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.ctor/const_T.pass.cpp
libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.ctor/copy.pass.cpp
libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.ctor/default.pass.cpp
libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.ctor/empty_in_place_t_does_not_clobber.pass.cpp
libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.ctor/move.pass.cpp
libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.ctor/nullopt_t.pass.cpp
libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.ctor/rvalue_T.pass.cpp
libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.swap/swap.pass.cpp
libcxx/trunk/test/std/utilities/optional/optional.object/special_members.pass.cpp
libcxx/trunk/test/std/utilities/optional/optional.object/triviality.pass.cpp
libcxx/trunk/test/std/utilities/optional/optional.specalg/swap.pass.cpp
libcxx/trunk/test/std/utilities/template.bitset/bitset.hash/enabled_hash.pass.cpp
libcxx/trunk/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/UTypes.pass.cpp
libcxx/trunk/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/deduct.pass.cpp
libcxx/trunk/test/std/utilities/type.index/type.index.hash/enabled_hash.pass.cpp
libcxx/trunk/test/std/utilities/type.index/type.index.synopsis/hash_type_index.pass.cpp
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_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/default.pass.cpp
libcxx/trunk/test/std/utilities/utility/pairs/pairs.pair/implicit_deduction_guides.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/special_member_generation_test.pass.cpp
libcxx/trunk/test/std/utilities/variant/variant.get/get_if_index.pass.cpp
libcxx/trunk/test/std/utilities/variant/variant.get/get_if_type.pass.cpp
libcxx/trunk/test/std/utilities/variant/variant.get/get_index.pass.cpp
libcxx/trunk/test/std/utilities/variant/variant.get/get_type.pass.cpp
libcxx/trunk/test/std/utilities/variant/variant.hash/enabled_hash.pass.cpp
libcxx/trunk/test/std/utilities/variant/variant.hash/hash.pass.cpp
libcxx/trunk/test/std/utilities/variant/variant.helpers/variant_alternative.pass.cpp
libcxx/trunk/test/std/utilities/variant/variant.variant/variant.assign/T.pass.cpp
libcxx/trunk/test/std/utilities/variant/variant.variant/variant.assign/conv.pass.cpp
libcxx/trunk/test/std/utilities/variant/variant.variant/variant.assign/move.pass.cpp
libcxx/trunk/test/std/utilities/variant/variant.variant/variant.ctor/T.pass.cpp
libcxx/trunk/test/std/utilities/variant/variant.variant/variant.ctor/conv.pass.cpp
libcxx/trunk/test/std/utilities/variant/variant.variant/variant.ctor/default.pass.cpp
libcxx/trunk/test/std/utilities/variant/variant.variant/variant.ctor/in_place_index_args.pass.cpp
libcxx/trunk/test/std/utilities/variant/variant.variant/variant.ctor/in_place_index_init_list_args.pass.cpp
libcxx/trunk/test/std/utilities/variant/variant.variant/variant.ctor/in_place_type_args.pass.cpp
libcxx/trunk/test/std/utilities/variant/variant.variant/variant.ctor/in_place_type_init_list_args.pass.cpp
libcxx/trunk/test/std/utilities/variant/variant.variant/variant.mod/emplace_index_args.pass.cpp
libcxx/trunk/test/std/utilities/variant/variant.variant/variant.mod/emplace_index_init_list_args.pass.cpp
libcxx/trunk/test/std/utilities/variant/variant.variant/variant.mod/emplace_type_args.pass.cpp
libcxx/trunk/test/std/utilities/variant/variant.variant/variant.mod/emplace_type_init_list_args.pass.cpp
libcxx/trunk/test/std/utilities/variant/variant.variant/variant.status/index.pass.cpp
libcxx/trunk/test/std/utilities/variant/variant.variant/variant.status/valueless_by_exception.pass.cpp
libcxx/trunk/test/std/utilities/variant/variant.variant/variant.swap/swap.pass.cpp
libcxx/trunk/test/std/utilities/variant/variant.variant/variant_array.fail.cpp
libcxx/trunk/test/std/utilities/variant/variant.variant/variant_empty.fail.cpp
libcxx/trunk/test/std/utilities/variant/variant.variant/variant_reference.fail.cpp
libcxx/trunk/test/std/utilities/variant/variant.variant/variant_void.fail.cpp
libcxx/trunk/test/std/utilities/variant/variant.visit/visit.pass.cpp
libcxx/trunk/test/support/test.support/test_convertible_header.pass.cpp
libcxx/trunk/test/support/test.support/test_poisoned_hash_helper.pass.cpp
libcxx/trunk/utils/libcxx/test/config.py
Modified: libcxx/trunk/benchmarks/filesystem.bench.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/benchmarks/filesystem.bench.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/benchmarks/filesystem.bench.cpp (original)
+++ libcxx/trunk/benchmarks/filesystem.bench.cpp Tue Aug 20 17:14:12 2019
@@ -1,7 +1,7 @@
#include "benchmark/benchmark.h"
#include "GenerateInput.hpp"
#include "test_iterators.h"
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
static const size_t TestNumInputs = 1024;
Modified: libcxx/trunk/test/libcxx/algorithms/half_positive.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/libcxx/algorithms/half_positive.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/libcxx/algorithms/half_positive.pass.cpp (original)
+++ libcxx/trunk/test/libcxx/algorithms/half_positive.pass.cpp Tue Aug 20 17:14:12 2019
@@ -17,7 +17,7 @@
#include <type_traits>
#include "test_macros.h"
-#include "user_defined_integral.hpp"
+#include "user_defined_integral.h"
namespace {
Modified: libcxx/trunk/test/libcxx/containers/gnu_cxx/hash_map.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/libcxx/containers/gnu_cxx/hash_map.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/libcxx/containers/gnu_cxx/hash_map.pass.cpp (original)
+++ libcxx/trunk/test/libcxx/containers/gnu_cxx/hash_map.pass.cpp Tue Aug 20 17:14:12 2019
@@ -16,7 +16,7 @@
#include <cassert>
#include "test_macros.h"
-#include "count_new.hpp"
+#include "count_new.h"
void test_default_does_not_allocate() {
DisableAllocationGuard g;
Modified: libcxx/trunk/test/libcxx/containers/gnu_cxx/hash_set.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/libcxx/containers/gnu_cxx/hash_set.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/libcxx/containers/gnu_cxx/hash_set.pass.cpp (original)
+++ libcxx/trunk/test/libcxx/containers/gnu_cxx/hash_set.pass.cpp Tue Aug 20 17:14:12 2019
@@ -16,7 +16,7 @@
#include <cassert>
#include "test_macros.h"
-#include "count_new.hpp"
+#include "count_new.h"
void test_default_does_not_allocate() {
DisableAllocationGuard g;
Modified: libcxx/trunk/test/libcxx/containers/sequences/deque/spare_block_handling.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/libcxx/containers/sequences/deque/spare_block_handling.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/libcxx/containers/sequences/deque/spare_block_handling.pass.cpp (original)
+++ libcxx/trunk/test/libcxx/containers/sequences/deque/spare_block_handling.pass.cpp Tue Aug 20 17:14:12 2019
@@ -21,7 +21,7 @@
#include <queue>
#include "min_allocator.h"
-#include "rapid-cxx-test.hpp"
+#include "rapid-cxx-test.h"
template <class Adaptor>
struct ContainerAdaptor : public Adaptor {
Modified: libcxx/trunk/test/libcxx/debug/containers/db_associative_container_tests.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/libcxx/debug/containers/db_associative_container_tests.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/libcxx/debug/containers/db_associative_container_tests.pass.cpp (original)
+++ libcxx/trunk/test/libcxx/debug/containers/db_associative_container_tests.pass.cpp Tue Aug 20 17:14:12 2019
@@ -22,7 +22,7 @@
#include <set>
#include <utility>
#include <cassert>
-#include "container_debug_tests.hpp"
+#include "container_debug_tests.h"
#include "test_macros.h"
#include "debug_mode_helper.h"
Modified: libcxx/trunk/test/libcxx/debug/containers/db_sequence_container_iterators.multithread.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/libcxx/debug/containers/db_sequence_container_iterators.multithread.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/libcxx/debug/containers/db_sequence_container_iterators.multithread.pass.cpp (original)
+++ libcxx/trunk/test/libcxx/debug/containers/db_sequence_container_iterators.multithread.pass.cpp Tue Aug 20 17:14:12 2019
@@ -24,7 +24,7 @@
#include <list>
#include <thread>
#include <vector>
-#include "container_debug_tests.hpp"
+#include "container_debug_tests.h"
#include "test_macros.h"
Modified: libcxx/trunk/test/libcxx/debug/containers/db_sequence_container_iterators.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/libcxx/debug/containers/db_sequence_container_iterators.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/libcxx/debug/containers/db_sequence_container_iterators.pass.cpp (original)
+++ libcxx/trunk/test/libcxx/debug/containers/db_sequence_container_iterators.pass.cpp Tue Aug 20 17:14:12 2019
@@ -22,7 +22,7 @@
#include <list>
#include <vector>
#include <deque>
-#include "container_debug_tests.hpp"
+#include "container_debug_tests.h"
#include "test_macros.h"
#include "debug_mode_helper.h"
Modified: libcxx/trunk/test/libcxx/debug/containers/db_string.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/libcxx/debug/containers/db_string.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/libcxx/debug/containers/db_string.pass.cpp (original)
+++ libcxx/trunk/test/libcxx/debug/containers/db_string.pass.cpp Tue Aug 20 17:14:12 2019
@@ -21,7 +21,7 @@
#include <vector>
#include "test_macros.h"
-#include "container_debug_tests.hpp"
+#include "container_debug_tests.h"
#include "debug_mode_helper.h"
using namespace IteratorDebugChecks;
Modified: libcxx/trunk/test/libcxx/debug/containers/db_unord_container_tests.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/libcxx/debug/containers/db_unord_container_tests.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/libcxx/debug/containers/db_unord_container_tests.pass.cpp (original)
+++ libcxx/trunk/test/libcxx/debug/containers/db_unord_container_tests.pass.cpp Tue Aug 20 17:14:12 2019
@@ -21,7 +21,7 @@
#include <unordered_set>
#include <utility>
#include <cassert>
-#include "container_debug_tests.hpp"
+#include "container_debug_tests.h"
#include "test_macros.h"
#include "debug_mode_helper.h"
Modified: libcxx/trunk/test/libcxx/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/construct_piecewise_pair.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/libcxx/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/construct_piecewise_pair.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/libcxx/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/construct_piecewise_pair.pass.cpp (original)
+++ libcxx/trunk/test/libcxx/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/construct_piecewise_pair.pass.cpp Tue Aug 20 17:14:12 2019
@@ -45,7 +45,7 @@
#include <tuple>
#include <cassert>
#include <cstdlib>
-#include "test_memory_resource.hpp"
+#include "test_memory_resource.h"
#include "test_macros.h"
Modified: libcxx/trunk/test/libcxx/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/db_deallocate.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/libcxx/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/db_deallocate.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/libcxx/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/db_deallocate.pass.cpp (original)
+++ libcxx/trunk/test/libcxx/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/db_deallocate.pass.cpp Tue Aug 20 17:14:12 2019
@@ -22,7 +22,7 @@ int AssertCount = 0;
#include <type_traits>
#include <cassert>
-#include "test_memory_resource.hpp"
+#include "test_memory_resource.h"
#include "test_macros.h"
Modified: libcxx/trunk/test/libcxx/experimental/memory/memory.resource.adaptor/memory.resource.adaptor.mem/db_deallocate.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/libcxx/experimental/memory/memory.resource.adaptor/memory.resource.adaptor.mem/db_deallocate.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/libcxx/experimental/memory/memory.resource.adaptor/memory.resource.adaptor.mem/db_deallocate.pass.cpp (original)
+++ libcxx/trunk/test/libcxx/experimental/memory/memory.resource.adaptor/memory.resource.adaptor.mem/db_deallocate.pass.cpp Tue Aug 20 17:14:12 2019
@@ -22,7 +22,7 @@ int AssertCount = 0;
#include <type_traits>
#include <cassert>
-#include "test_memory_resource.hpp"
+#include "test_memory_resource.h"
#include "test_macros.h"
Modified: libcxx/trunk/test/libcxx/input.output/filesystems/class.directory_entry/directory_entry.mods/last_write_time.sh.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/libcxx/input.output/filesystems/class.directory_entry/directory_entry.mods/last_write_time.sh.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/libcxx/input.output/filesystems/class.directory_entry/directory_entry.mods/last_write_time.sh.cpp (original)
+++ libcxx/trunk/test/libcxx/input.output/filesystems/class.directory_entry/directory_entry.mods/last_write_time.sh.cpp Tue Aug 20 17:14:12 2019
@@ -15,13 +15,13 @@
// RUN: %build -I%libcxx_src_root/src/filesystem
// RUN: %run
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <type_traits>
#include <cassert>
#include "test_macros.h"
-#include "rapid-cxx-test.hpp"
-#include "filesystem_test_helper.hpp"
+#include "rapid-cxx-test.h"
+#include "filesystem_test_helper.h"
#include "filesystem_common.h"
Modified: libcxx/trunk/test/libcxx/input.output/filesystems/class.path/path.itr/iterator_db.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/libcxx/input.output/filesystems/class.path/path.itr/iterator_db.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/libcxx/input.output/filesystems/class.path/path.itr/iterator_db.pass.cpp (original)
+++ libcxx/trunk/test/libcxx/input.output/filesystems/class.path/path.itr/iterator_db.pass.cpp Tue Aug 20 17:14:12 2019
@@ -16,13 +16,13 @@
// class path
#define _LIBCPP_DEBUG 0
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <iterator>
#include <type_traits>
#include <cassert>
#include "test_macros.h"
-#include "filesystem_test_helper.hpp"
+#include "filesystem_test_helper.h"
#include "debug_mode_helper.h"
int main(int, char**) {
Modified: libcxx/trunk/test/libcxx/input.output/filesystems/class.path/path.itr/reverse_iterator_produces_diagnostic.fail.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/libcxx/input.output/filesystems/class.path/path.itr/reverse_iterator_produces_diagnostic.fail.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/libcxx/input.output/filesystems/class.path/path.itr/reverse_iterator_produces_diagnostic.fail.cpp (original)
+++ libcxx/trunk/test/libcxx/input.output/filesystems/class.path/path.itr/reverse_iterator_produces_diagnostic.fail.cpp Tue Aug 20 17:14:12 2019
@@ -12,7 +12,7 @@
// class path
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <iterator>
Modified: libcxx/trunk/test/libcxx/input.output/filesystems/class.path/path.req/is_pathable.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/libcxx/input.output/filesystems/class.path/path.req/is_pathable.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/libcxx/input.output/filesystems/class.path/path.req/is_pathable.pass.cpp (original)
+++ libcxx/trunk/test/libcxx/input.output/filesystems/class.path/path.req/is_pathable.pass.cpp Tue Aug 20 17:14:12 2019
@@ -20,14 +20,14 @@
// * A character array, which points to a NTCTS after array-to-pointer decay.
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <type_traits>
#include <cassert>
#include "test_macros.h"
#include "test_iterators.h"
#include "min_allocator.h"
-#include "constexpr_char_traits.hpp"
+#include "constexpr_char_traits.h"
using fs::__is_pathable;
Modified: libcxx/trunk/test/libcxx/type_traits/convert_to_integral.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/libcxx/type_traits/convert_to_integral.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/libcxx/type_traits/convert_to_integral.pass.cpp (original)
+++ libcxx/trunk/test/libcxx/type_traits/convert_to_integral.pass.cpp Tue Aug 20 17:14:12 2019
@@ -21,7 +21,7 @@
#include <cstdint>
#include <cassert>
-#include "user_defined_integral.hpp"
+#include "user_defined_integral.h"
#include "test_macros.h"
Modified: libcxx/trunk/test/libcxx/utilities/optional/optional.object/triviality.abi.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/libcxx/utilities/optional/optional.object/triviality.abi.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/libcxx/utilities/optional/optional.object/triviality.abi.pass.cpp (original)
+++ libcxx/trunk/test/libcxx/utilities/optional/optional.object/triviality.abi.pass.cpp Tue Aug 20 17:14:12 2019
@@ -24,7 +24,7 @@
#include <type_traits>
#include <cassert>
-#include "archetypes.hpp"
+#include "archetypes.h"
#include "test_macros.h"
Modified: libcxx/trunk/test/libcxx/utilities/tuple/tuple.tuple/tuple.cnstr/disable_reduced_arity_initialization_extension.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/libcxx/utilities/tuple/tuple.tuple/tuple.cnstr/disable_reduced_arity_initialization_extension.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/libcxx/utilities/tuple/tuple.tuple/tuple.cnstr/disable_reduced_arity_initialization_extension.pass.cpp (original)
+++ libcxx/trunk/test/libcxx/utilities/tuple/tuple.tuple/tuple.cnstr/disable_reduced_arity_initialization_extension.pass.cpp Tue Aug 20 17:14:12 2019
@@ -22,7 +22,7 @@
#include <system_error>
#include "test_macros.h"
-#include "test_convertible.hpp"
+#include "test_convertible.h"
#include "MoveOnly.h"
#if defined(_LIBCPP_ENABLE_TUPLE_IMPLICIT_REDUCED_ARITY_EXTENSION)
Modified: libcxx/trunk/test/libcxx/utilities/tuple/tuple.tuple/tuple.cnstr/enable_reduced_arity_initialization_extension.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/libcxx/utilities/tuple/tuple.tuple/tuple.cnstr/enable_reduced_arity_initialization_extension.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/libcxx/utilities/tuple/tuple.tuple/tuple.cnstr/enable_reduced_arity_initialization_extension.pass.cpp (original)
+++ libcxx/trunk/test/libcxx/utilities/tuple/tuple.tuple/tuple.cnstr/enable_reduced_arity_initialization_extension.pass.cpp Tue Aug 20 17:14:12 2019
@@ -24,7 +24,7 @@
#include <system_error>
#include "test_macros.h"
-#include "test_convertible.hpp"
+#include "test_convertible.h"
#include "MoveOnly.h"
Modified: libcxx/trunk/test/libcxx/utilities/utility/pairs/pairs.pair/assign_tuple_like.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/libcxx/utilities/utility/pairs/pairs.pair/assign_tuple_like.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/libcxx/utilities/utility/pairs/pairs.pair/assign_tuple_like.pass.cpp (original)
+++ libcxx/trunk/test/libcxx/utilities/utility/pairs/pairs.pair/assign_tuple_like.pass.cpp Tue Aug 20 17:14:12 2019
@@ -20,7 +20,7 @@
#include <memory>
#include <cassert>
-#include "archetypes.hpp"
+#include "archetypes.h"
#include "test_macros.h"
Modified: libcxx/trunk/test/libcxx/utilities/utility/pairs/pairs.pair/piecewise.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/libcxx/utilities/utility/pairs/pairs.pair/piecewise.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/libcxx/utilities/utility/pairs/pairs.pair/piecewise.pass.cpp (original)
+++ libcxx/trunk/test/libcxx/utilities/utility/pairs/pairs.pair/piecewise.pass.cpp Tue Aug 20 17:14:12 2019
@@ -20,7 +20,7 @@
#include <type_traits>
#include <utility>
-#include "archetypes.hpp"
+#include "archetypes.h"
#include "test_macros.h"
Modified: 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=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.copy/copy_backward.pass.cpp (original)
+++ libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.copy/copy_backward.pass.cpp Tue Aug 20 17:14:12 2019
@@ -18,7 +18,7 @@
#include "test_macros.h"
#include "test_iterators.h"
-#include "user_defined_integral.hpp"
+#include "user_defined_integral.h"
// #if TEST_STD_VER > 17
// TEST_CONSTEXPR bool test_constexpr() {
Modified: 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=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.copy/copy_n.pass.cpp (original)
+++ libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.copy/copy_n.pass.cpp Tue Aug 20 17:14:12 2019
@@ -17,7 +17,7 @@
#include "test_macros.h"
#include "test_iterators.h"
-#include "user_defined_integral.hpp"
+#include "user_defined_integral.h"
// #if TEST_STD_VER > 17
// TEST_CONSTEXPR bool test_constexpr() {
Modified: 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=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.fill/fill_n.pass.cpp (original)
+++ libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.fill/fill_n.pass.cpp Tue Aug 20 17:14:12 2019
@@ -18,7 +18,7 @@
#include "test_macros.h"
#include "test_iterators.h"
-#include "user_defined_integral.hpp"
+#include "user_defined_integral.h"
#if TEST_STD_VER > 17
TEST_CONSTEXPR bool test_constexpr() {
Modified: 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=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.generate/generate_n.pass.cpp (original)
+++ libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.generate/generate_n.pass.cpp Tue Aug 20 17:14:12 2019
@@ -24,7 +24,7 @@
#include <cassert>
#include "test_iterators.h"
-#include "user_defined_integral.hpp"
+#include "user_defined_integral.h"
struct gen_test
{
Modified: 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=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.partitions/is_partitioned.pass.cpp (original)
+++ libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.partitions/is_partitioned.pass.cpp Tue Aug 20 17:14:12 2019
@@ -19,7 +19,7 @@
#include "test_macros.h"
#include "test_iterators.h"
-#include "counting_predicates.hpp"
+#include "counting_predicates.h"
struct is_odd {
TEST_CONSTEXPR bool operator()(const int &i) const { return i & 1; }
Modified: 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=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.remove/remove_if.pass.cpp (original)
+++ libcxx/trunk/test/std/algorithms/alg.modifying.operations/alg.remove/remove_if.pass.cpp Tue Aug 20 17:14:12 2019
@@ -21,7 +21,7 @@
#include "test_macros.h"
#include "test_iterators.h"
-#include "counting_predicates.hpp"
+#include "counting_predicates.h"
TEST_CONSTEXPR bool equal2 ( int i ) { return i == 2; }
Modified: 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=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.search/search_n.pass.cpp (original)
+++ libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.search/search_n.pass.cpp Tue Aug 20 17:14:12 2019
@@ -18,7 +18,7 @@
#include "test_macros.h"
#include "test_iterators.h"
-#include "user_defined_integral.hpp"
+#include "user_defined_integral.h"
#if TEST_STD_VER > 17
TEST_CONSTEXPR bool test_constexpr() {
Modified: 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=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.search/search_n_pred.pass.cpp (original)
+++ libcxx/trunk/test/std/algorithms/alg.nonmodifying/alg.search/search_n_pred.pass.cpp Tue Aug 20 17:14:12 2019
@@ -18,7 +18,7 @@
#include "test_macros.h"
#include "test_iterators.h"
-#include "user_defined_integral.hpp"
+#include "user_defined_integral.h"
#if TEST_STD_VER > 17
TEST_CONSTEXPR bool eq(int a, int b) { return a == b; }
Modified: 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=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/algorithms/alg.nonmodifying/mismatch/mismatch_pred.pass.cpp (original)
+++ libcxx/trunk/test/std/algorithms/alg.nonmodifying/mismatch/mismatch_pred.pass.cpp Tue Aug 20 17:14:12 2019
@@ -24,7 +24,7 @@
#include "test_macros.h"
#include "test_iterators.h"
-#include "counting_predicates.hpp"
+#include "counting_predicates.h"
#if TEST_STD_VER > 17
TEST_CONSTEXPR bool eq(int a, int b) { return a == b; }
Modified: libcxx/trunk/test/std/algorithms/alg.sorting/alg.heap.operations/make.heap/make_heap_comp.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/algorithms/alg.sorting/alg.heap.operations/make.heap/make_heap_comp.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/algorithms/alg.sorting/alg.heap.operations/make.heap/make_heap_comp.pass.cpp (original)
+++ libcxx/trunk/test/std/algorithms/alg.sorting/alg.heap.operations/make.heap/make_heap_comp.pass.cpp Tue Aug 20 17:14:12 2019
@@ -20,7 +20,7 @@
#include <cassert>
#include "test_macros.h"
-#include "counting_predicates.hpp"
+#include "counting_predicates.h"
#include "test_iterators.h"
struct indirect_less
Modified: libcxx/trunk/test/std/algorithms/alg.sorting/alg.merge/inplace_merge_comp.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/algorithms/alg.sorting/alg.merge/inplace_merge_comp.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/algorithms/alg.sorting/alg.merge/inplace_merge_comp.pass.cpp (original)
+++ libcxx/trunk/test/std/algorithms/alg.sorting/alg.merge/inplace_merge_comp.pass.cpp Tue Aug 20 17:14:12 2019
@@ -56,7 +56,7 @@ struct S {
#endif // TEST_STD_VER >= 11
#include "test_iterators.h"
-#include "counting_predicates.hpp"
+#include "counting_predicates.h"
std::mt19937 randomness;
Modified: libcxx/trunk/test/std/algorithms/alg.sorting/alg.merge/merge_comp.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/algorithms/alg.sorting/alg.merge/merge_comp.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/algorithms/alg.sorting/alg.merge/merge_comp.pass.cpp (original)
+++ libcxx/trunk/test/std/algorithms/alg.sorting/alg.merge/merge_comp.pass.cpp Tue Aug 20 17:14:12 2019
@@ -26,7 +26,7 @@
#include "test_macros.h"
#include "test_iterators.h"
-#include "counting_predicates.hpp"
+#include "counting_predicates.h"
// #if TEST_STD_VER > 17
// TEST_CONSTEXPR bool test_constexpr() {
Modified: libcxx/trunk/test/std/algorithms/alg.sorting/alg.min.max/minmax_init_list_comp.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/algorithms/alg.sorting/alg.min.max/minmax_init_list_comp.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/algorithms/alg.sorting/alg.min.max/minmax_init_list_comp.pass.cpp (original)
+++ libcxx/trunk/test/std/algorithms/alg.sorting/alg.min.max/minmax_init_list_comp.pass.cpp Tue Aug 20 17:14:12 2019
@@ -21,7 +21,7 @@
#include <cassert>
#include "test_macros.h"
-#include "counting_predicates.hpp"
+#include "counting_predicates.h"
bool all_equal(int, int) { return false; } // everything is equal
Modified: libcxx/trunk/test/std/containers/associative/map/map.access/index_key.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/containers/associative/map/map.access/index_key.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/containers/associative/map/map.access/index_key.pass.cpp (original)
+++ libcxx/trunk/test/std/containers/associative/map/map.access/index_key.pass.cpp Tue Aug 20 17:14:12 2019
@@ -16,9 +16,9 @@
#include <cassert>
#include "test_macros.h"
-#include "count_new.hpp"
+#include "count_new.h"
#include "min_allocator.h"
-#include "private_constructor.hpp"
+#include "private_constructor.h"
#if TEST_STD_VER >= 11
#include "container_test_types.h"
#endif
Modified: libcxx/trunk/test/std/containers/associative/map/map.access/index_rv_key.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/containers/associative/map/map.access/index_rv_key.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/containers/associative/map/map.access/index_rv_key.pass.cpp (original)
+++ libcxx/trunk/test/std/containers/associative/map/map.access/index_rv_key.pass.cpp Tue Aug 20 17:14:12 2019
@@ -18,7 +18,7 @@
#include <cassert>
#include "test_macros.h"
-#include "count_new.hpp"
+#include "count_new.h"
#include "MoveOnly.h"
#include "min_allocator.h"
#include "container_test_types.h"
Modified: libcxx/trunk/test/std/containers/associative/map/map.ops/count.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/containers/associative/map/map.ops/count.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/containers/associative/map/map.ops/count.pass.cpp (original)
+++ libcxx/trunk/test/std/containers/associative/map/map.ops/count.pass.cpp Tue Aug 20 17:14:12 2019
@@ -17,7 +17,7 @@
#include "test_macros.h"
#include "min_allocator.h"
-#include "private_constructor.hpp"
+#include "private_constructor.h"
#include "is_transparent.h"
int main(int, char**)
Modified: libcxx/trunk/test/std/containers/associative/map/map.ops/count_transparent.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/containers/associative/map/map.ops/count_transparent.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/containers/associative/map/map.ops/count_transparent.pass.cpp (original)
+++ libcxx/trunk/test/std/containers/associative/map/map.ops/count_transparent.pass.cpp Tue Aug 20 17:14:12 2019
@@ -20,7 +20,7 @@
#include <utility>
#include "min_allocator.h"
-#include "private_constructor.hpp"
+#include "private_constructor.h"
#include "test_macros.h"
struct Comp {
Modified: libcxx/trunk/test/std/containers/associative/map/map.ops/equal_range.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/containers/associative/map/map.ops/equal_range.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/containers/associative/map/map.ops/equal_range.pass.cpp (original)
+++ libcxx/trunk/test/std/containers/associative/map/map.ops/equal_range.pass.cpp Tue Aug 20 17:14:12 2019
@@ -18,7 +18,7 @@
#include "test_macros.h"
#include "min_allocator.h"
-#include "private_constructor.hpp"
+#include "private_constructor.h"
#include "is_transparent.h"
int main(int, char**)
Modified: libcxx/trunk/test/std/containers/associative/map/map.ops/equal_range_transparent.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/containers/associative/map/map.ops/equal_range_transparent.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/containers/associative/map/map.ops/equal_range_transparent.pass.cpp (original)
+++ libcxx/trunk/test/std/containers/associative/map/map.ops/equal_range_transparent.pass.cpp Tue Aug 20 17:14:12 2019
@@ -23,7 +23,7 @@
#include <utility>
#include "min_allocator.h"
-#include "private_constructor.hpp"
+#include "private_constructor.h"
#include "test_macros.h"
struct Comp {
Modified: libcxx/trunk/test/std/containers/associative/map/map.ops/find.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/containers/associative/map/map.ops/find.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/containers/associative/map/map.ops/find.pass.cpp (original)
+++ libcxx/trunk/test/std/containers/associative/map/map.ops/find.pass.cpp Tue Aug 20 17:14:12 2019
@@ -18,7 +18,7 @@
#include "test_macros.h"
#include "min_allocator.h"
-#include "private_constructor.hpp"
+#include "private_constructor.h"
#include "is_transparent.h"
int main(int, char**)
Modified: libcxx/trunk/test/std/containers/associative/map/map.ops/lower_bound.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/containers/associative/map/map.ops/lower_bound.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/containers/associative/map/map.ops/lower_bound.pass.cpp (original)
+++ libcxx/trunk/test/std/containers/associative/map/map.ops/lower_bound.pass.cpp Tue Aug 20 17:14:12 2019
@@ -18,7 +18,7 @@
#include "test_macros.h"
#include "min_allocator.h"
-#include "private_constructor.hpp"
+#include "private_constructor.h"
#include "is_transparent.h"
int main(int, char**)
Modified: libcxx/trunk/test/std/containers/associative/map/map.ops/upper_bound.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/containers/associative/map/map.ops/upper_bound.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/containers/associative/map/map.ops/upper_bound.pass.cpp (original)
+++ libcxx/trunk/test/std/containers/associative/map/map.ops/upper_bound.pass.cpp Tue Aug 20 17:14:12 2019
@@ -18,7 +18,7 @@
#include "test_macros.h"
#include "min_allocator.h"
-#include "private_constructor.hpp"
+#include "private_constructor.h"
int main(int, char**)
{
Modified: libcxx/trunk/test/std/containers/associative/multimap/multimap.ops/count.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/containers/associative/multimap/multimap.ops/count.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/containers/associative/multimap/multimap.ops/count.pass.cpp (original)
+++ libcxx/trunk/test/std/containers/associative/multimap/multimap.ops/count.pass.cpp Tue Aug 20 17:14:12 2019
@@ -17,7 +17,7 @@
#include "test_macros.h"
#include "min_allocator.h"
-#include "private_constructor.hpp"
+#include "private_constructor.h"
#include "is_transparent.h"
int main(int, char**)
Modified: libcxx/trunk/test/std/containers/associative/multimap/multimap.ops/count_transparent.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/containers/associative/multimap/multimap.ops/count_transparent.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/containers/associative/multimap/multimap.ops/count_transparent.pass.cpp (original)
+++ libcxx/trunk/test/std/containers/associative/multimap/multimap.ops/count_transparent.pass.cpp Tue Aug 20 17:14:12 2019
@@ -20,7 +20,7 @@
#include <utility>
#include "min_allocator.h"
-#include "private_constructor.hpp"
+#include "private_constructor.h"
#include "test_macros.h"
struct Comp {
Modified: libcxx/trunk/test/std/containers/associative/multimap/multimap.ops/equal_range.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/containers/associative/multimap/multimap.ops/equal_range.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/containers/associative/multimap/multimap.ops/equal_range.pass.cpp (original)
+++ libcxx/trunk/test/std/containers/associative/multimap/multimap.ops/equal_range.pass.cpp Tue Aug 20 17:14:12 2019
@@ -18,7 +18,7 @@
#include "test_macros.h"
#include "min_allocator.h"
-#include "private_constructor.hpp"
+#include "private_constructor.h"
#include "is_transparent.h"
int main(int, char**)
Modified: libcxx/trunk/test/std/containers/associative/multimap/multimap.ops/equal_range_transparent.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/containers/associative/multimap/multimap.ops/equal_range_transparent.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/containers/associative/multimap/multimap.ops/equal_range_transparent.pass.cpp (original)
+++ libcxx/trunk/test/std/containers/associative/multimap/multimap.ops/equal_range_transparent.pass.cpp Tue Aug 20 17:14:12 2019
@@ -23,7 +23,7 @@
#include <utility>
#include "min_allocator.h"
-#include "private_constructor.hpp"
+#include "private_constructor.h"
#include "test_macros.h"
struct Comp {
Modified: libcxx/trunk/test/std/containers/associative/multimap/multimap.ops/find.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/containers/associative/multimap/multimap.ops/find.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/containers/associative/multimap/multimap.ops/find.pass.cpp (original)
+++ libcxx/trunk/test/std/containers/associative/multimap/multimap.ops/find.pass.cpp Tue Aug 20 17:14:12 2019
@@ -18,7 +18,7 @@
#include "test_macros.h"
#include "min_allocator.h"
-#include "private_constructor.hpp"
+#include "private_constructor.h"
#include "is_transparent.h"
int main(int, char**)
Modified: libcxx/trunk/test/std/containers/associative/multimap/multimap.ops/lower_bound.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/containers/associative/multimap/multimap.ops/lower_bound.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/containers/associative/multimap/multimap.ops/lower_bound.pass.cpp (original)
+++ libcxx/trunk/test/std/containers/associative/multimap/multimap.ops/lower_bound.pass.cpp Tue Aug 20 17:14:12 2019
@@ -18,7 +18,7 @@
#include "test_macros.h"
#include "min_allocator.h"
-#include "private_constructor.hpp"
+#include "private_constructor.h"
#include "is_transparent.h"
int main(int, char**)
Modified: libcxx/trunk/test/std/containers/associative/multimap/multimap.ops/upper_bound.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/containers/associative/multimap/multimap.ops/upper_bound.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/containers/associative/multimap/multimap.ops/upper_bound.pass.cpp (original)
+++ libcxx/trunk/test/std/containers/associative/multimap/multimap.ops/upper_bound.pass.cpp Tue Aug 20 17:14:12 2019
@@ -18,7 +18,7 @@
#include "test_macros.h"
#include "min_allocator.h"
-#include "private_constructor.hpp"
+#include "private_constructor.h"
#include "is_transparent.h"
int main(int, char**)
Modified: libcxx/trunk/test/std/containers/associative/multiset/count.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/containers/associative/multiset/count.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/containers/associative/multiset/count.pass.cpp (original)
+++ libcxx/trunk/test/std/containers/associative/multiset/count.pass.cpp Tue Aug 20 17:14:12 2019
@@ -17,7 +17,7 @@
#include "test_macros.h"
#include "min_allocator.h"
-#include "private_constructor.hpp"
+#include "private_constructor.h"
int main(int, char**)
{
Modified: libcxx/trunk/test/std/containers/associative/multiset/count_transparent.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/containers/associative/multiset/count_transparent.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/containers/associative/multiset/count_transparent.pass.cpp (original)
+++ libcxx/trunk/test/std/containers/associative/multiset/count_transparent.pass.cpp Tue Aug 20 17:14:12 2019
@@ -22,7 +22,7 @@
#include <utility>
#include "min_allocator.h"
-#include "private_constructor.hpp"
+#include "private_constructor.h"
#include "test_macros.h"
struct Comp {
Modified: libcxx/trunk/test/std/containers/associative/multiset/equal_range.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/containers/associative/multiset/equal_range.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/containers/associative/multiset/equal_range.pass.cpp (original)
+++ libcxx/trunk/test/std/containers/associative/multiset/equal_range.pass.cpp Tue Aug 20 17:14:12 2019
@@ -18,7 +18,7 @@
#include "test_macros.h"
#include "min_allocator.h"
-#include "private_constructor.hpp"
+#include "private_constructor.h"
int main(int, char**)
{
Modified: libcxx/trunk/test/std/containers/associative/multiset/equal_range_transparent.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/containers/associative/multiset/equal_range_transparent.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/containers/associative/multiset/equal_range_transparent.pass.cpp (original)
+++ libcxx/trunk/test/std/containers/associative/multiset/equal_range_transparent.pass.cpp Tue Aug 20 17:14:12 2019
@@ -24,7 +24,7 @@
#include <utility>
#include "min_allocator.h"
-#include "private_constructor.hpp"
+#include "private_constructor.h"
#include "test_macros.h"
struct Comp {
Modified: libcxx/trunk/test/std/containers/associative/multiset/find.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/containers/associative/multiset/find.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/containers/associative/multiset/find.pass.cpp (original)
+++ libcxx/trunk/test/std/containers/associative/multiset/find.pass.cpp Tue Aug 20 17:14:12 2019
@@ -18,7 +18,7 @@
#include "test_macros.h"
#include "min_allocator.h"
-#include "private_constructor.hpp"
+#include "private_constructor.h"
int main(int, char**)
{
Modified: libcxx/trunk/test/std/containers/associative/multiset/lower_bound.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/containers/associative/multiset/lower_bound.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/containers/associative/multiset/lower_bound.pass.cpp (original)
+++ libcxx/trunk/test/std/containers/associative/multiset/lower_bound.pass.cpp Tue Aug 20 17:14:12 2019
@@ -18,7 +18,7 @@
#include "test_macros.h"
#include "min_allocator.h"
-#include "private_constructor.hpp"
+#include "private_constructor.h"
int main(int, char**)
{
Modified: libcxx/trunk/test/std/containers/associative/multiset/upper_bound.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/containers/associative/multiset/upper_bound.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/containers/associative/multiset/upper_bound.pass.cpp (original)
+++ libcxx/trunk/test/std/containers/associative/multiset/upper_bound.pass.cpp Tue Aug 20 17:14:12 2019
@@ -18,7 +18,7 @@
#include "test_macros.h"
#include "min_allocator.h"
-#include "private_constructor.hpp"
+#include "private_constructor.h"
int main(int, char**)
{
Modified: libcxx/trunk/test/std/containers/associative/set/count.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/containers/associative/set/count.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/containers/associative/set/count.pass.cpp (original)
+++ libcxx/trunk/test/std/containers/associative/set/count.pass.cpp Tue Aug 20 17:14:12 2019
@@ -17,7 +17,7 @@
#include "test_macros.h"
#include "min_allocator.h"
-#include "private_constructor.hpp"
+#include "private_constructor.h"
int main(int, char**)
{
Modified: libcxx/trunk/test/std/containers/associative/set/count_transparent.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/containers/associative/set/count_transparent.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/containers/associative/set/count_transparent.pass.cpp (original)
+++ libcxx/trunk/test/std/containers/associative/set/count_transparent.pass.cpp Tue Aug 20 17:14:12 2019
@@ -22,7 +22,7 @@
#include <utility>
#include "min_allocator.h"
-#include "private_constructor.hpp"
+#include "private_constructor.h"
#include "test_macros.h"
struct Comp {
Modified: libcxx/trunk/test/std/containers/associative/set/equal_range.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/containers/associative/set/equal_range.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/containers/associative/set/equal_range.pass.cpp (original)
+++ libcxx/trunk/test/std/containers/associative/set/equal_range.pass.cpp Tue Aug 20 17:14:12 2019
@@ -18,7 +18,7 @@
#include "test_macros.h"
#include "min_allocator.h"
-#include "private_constructor.hpp"
+#include "private_constructor.h"
int main(int, char**)
{
Modified: libcxx/trunk/test/std/containers/associative/set/equal_range_transparent.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/containers/associative/set/equal_range_transparent.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/containers/associative/set/equal_range_transparent.pass.cpp (original)
+++ libcxx/trunk/test/std/containers/associative/set/equal_range_transparent.pass.cpp Tue Aug 20 17:14:12 2019
@@ -24,7 +24,7 @@
#include <utility>
#include "min_allocator.h"
-#include "private_constructor.hpp"
+#include "private_constructor.h"
#include "test_macros.h"
struct Comp {
Modified: libcxx/trunk/test/std/containers/associative/set/find.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/containers/associative/set/find.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/containers/associative/set/find.pass.cpp (original)
+++ libcxx/trunk/test/std/containers/associative/set/find.pass.cpp Tue Aug 20 17:14:12 2019
@@ -18,7 +18,7 @@
#include "test_macros.h"
#include "min_allocator.h"
-#include "private_constructor.hpp"
+#include "private_constructor.h"
int main(int, char**)
{
Modified: libcxx/trunk/test/std/containers/associative/set/lower_bound.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/containers/associative/set/lower_bound.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/containers/associative/set/lower_bound.pass.cpp (original)
+++ libcxx/trunk/test/std/containers/associative/set/lower_bound.pass.cpp Tue Aug 20 17:14:12 2019
@@ -18,7 +18,7 @@
#include "test_macros.h"
#include "min_allocator.h"
-#include "private_constructor.hpp"
+#include "private_constructor.h"
int main(int, char**)
{
Modified: libcxx/trunk/test/std/containers/associative/set/upper_bound.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/containers/associative/set/upper_bound.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/containers/associative/set/upper_bound.pass.cpp (original)
+++ libcxx/trunk/test/std/containers/associative/set/upper_bound.pass.cpp Tue Aug 20 17:14:12 2019
@@ -18,7 +18,7 @@
#include "test_macros.h"
#include "min_allocator.h"
-#include "private_constructor.hpp"
+#include "private_constructor.h"
int main(int, char**)
{
Modified: libcxx/trunk/test/std/containers/map_allocator_requirement_test_templates.h
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/containers/map_allocator_requirement_test_templates.h?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/containers/map_allocator_requirement_test_templates.h (original)
+++ libcxx/trunk/test/std/containers/map_allocator_requirement_test_templates.h Tue Aug 20 17:14:12 2019
@@ -23,7 +23,7 @@
#include <cassert>
#include "test_macros.h"
-#include "count_new.hpp"
+#include "count_new.h"
#include "container_test_types.h"
#include "assert_checkpoint.h"
Modified: libcxx/trunk/test/std/containers/sequences/forwardlist/forwardlist.ops/remove_if.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/containers/sequences/forwardlist/forwardlist.ops/remove_if.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/containers/sequences/forwardlist/forwardlist.ops/remove_if.pass.cpp (original)
+++ libcxx/trunk/test/std/containers/sequences/forwardlist/forwardlist.ops/remove_if.pass.cpp Tue Aug 20 17:14:12 2019
@@ -18,7 +18,7 @@
#include "test_macros.h"
#include "min_allocator.h"
-#include "counting_predicates.hpp"
+#include "counting_predicates.h"
template <class L, class Predicate>
Modified: libcxx/trunk/test/std/containers/sequences/list/list.modifiers/insert_iter_iter_iter.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/containers/sequences/list/list.modifiers/insert_iter_iter_iter.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/containers/sequences/list/list.modifiers/insert_iter_iter_iter.pass.cpp (original)
+++ libcxx/trunk/test/std/containers/sequences/list/list.modifiers/insert_iter_iter_iter.pass.cpp Tue Aug 20 17:14:12 2019
@@ -18,7 +18,7 @@
#include "test_macros.h"
#include "test_iterators.h"
#include "min_allocator.h"
-#include "count_new.hpp"
+#include "count_new.h"
template <class List>
void test() {
Modified: libcxx/trunk/test/std/containers/sequences/list/list.modifiers/insert_iter_size_value.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/containers/sequences/list/list.modifiers/insert_iter_size_value.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/containers/sequences/list/list.modifiers/insert_iter_size_value.pass.cpp (original)
+++ libcxx/trunk/test/std/containers/sequences/list/list.modifiers/insert_iter_size_value.pass.cpp Tue Aug 20 17:14:12 2019
@@ -17,7 +17,7 @@
#include <cassert>
#include "min_allocator.h"
-#include "count_new.hpp"
+#include "count_new.h"
#include "test_macros.h"
template <class List>
Modified: libcxx/trunk/test/std/containers/sequences/list/list.modifiers/insert_iter_value.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/containers/sequences/list/list.modifiers/insert_iter_value.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/containers/sequences/list/list.modifiers/insert_iter_value.pass.cpp (original)
+++ libcxx/trunk/test/std/containers/sequences/list/list.modifiers/insert_iter_value.pass.cpp Tue Aug 20 17:14:12 2019
@@ -16,7 +16,7 @@
#include "test_macros.h"
#include "min_allocator.h"
-#include "count_new.hpp"
+#include "count_new.h"
template <class List>
void test()
Modified: libcxx/trunk/test/std/containers/sequences/list/list.ops/remove_if.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/containers/sequences/list/list.ops/remove_if.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/containers/sequences/list/list.ops/remove_if.pass.cpp (original)
+++ libcxx/trunk/test/std/containers/sequences/list/list.ops/remove_if.pass.cpp Tue Aug 20 17:14:12 2019
@@ -17,7 +17,7 @@
#include "test_macros.h"
#include "min_allocator.h"
-#include "counting_predicates.hpp"
+#include "counting_predicates.h"
bool even(int i)
{
Modified: libcxx/trunk/test/std/containers/sequences/vector.bool/enabled_hash.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/containers/sequences/vector.bool/enabled_hash.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/containers/sequences/vector.bool/enabled_hash.pass.cpp (original)
+++ libcxx/trunk/test/std/containers/sequences/vector.bool/enabled_hash.pass.cpp Tue Aug 20 17:14:12 2019
@@ -15,7 +15,7 @@
#include <vector>
-#include "poisoned_hash_helper.hpp"
+#include "poisoned_hash_helper.h"
#include "test_macros.h"
#include "min_allocator.h"
Modified: libcxx/trunk/test/std/containers/set_allocator_requirement_test_templates.h
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/containers/set_allocator_requirement_test_templates.h?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/containers/set_allocator_requirement_test_templates.h (original)
+++ libcxx/trunk/test/std/containers/set_allocator_requirement_test_templates.h Tue Aug 20 17:14:12 2019
@@ -22,7 +22,7 @@
#include <cassert>
#include "test_macros.h"
-#include "count_new.hpp"
+#include "count_new.h"
#include "container_test_types.h"
#include "assert_checkpoint.h"
Modified: libcxx/trunk/test/std/containers/unord/unord.map/unord.map.elem/index.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/containers/unord/unord.map/unord.map.elem/index.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/containers/unord/unord.map/unord.map.elem/index.pass.cpp (original)
+++ libcxx/trunk/test/std/containers/unord/unord.map/unord.map.elem/index.pass.cpp Tue Aug 20 17:14:12 2019
@@ -22,7 +22,7 @@
#include "test_macros.h"
#include "MoveOnly.h"
#include "min_allocator.h"
-#include "count_new.hpp"
+#include "count_new.h"
#if TEST_STD_VER >= 11
#include "container_test_types.h"
Modified: libcxx/trunk/test/std/diagnostics/syserr/syserr.hash/enabled_hash.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/diagnostics/syserr/syserr.hash/enabled_hash.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/diagnostics/syserr/syserr.hash/enabled_hash.pass.cpp (original)
+++ libcxx/trunk/test/std/diagnostics/syserr/syserr.hash/enabled_hash.pass.cpp Tue Aug 20 17:14:12 2019
@@ -15,7 +15,7 @@
#include <system_error>
-#include "poisoned_hash_helper.hpp"
+#include "poisoned_hash_helper.h"
#include "test_macros.h"
Modified: libcxx/trunk/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.ctor/default.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.ctor/default.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.ctor/default.pass.cpp (original)
+++ libcxx/trunk/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.ctor/default.pass.cpp Tue Aug 20 17:14:12 2019
@@ -18,7 +18,7 @@
#include <type_traits>
#include <cassert>
-#include "test_memory_resource.hpp"
+#include "test_memory_resource.h"
#include "test_macros.h"
Modified: libcxx/trunk/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.ctor/memory_resource_convert.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.ctor/memory_resource_convert.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.ctor/memory_resource_convert.pass.cpp (original)
+++ libcxx/trunk/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.ctor/memory_resource_convert.pass.cpp Tue Aug 20 17:14:12 2019
@@ -18,7 +18,7 @@
#include <type_traits>
#include <cassert>
-#include "test_memory_resource.hpp"
+#include "test_memory_resource.h"
#include "test_macros.h"
Modified: libcxx/trunk/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.eq/equal.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.eq/equal.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.eq/equal.pass.cpp (original)
+++ libcxx/trunk/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.eq/equal.pass.cpp Tue Aug 20 17:14:12 2019
@@ -21,7 +21,7 @@
#include <type_traits>
#include <cassert>
-#include "test_memory_resource.hpp"
+#include "test_memory_resource.h"
#include "test_macros.h"
Modified: libcxx/trunk/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.eq/not_equal.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.eq/not_equal.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.eq/not_equal.pass.cpp (original)
+++ libcxx/trunk/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.eq/not_equal.pass.cpp Tue Aug 20 17:14:12 2019
@@ -21,7 +21,7 @@
#include <type_traits>
#include <cassert>
-#include "test_memory_resource.hpp"
+#include "test_memory_resource.h"
#include "test_macros.h"
Modified: libcxx/trunk/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/allocate.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/allocate.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/allocate.pass.cpp (original)
+++ libcxx/trunk/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/allocate.pass.cpp Tue Aug 20 17:14:12 2019
@@ -22,7 +22,7 @@
#include <cassert>
#include "test_macros.h"
-#include "test_memory_resource.hpp"
+#include "test_memory_resource.h"
namespace ex = std::experimental::pmr;
Modified: libcxx/trunk/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/construct_pair.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/construct_pair.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/construct_pair.pass.cpp (original)
+++ libcxx/trunk/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/construct_pair.pass.cpp Tue Aug 20 17:14:12 2019
@@ -21,7 +21,7 @@
#include <tuple>
#include <cassert>
#include <cstdlib>
-#include "uses_alloc_types.hpp"
+#include "uses_alloc_types.h"
#include "test_macros.h"
Modified: libcxx/trunk/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/construct_pair_const_lvalue_pair.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/construct_pair_const_lvalue_pair.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/construct_pair_const_lvalue_pair.pass.cpp (original)
+++ libcxx/trunk/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/construct_pair_const_lvalue_pair.pass.cpp Tue Aug 20 17:14:12 2019
@@ -23,9 +23,9 @@
#include <cstdlib>
#include "test_macros.h"
-#include "test_memory_resource.hpp"
-#include "uses_alloc_types.hpp"
-#include "controlled_allocators.hpp"
+#include "test_memory_resource.h"
+#include "uses_alloc_types.h"
+#include "controlled_allocators.h"
#include "test_allocator.h"
namespace ex = std::experimental::pmr;
Modified: libcxx/trunk/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/construct_pair_rvalue.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/construct_pair_rvalue.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/construct_pair_rvalue.pass.cpp (original)
+++ libcxx/trunk/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/construct_pair_rvalue.pass.cpp Tue Aug 20 17:14:12 2019
@@ -23,9 +23,9 @@
#include <cstdlib>
#include "test_macros.h"
-#include "test_memory_resource.hpp"
-#include "uses_alloc_types.hpp"
-#include "controlled_allocators.hpp"
+#include "test_memory_resource.h"
+#include "uses_alloc_types.h"
+#include "controlled_allocators.h"
#include "test_allocator.h"
namespace ex = std::experimental::pmr;
Modified: libcxx/trunk/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/construct_pair_values.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/construct_pair_values.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/construct_pair_values.pass.cpp (original)
+++ libcxx/trunk/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/construct_pair_values.pass.cpp Tue Aug 20 17:14:12 2019
@@ -23,9 +23,9 @@
#include <cstdlib>
#include "test_macros.h"
-#include "test_memory_resource.hpp"
-#include "uses_alloc_types.hpp"
-#include "controlled_allocators.hpp"
+#include "test_memory_resource.h"
+#include "uses_alloc_types.h"
+#include "controlled_allocators.h"
#include "test_allocator.h"
namespace ex = std::experimental::pmr;
Modified: libcxx/trunk/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/construct_piecewise_pair.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/construct_piecewise_pair.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/construct_piecewise_pair.pass.cpp (original)
+++ libcxx/trunk/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/construct_piecewise_pair.pass.cpp Tue Aug 20 17:14:12 2019
@@ -24,9 +24,9 @@
#include <cstdlib>
#include "test_macros.h"
-#include "test_memory_resource.hpp"
-#include "uses_alloc_types.hpp"
-#include "controlled_allocators.hpp"
+#include "test_memory_resource.h"
+#include "uses_alloc_types.h"
+#include "controlled_allocators.h"
#include "test_allocator.h"
namespace ex = std::experimental::pmr;
Modified: libcxx/trunk/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/construct_types.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/construct_types.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/construct_types.pass.cpp (original)
+++ libcxx/trunk/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/construct_types.pass.cpp Tue Aug 20 17:14:12 2019
@@ -21,9 +21,9 @@
#include <cstdlib>
#include "test_macros.h"
-#include "test_memory_resource.hpp"
-#include "uses_alloc_types.hpp"
-#include "controlled_allocators.hpp"
+#include "test_memory_resource.h"
+#include "uses_alloc_types.h"
+#include "controlled_allocators.h"
#include "test_allocator.h"
namespace ex = std::experimental::pmr;
Modified: libcxx/trunk/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/deallocate.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/deallocate.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/deallocate.pass.cpp (original)
+++ libcxx/trunk/test/std/experimental/memory/memory.polymorphic.allocator.class/memory.polymorphic.allocator.mem/deallocate.pass.cpp Tue Aug 20 17:14:12 2019
@@ -18,7 +18,7 @@
#include <type_traits>
#include <cassert>
-#include "test_memory_resource.hpp"
+#include "test_memory_resource.h"
#include "test_macros.h"
Modified: libcxx/trunk/test/std/experimental/memory/memory.resource.adaptor/memory.resource.adaptor.ctor/alloc_copy.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/experimental/memory/memory.resource.adaptor/memory.resource.adaptor.ctor/alloc_copy.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/experimental/memory/memory.resource.adaptor/memory.resource.adaptor.ctor/alloc_copy.pass.cpp (original)
+++ libcxx/trunk/test/std/experimental/memory/memory.resource.adaptor/memory.resource.adaptor.ctor/alloc_copy.pass.cpp Tue Aug 20 17:14:12 2019
@@ -17,7 +17,7 @@
#include <experimental/memory_resource>
#include <cassert>
-#include "test_memory_resource.hpp"
+#include "test_memory_resource.h"
#include "test_macros.h"
Modified: libcxx/trunk/test/std/experimental/memory/memory.resource.adaptor/memory.resource.adaptor.ctor/alloc_move.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/experimental/memory/memory.resource.adaptor/memory.resource.adaptor.ctor/alloc_move.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/experimental/memory/memory.resource.adaptor/memory.resource.adaptor.ctor/alloc_move.pass.cpp (original)
+++ libcxx/trunk/test/std/experimental/memory/memory.resource.adaptor/memory.resource.adaptor.ctor/alloc_move.pass.cpp Tue Aug 20 17:14:12 2019
@@ -17,7 +17,7 @@
#include <experimental/memory_resource>
#include <cassert>
-#include "test_memory_resource.hpp"
+#include "test_memory_resource.h"
#include "test_macros.h"
Modified: libcxx/trunk/test/std/experimental/memory/memory.resource.adaptor/memory.resource.adaptor.ctor/default.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/experimental/memory/memory.resource.adaptor/memory.resource.adaptor.ctor/default.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/experimental/memory/memory.resource.adaptor/memory.resource.adaptor.ctor/default.pass.cpp (original)
+++ libcxx/trunk/test/std/experimental/memory/memory.resource.adaptor/memory.resource.adaptor.ctor/default.pass.cpp Tue Aug 20 17:14:12 2019
@@ -19,7 +19,7 @@
#include <type_traits>
#include <cassert>
-#include "test_memory_resource.hpp"
+#include "test_memory_resource.h"
#include "test_macros.h"
Modified: libcxx/trunk/test/std/experimental/memory/memory.resource.adaptor/memory.resource.adaptor.mem/do_allocate_and_deallocate.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/experimental/memory/memory.resource.adaptor/memory.resource.adaptor.mem/do_allocate_and_deallocate.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/experimental/memory/memory.resource.adaptor/memory.resource.adaptor.mem/do_allocate_and_deallocate.pass.cpp (original)
+++ libcxx/trunk/test/std/experimental/memory/memory.resource.adaptor/memory.resource.adaptor.mem/do_allocate_and_deallocate.pass.cpp Tue Aug 20 17:14:12 2019
@@ -27,7 +27,7 @@
#include <cassert>
#include "test_macros.h"
-#include "test_memory_resource.hpp"
+#include "test_memory_resource.h"
namespace ex = std::experimental::pmr;
Modified: libcxx/trunk/test/std/experimental/memory/memory.resource.adaptor/memory.resource.adaptor.mem/do_is_equal.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/experimental/memory/memory.resource.adaptor/memory.resource.adaptor.mem/do_is_equal.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/experimental/memory/memory.resource.adaptor/memory.resource.adaptor.mem/do_is_equal.pass.cpp (original)
+++ libcxx/trunk/test/std/experimental/memory/memory.resource.adaptor/memory.resource.adaptor.mem/do_is_equal.pass.cpp Tue Aug 20 17:14:12 2019
@@ -18,7 +18,7 @@
#include <type_traits>
#include <memory>
#include <cassert>
-#include "test_memory_resource.hpp"
+#include "test_memory_resource.h"
#include "test_macros.h"
Modified: libcxx/trunk/test/std/experimental/memory/memory.resource.aliases/header_string_synop.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/experimental/memory/memory.resource.aliases/header_string_synop.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/experimental/memory/memory.resource.aliases/header_string_synop.pass.cpp (original)
+++ libcxx/trunk/test/std/experimental/memory/memory.resource.aliases/header_string_synop.pass.cpp Tue Aug 20 17:14:12 2019
@@ -28,7 +28,7 @@
#include <type_traits>
#include <cassert>
-#include "constexpr_char_traits.hpp"
+#include "constexpr_char_traits.h"
#include "test_macros.h"
Modified: libcxx/trunk/test/std/experimental/memory/memory.resource.global/default_resource.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/experimental/memory/memory.resource.global/default_resource.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/experimental/memory/memory.resource.global/default_resource.pass.cpp (original)
+++ libcxx/trunk/test/std/experimental/memory/memory.resource.global/default_resource.pass.cpp Tue Aug 20 17:14:12 2019
@@ -31,7 +31,7 @@
#include <experimental/memory_resource>
#include <cassert>
-#include "test_memory_resource.hpp"
+#include "test_memory_resource.h"
#include "test_macros.h"
Modified: libcxx/trunk/test/std/experimental/memory/memory.resource.global/new_delete_resource.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/experimental/memory/memory.resource.global/new_delete_resource.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/experimental/memory/memory.resource.global/new_delete_resource.pass.cpp (original)
+++ libcxx/trunk/test/std/experimental/memory/memory.resource.global/new_delete_resource.pass.cpp Tue Aug 20 17:14:12 2019
@@ -16,7 +16,7 @@
#include <type_traits>
#include <cassert>
-#include "count_new.hpp"
+#include "count_new.h"
#include "test_macros.h"
Modified: libcxx/trunk/test/std/experimental/memory/memory.resource.global/null_memory_resource.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/experimental/memory/memory.resource.global/null_memory_resource.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/experimental/memory/memory.resource.global/null_memory_resource.pass.cpp (original)
+++ libcxx/trunk/test/std/experimental/memory/memory.resource.global/null_memory_resource.pass.cpp Tue Aug 20 17:14:12 2019
@@ -18,7 +18,7 @@
#include <cassert>
#include "test_macros.h"
-#include "count_new.hpp"
+#include "count_new.h"
namespace ex = std::experimental::pmr;
Modified: libcxx/trunk/test/std/experimental/memory/memory.resource/memory.resource.eq/equal.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/experimental/memory/memory.resource/memory.resource.eq/equal.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/experimental/memory/memory.resource/memory.resource.eq/equal.pass.cpp (original)
+++ libcxx/trunk/test/std/experimental/memory/memory.resource/memory.resource.eq/equal.pass.cpp Tue Aug 20 17:14:12 2019
@@ -17,7 +17,7 @@
#include <cassert>
#include "test_macros.h"
-#include "test_memory_resource.hpp"
+#include "test_memory_resource.h"
namespace ex = std::experimental::pmr;
Modified: libcxx/trunk/test/std/experimental/memory/memory.resource/memory.resource.eq/not_equal.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/experimental/memory/memory.resource/memory.resource.eq/not_equal.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/experimental/memory/memory.resource/memory.resource.eq/not_equal.pass.cpp (original)
+++ libcxx/trunk/test/std/experimental/memory/memory.resource/memory.resource.eq/not_equal.pass.cpp Tue Aug 20 17:14:12 2019
@@ -16,7 +16,7 @@
#include <type_traits>
#include <cassert>
-#include "test_memory_resource.hpp"
+#include "test_memory_resource.h"
#include "test_macros.h"
Modified: libcxx/trunk/test/std/experimental/memory/memory.resource/memory.resource.public/allocate.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/experimental/memory/memory.resource/memory.resource.public/allocate.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/experimental/memory/memory.resource/memory.resource.public/allocate.pass.cpp (original)
+++ libcxx/trunk/test/std/experimental/memory/memory.resource/memory.resource.public/allocate.pass.cpp Tue Aug 20 17:14:12 2019
@@ -27,7 +27,7 @@
#include <cassert>
#include "test_macros.h"
-#include "test_memory_resource.hpp"
+#include "test_memory_resource.h"
using std::experimental::pmr::memory_resource;
Modified: libcxx/trunk/test/std/experimental/memory/memory.resource/memory.resource.public/deallocate.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/experimental/memory/memory.resource/memory.resource.public/deallocate.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/experimental/memory/memory.resource/memory.resource.public/deallocate.pass.cpp (original)
+++ libcxx/trunk/test/std/experimental/memory/memory.resource/memory.resource.public/deallocate.pass.cpp Tue Aug 20 17:14:12 2019
@@ -26,7 +26,7 @@
#include <cstddef>
#include <cassert>
-#include "test_memory_resource.hpp"
+#include "test_memory_resource.h"
#include "test_macros.h"
Modified: libcxx/trunk/test/std/experimental/memory/memory.resource/memory.resource.public/dtor.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/experimental/memory/memory.resource/memory.resource.public/dtor.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/experimental/memory/memory.resource/memory.resource.public/dtor.pass.cpp (original)
+++ libcxx/trunk/test/std/experimental/memory/memory.resource/memory.resource.public/dtor.pass.cpp Tue Aug 20 17:14:12 2019
@@ -22,7 +22,7 @@
#include <type_traits>
#include <cassert>
-#include "test_memory_resource.hpp"
+#include "test_memory_resource.h"
#include "test_macros.h"
Modified: libcxx/trunk/test/std/experimental/memory/memory.resource/memory.resource.public/is_equal.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/experimental/memory/memory.resource/memory.resource.public/is_equal.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/experimental/memory/memory.resource/memory.resource.public/is_equal.pass.cpp (original)
+++ libcxx/trunk/test/std/experimental/memory/memory.resource/memory.resource.public/is_equal.pass.cpp Tue Aug 20 17:14:12 2019
@@ -24,7 +24,7 @@
#include <experimental/memory_resource>
#include <type_traits>
#include <cassert>
-#include "test_memory_resource.hpp"
+#include "test_memory_resource.h"
#include "test_macros.h"
Modified: libcxx/trunk/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/copy.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/copy.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/copy.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/copy.pass.cpp Tue Aug 20 17:14:12 2019
@@ -14,14 +14,14 @@
// directory_entry(const directory_entry&) = default;
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <type_traits>
#include <cassert>
#include "test_macros.h"
-#include "rapid-cxx-test.hpp"
-#include "filesystem_test_helper.hpp"
-#include "test_convertible.hpp"
+#include "rapid-cxx-test.h"
+#include "filesystem_test_helper.h"
+#include "test_convertible.h"
TEST_SUITE(directory_entry_path_ctor_suite)
Modified: libcxx/trunk/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/copy_assign.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/copy_assign.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/copy_assign.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/copy_assign.pass.cpp Tue Aug 20 17:14:12 2019
@@ -17,13 +17,13 @@
// void assign(path const&);
// void replace_filename(path const&);
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <type_traits>
#include <cassert>
#include "test_macros.h"
-#include "rapid-cxx-test.hpp"
-#include "filesystem_test_helper.hpp"
+#include "rapid-cxx-test.h"
+#include "filesystem_test_helper.h"
TEST_SUITE(directory_entry_ctor_suite)
Modified: libcxx/trunk/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/default.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/default.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/default.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/default.pass.cpp Tue Aug 20 17:14:12 2019
@@ -14,7 +14,7 @@
// directory_entry() noexcept = default;
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <type_traits>
#include <cassert>
Modified: libcxx/trunk/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/default_const.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/default_const.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/default_const.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/default_const.pass.cpp Tue Aug 20 17:14:12 2019
@@ -15,7 +15,7 @@
// directory_entry() noexcept = default;
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <type_traits>
#include <cassert>
Modified: libcxx/trunk/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/move.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/move.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/move.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/move.pass.cpp Tue Aug 20 17:14:12 2019
@@ -14,14 +14,14 @@
// directory_entry(directory_entry&&) noexcept = default;
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <type_traits>
#include <cassert>
#include "test_macros.h"
-#include "rapid-cxx-test.hpp"
-#include "filesystem_test_helper.hpp"
-#include "test_convertible.hpp"
+#include "rapid-cxx-test.h"
+#include "filesystem_test_helper.h"
+#include "test_convertible.h"
TEST_SUITE(directory_entry_path_ctor_suite)
Modified: libcxx/trunk/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/move_assign.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/move_assign.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/move_assign.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/move_assign.pass.cpp Tue Aug 20 17:14:12 2019
@@ -17,13 +17,13 @@
// void assign(path const&);
// void replace_filename(path const&);
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <type_traits>
#include <cassert>
#include "test_macros.h"
-#include "rapid-cxx-test.hpp"
-#include "filesystem_test_helper.hpp"
+#include "rapid-cxx-test.h"
+#include "filesystem_test_helper.h"
TEST_SUITE(directory_entry_ctor_suite)
Modified: libcxx/trunk/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/path.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/path.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/path.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/path.pass.cpp Tue Aug 20 17:14:12 2019
@@ -15,14 +15,14 @@
// explicit directory_entry(const path);
// directory_entry(const path&, error_code& ec);
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <type_traits>
#include <cassert>
#include "test_macros.h"
-#include "rapid-cxx-test.hpp"
-#include "filesystem_test_helper.hpp"
-#include "test_convertible.hpp"
+#include "rapid-cxx-test.h"
+#include "filesystem_test_helper.h"
+#include "test_convertible.h"
TEST_SUITE(directory_entry_path_ctor_suite)
Modified: libcxx/trunk/test/std/input.output/filesystems/class.directory_entry/directory_entry.mods/assign.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/class.directory_entry/directory_entry.mods/assign.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/class.directory_entry/directory_entry.mods/assign.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/class.directory_entry/directory_entry.mods/assign.pass.cpp Tue Aug 20 17:14:12 2019
@@ -17,13 +17,13 @@
// void assign(path const&);
// void replace_filename(path const&);
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <type_traits>
#include <cassert>
#include "test_macros.h"
-#include "rapid-cxx-test.hpp"
-#include "filesystem_test_helper.hpp"
+#include "rapid-cxx-test.h"
+#include "filesystem_test_helper.h"
TEST_SUITE(directory_entry_mods_suite)
Modified: libcxx/trunk/test/std/input.output/filesystems/class.directory_entry/directory_entry.mods/refresh.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/class.directory_entry/directory_entry.mods/refresh.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/class.directory_entry/directory_entry.mods/refresh.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/class.directory_entry/directory_entry.mods/refresh.pass.cpp Tue Aug 20 17:14:12 2019
@@ -17,13 +17,13 @@
// void assign(path const&);
// void replace_filename(path const&);
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <type_traits>
#include <cassert>
#include "test_macros.h"
-#include "rapid-cxx-test.hpp"
-#include "filesystem_test_helper.hpp"
+#include "rapid-cxx-test.h"
+#include "filesystem_test_helper.h"
TEST_SUITE(directory_entry_mods_suite)
Modified: libcxx/trunk/test/std/input.output/filesystems/class.directory_entry/directory_entry.mods/replace_filename.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/class.directory_entry/directory_entry.mods/replace_filename.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/class.directory_entry/directory_entry.mods/replace_filename.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/class.directory_entry/directory_entry.mods/replace_filename.pass.cpp Tue Aug 20 17:14:12 2019
@@ -17,13 +17,13 @@
// void assign(path const&);
// void replace_filename(path const&);
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <type_traits>
#include <cassert>
#include "test_macros.h"
-#include "rapid-cxx-test.hpp"
-#include "filesystem_test_helper.hpp"
+#include "rapid-cxx-test.h"
+#include "filesystem_test_helper.h"
TEST_SUITE(directory_entry_mods_suite)
Modified: libcxx/trunk/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/comparisons.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/comparisons.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/comparisons.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/comparisons.pass.cpp Tue Aug 20 17:14:12 2019
@@ -20,7 +20,7 @@
// bool operator>=(directory_entry const&) const noexcept;
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <type_traits>
#include <cassert>
Modified: libcxx/trunk/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/file_size.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/file_size.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/file_size.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/file_size.pass.cpp Tue Aug 20 17:14:12 2019
@@ -15,12 +15,12 @@
// uintmax_t file_size() const;
// uintmax_t file_size(error_code const&) const noexcept;
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <type_traits>
#include <cassert>
-#include "filesystem_test_helper.hpp"
-#include "rapid-cxx-test.hpp"
+#include "filesystem_test_helper.h"
+#include "rapid-cxx-test.h"
#include <iostream>
Modified: libcxx/trunk/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/file_type_obs.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/file_type_obs.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/file_type_obs.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/file_type_obs.pass.cpp Tue Aug 20 17:14:12 2019
@@ -15,12 +15,12 @@
// file_status status() const;
// file_status status(error_code const&) const noexcept;
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <type_traits>
#include <cassert>
-#include "filesystem_test_helper.hpp"
-#include "rapid-cxx-test.hpp"
+#include "filesystem_test_helper.h"
+#include "rapid-cxx-test.h"
#include "test_macros.h"
Modified: libcxx/trunk/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/hard_link_count.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/hard_link_count.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/hard_link_count.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/hard_link_count.pass.cpp Tue Aug 20 17:14:12 2019
@@ -15,12 +15,12 @@
// uintmax_t hard_link_count() const;
// uintmax_t hard_link_count(error_code const&) const noexcept;
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <type_traits>
#include <cassert>
-#include "filesystem_test_helper.hpp"
-#include "rapid-cxx-test.hpp"
+#include "filesystem_test_helper.h"
+#include "rapid-cxx-test.h"
#include "test_macros.h"
Modified: libcxx/trunk/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/last_write_time.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/last_write_time.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/last_write_time.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/last_write_time.pass.cpp Tue Aug 20 17:14:12 2019
@@ -15,12 +15,12 @@
// file_time_type last_write_time() const;
// file_time_type last_write_time(error_code const&) const noexcept;
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <type_traits>
#include <cassert>
-#include "filesystem_test_helper.hpp"
-#include "rapid-cxx-test.hpp"
+#include "filesystem_test_helper.h"
+#include "rapid-cxx-test.h"
#include "test_macros.h"
Modified: libcxx/trunk/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/path.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/path.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/path.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/path.pass.cpp Tue Aug 20 17:14:12 2019
@@ -15,7 +15,7 @@
// const path& path() const noexcept;
// operator const path&() const noexcept;
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <type_traits>
#include <cassert>
Modified: libcxx/trunk/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/status.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/status.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/status.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/status.pass.cpp Tue Aug 20 17:14:12 2019
@@ -15,12 +15,12 @@
// file_status status() const;
// file_status status(error_code const&) const noexcept;
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <type_traits>
#include <cassert>
-#include "filesystem_test_helper.hpp"
-#include "rapid-cxx-test.hpp"
+#include "filesystem_test_helper.h"
+#include "rapid-cxx-test.h"
#include "test_macros.h"
Modified: libcxx/trunk/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/symlink_status.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/symlink_status.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/symlink_status.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/symlink_status.pass.cpp Tue Aug 20 17:14:12 2019
@@ -15,12 +15,12 @@
// file_status symlink_status() const;
// file_status symlink_status(error_code&) const noexcept;
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <type_traits>
#include <cassert>
-#include "filesystem_test_helper.hpp"
-#include "rapid-cxx-test.hpp"
+#include "filesystem_test_helper.h"
+#include "rapid-cxx-test.h"
#include "test_macros.h"
Modified: libcxx/trunk/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/copy.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/copy.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/copy.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/copy.pass.cpp Tue Aug 20 17:14:12 2019
@@ -14,14 +14,14 @@
// directory_iterator(directory_iterator const&);
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <type_traits>
#include <set>
#include <cassert>
#include "test_macros.h"
-#include "rapid-cxx-test.hpp"
-#include "filesystem_test_helper.hpp"
+#include "rapid-cxx-test.h"
+#include "filesystem_test_helper.h"
using namespace fs;
Modified: libcxx/trunk/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/copy_assign.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/copy_assign.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/copy_assign.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/copy_assign.pass.cpp Tue Aug 20 17:14:12 2019
@@ -14,14 +14,14 @@
// directory_iterator& operator=(directory_iterator const&);
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <type_traits>
#include <set>
#include <cassert>
#include "test_macros.h"
-#include "rapid-cxx-test.hpp"
-#include "filesystem_test_helper.hpp"
+#include "rapid-cxx-test.h"
+#include "filesystem_test_helper.h"
using namespace fs;
Modified: libcxx/trunk/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/ctor.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/ctor.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/ctor.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/ctor.pass.cpp Tue Aug 20 17:14:12 2019
@@ -17,14 +17,14 @@
// directory_iterator(const path& p, error_code& ec);
// directory_iterator(const path& p, directory_options options, error_code& ec);
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <type_traits>
#include <set>
#include <cassert>
#include "test_macros.h"
-#include "rapid-cxx-test.hpp"
-#include "filesystem_test_helper.hpp"
+#include "rapid-cxx-test.h"
+#include "filesystem_test_helper.h"
using namespace fs;
Modified: libcxx/trunk/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/default_ctor.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/default_ctor.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/default_ctor.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/default_ctor.pass.cpp Tue Aug 20 17:14:12 2019
@@ -15,7 +15,7 @@
// directory_iterator::directory_iterator() noexcept
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <type_traits>
#include <cassert>
Modified: libcxx/trunk/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/increment.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/increment.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/increment.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/increment.pass.cpp Tue Aug 20 17:14:12 2019
@@ -15,14 +15,14 @@
// directory_iterator& operator++();
// directory_iterator& increment(error_code& ec);
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <type_traits>
#include <set>
#include <cassert>
#include "test_macros.h"
-#include "rapid-cxx-test.hpp"
-#include "filesystem_test_helper.hpp"
+#include "rapid-cxx-test.h"
+#include "filesystem_test_helper.h"
#include <iostream>
using namespace fs;
Modified: libcxx/trunk/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/move.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/move.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/move.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/move.pass.cpp Tue Aug 20 17:14:12 2019
@@ -14,14 +14,14 @@
// directory_iterator(directory_iterator&&) noexcept;
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <type_traits>
#include <set>
#include <cassert>
#include "test_macros.h"
-#include "rapid-cxx-test.hpp"
-#include "filesystem_test_helper.hpp"
+#include "rapid-cxx-test.h"
+#include "filesystem_test_helper.h"
using namespace fs;
Modified: libcxx/trunk/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/move_assign.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/move_assign.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/move_assign.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/move_assign.pass.cpp Tue Aug 20 17:14:12 2019
@@ -14,14 +14,14 @@
// directory_iterator& operator=(directory_iterator const&);
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <type_traits>
#include <set>
#include <cassert>
#include "test_macros.h"
-#include "rapid-cxx-test.hpp"
-#include "filesystem_test_helper.hpp"
+#include "rapid-cxx-test.h"
+#include "filesystem_test_helper.h"
// The filesystem specification explicitly allows for self-move on
// the directory iterators. Turn off this warning so we can test it.
Modified: libcxx/trunk/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.nonmembers/begin_end.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.nonmembers/begin_end.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.nonmembers/begin_end.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.nonmembers/begin_end.pass.cpp Tue Aug 20 17:14:12 2019
@@ -15,14 +15,14 @@
// directory_iterator begin(directory_iterator iter) noexcept;
// directory_iterator end(directory_iterator iter) noexcept;
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <type_traits>
#include <set>
#include <cassert>
#include "test_macros.h"
-#include "rapid-cxx-test.hpp"
-#include "filesystem_test_helper.hpp"
+#include "rapid-cxx-test.h"
+#include "filesystem_test_helper.h"
#include <iostream>
using namespace fs;
Modified: libcxx/trunk/test/std/input.output/filesystems/class.directory_iterator/types.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/class.directory_iterator/types.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/class.directory_iterator/types.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/class.directory_iterator/types.pass.cpp Tue Aug 20 17:14:12 2019
@@ -18,7 +18,7 @@
// typedef ... reference;
// typedef ... iterator_category
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <type_traits>
#include <cassert>
Modified: libcxx/trunk/test/std/input.output/filesystems/class.file_status/file_status.cons.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/class.file_status/file_status.cons.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/class.file_status/file_status.cons.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/class.file_status/file_status.cons.pass.cpp Tue Aug 20 17:14:12 2019
@@ -15,11 +15,11 @@
// explicit file_status() noexcept;
// explicit file_status(file_type, perms prms = perms::unknown) noexcept;
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <type_traits>
#include <cassert>
-#include "test_convertible.hpp"
+#include "test_convertible.h"
#include "test_macros.h"
Modified: libcxx/trunk/test/std/input.output/filesystems/class.file_status/file_status.mods.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/class.file_status/file_status.mods.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/class.file_status/file_status.mods.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/class.file_status/file_status.mods.pass.cpp Tue Aug 20 17:14:12 2019
@@ -15,7 +15,7 @@
// void type(file_type) noexcept;
// void permissions(perms) noexcept;
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <type_traits>
#include <cassert>
Modified: libcxx/trunk/test/std/input.output/filesystems/class.file_status/file_status.obs.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/class.file_status/file_status.obs.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/class.file_status/file_status.obs.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/class.file_status/file_status.obs.pass.cpp Tue Aug 20 17:14:12 2019
@@ -15,7 +15,7 @@
// file_type type() const noexcept;
// perms permissions(p) const noexcept;
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <type_traits>
#include <cassert>
Modified: libcxx/trunk/test/std/input.output/filesystems/class.filesystem_error/filesystem_error.members.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/class.filesystem_error/filesystem_error.members.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/class.filesystem_error/filesystem_error.members.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/class.filesystem_error/filesystem_error.members.pass.cpp Tue Aug 20 17:14:12 2019
@@ -20,7 +20,7 @@
// const path& path1() const noexcept;
// const path& path2() const noexcept;
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <type_traits>
#include <cassert>
Modified: libcxx/trunk/test/std/input.output/filesystems/class.path/path.itr/iterator.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/class.path/path.itr/iterator.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/class.path/path.itr/iterator.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/class.path/path.itr/iterator.pass.cpp Tue Aug 20 17:14:12 2019
@@ -18,13 +18,13 @@
// path(InputIterator first, InputIterator last);
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <iterator>
#include <type_traits>
#include <cassert>
#include "test_macros.h"
-#include "filesystem_test_helper.hpp"
+#include "filesystem_test_helper.h"
Modified: libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.append.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.append.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.append.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.append.pass.cpp Tue Aug 20 17:14:12 2019
@@ -21,15 +21,15 @@
// path& append(InputIterator first, InputIterator last);
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <type_traits>
#include <string_view>
#include <cassert>
#include "test_macros.h"
#include "test_iterators.h"
-#include "count_new.hpp"
-#include "filesystem_test_helper.hpp"
+#include "count_new.h"
+#include "filesystem_test_helper.h"
#include "verbose_assert.h"
Modified: libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.assign/braced_init.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.assign/braced_init.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.assign/braced_init.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.assign/braced_init.pass.cpp Tue Aug 20 17:14:12 2019
@@ -14,12 +14,12 @@
// path& operator=(path const&);
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <type_traits>
#include <cassert>
#include "test_macros.h"
-#include "count_new.hpp"
+#include "count_new.h"
int main(int, char**) {
Modified: libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.assign/copy.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.assign/copy.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.assign/copy.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.assign/copy.pass.cpp Tue Aug 20 17:14:12 2019
@@ -14,7 +14,7 @@
// path& operator=(path const&);
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <type_traits>
#include <cassert>
Modified: libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.assign/move.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.assign/move.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.assign/move.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.assign/move.pass.cpp Tue Aug 20 17:14:12 2019
@@ -14,12 +14,12 @@
// path& operator=(path&&) noexcept
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <type_traits>
#include <cassert>
#include "test_macros.h"
-#include "count_new.hpp"
+#include "count_new.h"
int main(int, char**) {
Modified: libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.assign/source.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.assign/source.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.assign/source.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.assign/source.pass.cpp Tue Aug 20 17:14:12 2019
@@ -21,15 +21,15 @@
// path& assign(InputIterator first, InputIterator last);
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <type_traits>
#include <string_view>
#include <cassert>
#include "test_macros.h"
#include "test_iterators.h"
-#include "count_new.hpp"
-#include "filesystem_test_helper.hpp"
+#include "count_new.h"
+#include "filesystem_test_helper.h"
#include <iostream>
Modified: libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.compare.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.compare.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.compare.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.compare.pass.cpp Tue Aug 20 17:14:12 2019
@@ -26,15 +26,15 @@
// size_t hash_value(path const&) noexcept;
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <type_traits>
#include <vector>
#include <cassert>
#include "test_macros.h"
#include "test_iterators.h"
-#include "count_new.hpp"
-#include "filesystem_test_helper.hpp"
+#include "count_new.h"
+#include "filesystem_test_helper.h"
#include "verbose_assert.h"
struct PathCompareTest {
Modified: libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.concat.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.concat.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.concat.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.concat.pass.cpp Tue Aug 20 17:14:12 2019
@@ -27,7 +27,7 @@
// path& concat(InputIterator first, InputIterator last);
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <type_traits>
#include <string>
#include <string_view>
@@ -35,8 +35,8 @@
#include "test_macros.h"
#include "test_iterators.h"
-#include "count_new.hpp"
-#include "filesystem_test_helper.hpp"
+#include "count_new.h"
+#include "filesystem_test_helper.h"
struct ConcatOperatorTestcase {
Modified: libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.construct/copy.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.construct/copy.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.construct/copy.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.construct/copy.pass.cpp Tue Aug 20 17:14:12 2019
@@ -14,7 +14,7 @@
// path(path const&)
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <type_traits>
#include <cassert>
Modified: libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.construct/default.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.construct/default.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.construct/default.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.construct/default.pass.cpp Tue Aug 20 17:14:12 2019
@@ -14,7 +14,7 @@
// path() noexcept
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <type_traits>
#include <cassert>
Modified: libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.construct/move.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.construct/move.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.construct/move.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.construct/move.pass.cpp Tue Aug 20 17:14:12 2019
@@ -14,12 +14,12 @@
// path(path&&) noexcept
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <type_traits>
#include <cassert>
#include "test_macros.h"
-#include "count_new.hpp"
+#include "count_new.h"
int main(int, char**) {
Modified: libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.construct/source.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.construct/source.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.construct/source.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.construct/source.pass.cpp Tue Aug 20 17:14:12 2019
@@ -18,14 +18,14 @@
// path(InputIterator first, InputIterator last);
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <type_traits>
#include <cassert>
#include "test_macros.h"
#include "test_iterators.h"
#include "min_allocator.h"
-#include "filesystem_test_helper.hpp"
+#include "filesystem_test_helper.h"
template <class CharT, class ...Args>
Modified: libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.decompose/empty.fail.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.decompose/empty.fail.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.decompose/empty.fail.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.decompose/empty.fail.cpp Tue Aug 20 17:14:12 2019
@@ -16,7 +16,7 @@
// UNSUPPORTED: c++98, c++03, c++11, c++14, c++17
// UNSUPPORTED: clang-3.3, clang-3.4, clang-3.5, clang-3.6, clang-3.7, clang-3.8
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include "test_macros.h"
Modified: libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.decompose/path.decompose.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.decompose/path.decompose.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.decompose/path.decompose.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.decompose/path.decompose.pass.cpp Tue Aug 20 17:14:12 2019
@@ -43,15 +43,15 @@
// iterator end() const;
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <type_traits>
#include <vector>
#include <cassert>
#include "test_macros.h"
#include "test_iterators.h"
-#include "count_new.hpp"
-#include "filesystem_test_helper.hpp"
+#include "count_new.h"
+#include "filesystem_test_helper.h"
#include "assert_checkpoint.h"
#include "verbose_assert.h"
Modified: libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.gen/lexically_normal.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.gen/lexically_normal.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.gen/lexically_normal.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.gen/lexically_normal.pass.cpp Tue Aug 20 17:14:12 2019
@@ -14,7 +14,7 @@
// path lexically_normal() const;
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <type_traits>
#include <vector>
#include <iostream>
@@ -22,8 +22,8 @@
#include "test_macros.h"
#include "test_iterators.h"
-#include "count_new.hpp"
-#include "filesystem_test_helper.hpp"
+#include "count_new.h"
+#include "filesystem_test_helper.h"
int main(int, char**) {
Modified: libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.gen/lexically_relative_and_proximate.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.gen/lexically_relative_and_proximate.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.gen/lexically_relative_and_proximate.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.gen/lexically_relative_and_proximate.pass.cpp Tue Aug 20 17:14:12 2019
@@ -15,7 +15,7 @@
// path lexically_relative(const path& p) const;
// path lexically_proximate(const path& p) const;
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <type_traits>
#include <vector>
#include <iostream>
@@ -23,8 +23,8 @@
#include "test_macros.h"
#include "test_iterators.h"
-#include "count_new.hpp"
-#include "filesystem_test_helper.hpp"
+#include "count_new.h"
+#include "filesystem_test_helper.h"
int main(int, char**) {
Modified: libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.generic.obs/generic_string_alloc.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.generic.obs/generic_string_alloc.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.generic.obs/generic_string_alloc.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.generic.obs/generic_string_alloc.pass.cpp Tue Aug 20 17:14:12 2019
@@ -17,15 +17,15 @@
// basic_string<ECharT, Traits, Allocator>
// generic_string(const Allocator& a = Allocator()) const;
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <type_traits>
#include <cassert>
#include "test_macros.h"
#include "test_iterators.h"
-#include "count_new.hpp"
+#include "count_new.h"
#include "min_allocator.h"
-#include "filesystem_test_helper.hpp"
+#include "filesystem_test_helper.h"
MultiStringType longString = MKSTR("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ/123456789/abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ");
Modified: libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.generic.obs/named_overloads.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.generic.obs/named_overloads.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.generic.obs/named_overloads.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.generic.obs/named_overloads.pass.cpp Tue Aug 20 17:14:12 2019
@@ -19,15 +19,15 @@
// std::u32string generic_u32string() const;
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <type_traits>
#include <cassert>
#include "test_macros.h"
#include "test_iterators.h"
-#include "count_new.hpp"
+#include "count_new.h"
#include "min_allocator.h"
-#include "filesystem_test_helper.hpp"
+#include "filesystem_test_helper.h"
MultiStringType longString = MKSTR("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ/123456789/abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ");
Modified: libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.modifiers/clear.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.modifiers/clear.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.modifiers/clear.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.modifiers/clear.pass.cpp Tue Aug 20 17:14:12 2019
@@ -14,14 +14,14 @@
// void clear() noexcept
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <type_traits>
#include <cassert>
#include "test_macros.h"
#include "test_iterators.h"
-#include "count_new.hpp"
-#include "filesystem_test_helper.hpp"
+#include "count_new.h"
+#include "filesystem_test_helper.h"
int main(int, char**) {
Modified: libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.modifiers/make_preferred.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.modifiers/make_preferred.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.modifiers/make_preferred.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.modifiers/make_preferred.pass.cpp Tue Aug 20 17:14:12 2019
@@ -14,14 +14,14 @@
// path& make_preferred()
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <type_traits>
#include <cassert>
#include "test_macros.h"
#include "test_iterators.h"
-#include "count_new.hpp"
-#include "filesystem_test_helper.hpp"
+#include "count_new.h"
+#include "filesystem_test_helper.h"
struct MakePreferredTestcase {
Modified: libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.modifiers/remove_filename.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.modifiers/remove_filename.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.modifiers/remove_filename.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.modifiers/remove_filename.pass.cpp Tue Aug 20 17:14:12 2019
@@ -14,14 +14,14 @@
// path& remove_filename()
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <type_traits>
#include <cassert>
#include "test_macros.h"
#include "test_iterators.h"
-#include "count_new.hpp"
-#include "filesystem_test_helper.hpp"
+#include "count_new.h"
+#include "filesystem_test_helper.h"
#include "verbose_assert.h"
struct RemoveFilenameTestcase {
Modified: libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.modifiers/replace_extension.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.modifiers/replace_extension.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.modifiers/replace_extension.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.modifiers/replace_extension.pass.cpp Tue Aug 20 17:14:12 2019
@@ -14,14 +14,14 @@
// path& replace_extension(path const& p = path())
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <type_traits>
#include <cassert>
#include "test_macros.h"
#include "test_iterators.h"
-#include "count_new.hpp"
-#include "filesystem_test_helper.hpp"
+#include "count_new.h"
+#include "filesystem_test_helper.h"
struct ReplaceExtensionTestcase {
Modified: libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.modifiers/replace_filename.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.modifiers/replace_filename.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.modifiers/replace_filename.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.modifiers/replace_filename.pass.cpp Tue Aug 20 17:14:12 2019
@@ -14,14 +14,14 @@
// path& replace_filename()
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <type_traits>
#include <cassert>
#include "test_macros.h"
#include "test_iterators.h"
-#include "count_new.hpp"
-#include "filesystem_test_helper.hpp"
+#include "count_new.h"
+#include "filesystem_test_helper.h"
#include "assert_checkpoint.h"
#include "verbose_assert.h"
Modified: libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.modifiers/swap.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.modifiers/swap.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.modifiers/swap.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.modifiers/swap.pass.cpp Tue Aug 20 17:14:12 2019
@@ -14,14 +14,14 @@
// void swap(path& rhs) noexcept;
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <type_traits>
#include <cassert>
#include "test_macros.h"
#include "test_iterators.h"
-#include "count_new.hpp"
-#include "filesystem_test_helper.hpp"
+#include "count_new.h"
+#include "filesystem_test_helper.h"
struct SwapTestcase {
Modified: libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.native.obs/c_str.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.native.obs/c_str.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.native.obs/c_str.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.native.obs/c_str.pass.cpp Tue Aug 20 17:14:12 2019
@@ -15,12 +15,12 @@
// const value_type* c_str() const noexcept;
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <type_traits>
#include <cassert>
#include "test_macros.h"
-#include "filesystem_test_helper.hpp"
+#include "filesystem_test_helper.h"
int main(int, char**)
Modified: libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.native.obs/named_overloads.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.native.obs/named_overloads.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.native.obs/named_overloads.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.native.obs/named_overloads.pass.cpp Tue Aug 20 17:14:12 2019
@@ -19,15 +19,15 @@
// std::u32string u32string() const;
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <type_traits>
#include <cassert>
#include "test_macros.h"
#include "test_iterators.h"
-#include "count_new.hpp"
+#include "count_new.h"
#include "min_allocator.h"
-#include "filesystem_test_helper.hpp"
+#include "filesystem_test_helper.h"
MultiStringType longString = MKSTR("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ/123456789/abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ");
Modified: libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.native.obs/native.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.native.obs/native.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.native.obs/native.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.native.obs/native.pass.cpp Tue Aug 20 17:14:12 2019
@@ -14,12 +14,12 @@
// const string_type& native() const noexcept;
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <type_traits>
#include <cassert>
#include "test_macros.h"
-#include "filesystem_test_helper.hpp"
+#include "filesystem_test_helper.h"
int main(int, char**)
Modified: libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.native.obs/operator_string.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.native.obs/operator_string.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.native.obs/operator_string.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.native.obs/operator_string.pass.cpp Tue Aug 20 17:14:12 2019
@@ -15,12 +15,12 @@
// operator string_type() const;
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <type_traits>
#include <cassert>
#include "test_macros.h"
-#include "filesystem_test_helper.hpp"
+#include "filesystem_test_helper.h"
int main(int, char**)
Modified: libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.native.obs/string_alloc.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.native.obs/string_alloc.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.native.obs/string_alloc.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.native.obs/string_alloc.pass.cpp Tue Aug 20 17:14:12 2019
@@ -17,15 +17,15 @@
// basic_string<ECharT, Traits, Allocator>
// string(const Allocator& a = Allocator()) const;
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <type_traits>
#include <cassert>
#include "test_macros.h"
#include "test_iterators.h"
-#include "count_new.hpp"
+#include "count_new.h"
#include "min_allocator.h"
-#include "filesystem_test_helper.hpp"
+#include "filesystem_test_helper.h"
// the SSO is always triggered for strings of size 2.
Modified: libcxx/trunk/test/std/input.output/filesystems/class.path/path.nonmember/append_op.fail.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/class.path/path.nonmember/append_op.fail.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/class.path/path.nonmember/append_op.fail.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/class.path/path.nonmember/append_op.fail.cpp Tue Aug 20 17:14:12 2019
@@ -10,7 +10,7 @@
// <filesystem>
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
using namespace fs;
@@ -25,4 +25,4 @@ int main(int, char**) {
(void)(LHS / RHS); // expected-error {{invalid operands to binary expression}}
return 0;
-}
\ No newline at end of file
+}
Modified: libcxx/trunk/test/std/input.output/filesystems/class.path/path.nonmember/append_op.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/class.path/path.nonmember/append_op.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/class.path/path.nonmember/append_op.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/class.path/path.nonmember/append_op.pass.cpp Tue Aug 20 17:14:12 2019
@@ -12,12 +12,12 @@
// path operator/(path const&, path const&);
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <type_traits>
#include <cassert>
#include "test_macros.h"
-#include "filesystem_test_helper.hpp"
+#include "filesystem_test_helper.h"
// This is mainly tested via the member append functions.
int main(int, char**)
Modified: libcxx/trunk/test/std/input.output/filesystems/class.path/path.nonmember/comparison_ops.fail.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/class.path/path.nonmember/comparison_ops.fail.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/class.path/path.nonmember/comparison_ops.fail.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/class.path/path.nonmember/comparison_ops.fail.cpp Tue Aug 20 17:14:12 2019
@@ -11,7 +11,7 @@
// <filesystem>
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
using namespace fs;
@@ -31,4 +31,4 @@ int main(int, char**) {
(void)(LHS >= RHS); // expected-error {{invalid operands to binary expression}}
return 0;
-}
\ No newline at end of file
+}
Modified: libcxx/trunk/test/std/input.output/filesystems/class.path/path.nonmember/path.factory.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/class.path/path.nonmember/path.factory.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/class.path/path.nonmember/path.factory.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/class.path/path.nonmember/path.factory.pass.cpp Tue Aug 20 17:14:12 2019
@@ -15,14 +15,14 @@
// template <class InputIter>
// path u8path(InputIter, InputIter);
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <type_traits>
#include <cassert>
#include "test_macros.h"
#include "test_iterators.h"
-#include "count_new.hpp"
-#include "filesystem_test_helper.hpp"
+#include "count_new.h"
+#include "filesystem_test_helper.h"
int main(int, char**)
Modified: libcxx/trunk/test/std/input.output/filesystems/class.path/path.nonmember/path.io.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/class.path/path.nonmember/path.io.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/class.path/path.nonmember/path.io.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/class.path/path.nonmember/path.io.pass.cpp Tue Aug 20 17:14:12 2019
@@ -21,7 +21,7 @@
// operator>>(basic_istream<charT, traits>& is, path& p)
//
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <type_traits>
#include <sstream>
#include <cassert>
@@ -29,8 +29,8 @@
#include "test_macros.h"
#include "test_iterators.h"
-#include "count_new.hpp"
-#include "filesystem_test_helper.hpp"
+#include "count_new.h"
+#include "filesystem_test_helper.h"
MultiStringType InStr = MKSTR("abcdefg/\"hijklmnop\"/qrstuvwxyz/123456789");
MultiStringType OutStr = MKSTR("\"abcdefg/\\\"hijklmnop\\\"/qrstuvwxyz/123456789\"");
Modified: libcxx/trunk/test/std/input.output/filesystems/class.path/path.nonmember/path.io.unicode_bug.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/class.path/path.nonmember/path.io.unicode_bug.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/class.path/path.nonmember/path.io.unicode_bug.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/class.path/path.nonmember/path.io.unicode_bug.pass.cpp Tue Aug 20 17:14:12 2019
@@ -26,15 +26,15 @@
// passes.
// XFAIL: *
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <type_traits>
#include <sstream>
#include <cassert>
#include "test_macros.h"
#include "test_iterators.h"
-#include "count_new.hpp"
-#include "filesystem_test_helper.hpp"
+#include "count_new.h"
+#include "filesystem_test_helper.h"
MultiStringType InStr = MKSTR("abcdefg/\"hijklmnop\"/qrstuvwxyz/123456789");
MultiStringType OutStr = MKSTR("\"abcdefg/\\\"hijklmnop\\\"/qrstuvwxyz/123456789\"");
Modified: libcxx/trunk/test/std/input.output/filesystems/class.path/path.nonmember/swap.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/class.path/path.nonmember/swap.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/class.path/path.nonmember/swap.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/class.path/path.nonmember/swap.pass.cpp Tue Aug 20 17:14:12 2019
@@ -12,13 +12,13 @@
// void swap(path& lhs, path& rhs) noexcept;
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <type_traits>
#include <cassert>
#include "test_macros.h"
-#include "count_new.hpp"
-#include "filesystem_test_helper.hpp"
+#include "count_new.h"
+#include "filesystem_test_helper.h"
// NOTE: this is tested in path.members/path.modifiers via the member swap.
Modified: libcxx/trunk/test/std/input.output/filesystems/class.path/synop.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/class.path/synop.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/class.path/synop.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/class.path/synop.pass.cpp Tue Aug 20 17:14:12 2019
@@ -16,7 +16,7 @@
// typedef basic_string<value_type> string_type;
// static constexpr value_type preferred_separator = ...;
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <type_traits>
#include <cassert>
Modified: libcxx/trunk/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/copy.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/copy.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/copy.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/copy.pass.cpp Tue Aug 20 17:14:12 2019
@@ -14,14 +14,14 @@
// recursive_recursive_directory_iterator(recursive_recursive_directory_iterator const&);
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <type_traits>
#include <set>
#include <cassert>
#include "test_macros.h"
-#include "rapid-cxx-test.hpp"
-#include "filesystem_test_helper.hpp"
+#include "rapid-cxx-test.h"
+#include "filesystem_test_helper.h"
using namespace fs;
Modified: libcxx/trunk/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/copy_assign.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/copy_assign.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/copy_assign.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/copy_assign.pass.cpp Tue Aug 20 17:14:12 2019
@@ -14,14 +14,14 @@
// recursive_directory_iterator& operator=(recursive_directory_iterator const&);
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <type_traits>
#include <set>
#include <cassert>
#include "test_macros.h"
-#include "rapid-cxx-test.hpp"
-#include "filesystem_test_helper.hpp"
+#include "rapid-cxx-test.h"
+#include "filesystem_test_helper.h"
using namespace fs;
Modified: libcxx/trunk/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/ctor.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/ctor.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/ctor.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/ctor.pass.cpp Tue Aug 20 17:14:12 2019
@@ -19,14 +19,14 @@
// recursive_directory_iterator(const path& p, directory_options options, error_code& ec);
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <type_traits>
#include <set>
#include <cassert>
#include "test_macros.h"
-#include "rapid-cxx-test.hpp"
-#include "filesystem_test_helper.hpp"
+#include "rapid-cxx-test.h"
+#include "filesystem_test_helper.h"
using namespace fs;
Modified: libcxx/trunk/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/depth.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/depth.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/depth.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/depth.pass.cpp Tue Aug 20 17:14:12 2019
@@ -14,14 +14,14 @@
// int depth() const
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <type_traits>
#include <set>
#include <cassert>
#include "test_macros.h"
-#include "rapid-cxx-test.hpp"
-#include "filesystem_test_helper.hpp"
+#include "rapid-cxx-test.h"
+#include "filesystem_test_helper.h"
using namespace fs;
Modified: libcxx/trunk/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/disable_recursion_pending.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/disable_recursion_pending.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/disable_recursion_pending.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/disable_recursion_pending.pass.cpp Tue Aug 20 17:14:12 2019
@@ -14,14 +14,14 @@
// void disable_recursion_pending();
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <type_traits>
#include <set>
#include <cassert>
#include "test_macros.h"
-#include "rapid-cxx-test.hpp"
-#include "filesystem_test_helper.hpp"
+#include "rapid-cxx-test.h"
+#include "filesystem_test_helper.h"
using namespace fs;
Modified: libcxx/trunk/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/increment.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/increment.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/increment.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/increment.pass.cpp Tue Aug 20 17:14:12 2019
@@ -15,14 +15,14 @@
// recursive_directory_iterator& operator++();
// recursive_directory_iterator& increment(error_code& ec) noexcept;
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <type_traits>
#include <set>
#include <cassert>
#include "test_macros.h"
-#include "rapid-cxx-test.hpp"
-#include "filesystem_test_helper.hpp"
+#include "rapid-cxx-test.h"
+#include "filesystem_test_helper.h"
using namespace fs;
Modified: libcxx/trunk/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/move.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/move.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/move.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/move.pass.cpp Tue Aug 20 17:14:12 2019
@@ -14,14 +14,14 @@
// recursive_directory_iterator(recursive_directory_iterator&&) noexcept;
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <type_traits>
#include <set>
#include <cassert>
#include "test_macros.h"
-#include "rapid-cxx-test.hpp"
-#include "filesystem_test_helper.hpp"
+#include "rapid-cxx-test.h"
+#include "filesystem_test_helper.h"
using namespace fs;
Modified: libcxx/trunk/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/move_assign.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/move_assign.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/move_assign.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/move_assign.pass.cpp Tue Aug 20 17:14:12 2019
@@ -14,14 +14,14 @@
// recursive_directory_iterator& operator=(recursive_directory_iterator const&);
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <type_traits>
#include <set>
#include <cassert>
#include "test_macros.h"
-#include "rapid-cxx-test.hpp"
-#include "filesystem_test_helper.hpp"
+#include "rapid-cxx-test.h"
+#include "filesystem_test_helper.h"
// The filesystem specification explicitly allows for self-move on
// the directory iterators. Turn off this warning so we can test it.
Modified: libcxx/trunk/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/pop.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/pop.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/pop.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/pop.pass.cpp Tue Aug 20 17:14:12 2019
@@ -15,13 +15,13 @@
// void pop();
// void pop(error_code& ec);
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <set>
#include <cassert>
#include "test_macros.h"
-#include "rapid-cxx-test.hpp"
-#include "filesystem_test_helper.hpp"
+#include "rapid-cxx-test.h"
+#include "filesystem_test_helper.h"
using namespace fs;
Modified: libcxx/trunk/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/recursion_pending.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/recursion_pending.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/recursion_pending.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/recursion_pending.pass.cpp Tue Aug 20 17:14:12 2019
@@ -14,14 +14,14 @@
// bool recursion_pending() const;
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <type_traits>
#include <set>
#include <cassert>
#include "test_macros.h"
-#include "rapid-cxx-test.hpp"
-#include "filesystem_test_helper.hpp"
+#include "rapid-cxx-test.h"
+#include "filesystem_test_helper.h"
using namespace fs;
Modified: libcxx/trunk/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.nonmembers/begin_end.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.nonmembers/begin_end.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.nonmembers/begin_end.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.nonmembers/begin_end.pass.cpp Tue Aug 20 17:14:12 2019
@@ -15,14 +15,14 @@
// recursive_directory_iterator begin(recursive_directory_iterator iter) noexcept;
// recursive_directory_iterator end(recursive_directory_iterator iter) noexcept;
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <type_traits>
#include <set>
#include <cassert>
#include "test_macros.h"
-#include "rapid-cxx-test.hpp"
-#include "filesystem_test_helper.hpp"
+#include "rapid-cxx-test.h"
+#include "filesystem_test_helper.h"
#include <iostream>
using namespace fs;
Modified: libcxx/trunk/test/std/input.output/filesystems/fs.enum/enum.copy_options.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/fs.enum/enum.copy_options.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/fs.enum/enum.copy_options.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/fs.enum/enum.copy_options.pass.cpp Tue Aug 20 17:14:12 2019
@@ -12,7 +12,7 @@
// enum class copy_options;
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <type_traits>
#include <cassert>
Modified: libcxx/trunk/test/std/input.output/filesystems/fs.enum/enum.directory_options.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/fs.enum/enum.directory_options.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/fs.enum/enum.directory_options.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/fs.enum/enum.directory_options.pass.cpp Tue Aug 20 17:14:12 2019
@@ -12,7 +12,7 @@
// enum class directory_options;
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <type_traits>
#include <cassert>
#include <sys/stat.h>
Modified: libcxx/trunk/test/std/input.output/filesystems/fs.enum/enum.file_type.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/fs.enum/enum.file_type.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/fs.enum/enum.file_type.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/fs.enum/enum.file_type.pass.cpp Tue Aug 20 17:14:12 2019
@@ -12,7 +12,7 @@
// enum class file_type;
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <type_traits>
#include <cassert>
Modified: libcxx/trunk/test/std/input.output/filesystems/fs.enum/enum.path.format.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/fs.enum/enum.path.format.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/fs.enum/enum.path.format.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/fs.enum/enum.path.format.pass.cpp Tue Aug 20 17:14:12 2019
@@ -13,7 +13,7 @@
// class path;
// enum class format;
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <type_traits>
#include <cassert>
Modified: libcxx/trunk/test/std/input.output/filesystems/fs.enum/enum.perm_options.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/fs.enum/enum.perm_options.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/fs.enum/enum.perm_options.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/fs.enum/enum.perm_options.pass.cpp Tue Aug 20 17:14:12 2019
@@ -12,7 +12,7 @@
// enum class perm_options;
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <type_traits>
#include <cassert>
#include <sys/stat.h>
Modified: libcxx/trunk/test/std/input.output/filesystems/fs.enum/enum.perms.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/fs.enum/enum.perms.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/fs.enum/enum.perms.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/fs.enum/enum.perms.pass.cpp Tue Aug 20 17:14:12 2019
@@ -12,7 +12,7 @@
// enum class perms;
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <type_traits>
#include <cassert>
#include <sys/stat.h>
Modified: libcxx/trunk/test/std/input.output/filesystems/fs.filesystem.synopsis/file_time_type.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/fs.filesystem.synopsis/file_time_type.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/fs.filesystem.synopsis/file_time_type.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/fs.filesystem.synopsis/file_time_type.pass.cpp Tue Aug 20 17:14:12 2019
@@ -12,7 +12,7 @@
// typedef TrivialClock file_time_type;
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <chrono>
#include <type_traits>
Modified: libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.absolute/absolute.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.absolute/absolute.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.absolute/absolute.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.absolute/absolute.pass.cpp Tue Aug 20 17:14:12 2019
@@ -12,13 +12,13 @@
// path absolute(const path& p, const path& base=current_path());
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <type_traits>
#include <cassert>
#include "test_macros.h"
-#include "rapid-cxx-test.hpp"
-#include "filesystem_test_helper.hpp"
+#include "rapid-cxx-test.h"
+#include "filesystem_test_helper.h"
using namespace fs;
Modified: libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.canonical/canonical.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.canonical/canonical.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.canonical/canonical.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.canonical/canonical.pass.cpp Tue Aug 20 17:14:12 2019
@@ -13,13 +13,13 @@
// path canonical(const path& p);
// path canonical(const path& p, error_code& ec);
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <type_traits>
#include <cassert>
#include "test_macros.h"
-#include "rapid-cxx-test.hpp"
-#include "filesystem_test_helper.hpp"
+#include "rapid-cxx-test.h"
+#include "filesystem_test_helper.h"
using namespace fs;
Modified: libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.copy/copy.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.copy/copy.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.copy/copy.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.copy/copy.pass.cpp Tue Aug 20 17:14:12 2019
@@ -16,14 +16,14 @@
// void copy(const path& from, const path& to, copy_options options,
// error_code& ec);
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <type_traits>
#include <cstddef>
#include <cassert>
#include "test_macros.h"
-#include "rapid-cxx-test.hpp"
-#include "filesystem_test_helper.hpp"
+#include "rapid-cxx-test.h"
+#include "filesystem_test_helper.h"
using namespace fs;
Modified: libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.copy_file/copy_file.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.copy_file/copy_file.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.copy_file/copy_file.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.copy_file/copy_file.pass.cpp Tue Aug 20 17:14:12 2019
@@ -16,14 +16,14 @@
// bool copy_file(const path& from, const path& to, copy_options options,
// error_code& ec) noexcept;
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <type_traits>
#include <chrono>
#include <cassert>
#include "test_macros.h"
-#include "rapid-cxx-test.hpp"
-#include "filesystem_test_helper.hpp"
+#include "rapid-cxx-test.h"
+#include "filesystem_test_helper.h"
#include <iostream>
Modified: libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.copy_file/copy_file_large.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.copy_file/copy_file_large.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.copy_file/copy_file_large.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.copy_file/copy_file_large.pass.cpp Tue Aug 20 17:14:12 2019
@@ -17,14 +17,14 @@
// bool copy_file(const path& from, const path& to, copy_options options,
// error_code& ec) noexcept;
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <type_traits>
#include <chrono>
#include <cassert>
#include "test_macros.h"
-#include "rapid-cxx-test.hpp"
-#include "filesystem_test_helper.hpp"
+#include "rapid-cxx-test.h"
+#include "filesystem_test_helper.h"
using namespace fs;
Modified: libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.copy_symlink/copy_symlink.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.copy_symlink/copy_symlink.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.copy_symlink/copy_symlink.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.copy_symlink/copy_symlink.pass.cpp Tue Aug 20 17:14:12 2019
@@ -14,13 +14,13 @@
// void copy_symlink(const path& existing_symlink, const path& new_symlink,
// error_code& ec) noexcept;
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <type_traits>
#include <cassert>
#include "test_macros.h"
-#include "rapid-cxx-test.hpp"
-#include "filesystem_test_helper.hpp"
+#include "rapid-cxx-test.h"
+#include "filesystem_test_helper.h"
using namespace fs;
Modified: libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_directories/create_directories.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_directories/create_directories.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_directories/create_directories.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_directories/create_directories.pass.cpp Tue Aug 20 17:14:12 2019
@@ -13,13 +13,13 @@
// bool create_directories(const path& p);
// bool create_directories(const path& p, error_code& ec) noexcept;
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <type_traits>
#include <cassert>
#include "test_macros.h"
-#include "rapid-cxx-test.hpp"
-#include "filesystem_test_helper.hpp"
+#include "rapid-cxx-test.h"
+#include "filesystem_test_helper.h"
using namespace fs;
Modified: libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_directory/create_directory.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_directory/create_directory.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_directory/create_directory.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_directory/create_directory.pass.cpp Tue Aug 20 17:14:12 2019
@@ -15,13 +15,13 @@
// bool create_directory(const path& p, const path& attr);
// bool create_directory(const path& p, const path& attr, error_code& ec) noexcept;
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <type_traits>
#include <cassert>
#include "test_macros.h"
-#include "rapid-cxx-test.hpp"
-#include "filesystem_test_helper.hpp"
+#include "rapid-cxx-test.h"
+#include "filesystem_test_helper.h"
#include <sys/types.h>
#include <sys/stat.h>
Modified: libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_directory/create_directory_with_attributes.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_directory/create_directory_with_attributes.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_directory/create_directory_with_attributes.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_directory/create_directory_with_attributes.pass.cpp Tue Aug 20 17:14:12 2019
@@ -13,13 +13,13 @@
// bool create_directory(const path& p, const path& attr);
// bool create_directory(const path& p, const path& attr, error_code& ec) noexcept;
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <type_traits>
#include <cassert>
#include "test_macros.h"
-#include "rapid-cxx-test.hpp"
-#include "filesystem_test_helper.hpp"
+#include "rapid-cxx-test.h"
+#include "filesystem_test_helper.h"
using namespace fs;
Modified: libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_directory_symlink/create_directory_symlink.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_directory_symlink/create_directory_symlink.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_directory_symlink/create_directory_symlink.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_directory_symlink/create_directory_symlink.pass.cpp Tue Aug 20 17:14:12 2019
@@ -14,12 +14,12 @@
// void create_directory_symlink(const path& existing_symlink, const path& new_symlink,
// error_code& ec) noexcept;
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <cassert>
#include "test_macros.h"
-#include "rapid-cxx-test.hpp"
-#include "filesystem_test_helper.hpp"
+#include "rapid-cxx-test.h"
+#include "filesystem_test_helper.h"
using namespace fs;
Modified: libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_hard_link/create_hard_link.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_hard_link/create_hard_link.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_hard_link/create_hard_link.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_hard_link/create_hard_link.pass.cpp Tue Aug 20 17:14:12 2019
@@ -14,11 +14,11 @@
// void create_hard_link(const path& existing_symlink, const path& new_symlink,
// error_code& ec) noexcept;
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include "test_macros.h"
-#include "rapid-cxx-test.hpp"
-#include "filesystem_test_helper.hpp"
+#include "rapid-cxx-test.h"
+#include "filesystem_test_helper.h"
using namespace fs;
Modified: libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_symlink/create_symlink.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_symlink/create_symlink.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_symlink/create_symlink.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_symlink/create_symlink.pass.cpp Tue Aug 20 17:14:12 2019
@@ -14,12 +14,12 @@
// void create_symlink(const path& existing_symlink, const path& new_symlink,
// error_code& ec) noexcept;
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <cassert>
#include "test_macros.h"
-#include "rapid-cxx-test.hpp"
-#include "filesystem_test_helper.hpp"
+#include "rapid-cxx-test.h"
+#include "filesystem_test_helper.h"
using namespace fs;
Modified: libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.current_path/current_path.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.current_path/current_path.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.current_path/current_path.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.current_path/current_path.pass.cpp Tue Aug 20 17:14:12 2019
@@ -15,13 +15,13 @@
// void current_path(path const&);
// void current_path(path const&, std::error_code& ec) noexcept;
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <type_traits>
#include <cassert>
#include "test_macros.h"
-#include "rapid-cxx-test.hpp"
-#include "filesystem_test_helper.hpp"
+#include "rapid-cxx-test.h"
+#include "filesystem_test_helper.h"
using namespace fs;
Modified: libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.equivalent/equivalent.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.equivalent/equivalent.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.equivalent/equivalent.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.equivalent/equivalent.pass.cpp Tue Aug 20 17:14:12 2019
@@ -13,13 +13,13 @@
// bool equivalent(path const& lhs, path const& rhs);
// bool equivalent(path const& lhs, path const& rhs, std::error_code& ec) noexcept;
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <type_traits>
#include <cassert>
#include "test_macros.h"
-#include "rapid-cxx-test.hpp"
-#include "filesystem_test_helper.hpp"
+#include "rapid-cxx-test.h"
+#include "filesystem_test_helper.h"
using namespace fs;
Modified: libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.exists/exists.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.exists/exists.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.exists/exists.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.exists/exists.pass.cpp Tue Aug 20 17:14:12 2019
@@ -14,13 +14,13 @@
// bool exists(path const& p);
// bool exists(path const& p, std::error_code& ec) noexcept;
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <type_traits>
#include <cassert>
#include "test_macros.h"
-#include "rapid-cxx-test.hpp"
-#include "filesystem_test_helper.hpp"
+#include "rapid-cxx-test.h"
+#include "filesystem_test_helper.h"
using namespace fs;
Modified: libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.file_size/file_size.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.file_size/file_size.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.file_size/file_size.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.file_size/file_size.pass.cpp Tue Aug 20 17:14:12 2019
@@ -13,13 +13,13 @@
// uintmax_t file_size(const path& p);
// uintmax_t file_size(const path& p, std::error_code& ec) noexcept;
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <type_traits>
#include <cassert>
#include "test_macros.h"
-#include "rapid-cxx-test.hpp"
-#include "filesystem_test_helper.hpp"
+#include "rapid-cxx-test.h"
+#include "filesystem_test_helper.h"
using namespace fs;
Modified: libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.hard_lk_ct/hard_link_count.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.hard_lk_ct/hard_link_count.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.hard_lk_ct/hard_link_count.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.hard_lk_ct/hard_link_count.pass.cpp Tue Aug 20 17:14:12 2019
@@ -13,13 +13,13 @@
// uintmax_t hard_link_count(const path& p);
// uintmax_t hard_link_count(const path& p, std::error_code& ec) noexcept;
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <type_traits>
#include <cassert>
#include "test_macros.h"
-#include "rapid-cxx-test.hpp"
-#include "filesystem_test_helper.hpp"
+#include "rapid-cxx-test.h"
+#include "filesystem_test_helper.h"
using namespace fs;
Modified: libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_block_file/is_block_file.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_block_file/is_block_file.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_block_file/is_block_file.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_block_file/is_block_file.pass.cpp Tue Aug 20 17:14:12 2019
@@ -14,13 +14,13 @@
// bool is_block_file(path const& p);
// bool is_block_file(path const& p, std::error_code& ec) noexcept;
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <type_traits>
#include <cassert>
#include "test_macros.h"
-#include "rapid-cxx-test.hpp"
-#include "filesystem_test_helper.hpp"
+#include "rapid-cxx-test.h"
+#include "filesystem_test_helper.h"
using namespace fs;
Modified: libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_char_file/is_character_file.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_char_file/is_character_file.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_char_file/is_character_file.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_char_file/is_character_file.pass.cpp Tue Aug 20 17:14:12 2019
@@ -14,13 +14,13 @@
// bool is_character_file(path const& p);
// bool is_character_file(path const& p, std::error_code& ec) noexcept;
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <type_traits>
#include <cassert>
#include "test_macros.h"
-#include "rapid-cxx-test.hpp"
-#include "filesystem_test_helper.hpp"
+#include "rapid-cxx-test.h"
+#include "filesystem_test_helper.h"
using namespace fs;
Modified: libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_directory/is_directory.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_directory/is_directory.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_directory/is_directory.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_directory/is_directory.pass.cpp Tue Aug 20 17:14:12 2019
@@ -14,13 +14,13 @@
// bool is_directory(path const& p);
// bool is_directory(path const& p, std::error_code& ec) noexcept;
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <type_traits>
#include <cassert>
#include "test_macros.h"
-#include "rapid-cxx-test.hpp"
-#include "filesystem_test_helper.hpp"
+#include "rapid-cxx-test.h"
+#include "filesystem_test_helper.h"
using namespace fs;
Modified: libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_empty/is_empty.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_empty/is_empty.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_empty/is_empty.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_empty/is_empty.pass.cpp Tue Aug 20 17:14:12 2019
@@ -13,13 +13,13 @@
// bool is_empty(path const& p);
// bool is_empty(path const& p, std::error_code& ec);
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <type_traits>
#include <cassert>
#include "test_macros.h"
-#include "rapid-cxx-test.hpp"
-#include "filesystem_test_helper.hpp"
+#include "rapid-cxx-test.h"
+#include "filesystem_test_helper.h"
using namespace fs;
Modified: libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_fifo/is_fifo.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_fifo/is_fifo.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_fifo/is_fifo.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_fifo/is_fifo.pass.cpp Tue Aug 20 17:14:12 2019
@@ -14,13 +14,13 @@
// bool is_fifo(path const& p);
// bool is_fifo(path const& p, std::error_code& ec) noexcept;
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <type_traits>
#include <cassert>
#include "test_macros.h"
-#include "rapid-cxx-test.hpp"
-#include "filesystem_test_helper.hpp"
+#include "rapid-cxx-test.h"
+#include "filesystem_test_helper.h"
using namespace fs;
Modified: libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_other/is_other.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_other/is_other.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_other/is_other.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_other/is_other.pass.cpp Tue Aug 20 17:14:12 2019
@@ -14,13 +14,13 @@
// bool is_other(path const& p);
// bool is_other(path const& p, std::error_code& ec) noexcept;
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <type_traits>
#include <cassert>
#include "test_macros.h"
-#include "rapid-cxx-test.hpp"
-#include "filesystem_test_helper.hpp"
+#include "rapid-cxx-test.h"
+#include "filesystem_test_helper.h"
using namespace fs;
Modified: libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_regular_file/is_regular_file.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_regular_file/is_regular_file.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_regular_file/is_regular_file.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_regular_file/is_regular_file.pass.cpp Tue Aug 20 17:14:12 2019
@@ -14,13 +14,13 @@
// bool is_regular_file(path const& p);
// bool is_regular_file(path const& p, std::error_code& ec) noexcept;
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <type_traits>
#include <cassert>
#include "test_macros.h"
-#include "rapid-cxx-test.hpp"
-#include "filesystem_test_helper.hpp"
+#include "rapid-cxx-test.h"
+#include "filesystem_test_helper.h"
using namespace fs;
Modified: libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_socket/is_socket.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_socket/is_socket.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_socket/is_socket.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_socket/is_socket.pass.cpp Tue Aug 20 17:14:12 2019
@@ -14,13 +14,13 @@
// bool is_socket(path const& p);
// bool is_socket(path const& p, std::error_code& ec) noexcept;
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <type_traits>
#include <cassert>
#include "test_macros.h"
-#include "rapid-cxx-test.hpp"
-#include "filesystem_test_helper.hpp"
+#include "rapid-cxx-test.h"
+#include "filesystem_test_helper.h"
using namespace fs;
Modified: libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_symlink/is_symlink.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_symlink/is_symlink.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_symlink/is_symlink.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_symlink/is_symlink.pass.cpp Tue Aug 20 17:14:12 2019
@@ -14,13 +14,13 @@
// bool is_symlink(path const& p);
// bool is_symlink(path const& p, std::error_code& ec) noexcept;
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <type_traits>
#include <cassert>
#include "test_macros.h"
-#include "rapid-cxx-test.hpp"
-#include "filesystem_test_helper.hpp"
+#include "rapid-cxx-test.h"
+#include "filesystem_test_helper.h"
using namespace fs;
Modified: libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.last_write_time/last_write_time.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.last_write_time/last_write_time.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.last_write_time/last_write_time.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.last_write_time/last_write_time.pass.cpp Tue Aug 20 17:14:12 2019
@@ -16,15 +16,15 @@
// void last_write_time(const path& p, file_time_type new_type,
// std::error_code& ec) noexcept;
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <type_traits>
#include <chrono>
#include <fstream>
#include <cstdlib>
#include "test_macros.h"
-#include "rapid-cxx-test.hpp"
-#include "filesystem_test_helper.hpp"
+#include "rapid-cxx-test.h"
+#include "filesystem_test_helper.h"
#include <sys/stat.h>
#include <iostream>
Modified: libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.permissions/permissions.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.permissions/permissions.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.permissions/permissions.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.permissions/permissions.pass.cpp Tue Aug 20 17:14:12 2019
@@ -17,11 +17,11 @@
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include "test_macros.h"
-#include "rapid-cxx-test.hpp"
-#include "filesystem_test_helper.hpp"
+#include "rapid-cxx-test.h"
+#include "filesystem_test_helper.h"
using namespace fs;
Modified: libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.proximate/proximate.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.proximate/proximate.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.proximate/proximate.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.proximate/proximate.pass.cpp Tue Aug 20 17:14:12 2019
@@ -14,7 +14,7 @@
// path proximate(const path& p, const path& base = current_path())
// path proximate(const path& p, const path& base, error_code& ec);
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <type_traits>
#include <vector>
#include <iostream>
@@ -22,9 +22,9 @@
#include "test_macros.h"
#include "test_iterators.h"
-#include "count_new.hpp"
-#include "rapid-cxx-test.hpp"
-#include "filesystem_test_helper.hpp"
+#include "count_new.h"
+#include "rapid-cxx-test.h"
+#include "filesystem_test_helper.h"
static int count_path_elems(const fs::path& p) {
Modified: libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.read_symlink/read_symlink.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.read_symlink/read_symlink.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.read_symlink/read_symlink.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.read_symlink/read_symlink.pass.cpp Tue Aug 20 17:14:12 2019
@@ -13,11 +13,11 @@
// path read_symlink(const path& p);
// path read_symlink(const path& p, error_code& ec);
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include "test_macros.h"
-#include "rapid-cxx-test.hpp"
-#include "filesystem_test_helper.hpp"
+#include "rapid-cxx-test.h"
+#include "filesystem_test_helper.h"
using namespace fs;
Modified: libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.relative/relative.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.relative/relative.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.relative/relative.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.relative/relative.pass.cpp Tue Aug 20 17:14:12 2019
@@ -14,16 +14,16 @@
// path proximate(const path& p, const path& base = current_path())
// path proximate(const path& p, const path& base, error_code& ec);
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <string>
#include <type_traits>
#include <cassert>
#include "test_macros.h"
#include "test_iterators.h"
-#include "count_new.hpp"
-#include "rapid-cxx-test.hpp"
-#include "filesystem_test_helper.hpp"
+#include "count_new.h"
+#include "rapid-cxx-test.h"
+#include "filesystem_test_helper.h"
TEST_SUITE(filesystem_proximate_path_test_suite)
Modified: libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.remove/remove.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.remove/remove.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.remove/remove.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.remove/remove.pass.cpp Tue Aug 20 17:14:12 2019
@@ -13,11 +13,11 @@
// bool remove(const path& p);
// bool remove(const path& p, error_code& ec) noexcept;
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include "test_macros.h"
-#include "rapid-cxx-test.hpp"
-#include "filesystem_test_helper.hpp"
+#include "rapid-cxx-test.h"
+#include "filesystem_test_helper.h"
using namespace fs;
Modified: libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.remove_all/remove_all.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.remove_all/remove_all.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.remove_all/remove_all.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.remove_all/remove_all.pass.cpp Tue Aug 20 17:14:12 2019
@@ -13,11 +13,11 @@
// uintmax_t remove_all(const path& p);
// uintmax_t remove_all(const path& p, error_code& ec) noexcept;
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include "test_macros.h"
-#include "rapid-cxx-test.hpp"
-#include "filesystem_test_helper.hpp"
+#include "rapid-cxx-test.h"
+#include "filesystem_test_helper.h"
using namespace fs;
Modified: libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.rename/rename.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.rename/rename.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.rename/rename.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.rename/rename.pass.cpp Tue Aug 20 17:14:12 2019
@@ -13,11 +13,11 @@
// void rename(const path& old_p, const path& new_p);
// void rename(const path& old_p, const path& new_p, error_code& ec) noexcept;
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include "test_macros.h"
-#include "rapid-cxx-test.hpp"
-#include "filesystem_test_helper.hpp"
+#include "rapid-cxx-test.h"
+#include "filesystem_test_helper.h"
using namespace fs;
Modified: libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.resize_file/resize_file.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.resize_file/resize_file.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.resize_file/resize_file.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.resize_file/resize_file.pass.cpp Tue Aug 20 17:14:12 2019
@@ -13,11 +13,11 @@
// void resize_file(const path& p, uintmax_t new_size);
// void resize_file(const path& p, uintmax_t new_size, error_code& ec) noexcept;
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include "test_macros.h"
-#include "rapid-cxx-test.hpp"
-#include "filesystem_test_helper.hpp"
+#include "rapid-cxx-test.h"
+#include "filesystem_test_helper.h"
using namespace fs;
Modified: libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.space/space.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.space/space.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.space/space.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.space/space.pass.cpp Tue Aug 20 17:14:12 2019
@@ -13,12 +13,12 @@
// space_info space(const path& p);
// space_info space(const path& p, error_code& ec) noexcept;
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <sys/statvfs.h>
#include "test_macros.h"
-#include "rapid-cxx-test.hpp"
-#include "filesystem_test_helper.hpp"
+#include "rapid-cxx-test.h"
+#include "filesystem_test_helper.h"
using namespace fs;
Modified: libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.status/status.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.status/status.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.status/status.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.status/status.pass.cpp Tue Aug 20 17:14:12 2019
@@ -13,11 +13,11 @@
// file_status status(const path& p);
// file_status status(const path& p, error_code& ec) noexcept;
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include "test_macros.h"
-#include "rapid-cxx-test.hpp"
-#include "filesystem_test_helper.hpp"
+#include "rapid-cxx-test.h"
+#include "filesystem_test_helper.h"
using namespace fs;
Modified: libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.status_known/status_known.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.status_known/status_known.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.status_known/status_known.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.status_known/status_known.pass.cpp Tue Aug 20 17:14:12 2019
@@ -12,13 +12,13 @@
// bool status_known(file_status s) noexcept;
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <type_traits>
#include <cassert>
#include "test_macros.h"
-#include "rapid-cxx-test.hpp"
-#include "filesystem_test_helper.hpp"
+#include "rapid-cxx-test.h"
+#include "filesystem_test_helper.h"
using namespace fs;
Modified: libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.symlink_status/symlink_status.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.symlink_status/symlink_status.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.symlink_status/symlink_status.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.symlink_status/symlink_status.pass.cpp Tue Aug 20 17:14:12 2019
@@ -13,11 +13,11 @@
// file_status symlink_status(const path& p);
// file_status symlink_status(const path& p, error_code& ec) noexcept;
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include "test_macros.h"
-#include "rapid-cxx-test.hpp"
-#include "filesystem_test_helper.hpp"
+#include "rapid-cxx-test.h"
+#include "filesystem_test_helper.h"
using namespace fs;
Modified: libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.temp_dir_path/temp_directory_path.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.temp_dir_path/temp_directory_path.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.temp_dir_path/temp_directory_path.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.temp_dir_path/temp_directory_path.pass.cpp Tue Aug 20 17:14:12 2019
@@ -13,15 +13,15 @@
// path temp_directory_path();
// path temp_directory_path(error_code& ec);
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <memory>
#include <cstdlib>
#include <cstring>
#include <cassert>
#include "test_macros.h"
-#include "rapid-cxx-test.hpp"
-#include "filesystem_test_helper.hpp"
+#include "rapid-cxx-test.h"
+#include "filesystem_test_helper.h"
using namespace fs;
Modified: libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.weakly_canonical/weakly_canonical.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.weakly_canonical/weakly_canonical.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.weakly_canonical/weakly_canonical.pass.cpp (original)
+++ libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.weakly_canonical/weakly_canonical.pass.cpp Tue Aug 20 17:14:12 2019
@@ -13,7 +13,7 @@
// path weakly_canonical(const path& p);
// path weakly_canonical(const path& p, error_code& ec);
-#include "filesystem_include.hpp"
+#include "filesystem_include.h"
#include <type_traits>
#include <vector>
#include <iostream>
@@ -21,8 +21,8 @@
#include "test_macros.h"
#include "test_iterators.h"
-#include "count_new.hpp"
-#include "filesystem_test_helper.hpp"
+#include "count_new.h"
+#include "filesystem_test_helper.h"
int main(int, char**) {
Modified: libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/back.insert.iter.ops/back.insert.iter.cons/container.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/back.insert.iter.ops/back.insert.iter.cons/container.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/back.insert.iter.ops/back.insert.iter.cons/container.pass.cpp (original)
+++ libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/back.insert.iter.ops/back.insert.iter.cons/container.pass.cpp Tue Aug 20 17:14:12 2019
@@ -14,7 +14,7 @@
#include <iterator>
#include <vector>
-#include "nasty_containers.hpp"
+#include "nasty_containers.h"
#include "test_macros.h"
Modified: libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/back.insert.iter.ops/back.insert.iter.op++/post.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/back.insert.iter.ops/back.insert.iter.op%2B%2B/post.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/back.insert.iter.ops/back.insert.iter.op++/post.pass.cpp (original)
+++ libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/back.insert.iter.ops/back.insert.iter.op++/post.pass.cpp Tue Aug 20 17:14:12 2019
@@ -15,7 +15,7 @@
#include <iterator>
#include <vector>
#include <cassert>
-#include "nasty_containers.hpp"
+#include "nasty_containers.h"
#include "test_macros.h"
Modified: libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/back.insert.iter.ops/back.insert.iter.op++/pre.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/back.insert.iter.ops/back.insert.iter.op%2B%2B/pre.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/back.insert.iter.ops/back.insert.iter.op++/pre.pass.cpp (original)
+++ libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/back.insert.iter.ops/back.insert.iter.op++/pre.pass.cpp Tue Aug 20 17:14:12 2019
@@ -15,7 +15,7 @@
#include <iterator>
#include <vector>
#include <cassert>
-#include "nasty_containers.hpp"
+#include "nasty_containers.h"
#include "test_macros.h"
Modified: libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/back.insert.iter.ops/back.insert.iter.op_astrk/test.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/back.insert.iter.ops/back.insert.iter.op_astrk/test.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/back.insert.iter.ops/back.insert.iter.op_astrk/test.pass.cpp (original)
+++ libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/back.insert.iter.ops/back.insert.iter.op_astrk/test.pass.cpp Tue Aug 20 17:14:12 2019
@@ -15,7 +15,7 @@
#include <iterator>
#include <vector>
#include <cassert>
-#include "nasty_containers.hpp"
+#include "nasty_containers.h"
#include "test_macros.h"
Modified: libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/back.insert.iter.ops/back.inserter/test.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/back.insert.iter.ops/back.inserter/test.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/back.insert.iter.ops/back.inserter/test.pass.cpp (original)
+++ libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/back.insert.iter.ops/back.inserter/test.pass.cpp Tue Aug 20 17:14:12 2019
@@ -15,7 +15,7 @@
#include <iterator>
#include <vector>
#include <cassert>
-#include "nasty_containers.hpp"
+#include "nasty_containers.h"
#include "test_macros.h"
Modified: libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/front.insert.iter.ops/front.insert.iter.cons/container.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/front.insert.iter.ops/front.insert.iter.cons/container.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/front.insert.iter.ops/front.insert.iter.cons/container.pass.cpp (original)
+++ libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/front.insert.iter.ops/front.insert.iter.cons/container.pass.cpp Tue Aug 20 17:14:12 2019
@@ -14,7 +14,7 @@
#include <iterator>
#include <list>
-#include "nasty_containers.hpp"
+#include "nasty_containers.h"
#include "test_macros.h"
Modified: libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/front.insert.iter.ops/front.insert.iter.op++/post.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/front.insert.iter.ops/front.insert.iter.op%2B%2B/post.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/front.insert.iter.ops/front.insert.iter.op++/post.pass.cpp (original)
+++ libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/front.insert.iter.ops/front.insert.iter.op++/post.pass.cpp Tue Aug 20 17:14:12 2019
@@ -15,7 +15,7 @@
#include <iterator>
#include <list>
#include <cassert>
-#include "nasty_containers.hpp"
+#include "nasty_containers.h"
#include "test_macros.h"
Modified: libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/front.insert.iter.ops/front.insert.iter.op++/pre.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/front.insert.iter.ops/front.insert.iter.op%2B%2B/pre.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/front.insert.iter.ops/front.insert.iter.op++/pre.pass.cpp (original)
+++ libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/front.insert.iter.ops/front.insert.iter.op++/pre.pass.cpp Tue Aug 20 17:14:12 2019
@@ -15,7 +15,7 @@
#include <iterator>
#include <list>
#include <cassert>
-#include "nasty_containers.hpp"
+#include "nasty_containers.h"
#include "test_macros.h"
Modified: libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/front.insert.iter.ops/front.insert.iter.op=/lv_value.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/front.insert.iter.ops/front.insert.iter.op%3D/lv_value.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/front.insert.iter.ops/front.insert.iter.op=/lv_value.pass.cpp (original)
+++ libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/front.insert.iter.ops/front.insert.iter.op=/lv_value.pass.cpp Tue Aug 20 17:14:12 2019
@@ -16,7 +16,7 @@
#include <iterator>
#include <list>
#include <cassert>
-#include "nasty_containers.hpp"
+#include "nasty_containers.h"
#include "test_macros.h"
Modified: libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/front.insert.iter.ops/front.insert.iter.op_astrk/test.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/front.insert.iter.ops/front.insert.iter.op_astrk/test.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/front.insert.iter.ops/front.insert.iter.op_astrk/test.pass.cpp (original)
+++ libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/front.insert.iter.ops/front.insert.iter.op_astrk/test.pass.cpp Tue Aug 20 17:14:12 2019
@@ -15,7 +15,7 @@
#include <iterator>
#include <list>
#include <cassert>
-#include "nasty_containers.hpp"
+#include "nasty_containers.h"
#include "test_macros.h"
Modified: libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/front.insert.iter.ops/front.inserter/test.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/front.insert.iter.ops/front.inserter/test.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/front.insert.iter.ops/front.inserter/test.pass.cpp (original)
+++ libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/front.insert.iter.ops/front.inserter/test.pass.cpp Tue Aug 20 17:14:12 2019
@@ -15,7 +15,7 @@
#include <iterator>
#include <list>
#include <cassert>
-#include "nasty_containers.hpp"
+#include "nasty_containers.h"
#include "test_macros.h"
Modified: libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/insert.iter.ops/insert.iter.cons/test.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/insert.iter.ops/insert.iter.cons/test.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/insert.iter.ops/insert.iter.cons/test.pass.cpp (original)
+++ libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/insert.iter.ops/insert.iter.cons/test.pass.cpp Tue Aug 20 17:14:12 2019
@@ -14,7 +14,7 @@
#include <iterator>
#include <vector>
-#include "nasty_containers.hpp"
+#include "nasty_containers.h"
#include "test_macros.h"
Modified: libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/insert.iter.ops/insert.iter.op++/post.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/insert.iter.ops/insert.iter.op%2B%2B/post.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/insert.iter.ops/insert.iter.op++/post.pass.cpp (original)
+++ libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/insert.iter.ops/insert.iter.op++/post.pass.cpp Tue Aug 20 17:14:12 2019
@@ -15,7 +15,7 @@
#include <iterator>
#include <vector>
#include <cassert>
-#include "nasty_containers.hpp"
+#include "nasty_containers.h"
#include "test_macros.h"
Modified: libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/insert.iter.ops/insert.iter.op++/pre.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/insert.iter.ops/insert.iter.op%2B%2B/pre.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/insert.iter.ops/insert.iter.op++/pre.pass.cpp (original)
+++ libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/insert.iter.ops/insert.iter.op++/pre.pass.cpp Tue Aug 20 17:14:12 2019
@@ -15,7 +15,7 @@
#include <iterator>
#include <vector>
#include <cassert>
-#include "nasty_containers.hpp"
+#include "nasty_containers.h"
#include "test_macros.h"
Modified: libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/insert.iter.ops/insert.iter.op=/lv_value.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/insert.iter.ops/insert.iter.op%3D/lv_value.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/insert.iter.ops/insert.iter.op=/lv_value.pass.cpp (original)
+++ libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/insert.iter.ops/insert.iter.op=/lv_value.pass.cpp Tue Aug 20 17:14:12 2019
@@ -17,7 +17,7 @@
#include <iterator>
#include <vector>
#include <cassert>
-#include "nasty_containers.hpp"
+#include "nasty_containers.h"
#include "test_macros.h"
Modified: libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/insert.iter.ops/insert.iter.op_astrk/test.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/insert.iter.ops/insert.iter.op_astrk/test.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/insert.iter.ops/insert.iter.op_astrk/test.pass.cpp (original)
+++ libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/insert.iter.ops/insert.iter.op_astrk/test.pass.cpp Tue Aug 20 17:14:12 2019
@@ -15,7 +15,7 @@
#include <iterator>
#include <vector>
#include <cassert>
-#include "nasty_containers.hpp"
+#include "nasty_containers.h"
#include "test_macros.h"
Modified: libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/insert.iter.ops/inserter/test.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/insert.iter.ops/inserter/test.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/insert.iter.ops/inserter/test.pass.cpp (original)
+++ libcxx/trunk/test/std/iterators/predef.iterators/insert.iterators/insert.iter.ops/inserter/test.pass.cpp Tue Aug 20 17:14:12 2019
@@ -15,7 +15,7 @@
#include <iterator>
#include <vector>
#include <cassert>
-#include "nasty_containers.hpp"
+#include "nasty_containers.h"
#include "test_macros.h"
Modified: libcxx/trunk/test/std/language.support/support.dynamic/destroying_delete_t_declaration.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/language.support/support.dynamic/destroying_delete_t_declaration.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/language.support/support.dynamic/destroying_delete_t_declaration.pass.cpp (original)
+++ libcxx/trunk/test/std/language.support/support.dynamic/destroying_delete_t_declaration.pass.cpp Tue Aug 20 17:14:12 2019
@@ -24,7 +24,7 @@
#include <cassert>
#include "test_macros.h"
-#include "test_convertible.hpp"
+#include "test_convertible.h"
#ifdef __cpp_impl_destroying_delete
# ifndef __cpp_lib_destroying_delete
Modified: libcxx/trunk/test/std/localization/locale.categories/category.ctype/facet.ctype.special/facet.ctype.char.dtor/dtor.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/localization/locale.categories/category.ctype/facet.ctype.special/facet.ctype.char.dtor/dtor.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/localization/locale.categories/category.ctype/facet.ctype.special/facet.ctype.char.dtor/dtor.pass.cpp (original)
+++ libcxx/trunk/test/std/localization/locale.categories/category.ctype/facet.ctype.special/facet.ctype.char.dtor/dtor.pass.cpp Tue Aug 20 17:14:12 2019
@@ -15,7 +15,7 @@
#include <locale>
#include <cassert>
-#include "count_new.hpp"
+#include "count_new.h"
#include "test_macros.h"
Modified: libcxx/trunk/test/std/localization/locale.stdcvt/codecvt_utf16.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/localization/locale.stdcvt/codecvt_utf16.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/localization/locale.stdcvt/codecvt_utf16.pass.cpp (original)
+++ libcxx/trunk/test/std/localization/locale.stdcvt/codecvt_utf16.pass.cpp Tue Aug 20 17:14:12 2019
@@ -22,7 +22,7 @@
#include <cstdlib>
#include <cassert>
-#include "count_new.hpp"
+#include "count_new.h"
#include "test_macros.h"
Modified: libcxx/trunk/test/std/localization/locale.stdcvt/codecvt_utf8.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/localization/locale.stdcvt/codecvt_utf8.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/localization/locale.stdcvt/codecvt_utf8.pass.cpp (original)
+++ libcxx/trunk/test/std/localization/locale.stdcvt/codecvt_utf8.pass.cpp Tue Aug 20 17:14:12 2019
@@ -22,7 +22,7 @@
#include <cstdlib>
#include <cassert>
-#include "count_new.hpp"
+#include "count_new.h"
#include "test_macros.h"
Modified: libcxx/trunk/test/std/localization/locales/locale.convenience/conversions/conversions.buffer/ctor.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/localization/locales/locale.convenience/conversions/conversions.buffer/ctor.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/localization/locales/locale.convenience/conversions/conversions.buffer/ctor.pass.cpp (original)
+++ libcxx/trunk/test/std/localization/locales/locale.convenience/conversions/conversions.buffer/ctor.pass.cpp Tue Aug 20 17:14:12 2019
@@ -19,7 +19,7 @@
#include <cassert>
#include "test_macros.h"
-#include "count_new.hpp"
+#include "count_new.h"
int main(int, char**)
{
Modified: libcxx/trunk/test/std/localization/locales/locale/locale.cons/assign.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/localization/locales/locale/locale.cons/assign.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/localization/locales/locale/locale.cons/assign.pass.cpp (original)
+++ libcxx/trunk/test/std/localization/locales/locale/locale.cons/assign.pass.cpp Tue Aug 20 17:14:12 2019
@@ -16,7 +16,7 @@
#include <cassert>
#include <new>
-#include "count_new.hpp"
+#include "count_new.h"
#include "test_macros.h"
#include "platform_support.h" // locale name macros
Modified: libcxx/trunk/test/std/localization/locales/locale/locale.cons/char_pointer.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/localization/locales/locale/locale.cons/char_pointer.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/localization/locales/locale/locale.cons/char_pointer.pass.cpp (original)
+++ libcxx/trunk/test/std/localization/locales/locale/locale.cons/char_pointer.pass.cpp Tue Aug 20 17:14:12 2019
@@ -20,7 +20,7 @@
#include <new>
#include <cassert>
-#include "count_new.hpp"
+#include "count_new.h"
#include "platform_support.h" // locale name macros
#include "test_macros.h"
Modified: libcxx/trunk/test/std/localization/locales/locale/locale.cons/copy.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/localization/locales/locale/locale.cons/copy.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/localization/locales/locale/locale.cons/copy.pass.cpp (original)
+++ libcxx/trunk/test/std/localization/locales/locale/locale.cons/copy.pass.cpp Tue Aug 20 17:14:12 2019
@@ -16,7 +16,7 @@
#include <cassert>
#include <new>
-#include "count_new.hpp"
+#include "count_new.h"
#include "test_macros.h"
#include "platform_support.h" // locale name macros
Modified: libcxx/trunk/test/std/localization/locales/locale/locale.cons/default.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/localization/locales/locale/locale.cons/default.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/localization/locales/locale/locale.cons/default.pass.cpp (original)
+++ libcxx/trunk/test/std/localization/locales/locale/locale.cons/default.pass.cpp Tue Aug 20 17:14:12 2019
@@ -17,7 +17,7 @@
#include "test_macros.h"
#include "platform_support.h" // locale name macros
-#include "count_new.hpp"
+#include "count_new.h"
void check(const std::locale& loc)
{
Modified: libcxx/trunk/test/std/localization/locales/locale/locale.cons/locale_char_pointer_cat.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/localization/locales/locale/locale.cons/locale_char_pointer_cat.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/localization/locales/locale/locale.cons/locale_char_pointer_cat.pass.cpp (original)
+++ libcxx/trunk/test/std/localization/locales/locale/locale.cons/locale_char_pointer_cat.pass.cpp Tue Aug 20 17:14:12 2019
@@ -21,7 +21,7 @@
#include <new>
#include <cassert>
-#include "count_new.hpp"
+#include "count_new.h"
#include "test_macros.h"
#include "platform_support.h" // locale name macros
Modified: libcxx/trunk/test/std/localization/locales/locale/locale.cons/locale_facetptr.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/localization/locales/locale/locale.cons/locale_facetptr.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/localization/locales/locale/locale.cons/locale_facetptr.pass.cpp (original)
+++ libcxx/trunk/test/std/localization/locales/locale/locale.cons/locale_facetptr.pass.cpp Tue Aug 20 17:14:12 2019
@@ -16,7 +16,7 @@
#include <new>
#include <cassert>
-#include "count_new.hpp"
+#include "count_new.h"
#include "test_macros.h"
#include "platform_support.h" // locale name macros
Modified: libcxx/trunk/test/std/localization/locales/locale/locale.cons/locale_locale_cat.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/localization/locales/locale/locale.cons/locale_locale_cat.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/localization/locales/locale/locale.cons/locale_locale_cat.pass.cpp (original)
+++ libcxx/trunk/test/std/localization/locales/locale/locale.cons/locale_locale_cat.pass.cpp Tue Aug 20 17:14:12 2019
@@ -21,7 +21,7 @@
#include <new>
#include <cassert>
-#include "count_new.hpp"
+#include "count_new.h"
#include "test_macros.h"
#include "platform_support.h" // locale name macros
Modified: libcxx/trunk/test/std/localization/locales/locale/locale.cons/locale_string_cat.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/localization/locales/locale/locale.cons/locale_string_cat.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/localization/locales/locale/locale.cons/locale_string_cat.pass.cpp (original)
+++ libcxx/trunk/test/std/localization/locales/locale/locale.cons/locale_string_cat.pass.cpp Tue Aug 20 17:14:12 2019
@@ -21,7 +21,7 @@
#include <new>
#include <cassert>
-#include "count_new.hpp"
+#include "count_new.h"
#include "test_macros.h"
#include "platform_support.h" // locale name macros
Modified: libcxx/trunk/test/std/localization/locales/locale/locale.cons/string.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/localization/locales/locale/locale.cons/string.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/localization/locales/locale/locale.cons/string.pass.cpp (original)
+++ libcxx/trunk/test/std/localization/locales/locale/locale.cons/string.pass.cpp Tue Aug 20 17:14:12 2019
@@ -17,7 +17,7 @@
#include <new>
#include <cassert>
-#include "count_new.hpp"
+#include "count_new.h"
#include "test_macros.h"
#include "platform_support.h" // locale name macros
Modified: libcxx/trunk/test/std/localization/locales/locale/locale.members/combine.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/localization/locales/locale/locale.members/combine.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/localization/locales/locale/locale.members/combine.pass.cpp (original)
+++ libcxx/trunk/test/std/localization/locales/locale/locale.members/combine.pass.cpp Tue Aug 20 17:14:12 2019
@@ -14,7 +14,7 @@
#include <stdexcept>
#include <cassert>
-#include "count_new.hpp"
+#include "count_new.h"
#include "test_macros.h"
Modified: libcxx/trunk/test/std/strings/basic.string.hash/enabled_hashes.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/strings/basic.string.hash/enabled_hashes.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/strings/basic.string.hash/enabled_hashes.pass.cpp (original)
+++ libcxx/trunk/test/std/strings/basic.string.hash/enabled_hashes.pass.cpp Tue Aug 20 17:14:12 2019
@@ -15,7 +15,7 @@
#include <string>
-#include "poisoned_hash_helper.hpp"
+#include "poisoned_hash_helper.h"
#include "test_macros.h"
Modified: libcxx/trunk/test/std/strings/basic.string/string.cons/implicit_deduction_guides.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/strings/basic.string/string.cons/implicit_deduction_guides.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/strings/basic.string/string.cons/implicit_deduction_guides.pass.cpp (original)
+++ libcxx/trunk/test/std/strings/basic.string/string.cons/implicit_deduction_guides.pass.cpp Tue Aug 20 17:14:12 2019
@@ -21,7 +21,7 @@
#include "test_macros.h"
#include "test_allocator.h"
#include "test_iterators.h"
-#include "constexpr_char_traits.hpp"
+#include "constexpr_char_traits.h"
template <class T, class Alloc = std::allocator<T>>
using BStr = std::basic_string<T, std::char_traits<T>, Alloc>;
Modified: libcxx/trunk/test/std/strings/string.view/string.view.comparison/opeq.string_view.pointer.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/strings/string.view/string.view.comparison/opeq.string_view.pointer.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/strings/string.view/string.view.comparison/opeq.string_view.pointer.pass.cpp (original)
+++ libcxx/trunk/test/std/strings/string.view/string.view.comparison/opeq.string_view.pointer.pass.cpp Tue Aug 20 17:14:12 2019
@@ -17,7 +17,7 @@
#include <cassert>
#include "test_macros.h"
-#include "constexpr_char_traits.hpp"
+#include "constexpr_char_traits.h"
template <class S>
void
Modified: libcxx/trunk/test/std/strings/string.view/string.view.comparison/opeq.string_view.string_view.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/strings/string.view/string.view.comparison/opeq.string_view.string_view.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/strings/string.view/string.view.comparison/opeq.string_view.string_view.pass.cpp (original)
+++ libcxx/trunk/test/std/strings/string.view/string.view.comparison/opeq.string_view.string_view.pass.cpp Tue Aug 20 17:14:12 2019
@@ -16,7 +16,7 @@
#include <cassert>
#include "test_macros.h"
-#include "constexpr_char_traits.hpp"
+#include "constexpr_char_traits.h"
template <class S>
void
Modified: libcxx/trunk/test/std/strings/string.view/string.view.comparison/opge.string_view.pointer.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/strings/string.view/string.view.comparison/opge.string_view.pointer.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/strings/string.view/string.view.comparison/opge.string_view.pointer.pass.cpp (original)
+++ libcxx/trunk/test/std/strings/string.view/string.view.comparison/opge.string_view.pointer.pass.cpp Tue Aug 20 17:14:12 2019
@@ -17,7 +17,7 @@
#include <cassert>
#include "test_macros.h"
-#include "constexpr_char_traits.hpp"
+#include "constexpr_char_traits.h"
template <class S>
void
Modified: libcxx/trunk/test/std/strings/string.view/string.view.comparison/opge.string_view.string_view.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/strings/string.view/string.view.comparison/opge.string_view.string_view.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/strings/string.view/string.view.comparison/opge.string_view.string_view.pass.cpp (original)
+++ libcxx/trunk/test/std/strings/string.view/string.view.comparison/opge.string_view.string_view.pass.cpp Tue Aug 20 17:14:12 2019
@@ -16,7 +16,7 @@
#include <cassert>
#include "test_macros.h"
-#include "constexpr_char_traits.hpp"
+#include "constexpr_char_traits.h"
template <class S>
void
Modified: libcxx/trunk/test/std/strings/string.view/string.view.comparison/opgt.string_view.pointer.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/strings/string.view/string.view.comparison/opgt.string_view.pointer.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/strings/string.view/string.view.comparison/opgt.string_view.pointer.pass.cpp (original)
+++ libcxx/trunk/test/std/strings/string.view/string.view.comparison/opgt.string_view.pointer.pass.cpp Tue Aug 20 17:14:12 2019
@@ -17,7 +17,7 @@
#include <cassert>
#include "test_macros.h"
-#include "constexpr_char_traits.hpp"
+#include "constexpr_char_traits.h"
template <class S>
void
Modified: libcxx/trunk/test/std/strings/string.view/string.view.comparison/opgt.string_view.string_view.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/strings/string.view/string.view.comparison/opgt.string_view.string_view.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/strings/string.view/string.view.comparison/opgt.string_view.string_view.pass.cpp (original)
+++ libcxx/trunk/test/std/strings/string.view/string.view.comparison/opgt.string_view.string_view.pass.cpp Tue Aug 20 17:14:12 2019
@@ -16,7 +16,7 @@
#include <cassert>
#include "test_macros.h"
-#include "constexpr_char_traits.hpp"
+#include "constexpr_char_traits.h"
template <class S>
void
Modified: libcxx/trunk/test/std/strings/string.view/string.view.comparison/ople.string_view.pointer.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/strings/string.view/string.view.comparison/ople.string_view.pointer.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/strings/string.view/string.view.comparison/ople.string_view.pointer.pass.cpp (original)
+++ libcxx/trunk/test/std/strings/string.view/string.view.comparison/ople.string_view.pointer.pass.cpp Tue Aug 20 17:14:12 2019
@@ -17,7 +17,7 @@
#include <cassert>
#include "test_macros.h"
-#include "constexpr_char_traits.hpp"
+#include "constexpr_char_traits.h"
template <class S>
void
Modified: libcxx/trunk/test/std/strings/string.view/string.view.comparison/ople.string_view.string_view.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/strings/string.view/string.view.comparison/ople.string_view.string_view.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/strings/string.view/string.view.comparison/ople.string_view.string_view.pass.cpp (original)
+++ libcxx/trunk/test/std/strings/string.view/string.view.comparison/ople.string_view.string_view.pass.cpp Tue Aug 20 17:14:12 2019
@@ -16,7 +16,7 @@
#include <cassert>
#include "test_macros.h"
-#include "constexpr_char_traits.hpp"
+#include "constexpr_char_traits.h"
template <class S>
void
Modified: libcxx/trunk/test/std/strings/string.view/string.view.comparison/oplt.string_view.pointer.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/strings/string.view/string.view.comparison/oplt.string_view.pointer.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/strings/string.view/string.view.comparison/oplt.string_view.pointer.pass.cpp (original)
+++ libcxx/trunk/test/std/strings/string.view/string.view.comparison/oplt.string_view.pointer.pass.cpp Tue Aug 20 17:14:12 2019
@@ -17,7 +17,7 @@
#include <cassert>
#include "test_macros.h"
-#include "constexpr_char_traits.hpp"
+#include "constexpr_char_traits.h"
template <class S>
void
Modified: libcxx/trunk/test/std/strings/string.view/string.view.comparison/oplt.string_view.string_view.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/strings/string.view/string.view.comparison/oplt.string_view.string_view.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/strings/string.view/string.view.comparison/oplt.string_view.string_view.pass.cpp (original)
+++ libcxx/trunk/test/std/strings/string.view/string.view.comparison/oplt.string_view.string_view.pass.cpp Tue Aug 20 17:14:12 2019
@@ -16,7 +16,7 @@
#include <cassert>
#include "test_macros.h"
-#include "constexpr_char_traits.hpp"
+#include "constexpr_char_traits.h"
template <class S>
void
Modified: libcxx/trunk/test/std/strings/string.view/string.view.comparison/opne.string_view.pointer.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/strings/string.view/string.view.comparison/opne.string_view.pointer.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/strings/string.view/string.view.comparison/opne.string_view.pointer.pass.cpp (original)
+++ libcxx/trunk/test/std/strings/string.view/string.view.comparison/opne.string_view.pointer.pass.cpp Tue Aug 20 17:14:12 2019
@@ -17,7 +17,7 @@
#include <cassert>
#include "test_macros.h"
-#include "constexpr_char_traits.hpp"
+#include "constexpr_char_traits.h"
template <class S>
void
Modified: libcxx/trunk/test/std/strings/string.view/string.view.comparison/opne.string_view.string_view.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/strings/string.view/string.view.comparison/opne.string_view.string_view.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/strings/string.view/string.view.comparison/opne.string_view.string_view.pass.cpp (original)
+++ libcxx/trunk/test/std/strings/string.view/string.view.comparison/opne.string_view.string_view.pass.cpp Tue Aug 20 17:14:12 2019
@@ -16,7 +16,7 @@
#include <cassert>
#include "test_macros.h"
-#include "constexpr_char_traits.hpp"
+#include "constexpr_char_traits.h"
template <class S>
void
Modified: libcxx/trunk/test/std/strings/string.view/string.view.cons/from_literal.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/strings/string.view/string.view.cons/from_literal.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/strings/string.view/string.view.cons/from_literal.pass.cpp (original)
+++ libcxx/trunk/test/std/strings/string.view/string.view.cons/from_literal.pass.cpp Tue Aug 20 17:14:12 2019
@@ -18,7 +18,7 @@
#include <cassert>
#include "test_macros.h"
-#include "constexpr_char_traits.hpp"
+#include "constexpr_char_traits.h"
template<typename CharT>
size_t StrLen ( const CharT *s ) {
Modified: libcxx/trunk/test/std/strings/string.view/string.view.cons/implicit_deduction_guides.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/strings/string.view/string.view.cons/implicit_deduction_guides.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/strings/string.view/string.view.cons/implicit_deduction_guides.pass.cpp (original)
+++ libcxx/trunk/test/std/strings/string.view/string.view.cons/implicit_deduction_guides.pass.cpp Tue Aug 20 17:14:12 2019
@@ -18,7 +18,7 @@
#include <cassert>
#include "test_macros.h"
-#include "constexpr_char_traits.hpp"
+#include "constexpr_char_traits.h"
// Overloads
// ---------------
Modified: libcxx/trunk/test/std/strings/string.view/string.view.find/find_char_size.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/strings/string.view/string.view.find/find_char_size.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/strings/string.view/string.view.find/find_char_size.pass.cpp (original)
+++ libcxx/trunk/test/std/strings/string.view/string.view.find/find_char_size.pass.cpp Tue Aug 20 17:14:12 2019
@@ -14,7 +14,7 @@
#include <cassert>
#include "test_macros.h"
-#include "constexpr_char_traits.hpp"
+#include "constexpr_char_traits.h"
template <class S>
void
Modified: libcxx/trunk/test/std/strings/string.view/string.view.find/find_first_not_of_char_size.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/strings/string.view/string.view.find/find_first_not_of_char_size.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/strings/string.view/string.view.find/find_first_not_of_char_size.pass.cpp (original)
+++ libcxx/trunk/test/std/strings/string.view/string.view.find/find_first_not_of_char_size.pass.cpp Tue Aug 20 17:14:12 2019
@@ -14,7 +14,7 @@
#include <cassert>
#include "test_macros.h"
-#include "constexpr_char_traits.hpp"
+#include "constexpr_char_traits.h"
template <class S>
void
Modified: libcxx/trunk/test/std/strings/string.view/string.view.find/find_first_not_of_pointer_size.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/strings/string.view/string.view.find/find_first_not_of_pointer_size.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/strings/string.view/string.view.find/find_first_not_of_pointer_size.pass.cpp (original)
+++ libcxx/trunk/test/std/strings/string.view/string.view.find/find_first_not_of_pointer_size.pass.cpp Tue Aug 20 17:14:12 2019
@@ -14,7 +14,7 @@
#include <cassert>
#include "test_macros.h"
-#include "constexpr_char_traits.hpp"
+#include "constexpr_char_traits.h"
template <class S>
void
Modified: libcxx/trunk/test/std/strings/string.view/string.view.find/find_first_not_of_pointer_size_size.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/strings/string.view/string.view.find/find_first_not_of_pointer_size_size.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/strings/string.view/string.view.find/find_first_not_of_pointer_size_size.pass.cpp (original)
+++ libcxx/trunk/test/std/strings/string.view/string.view.find/find_first_not_of_pointer_size_size.pass.cpp Tue Aug 20 17:14:12 2019
@@ -14,7 +14,7 @@
#include <cassert>
#include "test_macros.h"
-#include "constexpr_char_traits.hpp"
+#include "constexpr_char_traits.h"
template <class S>
void
Modified: libcxx/trunk/test/std/strings/string.view/string.view.find/find_first_of_char_size.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/strings/string.view/string.view.find/find_first_of_char_size.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/strings/string.view/string.view.find/find_first_of_char_size.pass.cpp (original)
+++ libcxx/trunk/test/std/strings/string.view/string.view.find/find_first_of_char_size.pass.cpp Tue Aug 20 17:14:12 2019
@@ -14,7 +14,7 @@
#include <cassert>
#include "test_macros.h"
-#include "constexpr_char_traits.hpp"
+#include "constexpr_char_traits.h"
template <class S>
void
Modified: libcxx/trunk/test/std/strings/string.view/string.view.find/find_first_of_pointer_size.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/strings/string.view/string.view.find/find_first_of_pointer_size.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/strings/string.view/string.view.find/find_first_of_pointer_size.pass.cpp (original)
+++ libcxx/trunk/test/std/strings/string.view/string.view.find/find_first_of_pointer_size.pass.cpp Tue Aug 20 17:14:12 2019
@@ -14,7 +14,7 @@
#include <cassert>
#include "test_macros.h"
-#include "constexpr_char_traits.hpp"
+#include "constexpr_char_traits.h"
template <class S>
void
Modified: libcxx/trunk/test/std/strings/string.view/string.view.find/find_first_of_pointer_size_size.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/strings/string.view/string.view.find/find_first_of_pointer_size_size.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/strings/string.view/string.view.find/find_first_of_pointer_size_size.pass.cpp (original)
+++ libcxx/trunk/test/std/strings/string.view/string.view.find/find_first_of_pointer_size_size.pass.cpp Tue Aug 20 17:14:12 2019
@@ -14,7 +14,7 @@
#include <cassert>
#include "test_macros.h"
-#include "constexpr_char_traits.hpp"
+#include "constexpr_char_traits.h"
template <class S>
void
Modified: libcxx/trunk/test/std/strings/string.view/string.view.find/find_last_not_of_char_size.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/strings/string.view/string.view.find/find_last_not_of_char_size.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/strings/string.view/string.view.find/find_last_not_of_char_size.pass.cpp (original)
+++ libcxx/trunk/test/std/strings/string.view/string.view.find/find_last_not_of_char_size.pass.cpp Tue Aug 20 17:14:12 2019
@@ -14,7 +14,7 @@
#include <cassert>
#include "test_macros.h"
-#include "constexpr_char_traits.hpp"
+#include "constexpr_char_traits.h"
template <class S>
void
Modified: libcxx/trunk/test/std/strings/string.view/string.view.find/find_last_not_of_pointer_size.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/strings/string.view/string.view.find/find_last_not_of_pointer_size.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/strings/string.view/string.view.find/find_last_not_of_pointer_size.pass.cpp (original)
+++ libcxx/trunk/test/std/strings/string.view/string.view.find/find_last_not_of_pointer_size.pass.cpp Tue Aug 20 17:14:12 2019
@@ -14,7 +14,7 @@
#include <cassert>
#include "test_macros.h"
-#include "constexpr_char_traits.hpp"
+#include "constexpr_char_traits.h"
template <class S>
void
Modified: libcxx/trunk/test/std/strings/string.view/string.view.find/find_last_not_of_pointer_size_size.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/strings/string.view/string.view.find/find_last_not_of_pointer_size_size.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/strings/string.view/string.view.find/find_last_not_of_pointer_size_size.pass.cpp (original)
+++ libcxx/trunk/test/std/strings/string.view/string.view.find/find_last_not_of_pointer_size_size.pass.cpp Tue Aug 20 17:14:12 2019
@@ -14,7 +14,7 @@
#include <cassert>
#include "test_macros.h"
-#include "constexpr_char_traits.hpp"
+#include "constexpr_char_traits.h"
template <class S>
void
Modified: libcxx/trunk/test/std/strings/string.view/string.view.find/find_last_of_char_size.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/strings/string.view/string.view.find/find_last_of_char_size.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/strings/string.view/string.view.find/find_last_of_char_size.pass.cpp (original)
+++ libcxx/trunk/test/std/strings/string.view/string.view.find/find_last_of_char_size.pass.cpp Tue Aug 20 17:14:12 2019
@@ -14,7 +14,7 @@
#include <cassert>
#include "test_macros.h"
-#include "constexpr_char_traits.hpp"
+#include "constexpr_char_traits.h"
template <class S>
void
Modified: libcxx/trunk/test/std/strings/string.view/string.view.find/find_last_of_pointer_size.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/strings/string.view/string.view.find/find_last_of_pointer_size.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/strings/string.view/string.view.find/find_last_of_pointer_size.pass.cpp (original)
+++ libcxx/trunk/test/std/strings/string.view/string.view.find/find_last_of_pointer_size.pass.cpp Tue Aug 20 17:14:12 2019
@@ -14,7 +14,7 @@
#include <cassert>
#include "test_macros.h"
-#include "constexpr_char_traits.hpp"
+#include "constexpr_char_traits.h"
template <class S>
void
Modified: libcxx/trunk/test/std/strings/string.view/string.view.find/find_last_of_pointer_size_size.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/strings/string.view/string.view.find/find_last_of_pointer_size_size.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/strings/string.view/string.view.find/find_last_of_pointer_size_size.pass.cpp (original)
+++ libcxx/trunk/test/std/strings/string.view/string.view.find/find_last_of_pointer_size_size.pass.cpp Tue Aug 20 17:14:12 2019
@@ -14,7 +14,7 @@
#include <cassert>
#include "test_macros.h"
-#include "constexpr_char_traits.hpp"
+#include "constexpr_char_traits.h"
template <class S>
void
Modified: libcxx/trunk/test/std/strings/string.view/string.view.find/find_pointer_size.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/strings/string.view/string.view.find/find_pointer_size.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/strings/string.view/string.view.find/find_pointer_size.pass.cpp (original)
+++ libcxx/trunk/test/std/strings/string.view/string.view.find/find_pointer_size.pass.cpp Tue Aug 20 17:14:12 2019
@@ -14,7 +14,7 @@
#include <cassert>
#include "test_macros.h"
-#include "constexpr_char_traits.hpp"
+#include "constexpr_char_traits.h"
template <class S>
void
Modified: libcxx/trunk/test/std/strings/string.view/string.view.find/find_pointer_size_size.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/strings/string.view/string.view.find/find_pointer_size_size.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/strings/string.view/string.view.find/find_pointer_size_size.pass.cpp (original)
+++ libcxx/trunk/test/std/strings/string.view/string.view.find/find_pointer_size_size.pass.cpp Tue Aug 20 17:14:12 2019
@@ -14,7 +14,7 @@
#include <cassert>
#include "test_macros.h"
-#include "constexpr_char_traits.hpp"
+#include "constexpr_char_traits.h"
template <class S>
void
Modified: libcxx/trunk/test/std/strings/string.view/string.view.find/find_string_view_size.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/strings/string.view/string.view.find/find_string_view_size.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/strings/string.view/string.view.find/find_string_view_size.pass.cpp (original)
+++ libcxx/trunk/test/std/strings/string.view/string.view.find/find_string_view_size.pass.cpp Tue Aug 20 17:14:12 2019
@@ -14,7 +14,7 @@
#include <cassert>
#include "test_macros.h"
-#include "constexpr_char_traits.hpp"
+#include "constexpr_char_traits.h"
template <class S>
void
Modified: libcxx/trunk/test/std/strings/string.view/string.view.find/rfind_char_size.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/strings/string.view/string.view.find/rfind_char_size.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/strings/string.view/string.view.find/rfind_char_size.pass.cpp (original)
+++ libcxx/trunk/test/std/strings/string.view/string.view.find/rfind_char_size.pass.cpp Tue Aug 20 17:14:12 2019
@@ -13,7 +13,7 @@
#include <cassert>
#include "test_macros.h"
-#include "constexpr_char_traits.hpp"
+#include "constexpr_char_traits.h"
template <class S>
void
Modified: libcxx/trunk/test/std/strings/string.view/string.view.find/rfind_pointer_size.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/strings/string.view/string.view.find/rfind_pointer_size.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/strings/string.view/string.view.find/rfind_pointer_size.pass.cpp (original)
+++ libcxx/trunk/test/std/strings/string.view/string.view.find/rfind_pointer_size.pass.cpp Tue Aug 20 17:14:12 2019
@@ -13,7 +13,7 @@
#include <cassert>
#include "test_macros.h"
-#include "constexpr_char_traits.hpp"
+#include "constexpr_char_traits.h"
template <class S>
void
Modified: libcxx/trunk/test/std/strings/string.view/string.view.find/rfind_pointer_size_size.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/strings/string.view/string.view.find/rfind_pointer_size_size.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/strings/string.view/string.view.find/rfind_pointer_size_size.pass.cpp (original)
+++ libcxx/trunk/test/std/strings/string.view/string.view.find/rfind_pointer_size_size.pass.cpp Tue Aug 20 17:14:12 2019
@@ -13,7 +13,7 @@
#include <cassert>
#include "test_macros.h"
-#include "constexpr_char_traits.hpp"
+#include "constexpr_char_traits.h"
template <class S>
void
Modified: libcxx/trunk/test/std/strings/string.view/string.view.find/rfind_string_view_size.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/strings/string.view/string.view.find/rfind_string_view_size.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/strings/string.view/string.view.find/rfind_string_view_size.pass.cpp (original)
+++ libcxx/trunk/test/std/strings/string.view/string.view.find/rfind_string_view_size.pass.cpp Tue Aug 20 17:14:12 2019
@@ -14,7 +14,7 @@
#include <cassert>
#include "test_macros.h"
-#include "constexpr_char_traits.hpp"
+#include "constexpr_char_traits.h"
template <class S>
void
Modified: libcxx/trunk/test/std/strings/string.view/string.view.hash/enabled_hashes.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/strings/string.view/string.view.hash/enabled_hashes.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/strings/string.view/string.view.hash/enabled_hashes.pass.cpp (original)
+++ libcxx/trunk/test/std/strings/string.view/string.view.hash/enabled_hashes.pass.cpp Tue Aug 20 17:14:12 2019
@@ -15,7 +15,7 @@
#include <string_view>
-#include "poisoned_hash_helper.hpp"
+#include "poisoned_hash_helper.h"
#include "test_macros.h"
Modified: libcxx/trunk/test/std/strings/string.view/string.view.ops/compare.pointer.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/strings/string.view/string.view.ops/compare.pointer.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/strings/string.view/string.view.ops/compare.pointer.pass.cpp (original)
+++ libcxx/trunk/test/std/strings/string.view/string.view.ops/compare.pointer.pass.cpp Tue Aug 20 17:14:12 2019
@@ -14,7 +14,7 @@
#include <cassert>
#include "test_macros.h"
-#include "constexpr_char_traits.hpp"
+#include "constexpr_char_traits.h"
int sign ( int x ) { return x > 0 ? 1 : ( x < 0 ? -1 : 0 ); }
Modified: libcxx/trunk/test/std/strings/string.view/string.view.ops/compare.pointer_size.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/strings/string.view/string.view.ops/compare.pointer_size.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/strings/string.view/string.view.ops/compare.pointer_size.pass.cpp (original)
+++ libcxx/trunk/test/std/strings/string.view/string.view.ops/compare.pointer_size.pass.cpp Tue Aug 20 17:14:12 2019
@@ -15,7 +15,7 @@
#include <stdexcept>
#include "test_macros.h"
-#include "constexpr_char_traits.hpp"
+#include "constexpr_char_traits.h"
int sign ( int x ) { return x > 0 ? 1 : ( x < 0 ? -1 : 0 ); }
Modified: libcxx/trunk/test/std/strings/string.view/string.view.ops/compare.size_size_sv.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/strings/string.view/string.view.ops/compare.size_size_sv.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/strings/string.view/string.view.ops/compare.size_size_sv.pass.cpp (original)
+++ libcxx/trunk/test/std/strings/string.view/string.view.ops/compare.size_size_sv.pass.cpp Tue Aug 20 17:14:12 2019
@@ -15,7 +15,7 @@
#include <stdexcept>
#include "test_macros.h"
-#include "constexpr_char_traits.hpp"
+#include "constexpr_char_traits.h"
int sign ( int x ) { return x > 0 ? 1 : ( x < 0 ? -1 : 0 ); }
Modified: libcxx/trunk/test/std/strings/string.view/string.view.ops/compare.size_size_sv_pointer_size.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/strings/string.view/string.view.ops/compare.size_size_sv_pointer_size.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/strings/string.view/string.view.ops/compare.size_size_sv_pointer_size.pass.cpp (original)
+++ libcxx/trunk/test/std/strings/string.view/string.view.ops/compare.size_size_sv_pointer_size.pass.cpp Tue Aug 20 17:14:12 2019
@@ -16,7 +16,7 @@
#include <stdexcept>
#include "test_macros.h"
-#include "constexpr_char_traits.hpp"
+#include "constexpr_char_traits.h"
int sign ( int x ) { return x > 0 ? 1 : ( x < 0 ? -1 : 0 ); }
Modified: libcxx/trunk/test/std/strings/string.view/string.view.ops/compare.size_size_sv_size_size.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/strings/string.view/string.view.ops/compare.size_size_sv_size_size.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/strings/string.view/string.view.ops/compare.size_size_sv_size_size.pass.cpp (original)
+++ libcxx/trunk/test/std/strings/string.view/string.view.ops/compare.size_size_sv_size_size.pass.cpp Tue Aug 20 17:14:12 2019
@@ -16,7 +16,7 @@
#include <stdexcept>
#include "test_macros.h"
-#include "constexpr_char_traits.hpp"
+#include "constexpr_char_traits.h"
int sign ( int x ) { return x > 0 ? 1 : ( x < 0 ? -1 : 0 ); }
Modified: libcxx/trunk/test/std/strings/string.view/string.view.ops/compare.sv.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/strings/string.view/string.view.ops/compare.sv.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/strings/string.view/string.view.ops/compare.sv.pass.cpp (original)
+++ libcxx/trunk/test/std/strings/string.view/string.view.ops/compare.sv.pass.cpp Tue Aug 20 17:14:12 2019
@@ -14,7 +14,7 @@
#include <cassert>
#include "test_macros.h"
-#include "constexpr_char_traits.hpp"
+#include "constexpr_char_traits.h"
int sign ( int x ) { return x > 0 ? 1 : ( x < 0 ? -1 : 0 ); }
Modified: libcxx/trunk/test/std/strings/string.view/string.view.template/ends_with.char.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/strings/string.view/string.view.template/ends_with.char.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/strings/string.view/string.view.template/ends_with.char.pass.cpp (original)
+++ libcxx/trunk/test/std/strings/string.view/string.view.template/ends_with.char.pass.cpp Tue Aug 20 17:14:12 2019
@@ -15,7 +15,7 @@
#include <cassert>
#include "test_macros.h"
-#include "constexpr_char_traits.hpp"
+#include "constexpr_char_traits.h"
int main(int, char**)
{
Modified: libcxx/trunk/test/std/strings/string.view/string.view.template/ends_with.ptr.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/strings/string.view/string.view.template/ends_with.ptr.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/strings/string.view/string.view.template/ends_with.ptr.pass.cpp (original)
+++ libcxx/trunk/test/std/strings/string.view/string.view.template/ends_with.ptr.pass.cpp Tue Aug 20 17:14:12 2019
@@ -15,7 +15,7 @@
#include <cassert>
#include "test_macros.h"
-#include "constexpr_char_traits.hpp"
+#include "constexpr_char_traits.h"
int main(int, char**)
{
Modified: libcxx/trunk/test/std/strings/string.view/string.view.template/ends_with.string_view.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/strings/string.view/string.view.template/ends_with.string_view.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/strings/string.view/string.view.template/ends_with.string_view.pass.cpp (original)
+++ libcxx/trunk/test/std/strings/string.view/string.view.template/ends_with.string_view.pass.cpp Tue Aug 20 17:14:12 2019
@@ -15,7 +15,7 @@
#include <cassert>
#include "test_macros.h"
-#include "constexpr_char_traits.hpp"
+#include "constexpr_char_traits.h"
int main(int, char**)
{
Modified: libcxx/trunk/test/std/strings/string.view/string.view.template/starts_with.char.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/strings/string.view/string.view.template/starts_with.char.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/strings/string.view/string.view.template/starts_with.char.pass.cpp (original)
+++ libcxx/trunk/test/std/strings/string.view/string.view.template/starts_with.char.pass.cpp Tue Aug 20 17:14:12 2019
@@ -15,7 +15,7 @@
#include <cassert>
#include "test_macros.h"
-#include "constexpr_char_traits.hpp"
+#include "constexpr_char_traits.h"
int main(int, char**)
{
Modified: libcxx/trunk/test/std/strings/string.view/string.view.template/starts_with.ptr.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/strings/string.view/string.view.template/starts_with.ptr.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/strings/string.view/string.view.template/starts_with.ptr.pass.cpp (original)
+++ libcxx/trunk/test/std/strings/string.view/string.view.template/starts_with.ptr.pass.cpp Tue Aug 20 17:14:12 2019
@@ -15,7 +15,7 @@
#include <cassert>
#include "test_macros.h"
-#include "constexpr_char_traits.hpp"
+#include "constexpr_char_traits.h"
int main(int, char**)
{
Modified: libcxx/trunk/test/std/strings/string.view/string.view.template/starts_with.string_view.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/strings/string.view/string.view.template/starts_with.string_view.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/strings/string.view/string.view.template/starts_with.string_view.pass.cpp (original)
+++ libcxx/trunk/test/std/strings/string.view/string.view.template/starts_with.string_view.pass.cpp Tue Aug 20 17:14:12 2019
@@ -15,7 +15,7 @@
#include <cassert>
#include "test_macros.h"
-#include "constexpr_char_traits.hpp"
+#include "constexpr_char_traits.h"
int main(int, char**)
{
Modified: libcxx/trunk/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/move_assign.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/move_assign.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/move_assign.pass.cpp (original)
+++ libcxx/trunk/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/move_assign.pass.cpp Tue Aug 20 17:14:12 2019
@@ -18,7 +18,7 @@
#include <shared_mutex>
#include <cassert>
-#include "nasty_containers.hpp"
+#include "nasty_containers.h"
#include "test_macros.h"
Modified: libcxx/trunk/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/move_ctor.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/move_ctor.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/move_ctor.pass.cpp (original)
+++ libcxx/trunk/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/move_ctor.pass.cpp Tue Aug 20 17:14:12 2019
@@ -18,7 +18,7 @@
#include <shared_mutex>
#include <cassert>
-#include "nasty_containers.hpp"
+#include "nasty_containers.h"
#include "test_macros.h"
Modified: libcxx/trunk/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/mutex_adopt_lock.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/mutex_adopt_lock.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/mutex_adopt_lock.pass.cpp (original)
+++ libcxx/trunk/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/mutex_adopt_lock.pass.cpp Tue Aug 20 17:14:12 2019
@@ -18,7 +18,7 @@
#include <shared_mutex>
#include <cassert>
-#include "nasty_containers.hpp"
+#include "nasty_containers.h"
#include "test_macros.h"
Modified: libcxx/trunk/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/mutex_defer_lock.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/mutex_defer_lock.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/mutex_defer_lock.pass.cpp (original)
+++ libcxx/trunk/test/std/thread/thread.mutex/thread.lock/thread.lock.shared/thread.lock.shared.cons/mutex_defer_lock.pass.cpp Tue Aug 20 17:14:12 2019
@@ -18,7 +18,7 @@
#include <shared_mutex>
#include <cassert>
-#include "nasty_containers.hpp"
+#include "nasty_containers.h"
#include "test_macros.h"
Modified: libcxx/trunk/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/move_assign.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/move_assign.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/move_assign.pass.cpp (original)
+++ libcxx/trunk/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/move_assign.pass.cpp Tue Aug 20 17:14:12 2019
@@ -16,7 +16,7 @@
#include <mutex>
#include <cassert>
-#include "nasty_containers.hpp"
+#include "nasty_containers.h"
#include "test_macros.h"
Modified: libcxx/trunk/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/move_ctor.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/move_ctor.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/move_ctor.pass.cpp (original)
+++ libcxx/trunk/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/move_ctor.pass.cpp Tue Aug 20 17:14:12 2019
@@ -16,7 +16,7 @@
#include <mutex>
#include <cassert>
-#include "nasty_containers.hpp"
+#include "nasty_containers.h"
#include "test_macros.h"
Modified: libcxx/trunk/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/mutex_adopt_lock.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/mutex_adopt_lock.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/mutex_adopt_lock.pass.cpp (original)
+++ libcxx/trunk/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/mutex_adopt_lock.pass.cpp Tue Aug 20 17:14:12 2019
@@ -16,7 +16,7 @@
#include <mutex>
#include <cassert>
-#include "nasty_containers.hpp"
+#include "nasty_containers.h"
#include "test_macros.h"
Modified: libcxx/trunk/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/mutex_defer_lock.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/mutex_defer_lock.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/mutex_defer_lock.pass.cpp (original)
+++ libcxx/trunk/test/std/thread/thread.mutex/thread.lock/thread.lock.unique/thread.lock.unique.cons/mutex_defer_lock.pass.cpp Tue Aug 20 17:14:12 2019
@@ -16,7 +16,7 @@
#include <mutex>
#include <cassert>
-#include "nasty_containers.hpp"
+#include "nasty_containers.h"
#include "test_macros.h"
Modified: libcxx/trunk/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/enabled_hashes.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/enabled_hashes.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/enabled_hashes.pass.cpp (original)
+++ libcxx/trunk/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/enabled_hashes.pass.cpp Tue Aug 20 17:14:12 2019
@@ -16,7 +16,7 @@
#include <thread>
-#include "poisoned_hash_helper.hpp"
+#include "poisoned_hash_helper.h"
#include "test_macros.h"
Modified: libcxx/trunk/test/std/utilities/allocator.adaptor/allocator.adaptor.members/construct_pair.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/allocator.adaptor/allocator.adaptor.members/construct_pair.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/allocator.adaptor/allocator.adaptor.members/construct_pair.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/allocator.adaptor/allocator.adaptor.members/construct_pair.pass.cpp Tue Aug 20 17:14:12 2019
@@ -22,8 +22,8 @@
#include <tuple>
#include <cassert>
#include <cstdlib>
-#include "uses_alloc_types.hpp"
-#include "controlled_allocators.hpp"
+#include "uses_alloc_types.h"
+#include "controlled_allocators.h"
#include "test_macros.h"
Modified: libcxx/trunk/test/std/utilities/allocator.adaptor/allocator.adaptor.members/construct_pair_const_lvalue_pair.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/allocator.adaptor/allocator.adaptor.members/construct_pair_const_lvalue_pair.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/allocator.adaptor/allocator.adaptor.members/construct_pair_const_lvalue_pair.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/allocator.adaptor/allocator.adaptor.members/construct_pair_const_lvalue_pair.pass.cpp Tue Aug 20 17:14:12 2019
@@ -22,8 +22,8 @@
#include <tuple>
#include <cassert>
#include <cstdlib>
-#include "uses_alloc_types.hpp"
-#include "controlled_allocators.hpp"
+#include "uses_alloc_types.h"
+#include "controlled_allocators.h"
#include "test_macros.h"
Modified: libcxx/trunk/test/std/utilities/allocator.adaptor/allocator.adaptor.members/construct_pair_piecewise.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/allocator.adaptor/allocator.adaptor.members/construct_pair_piecewise.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/allocator.adaptor/allocator.adaptor.members/construct_pair_piecewise.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/allocator.adaptor/allocator.adaptor.members/construct_pair_piecewise.pass.cpp Tue Aug 20 17:14:12 2019
@@ -23,8 +23,8 @@
#include <tuple>
#include <cassert>
#include <cstdlib>
-#include "uses_alloc_types.hpp"
-#include "controlled_allocators.hpp"
+#include "uses_alloc_types.h"
+#include "controlled_allocators.h"
#include "test_macros.h"
Modified: libcxx/trunk/test/std/utilities/allocator.adaptor/allocator.adaptor.members/construct_pair_rvalue.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/allocator.adaptor/allocator.adaptor.members/construct_pair_rvalue.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/allocator.adaptor/allocator.adaptor.members/construct_pair_rvalue.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/allocator.adaptor/allocator.adaptor.members/construct_pair_rvalue.pass.cpp Tue Aug 20 17:14:12 2019
@@ -22,8 +22,8 @@
#include <tuple>
#include <cassert>
#include <cstdlib>
-#include "uses_alloc_types.hpp"
-#include "controlled_allocators.hpp"
+#include "uses_alloc_types.h"
+#include "controlled_allocators.h"
#include "test_macros.h"
Modified: libcxx/trunk/test/std/utilities/allocator.adaptor/allocator.adaptor.members/construct_pair_values.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/allocator.adaptor/allocator.adaptor.members/construct_pair_values.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/allocator.adaptor/allocator.adaptor.members/construct_pair_values.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/allocator.adaptor/allocator.adaptor.members/construct_pair_values.pass.cpp Tue Aug 20 17:14:12 2019
@@ -22,8 +22,8 @@
#include <tuple>
#include <cassert>
#include <cstdlib>
-#include "uses_alloc_types.hpp"
-#include "controlled_allocators.hpp"
+#include "uses_alloc_types.h"
+#include "controlled_allocators.h"
#include "test_macros.h"
Modified: libcxx/trunk/test/std/utilities/allocator.adaptor/allocator.adaptor.members/construct_type.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/allocator.adaptor/allocator.adaptor.members/construct_type.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/allocator.adaptor/allocator.adaptor.members/construct_type.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/allocator.adaptor/allocator.adaptor.members/construct_type.pass.cpp Tue Aug 20 17:14:12 2019
@@ -22,8 +22,8 @@
#include <tuple>
#include <cassert>
#include <cstdlib>
-#include "uses_alloc_types.hpp"
-#include "controlled_allocators.hpp"
+#include "uses_alloc_types.h"
+#include "controlled_allocators.h"
#include "test_macros.h"
Modified: libcxx/trunk/test/std/utilities/any/any.class/any.assign/copy.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/any/any.class/any.assign/copy.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/any/any.class/any.assign/copy.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/any/any.class/any.assign/copy.pass.cpp Tue Aug 20 17:14:12 2019
@@ -20,7 +20,7 @@
#include <cassert>
#include "any_helpers.h"
-#include "count_new.hpp"
+#include "count_new.h"
#include "test_macros.h"
using std::any;
Modified: libcxx/trunk/test/std/utilities/any/any.class/any.assign/value.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/any/any.class/any.assign/value.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/any/any.class/any.assign/value.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/any/any.class/any.assign/value.pass.cpp Tue Aug 20 17:14:12 2019
@@ -21,7 +21,7 @@
#include <cassert>
#include "any_helpers.h"
-#include "count_new.hpp"
+#include "count_new.h"
#include "test_macros.h"
using std::any;
Modified: libcxx/trunk/test/std/utilities/any/any.class/any.cons/copy.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/any/any.class/any.cons/copy.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/any/any.class/any.cons/copy.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/any/any.class/any.cons/copy.pass.cpp Tue Aug 20 17:14:12 2019
@@ -18,7 +18,7 @@
#include <cassert>
#include "any_helpers.h"
-#include "count_new.hpp"
+#include "count_new.h"
#include "test_macros.h"
using std::any;
Modified: libcxx/trunk/test/std/utilities/any/any.class/any.cons/default.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/any/any.class/any.cons/default.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/any/any.class/any.cons/default.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/any/any.class/any.cons/default.pass.cpp Tue Aug 20 17:14:12 2019
@@ -18,7 +18,7 @@
#include "test_macros.h"
#include "any_helpers.h"
-#include "count_new.hpp"
+#include "count_new.h"
int main(int, char**)
{
Modified: libcxx/trunk/test/std/utilities/any/any.class/any.cons/in_place_type.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/any/any.class/any.cons/in_place_type.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/any/any.class/any.cons/in_place_type.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/any/any.class/any.cons/in_place_type.pass.cpp Tue Aug 20 17:14:12 2019
@@ -27,9 +27,9 @@
#include <cassert>
#include "any_helpers.h"
-#include "count_new.hpp"
+#include "count_new.h"
#include "test_macros.h"
-#include "test_convertible.hpp"
+#include "test_convertible.h"
using std::any;
using std::any_cast;
Modified: libcxx/trunk/test/std/utilities/any/any.class/any.cons/move.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/any/any.class/any.cons/move.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/any/any.class/any.cons/move.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/any/any.class/any.cons/move.pass.cpp Tue Aug 20 17:14:12 2019
@@ -20,7 +20,7 @@
#include <cassert>
#include "any_helpers.h"
-#include "count_new.hpp"
+#include "count_new.h"
#include "test_macros.h"
using std::any;
Modified: libcxx/trunk/test/std/utilities/any/any.class/any.cons/value.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/any/any.class/any.cons/value.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/any/any.class/any.cons/value.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/any/any.class/any.cons/value.pass.cpp Tue Aug 20 17:14:12 2019
@@ -25,7 +25,7 @@
#include <cassert>
#include "any_helpers.h"
-#include "count_new.hpp"
+#include "count_new.h"
#include "test_macros.h"
using std::any;
Modified: libcxx/trunk/test/std/utilities/any/any.class/any.modifiers/emplace.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/any/any.class/any.modifiers/emplace.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/any/any.class/any.modifiers/emplace.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/any/any.class/any.modifiers/emplace.pass.cpp Tue Aug 20 17:14:12 2019
@@ -20,7 +20,7 @@
#include <cassert>
#include "any_helpers.h"
-#include "count_new.hpp"
+#include "count_new.h"
#include "test_macros.h"
using std::any;
Modified: libcxx/trunk/test/std/utilities/any/any.nonmembers/any.cast/any_cast_reference.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/any/any.nonmembers/any.cast/any_cast_reference.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/any/any.nonmembers/any.cast/any_cast_reference.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/any/any.nonmembers/any.cast/any_cast_reference.pass.cpp Tue Aug 20 17:14:12 2019
@@ -26,7 +26,7 @@
#include <cassert>
#include "any_helpers.h"
-#include "count_new.hpp"
+#include "count_new.h"
#include "test_macros.h"
using std::any;
Modified: libcxx/trunk/test/std/utilities/any/any.nonmembers/make_any.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/any/any.nonmembers/make_any.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/any/any.nonmembers/make_any.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/any/any.nonmembers/make_any.pass.cpp Tue Aug 20 17:14:12 2019
@@ -20,7 +20,7 @@
#include <cassert>
#include "any_helpers.h"
-#include "count_new.hpp"
+#include "count_new.h"
#include "test_macros.h"
using std::any;
Modified: libcxx/trunk/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.alg/swap.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.alg/swap.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.alg/swap.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.alg/swap.pass.cpp Tue Aug 20 17:14:12 2019
@@ -19,7 +19,7 @@
#include <cassert>
#include "test_macros.h"
-#include "count_new.hpp"
+#include "count_new.h"
class A
{
Modified: libcxx/trunk/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/F.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/F.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/F.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/F.pass.cpp Tue Aug 20 17:14:12 2019
@@ -16,7 +16,7 @@
#include <cassert>
#include "test_macros.h"
-#include "count_new.hpp"
+#include "count_new.h"
class A
{
Modified: libcxx/trunk/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/F_assign.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/F_assign.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/F_assign.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/F_assign.pass.cpp Tue Aug 20 17:14:12 2019
@@ -19,7 +19,7 @@
#include <cassert>
#include "test_macros.h"
-#include "count_new.hpp"
+#include "count_new.h"
class A
{
Modified: libcxx/trunk/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc_F.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc_F.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc_F.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc_F.pass.cpp Tue Aug 20 17:14:12 2019
@@ -19,7 +19,7 @@
#include "test_macros.h"
#include "min_allocator.h"
#include "test_allocator.h"
-#include "count_new.hpp"
+#include "count_new.h"
#include "../function_types.h"
Modified: libcxx/trunk/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc_function.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc_function.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc_function.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc_function.pass.cpp Tue Aug 20 17:14:12 2019
@@ -20,7 +20,7 @@
#include "test_macros.h"
#include "min_allocator.h"
#include "test_allocator.h"
-#include "count_new.hpp"
+#include "count_new.h"
#include "../function_types.h"
class DummyClass {};
Modified: libcxx/trunk/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc_rfunction.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc_rfunction.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc_rfunction.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc_rfunction.pass.cpp Tue Aug 20 17:14:12 2019
@@ -23,7 +23,7 @@
#include "test_macros.h"
#include "min_allocator.h"
-#include "count_new.hpp"
+#include "count_new.h"
class A
{
Modified: libcxx/trunk/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/copy_assign.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/copy_assign.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/copy_assign.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/copy_assign.pass.cpp Tue Aug 20 17:14:12 2019
@@ -16,7 +16,7 @@
#include <cassert>
#include "test_macros.h"
-#include "count_new.hpp"
+#include "count_new.h"
class A {
int data_[10];
Modified: libcxx/trunk/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/copy_move.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/copy_move.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/copy_move.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/copy_move.pass.cpp Tue Aug 20 17:14:12 2019
@@ -19,7 +19,7 @@
#include <cassert>
#include "test_macros.h"
-#include "count_new.hpp"
+#include "count_new.h"
class A
{
Modified: libcxx/trunk/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/nullptr_t_assign.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/nullptr_t_assign.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/nullptr_t_assign.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/nullptr_t_assign.pass.cpp Tue Aug 20 17:14:12 2019
@@ -15,7 +15,7 @@
#include <functional>
#include <cassert>
-#include "count_new.hpp"
+#include "count_new.h"
#include "test_macros.h"
Modified: libcxx/trunk/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.mod/swap.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.mod/swap.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.mod/swap.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.mod/swap.pass.cpp Tue Aug 20 17:14:12 2019
@@ -15,7 +15,7 @@
#include <functional>
#include <cassert>
-#include "count_new.hpp"
+#include "count_new.h"
#include "test_macros.h"
Modified: libcxx/trunk/test/std/utilities/function.objects/refwrap/refwrap.helpers/ref_2.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/function.objects/refwrap/refwrap.helpers/ref_2.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/function.objects/refwrap/refwrap.helpers/ref_2.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/function.objects/refwrap/refwrap.helpers/ref_2.pass.cpp Tue Aug 20 17:14:12 2019
@@ -15,7 +15,7 @@
#include <functional>
#include <cassert>
-#include "counting_predicates.hpp"
+#include "counting_predicates.h"
#include "test_macros.h"
Modified: libcxx/trunk/test/std/utilities/function.objects/unord.hash/enabled_hashes.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/function.objects/unord.hash/enabled_hashes.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/function.objects/unord.hash/enabled_hashes.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/function.objects/unord.hash/enabled_hashes.pass.cpp Tue Aug 20 17:14:12 2019
@@ -15,7 +15,7 @@
#include <functional>
-#include "poisoned_hash_helper.hpp"
+#include "poisoned_hash_helper.h"
#include "test_macros.h"
Modified: libcxx/trunk/test/std/utilities/memory/default.allocator/allocator.members/allocate.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/memory/default.allocator/allocator.members/allocate.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/memory/default.allocator/allocator.members/allocate.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/memory/default.allocator/allocator.members/allocate.pass.cpp Tue Aug 20 17:14:12 2019
@@ -16,7 +16,7 @@
#include <cstddef> // for std::max_align_t
#include "test_macros.h"
-#include "count_new.hpp"
+#include "count_new.h"
#ifdef TEST_HAS_NO_ALIGNED_ALLOCATION
Modified: libcxx/trunk/test/std/utilities/memory/default.allocator/allocator.members/construct.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/memory/default.allocator/allocator.members/construct.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/memory/default.allocator/allocator.members/construct.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/memory/default.allocator/allocator.members/construct.pass.cpp Tue Aug 20 17:14:12 2019
@@ -15,7 +15,7 @@
#include <cassert>
#include "test_macros.h"
-#include "count_new.hpp"
+#include "count_new.h"
int A_constructed = 0;
Modified: libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.enab/enable_shared_from_this.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.enab/enable_shared_from_this.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.enab/enable_shared_from_this.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.enab/enable_shared_from_this.pass.cpp Tue Aug 20 17:14:12 2019
@@ -25,7 +25,7 @@
#include <cassert>
#include "test_macros.h"
-#include "count_new.hpp"
+#include "count_new.h"
struct T
: public std::enable_shared_from_this<T>
Modified: libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.hash/enabled_hash.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.hash/enabled_hash.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.hash/enabled_hash.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.hash/enabled_hash.pass.cpp Tue Aug 20 17:14:12 2019
@@ -15,7 +15,7 @@
#include <memory>
-#include "poisoned_hash_helper.hpp"
+#include "poisoned_hash_helper.h"
#include "test_macros.h"
Modified: libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.hash/hash_shared_ptr.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.hash/hash_shared_ptr.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.hash/hash_shared_ptr.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.hash/hash_shared_ptr.pass.cpp Tue Aug 20 17:14:12 2019
@@ -20,7 +20,7 @@
#include <cassert>
#if TEST_STD_VER >= 11
-#include "poisoned_hash_helper.hpp"
+#include "poisoned_hash_helper.h"
#include "test_macros.h"
Modified: libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.hash/hash_unique_ptr.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.hash/hash_unique_ptr.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.hash/hash_unique_ptr.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.hash/hash_unique_ptr.pass.cpp Tue Aug 20 17:14:12 2019
@@ -22,7 +22,7 @@
#include "test_macros.h"
#if TEST_STD_VER >= 11
-#include "poisoned_hash_helper.hpp"
+#include "poisoned_hash_helper.h"
#include "deleter_types.h"
#include "min_allocator.h"
Modified: libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/auto_ptr.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/auto_ptr.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/auto_ptr.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/auto_ptr.pass.cpp Tue Aug 20 17:14:12 2019
@@ -19,7 +19,7 @@
#include <cassert>
#include "test_macros.h"
-#include "count_new.hpp"
+#include "count_new.h"
struct B
{
Modified: libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/nullptr_t_deleter_throw.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/nullptr_t_deleter_throw.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/nullptr_t_deleter_throw.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/nullptr_t_deleter_throw.pass.cpp Tue Aug 20 17:14:12 2019
@@ -21,7 +21,7 @@
#include <cstdlib>
#include "test_macros.h"
-#include "count_new.hpp"
+#include "count_new.h"
#include "deleter_types.h"
Modified: libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/pointer_deleter_throw.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/pointer_deleter_throw.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/pointer_deleter_throw.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/pointer_deleter_throw.pass.cpp Tue Aug 20 17:14:12 2019
@@ -20,7 +20,7 @@
#include <new>
#include <cstdlib>
-#include "count_new.hpp"
+#include "count_new.h"
#include "test_macros.h"
#include "deleter_types.h"
Modified: libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/pointer_throw.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/pointer_throw.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/pointer_throw.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/pointer_throw.pass.cpp Tue Aug 20 17:14:12 2019
@@ -19,7 +19,7 @@
#include <cstdlib>
#include <cassert>
-#include "count_new.hpp"
+#include "count_new.h"
#include "test_macros.h"
Modified: libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/unique_ptr.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/unique_ptr.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/unique_ptr.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.const/unique_ptr.pass.cpp Tue Aug 20 17:14:12 2019
@@ -18,7 +18,7 @@
#include <cassert>
#include "test_macros.h"
-#include "count_new.hpp"
+#include "count_new.h"
struct B
{
Modified: libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.create/make_shared.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.create/make_shared.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.create/make_shared.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/memory/util.smartptr/util.smartptr.shared/util.smartptr.shared.create/make_shared.pass.cpp Tue Aug 20 17:14:12 2019
@@ -16,7 +16,7 @@
#include <cassert>
#include "test_macros.h"
-#include "count_new.hpp"
+#include "count_new.h"
#if TEST_STD_VER >= 11
#define DELETE_FUNCTION = delete
Modified: libcxx/trunk/test/std/utilities/optional/optional.hash/enabled_hash.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/optional/optional.hash/enabled_hash.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/optional/optional.hash/enabled_hash.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/optional/optional.hash/enabled_hash.pass.cpp Tue Aug 20 17:14:12 2019
@@ -15,7 +15,7 @@
#include <optional>
-#include "poisoned_hash_helper.hpp"
+#include "poisoned_hash_helper.h"
#include "test_macros.h"
Modified: libcxx/trunk/test/std/utilities/optional/optional.hash/hash.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/optional/optional.hash/hash.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/optional/optional.hash/hash.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/optional/optional.hash/hash.pass.cpp Tue Aug 20 17:14:12 2019
@@ -16,7 +16,7 @@
#include <memory>
#include <cassert>
-#include "poisoned_hash_helper.hpp"
+#include "poisoned_hash_helper.h"
#include "test_macros.h"
Modified: libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.assign/assign_value.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.assign/assign_value.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.assign/assign_value.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.assign/assign_value.pass.cpp Tue Aug 20 17:14:12 2019
@@ -17,7 +17,7 @@
#include <memory>
#include "test_macros.h"
-#include "archetypes.hpp"
+#include "archetypes.h"
using std::optional;
Modified: libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.assign/const_optional_U.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.assign/const_optional_U.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.assign/const_optional_U.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.assign/const_optional_U.pass.cpp Tue Aug 20 17:14:12 2019
@@ -18,7 +18,7 @@
#include <cassert>
#include "test_macros.h"
-#include "archetypes.hpp"
+#include "archetypes.h"
using std::optional;
Modified: libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.assign/copy.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.assign/copy.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.assign/copy.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.assign/copy.pass.cpp Tue Aug 20 17:14:12 2019
@@ -16,7 +16,7 @@
#include <cassert>
#include "test_macros.h"
-#include "archetypes.hpp"
+#include "archetypes.h"
using std::optional;
Modified: libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.assign/emplace.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.assign/emplace.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.assign/emplace.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.assign/emplace.pass.cpp Tue Aug 20 17:14:12 2019
@@ -17,7 +17,7 @@
#include <memory>
#include "test_macros.h"
-#include "archetypes.hpp"
+#include "archetypes.h"
using std::optional;
Modified: libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.assign/move.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.assign/move.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.assign/move.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.assign/move.pass.cpp Tue Aug 20 17:14:12 2019
@@ -19,7 +19,7 @@
#include <utility>
#include "test_macros.h"
-#include "archetypes.hpp"
+#include "archetypes.h"
using std::optional;
Modified: libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.assign/nullopt_t.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.assign/nullopt_t.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.assign/nullopt_t.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.assign/nullopt_t.pass.cpp Tue Aug 20 17:14:12 2019
@@ -16,7 +16,7 @@
#include <cassert>
#include "test_macros.h"
-#include "archetypes.hpp"
+#include "archetypes.h"
using std::optional;
using std::nullopt_t;
Modified: libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.assign/optional_U.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.assign/optional_U.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.assign/optional_U.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.assign/optional_U.pass.cpp Tue Aug 20 17:14:12 2019
@@ -19,7 +19,7 @@
#include <cassert>
#include "test_macros.h"
-#include "archetypes.hpp"
+#include "archetypes.h"
using std::optional;
Modified: libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.ctor/U.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.ctor/U.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.ctor/U.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.ctor/U.pass.cpp Tue Aug 20 17:14:12 2019
@@ -20,8 +20,8 @@
#include <cassert>
#include "test_macros.h"
-#include "archetypes.hpp"
-#include "test_convertible.hpp"
+#include "archetypes.h"
+#include "test_convertible.h"
using std::optional;
Modified: libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.ctor/const_T.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.ctor/const_T.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.ctor/const_T.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.ctor/const_T.pass.cpp Tue Aug 20 17:14:12 2019
@@ -19,7 +19,7 @@
#include <cassert>
#include "test_macros.h"
-#include "archetypes.hpp"
+#include "archetypes.h"
using std::optional;
Modified: libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.ctor/copy.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.ctor/copy.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.ctor/copy.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.ctor/copy.pass.cpp Tue Aug 20 17:14:12 2019
@@ -16,7 +16,7 @@
#include <cassert>
#include "test_macros.h"
-#include "archetypes.hpp"
+#include "archetypes.h"
using std::optional;
Modified: libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.ctor/default.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.ctor/default.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.ctor/default.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.ctor/default.pass.cpp Tue Aug 20 17:14:12 2019
@@ -16,7 +16,7 @@
#include <cassert>
#include "test_macros.h"
-#include "archetypes.hpp"
+#include "archetypes.h"
using std::optional;
Modified: libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.ctor/empty_in_place_t_does_not_clobber.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.ctor/empty_in_place_t_does_not_clobber.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.ctor/empty_in_place_t_does_not_clobber.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.ctor/empty_in_place_t_does_not_clobber.pass.cpp Tue Aug 20 17:14:12 2019
@@ -20,7 +20,7 @@
#include <cassert>
#include "test_macros.h"
-#include "archetypes.hpp"
+#include "archetypes.h"
using std::optional;
Modified: libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.ctor/move.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.ctor/move.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.ctor/move.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.ctor/move.pass.cpp Tue Aug 20 17:14:12 2019
@@ -19,7 +19,7 @@
#include <cassert>
#include "test_macros.h"
-#include "archetypes.hpp"
+#include "archetypes.h"
using std::optional;
Modified: libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.ctor/nullopt_t.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.ctor/nullopt_t.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.ctor/nullopt_t.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.ctor/nullopt_t.pass.cpp Tue Aug 20 17:14:12 2019
@@ -15,7 +15,7 @@
#include <type_traits>
#include <cassert>
-#include "archetypes.hpp"
+#include "archetypes.h"
#include "test_macros.h"
Modified: libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.ctor/rvalue_T.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.ctor/rvalue_T.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.ctor/rvalue_T.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.ctor/rvalue_T.pass.cpp Tue Aug 20 17:14:12 2019
@@ -19,7 +19,7 @@
#include <cassert>
#include "test_macros.h"
-#include "archetypes.hpp"
+#include "archetypes.h"
using std::optional;
Modified: libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.swap/swap.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.swap/swap.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.swap/swap.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/optional/optional.object/optional.object.swap/swap.pass.cpp Tue Aug 20 17:14:12 2019
@@ -18,7 +18,7 @@
#include <cassert>
#include "test_macros.h"
-#include "archetypes.hpp"
+#include "archetypes.h"
using std::optional;
Modified: libcxx/trunk/test/std/utilities/optional/optional.object/special_members.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/optional/optional.object/special_members.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/optional/optional.object/special_members.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/optional/optional.object/special_members.pass.cpp Tue Aug 20 17:14:12 2019
@@ -16,7 +16,7 @@
#include <optional>
#include <type_traits>
-#include "archetypes.hpp"
+#include "archetypes.h"
#include "test_macros.h"
Modified: libcxx/trunk/test/std/utilities/optional/optional.object/triviality.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/optional/optional.object/triviality.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/optional/optional.object/triviality.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/optional/optional.object/triviality.pass.cpp Tue Aug 20 17:14:12 2019
@@ -22,7 +22,7 @@
#include <optional>
#include <type_traits>
-#include "archetypes.hpp"
+#include "archetypes.h"
#include "test_macros.h"
Modified: libcxx/trunk/test/std/utilities/optional/optional.specalg/swap.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/optional/optional.specalg/swap.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/optional/optional.specalg/swap.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/optional/optional.specalg/swap.pass.cpp Tue Aug 20 17:14:12 2019
@@ -17,7 +17,7 @@
#include <cassert>
#include "test_macros.h"
-#include "archetypes.hpp"
+#include "archetypes.h"
using std::optional;
Modified: libcxx/trunk/test/std/utilities/template.bitset/bitset.hash/enabled_hash.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/template.bitset/bitset.hash/enabled_hash.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/template.bitset/bitset.hash/enabled_hash.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/template.bitset/bitset.hash/enabled_hash.pass.cpp Tue Aug 20 17:14:12 2019
@@ -15,7 +15,7 @@
#include <bitset>
-#include "poisoned_hash_helper.hpp"
+#include "poisoned_hash_helper.h"
#include "test_macros.h"
Modified: libcxx/trunk/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/UTypes.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/UTypes.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/UTypes.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/UTypes.pass.cpp Tue Aug 20 17:14:12 2019
@@ -20,7 +20,7 @@
#include <type_traits>
#include "test_macros.h"
-#include "test_convertible.hpp"
+#include "test_convertible.h"
#include "MoveOnly.h"
#if TEST_STD_VER > 11
Modified: libcxx/trunk/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/deduct.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/deduct.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/deduct.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/deduct.pass.cpp Tue Aug 20 17:14:12 2019
@@ -26,7 +26,7 @@
#include <cassert>
#include "test_macros.h"
-#include "archetypes.hpp"
+#include "archetypes.h"
// Overloads
Modified: libcxx/trunk/test/std/utilities/type.index/type.index.hash/enabled_hash.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/type.index/type.index.hash/enabled_hash.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/type.index/type.index.hash/enabled_hash.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/type.index/type.index.hash/enabled_hash.pass.cpp Tue Aug 20 17:14:12 2019
@@ -15,7 +15,7 @@
#include <typeindex>
-#include "poisoned_hash_helper.hpp"
+#include "poisoned_hash_helper.h"
#include "test_macros.h"
Modified: libcxx/trunk/test/std/utilities/type.index/type.index.synopsis/hash_type_index.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/type.index/type.index.synopsis/hash_type_index.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/type.index/type.index.synopsis/hash_type_index.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/type.index/type.index.synopsis/hash_type_index.pass.cpp Tue Aug 20 17:14:12 2019
@@ -19,7 +19,7 @@
#include "test_macros.h"
#if TEST_STD_VER >= 11
-#include "poisoned_hash_helper.hpp"
+#include "poisoned_hash_helper.h"
#endif
int main(int, char**)
Modified: libcxx/trunk/test/std/utilities/utility/pairs/pairs.pair/U_V.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/utility/pairs/pairs.pair/U_V.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/utility/pairs/pairs.pair/U_V.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/utility/pairs/pairs.pair/U_V.pass.cpp Tue Aug 20 17:14:12 2019
@@ -19,8 +19,8 @@
#include <memory>
#include <cassert>
-#include "archetypes.hpp"
-#include "test_convertible.hpp"
+#include "archetypes.h"
+#include "test_convertible.h"
#include "test_macros.h"
using namespace ImplicitTypes; // Get implicitly archetypes
Modified: libcxx/trunk/test/std/utilities/utility/pairs/pairs.pair/assign_const_pair_U_V.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/utility/pairs/pairs.pair/assign_const_pair_U_V.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/utility/pairs/pairs.pair/assign_const_pair_U_V.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/utility/pairs/pairs.pair/assign_const_pair_U_V.pass.cpp Tue Aug 20 17:14:12 2019
@@ -17,7 +17,7 @@
#include "test_macros.h"
#if TEST_STD_VER >= 11
-#include "archetypes.hpp"
+#include "archetypes.h"
#endif
int main(int, char**)
Modified: libcxx/trunk/test/std/utilities/utility/pairs/pairs.pair/assign_rv_pair_U_V.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/utility/pairs/pairs.pair/assign_rv_pair_U_V.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/utility/pairs/pairs.pair/assign_rv_pair_U_V.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/utility/pairs/pairs.pair/assign_rv_pair_U_V.pass.cpp Tue Aug 20 17:14:12 2019
@@ -17,7 +17,7 @@
#include <utility>
#include <memory>
#include <cassert>
-#include <archetypes.hpp>
+#include <archetypes.h>
#include "test_macros.h"
Modified: libcxx/trunk/test/std/utilities/utility/pairs/pairs.pair/const_first_const_second.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/utility/pairs/pairs.pair/const_first_const_second.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/utility/pairs/pairs.pair/const_first_const_second.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/utility/pairs/pairs.pair/const_first_const_second.pass.cpp Tue Aug 20 17:14:12 2019
@@ -17,8 +17,8 @@
#include <utility>
#include <cassert>
-#include "archetypes.hpp"
-#include "test_convertible.hpp"
+#include "archetypes.h"
+#include "test_convertible.h"
#include "test_macros.h"
using namespace ImplicitTypes; // Get implicitly archetypes
Modified: libcxx/trunk/test/std/utilities/utility/pairs/pairs.pair/const_pair_U_V.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/utility/pairs/pairs.pair/const_pair_U_V.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/utility/pairs/pairs.pair/const_pair_U_V.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/utility/pairs/pairs.pair/const_pair_U_V.pass.cpp Tue Aug 20 17:14:12 2019
@@ -17,8 +17,8 @@
#include <utility>
#include <cassert>
-#include "archetypes.hpp"
-#include "test_convertible.hpp"
+#include "archetypes.h"
+#include "test_convertible.h"
#include "test_macros.h"
using namespace ImplicitTypes; // Get implicitly archetypes
Modified: libcxx/trunk/test/std/utilities/utility/pairs/pairs.pair/default.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/utility/pairs/pairs.pair/default.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/utility/pairs/pairs.pair/default.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/utility/pairs/pairs.pair/default.pass.cpp Tue Aug 20 17:14:12 2019
@@ -26,7 +26,7 @@
#include <cassert>
#include "test_macros.h"
-#include "archetypes.hpp"
+#include "archetypes.h"
int main(int, char**)
{
Modified: libcxx/trunk/test/std/utilities/utility/pairs/pairs.pair/implicit_deduction_guides.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/utility/pairs/pairs.pair/implicit_deduction_guides.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/utility/pairs/pairs.pair/implicit_deduction_guides.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/utility/pairs/pairs.pair/implicit_deduction_guides.pass.cpp Tue Aug 20 17:14:12 2019
@@ -26,7 +26,7 @@
#include <cassert>
#include "test_macros.h"
-#include "archetypes.hpp"
+#include "archetypes.h"
// Overloads
Modified: libcxx/trunk/test/std/utilities/utility/pairs/pairs.pair/rv_pair_U_V.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/utility/pairs/pairs.pair/rv_pair_U_V.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/utility/pairs/pairs.pair/rv_pair_U_V.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/utility/pairs/pairs.pair/rv_pair_U_V.pass.cpp Tue Aug 20 17:14:12 2019
@@ -18,8 +18,8 @@
#include <memory>
#include <cassert>
-#include "archetypes.hpp"
-#include "test_convertible.hpp"
+#include "archetypes.h"
+#include "test_convertible.h"
#include "test_macros.h"
using namespace ImplicitTypes; // Get implicitly archetypes
Modified: libcxx/trunk/test/std/utilities/utility/pairs/pairs.pair/special_member_generation_test.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/utility/pairs/pairs.pair/special_member_generation_test.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/utility/pairs/pairs.pair/special_member_generation_test.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/utility/pairs/pairs.pair/special_member_generation_test.pass.cpp Tue Aug 20 17:14:12 2019
@@ -24,7 +24,7 @@
#include <string>
#include <tuple>
-#include "archetypes.hpp"
+#include "archetypes.h"
#include "test_macros.h"
using namespace ImplicitTypes; // Get implicitly archetypes
Modified: libcxx/trunk/test/std/utilities/variant/variant.get/get_if_index.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/variant/variant.get/get_if_index.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/variant/variant.get/get_if_index.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/variant/variant.get/get_if_index.pass.cpp Tue Aug 20 17:14:12 2019
@@ -19,7 +19,7 @@
// get_if(const variant<Types...>* v) noexcept;
#include "test_macros.h"
-#include "variant_test_helpers.hpp"
+#include "variant_test_helpers.h"
#include <cassert>
#include <memory>
#include <variant>
Modified: libcxx/trunk/test/std/utilities/variant/variant.get/get_if_type.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/variant/variant.get/get_if_type.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/variant/variant.get/get_if_type.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/variant/variant.get/get_if_type.pass.cpp Tue Aug 20 17:14:12 2019
@@ -18,7 +18,7 @@
// noexcept;
#include "test_macros.h"
-#include "variant_test_helpers.hpp"
+#include "variant_test_helpers.h"
#include <cassert>
#include <variant>
Modified: libcxx/trunk/test/std/utilities/variant/variant.get/get_index.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/variant/variant.get/get_index.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/variant/variant.get/get_index.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/variant/variant.get/get_index.pass.cpp Tue Aug 20 17:14:12 2019
@@ -28,7 +28,7 @@
#include "test_macros.h"
#include "test_workarounds.h"
-#include "variant_test_helpers.hpp"
+#include "variant_test_helpers.h"
#include <cassert>
#include <type_traits>
#include <utility>
Modified: libcxx/trunk/test/std/utilities/variant/variant.get/get_type.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/variant/variant.get/get_type.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/variant/variant.get/get_type.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/variant/variant.get/get_type.pass.cpp Tue Aug 20 17:14:12 2019
@@ -22,7 +22,7 @@
#include "test_macros.h"
#include "test_workarounds.h"
-#include "variant_test_helpers.hpp"
+#include "variant_test_helpers.h"
#include <cassert>
#include <type_traits>
#include <utility>
Modified: libcxx/trunk/test/std/utilities/variant/variant.hash/enabled_hash.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/variant/variant.hash/enabled_hash.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/variant/variant.hash/enabled_hash.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/variant/variant.hash/enabled_hash.pass.cpp Tue Aug 20 17:14:12 2019
@@ -15,7 +15,7 @@
#include <variant>
-#include "poisoned_hash_helper.hpp"
+#include "poisoned_hash_helper.h"
#include "test_macros.h"
Modified: libcxx/trunk/test/std/utilities/variant/variant.hash/hash.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/variant/variant.hash/hash.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/variant/variant.hash/hash.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/variant/variant.hash/hash.pass.cpp Tue Aug 20 17:14:12 2019
@@ -19,8 +19,8 @@
#include <variant>
#include "test_macros.h"
-#include "variant_test_helpers.hpp"
-#include "poisoned_hash_helper.hpp"
+#include "variant_test_helpers.h"
+#include "poisoned_hash_helper.h"
#ifndef TEST_HAS_NO_EXCEPTIONS
namespace std {
Modified: libcxx/trunk/test/std/utilities/variant/variant.helpers/variant_alternative.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/variant/variant.helpers/variant_alternative.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/variant/variant.helpers/variant_alternative.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/variant/variant.helpers/variant_alternative.pass.cpp Tue Aug 20 17:14:12 2019
@@ -26,7 +26,7 @@
#include <variant>
#include "test_macros.h"
-#include "variant_test_helpers.hpp"
+#include "variant_test_helpers.h"
template <class V, size_t I, class E> void test() {
static_assert(
Modified: libcxx/trunk/test/std/utilities/variant/variant.variant/variant.assign/T.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/variant/variant.variant/variant.assign/T.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/variant/variant.variant/variant.assign/T.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/variant/variant.variant/variant.assign/T.pass.cpp Tue Aug 20 17:14:12 2019
@@ -25,7 +25,7 @@
#include <memory>
#include "test_macros.h"
-#include "variant_test_helpers.hpp"
+#include "variant_test_helpers.h"
namespace MetaHelpers {
Modified: libcxx/trunk/test/std/utilities/variant/variant.variant/variant.assign/conv.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/variant/variant.variant/variant.assign/conv.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/variant/variant.variant/variant.assign/conv.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/variant/variant.variant/variant.assign/conv.pass.cpp Tue Aug 20 17:14:12 2019
@@ -20,7 +20,7 @@
#include <string>
#include <memory>
-#include "variant_test_helpers.hpp"
+#include "variant_test_helpers.h"
int main(int, char**)
{
Modified: libcxx/trunk/test/std/utilities/variant/variant.variant/variant.assign/move.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/variant/variant.variant/variant.assign/move.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/variant/variant.variant/variant.assign/move.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/variant/variant.variant/variant.assign/move.pass.cpp Tue Aug 20 17:14:12 2019
@@ -29,7 +29,7 @@
#include <variant>
#include "test_macros.h"
-#include "variant_test_helpers.hpp"
+#include "variant_test_helpers.h"
struct NoCopy {
NoCopy(const NoCopy &) = delete;
Modified: libcxx/trunk/test/std/utilities/variant/variant.variant/variant.ctor/T.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/variant/variant.variant/variant.ctor/T.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/variant/variant.variant/variant.ctor/T.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/variant/variant.variant/variant.ctor/T.pass.cpp Tue Aug 20 17:14:12 2019
@@ -23,7 +23,7 @@
#include <memory>
#include "test_macros.h"
-#include "variant_test_helpers.hpp"
+#include "variant_test_helpers.h"
struct Dummy {
Dummy() = default;
Modified: libcxx/trunk/test/std/utilities/variant/variant.variant/variant.ctor/conv.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/variant/variant.variant/variant.ctor/conv.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/variant/variant.variant/variant.ctor/conv.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/variant/variant.variant/variant.ctor/conv.pass.cpp Tue Aug 20 17:14:12 2019
@@ -19,7 +19,7 @@
#include <string>
#include <memory>
-#include "variant_test_helpers.hpp"
+#include "variant_test_helpers.h"
int main(int, char**)
{
Modified: libcxx/trunk/test/std/utilities/variant/variant.variant/variant.ctor/default.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/variant/variant.variant/variant.ctor/default.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/variant/variant.variant/variant.ctor/default.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/variant/variant.variant/variant.ctor/default.pass.cpp Tue Aug 20 17:14:12 2019
@@ -22,7 +22,7 @@
#include <variant>
#include "test_macros.h"
-#include "variant_test_helpers.hpp"
+#include "variant_test_helpers.h"
struct NonDefaultConstructible {
constexpr NonDefaultConstructible(int) {}
Modified: libcxx/trunk/test/std/utilities/variant/variant.variant/variant.ctor/in_place_index_args.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/variant/variant.variant/variant.ctor/in_place_index_args.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/variant/variant.variant/variant.ctor/in_place_index_args.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/variant/variant.variant/variant.ctor/in_place_index_args.pass.cpp Tue Aug 20 17:14:12 2019
@@ -23,7 +23,7 @@
#include <type_traits>
#include <variant>
-#include "test_convertible.hpp"
+#include "test_convertible.h"
#include "test_macros.h"
void test_ctor_sfinae() {
Modified: libcxx/trunk/test/std/utilities/variant/variant.variant/variant.ctor/in_place_index_init_list_args.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/variant/variant.variant/variant.ctor/in_place_index_init_list_args.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/variant/variant.variant/variant.ctor/in_place_index_init_list_args.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/variant/variant.variant/variant.ctor/in_place_index_init_list_args.pass.cpp Tue Aug 20 17:14:12 2019
@@ -23,7 +23,7 @@
#include <type_traits>
#include <variant>
-#include "test_convertible.hpp"
+#include "test_convertible.h"
#include "test_macros.h"
struct InitList {
Modified: libcxx/trunk/test/std/utilities/variant/variant.variant/variant.ctor/in_place_type_args.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/variant/variant.variant/variant.ctor/in_place_type_args.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/variant/variant.variant/variant.ctor/in_place_type_args.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/variant/variant.variant/variant.ctor/in_place_type_args.pass.cpp Tue Aug 20 17:14:12 2019
@@ -22,7 +22,7 @@
#include <type_traits>
#include <variant>
-#include "test_convertible.hpp"
+#include "test_convertible.h"
#include "test_macros.h"
void test_ctor_sfinae() {
Modified: libcxx/trunk/test/std/utilities/variant/variant.variant/variant.ctor/in_place_type_init_list_args.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/variant/variant.variant/variant.ctor/in_place_type_init_list_args.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/variant/variant.variant/variant.ctor/in_place_type_init_list_args.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/variant/variant.variant/variant.ctor/in_place_type_init_list_args.pass.cpp Tue Aug 20 17:14:12 2019
@@ -23,7 +23,7 @@
#include <type_traits>
#include <variant>
-#include "test_convertible.hpp"
+#include "test_convertible.h"
#include "test_macros.h"
struct InitList {
Modified: libcxx/trunk/test/std/utilities/variant/variant.variant/variant.mod/emplace_index_args.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/variant/variant.variant/variant.mod/emplace_index_args.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/variant/variant.variant/variant.mod/emplace_index_args.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/variant/variant.variant/variant.mod/emplace_index_args.pass.cpp Tue Aug 20 17:14:12 2019
@@ -23,10 +23,10 @@
#include <type_traits>
#include <variant>
-#include "archetypes.hpp"
-#include "test_convertible.hpp"
+#include "archetypes.h"
+#include "test_convertible.h"
#include "test_macros.h"
-#include "variant_test_helpers.hpp"
+#include "variant_test_helpers.h"
template <class Var, size_t I, class... Args>
constexpr auto test_emplace_exists_imp(int) -> decltype(
Modified: libcxx/trunk/test/std/utilities/variant/variant.variant/variant.mod/emplace_index_init_list_args.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/variant/variant.variant/variant.mod/emplace_index_init_list_args.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/variant/variant.variant/variant.mod/emplace_index_init_list_args.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/variant/variant.variant/variant.mod/emplace_index_init_list_args.pass.cpp Tue Aug 20 17:14:12 2019
@@ -23,8 +23,8 @@
#include <type_traits>
#include <variant>
-#include "archetypes.hpp"
-#include "test_convertible.hpp"
+#include "archetypes.h"
+#include "test_convertible.h"
#include "test_macros.h"
struct InitList {
Modified: libcxx/trunk/test/std/utilities/variant/variant.variant/variant.mod/emplace_type_args.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/variant/variant.variant/variant.mod/emplace_type_args.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/variant/variant.variant/variant.mod/emplace_type_args.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/variant/variant.variant/variant.mod/emplace_type_args.pass.cpp Tue Aug 20 17:14:12 2019
@@ -22,10 +22,10 @@
#include <type_traits>
#include <variant>
-#include "archetypes.hpp"
-#include "test_convertible.hpp"
+#include "archetypes.h"
+#include "test_convertible.h"
#include "test_macros.h"
-#include "variant_test_helpers.hpp"
+#include "variant_test_helpers.h"
template <class Var, class T, class... Args>
constexpr auto test_emplace_exists_imp(int) -> decltype(
Modified: libcxx/trunk/test/std/utilities/variant/variant.variant/variant.mod/emplace_type_init_list_args.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/variant/variant.variant/variant.mod/emplace_type_init_list_args.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/variant/variant.variant/variant.mod/emplace_type_init_list_args.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/variant/variant.variant/variant.mod/emplace_type_init_list_args.pass.cpp Tue Aug 20 17:14:12 2019
@@ -23,8 +23,8 @@
#include <type_traits>
#include <variant>
-#include "archetypes.hpp"
-#include "test_convertible.hpp"
+#include "archetypes.h"
+#include "test_convertible.h"
#include "test_macros.h"
struct InitList {
Modified: libcxx/trunk/test/std/utilities/variant/variant.variant/variant.status/index.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/variant/variant.variant/variant.status/index.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/variant/variant.variant/variant.status/index.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/variant/variant.variant/variant.status/index.pass.cpp Tue Aug 20 17:14:12 2019
@@ -20,9 +20,9 @@
#include <type_traits>
#include <variant>
-#include "archetypes.hpp"
+#include "archetypes.h"
#include "test_macros.h"
-#include "variant_test_helpers.hpp"
+#include "variant_test_helpers.h"
int main(int, char**) {
Modified: libcxx/trunk/test/std/utilities/variant/variant.variant/variant.status/valueless_by_exception.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/variant/variant.variant/variant.status/valueless_by_exception.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/variant/variant.variant/variant.status/valueless_by_exception.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/variant/variant.variant/variant.status/valueless_by_exception.pass.cpp Tue Aug 20 17:14:12 2019
@@ -20,9 +20,9 @@
#include <type_traits>
#include <variant>
-#include "archetypes.hpp"
+#include "archetypes.h"
#include "test_macros.h"
-#include "variant_test_helpers.hpp"
+#include "variant_test_helpers.h"
int main(int, char**) {
Modified: libcxx/trunk/test/std/utilities/variant/variant.variant/variant.swap/swap.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/variant/variant.variant/variant.swap/swap.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/variant/variant.variant/variant.swap/swap.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/variant/variant.variant/variant.swap/swap.pass.cpp Tue Aug 20 17:14:12 2019
@@ -22,9 +22,9 @@
#include <type_traits>
#include <variant>
-#include "test_convertible.hpp"
+#include "test_convertible.h"
#include "test_macros.h"
-#include "variant_test_helpers.hpp"
+#include "variant_test_helpers.h"
struct NotSwappable {};
void swap(NotSwappable &, NotSwappable &) = delete;
Modified: libcxx/trunk/test/std/utilities/variant/variant.variant/variant_array.fail.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/variant/variant.variant/variant_array.fail.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/variant/variant.variant/variant_array.fail.cpp (original)
+++ libcxx/trunk/test/std/utilities/variant/variant.variant/variant_array.fail.cpp Tue Aug 20 17:14:12 2019
@@ -20,8 +20,8 @@
#include <cassert>
#include "test_macros.h"
-#include "variant_test_helpers.hpp"
-#include "test_convertible.hpp"
+#include "variant_test_helpers.h"
+#include "test_convertible.h"
int main(int, char**)
{
Modified: libcxx/trunk/test/std/utilities/variant/variant.variant/variant_empty.fail.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/variant/variant.variant/variant_empty.fail.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/variant/variant.variant/variant_empty.fail.cpp (original)
+++ libcxx/trunk/test/std/utilities/variant/variant.variant/variant_empty.fail.cpp Tue Aug 20 17:14:12 2019
@@ -16,7 +16,7 @@
#include <variant>
#include "test_macros.h"
-#include "variant_test_helpers.hpp"
+#include "variant_test_helpers.h"
int main(int, char**)
{
Modified: libcxx/trunk/test/std/utilities/variant/variant.variant/variant_reference.fail.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/variant/variant.variant/variant_reference.fail.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/variant/variant.variant/variant_reference.fail.cpp (original)
+++ libcxx/trunk/test/std/utilities/variant/variant.variant/variant_reference.fail.cpp Tue Aug 20 17:14:12 2019
@@ -16,7 +16,7 @@
#include <variant>
#include "test_macros.h"
-#include "variant_test_helpers.hpp"
+#include "variant_test_helpers.h"
int main(int, char**)
{
Modified: libcxx/trunk/test/std/utilities/variant/variant.variant/variant_void.fail.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/variant/variant.variant/variant_void.fail.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/variant/variant.variant/variant_void.fail.cpp (original)
+++ libcxx/trunk/test/std/utilities/variant/variant.variant/variant_void.fail.cpp Tue Aug 20 17:14:12 2019
@@ -20,8 +20,8 @@
#include <cassert>
#include "test_macros.h"
-#include "variant_test_helpers.hpp"
-#include "test_convertible.hpp"
+#include "variant_test_helpers.h"
+#include "test_convertible.h"
int main(int, char**)
{
Modified: libcxx/trunk/test/std/utilities/variant/variant.visit/visit.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/variant/variant.visit/visit.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/std/utilities/variant/variant.visit/visit.pass.cpp (original)
+++ libcxx/trunk/test/std/utilities/variant/variant.visit/visit.pass.cpp Tue Aug 20 17:14:12 2019
@@ -24,7 +24,7 @@
#include "test_macros.h"
#include "type_id.h"
-#include "variant_test_helpers.hpp"
+#include "variant_test_helpers.h"
enum CallType : unsigned {
CT_None,
Added: libcxx/trunk/test/support/archetypes.h
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/support/archetypes.h?rev=369481&view=auto
==============================================================================
--- libcxx/trunk/test/support/archetypes.h (added)
+++ libcxx/trunk/test/support/archetypes.h Tue Aug 20 17:14:12 2019
@@ -0,0 +1,393 @@
+#ifndef TEST_SUPPORT_ARCHETYPES_H
+#define TEST_SUPPORT_ARCHETYPES_H
+
+#include <type_traits>
+#include <cassert>
+
+#include "test_macros.h"
+#include "test_workarounds.h"
+
+#if TEST_STD_VER >= 11
+
+namespace ArchetypeBases {
+
+template <bool, class T>
+struct DepType : T {};
+
+struct NullBase {
+#ifndef TEST_WORKAROUND_C1XX_BROKEN_ZA_CTOR_CHECK
+protected:
+#endif // !TEST_WORKAROUND_C1XX_BROKEN_ZA_CTOR_CHECK
+ NullBase() = default;
+ NullBase(NullBase const&) = default;
+ NullBase& operator=(NullBase const&) = default;
+ NullBase(NullBase &&) = default;
+ NullBase& operator=(NullBase &&) = default;
+};
+
+template <class Derived, bool Explicit = false>
+struct TestBase {
+ static int alive;
+ static int constructed;
+ static int value_constructed;
+ static int default_constructed;
+ static int copy_constructed;
+ static int move_constructed;
+ static int assigned;
+ static int value_assigned;
+ static int copy_assigned;
+ static int move_assigned;
+ static int destroyed;
+
+ static void reset() {
+ assert(alive == 0);
+ alive = 0;
+ reset_constructors();
+ }
+
+ static void reset_constructors() {
+ constructed = value_constructed = default_constructed =
+ copy_constructed = move_constructed = 0;
+ assigned = value_assigned = copy_assigned = move_assigned = destroyed = 0;
+ }
+
+ TestBase() noexcept : value(0) {
+ ++alive; ++constructed; ++default_constructed;
+ }
+ template <bool Dummy = true, typename std::enable_if<Dummy && Explicit, bool>::type = true>
+ explicit TestBase(int x) noexcept : value(x) {
+ ++alive; ++constructed; ++value_constructed;
+ }
+ template <bool Dummy = true, typename std::enable_if<Dummy && !Explicit, bool>::type = true>
+ TestBase(int x) noexcept : value(x) {
+ ++alive; ++constructed; ++value_constructed;
+ }
+ template <bool Dummy = true, typename std::enable_if<Dummy && Explicit, bool>::type = true>
+ explicit TestBase(int, int y) noexcept : value(y) {
+ ++alive; ++constructed; ++value_constructed;
+ }
+ template <bool Dummy = true, typename std::enable_if<Dummy && !Explicit, bool>::type = true>
+ TestBase(int, int y) noexcept : value(y) {
+ ++alive; ++constructed; ++value_constructed;
+ }
+ template <bool Dummy = true, typename std::enable_if<Dummy && Explicit, bool>::type = true>
+ explicit TestBase(std::initializer_list<int>& il, int = 0) noexcept
+ : value(static_cast<int>(il.size())) {
+ ++alive; ++constructed; ++value_constructed;
+ }
+ template <bool Dummy = true, typename std::enable_if<Dummy && !Explicit, bool>::type = true>
+ explicit TestBase(std::initializer_list<int>& il, int = 0) noexcept : value(static_cast<int>(il.size())) {
+ ++alive; ++constructed; ++value_constructed;
+ }
+ TestBase& operator=(int xvalue) noexcept {
+ value = xvalue;
+ ++assigned; ++value_assigned;
+ return *this;
+ }
+#ifndef TEST_WORKAROUND_C1XX_BROKEN_ZA_CTOR_CHECK
+protected:
+#endif // !TEST_WORKAROUND_C1XX_BROKEN_ZA_CTOR_CHECK
+ ~TestBase() {
+ assert(value != -999); assert(alive > 0);
+ --alive; ++destroyed; value = -999;
+ }
+ explicit TestBase(TestBase const& o) noexcept : value(o.value) {
+ assert(o.value != -1); assert(o.value != -999);
+ ++alive; ++constructed; ++copy_constructed;
+ }
+ explicit TestBase(TestBase && o) noexcept : value(o.value) {
+ assert(o.value != -1); assert(o.value != -999);
+ ++alive; ++constructed; ++move_constructed;
+ o.value = -1;
+ }
+ TestBase& operator=(TestBase const& o) noexcept {
+ assert(o.value != -1); assert(o.value != -999);
+ ++assigned; ++copy_assigned;
+ value = o.value;
+ return *this;
+ }
+ TestBase& operator=(TestBase&& o) noexcept {
+ assert(o.value != -1); assert(o.value != -999);
+ ++assigned; ++move_assigned;
+ value = o.value;
+ o.value = -1;
+ return *this;
+ }
+public:
+ int value;
+};
+
+template <class D, bool E> int TestBase<D, E>::alive = 0;
+template <class D, bool E> int TestBase<D, E>::constructed = 0;
+template <class D, bool E> int TestBase<D, E>::value_constructed = 0;
+template <class D, bool E> int TestBase<D, E>::default_constructed = 0;
+template <class D, bool E> int TestBase<D, E>::copy_constructed = 0;
+template <class D, bool E> int TestBase<D, E>::move_constructed = 0;
+template <class D, bool E> int TestBase<D, E>::assigned = 0;
+template <class D, bool E> int TestBase<D, E>::value_assigned = 0;
+template <class D, bool E> int TestBase<D, E>::copy_assigned = 0;
+template <class D, bool E> int TestBase<D, E>::move_assigned = 0;
+template <class D, bool E> int TestBase<D, E>::destroyed = 0;
+
+template <bool Explicit = false>
+struct ValueBase {
+ template <bool Dummy = true, typename std::enable_if<Dummy && Explicit, bool>::type = true>
+ explicit constexpr ValueBase(int x) : value(x) {}
+ template <bool Dummy = true, typename std::enable_if<Dummy && !Explicit, bool>::type = true>
+ constexpr ValueBase(int x) : value(x) {}
+ template <bool Dummy = true, typename std::enable_if<Dummy && Explicit, bool>::type = true>
+ explicit constexpr ValueBase(int, int y) : value(y) {}
+ template <bool Dummy = true, typename std::enable_if<Dummy && !Explicit, bool>::type = true>
+ constexpr ValueBase(int, int y) : value(y) {}
+ template <bool Dummy = true, typename std::enable_if<Dummy && Explicit, bool>::type = true>
+ explicit constexpr ValueBase(std::initializer_list<int>& il, int = 0) : value(static_cast<int>(il.size())) {}
+ template <bool Dummy = true, typename std::enable_if<Dummy && !Explicit, bool>::type = true>
+ constexpr ValueBase(std::initializer_list<int>& il, int = 0) : value(static_cast<int>(il.size())) {}
+ TEST_CONSTEXPR_CXX14 ValueBase& operator=(int xvalue) noexcept {
+ value = xvalue;
+ return *this;
+ }
+ //~ValueBase() { assert(value != -999); value = -999; }
+ int value;
+#ifndef TEST_WORKAROUND_C1XX_BROKEN_ZA_CTOR_CHECK
+protected:
+#endif // !TEST_WORKAROUND_C1XX_BROKEN_ZA_CTOR_CHECK
+ constexpr static int check_value(int const& val) {
+#if TEST_STD_VER < 14
+ return val == -1 || val == 999 ? (TEST_THROW(42), 0) : val;
+#else
+ assert(val != -1); assert(val != 999);
+ return val;
+#endif
+ }
+ constexpr static int check_value(int& val, int val_cp = 0) {
+#if TEST_STD_VER < 14
+ return val_cp = val, val = -1, (val_cp == -1 || val_cp == 999 ? (TEST_THROW(42), 0) : val_cp);
+#else
+ assert(val != -1); assert(val != 999);
+ val_cp = val;
+ val = -1;
+ return val_cp;
+#endif
+ }
+ constexpr ValueBase() noexcept : value(0) {}
+ constexpr ValueBase(ValueBase const& o) noexcept : value(check_value(o.value)) {
+ }
+ constexpr ValueBase(ValueBase && o) noexcept : value(check_value(o.value)) {
+ }
+ TEST_CONSTEXPR_CXX14 ValueBase& operator=(ValueBase const& o) noexcept {
+ assert(o.value != -1); assert(o.value != -999);
+ value = o.value;
+ return *this;
+ }
+ TEST_CONSTEXPR_CXX14 ValueBase& operator=(ValueBase&& o) noexcept {
+ assert(o.value != -1); assert(o.value != -999);
+ value = o.value;
+ o.value = -1;
+ return *this;
+ }
+};
+
+
+template <bool Explicit = false>
+struct TrivialValueBase {
+ template <bool Dummy = true, typename std::enable_if<Dummy && Explicit, bool>::type = true>
+ explicit constexpr TrivialValueBase(int x) : value(x) {}
+ template <bool Dummy = true, typename std::enable_if<Dummy && !Explicit, bool>::type = true>
+ constexpr TrivialValueBase(int x) : value(x) {}
+ template <bool Dummy = true, typename std::enable_if<Dummy && Explicit, bool>::type = true>
+ explicit constexpr TrivialValueBase(int, int y) : value(y) {}
+ template <bool Dummy = true, typename std::enable_if<Dummy && !Explicit, bool>::type = true>
+ constexpr TrivialValueBase(int, int y) : value(y) {}
+ template <bool Dummy = true, typename std::enable_if<Dummy && Explicit, bool>::type = true>
+ explicit constexpr TrivialValueBase(std::initializer_list<int>& il, int = 0) : value(static_cast<int>(il.size())) {}
+ template <bool Dummy = true, typename std::enable_if<Dummy && !Explicit, bool>::type = true>
+ constexpr TrivialValueBase(std::initializer_list<int>& il, int = 0) : value(static_cast<int>(il.size())) {}
+ int value;
+#ifndef TEST_WORKAROUND_C1XX_BROKEN_ZA_CTOR_CHECK
+protected:
+#endif // !TEST_WORKAROUND_C1XX_BROKEN_ZA_CTOR_CHECK
+ constexpr TrivialValueBase() noexcept : value(0) {}
+};
+
+}
+
+//============================================================================//
+// Trivial Implicit Test Types
+namespace ImplicitTypes {
+#include "archetypes.ipp"
+}
+
+//============================================================================//
+// Trivial Explicit Test Types
+namespace ExplicitTypes {
+#define DEFINE_EXPLICIT explicit
+#include "archetypes.ipp"
+}
+
+//============================================================================//
+//
+namespace NonConstexprTypes {
+#define DEFINE_CONSTEXPR
+#include "archetypes.ipp"
+}
+
+//============================================================================//
+// Non-literal implicit test types
+namespace NonLiteralTypes {
+#define DEFINE_ASSIGN_CONSTEXPR
+#define DEFINE_DTOR(Name) ~Name() {}
+#include "archetypes.ipp"
+}
+
+//============================================================================//
+// Non-throwing implicit test types
+namespace NonThrowingTypes {
+#define DEFINE_NOEXCEPT noexcept
+#include "archetypes.ipp"
+}
+
+//============================================================================//
+// Non-Trivially Copyable Implicit Test Types
+namespace NonTrivialTypes {
+#define DEFINE_CTOR {}
+#define DEFINE_ASSIGN { return *this; }
+#include "archetypes.ipp"
+}
+
+//============================================================================//
+// Implicit counting types
+namespace TestTypes {
+#define DEFINE_CONSTEXPR
+#define DEFINE_BASE(Name) ::ArchetypeBases::TestBase<Name>
+#include "archetypes.ipp"
+
+using TestType = AllCtors;
+
+// Add equality operators
+template <class Tp>
+constexpr bool operator==(Tp const& L, Tp const& R) noexcept {
+ return L.value == R.value;
+}
+
+template <class Tp>
+constexpr bool operator!=(Tp const& L, Tp const& R) noexcept {
+ return L.value != R.value;
+}
+
+}
+
+//============================================================================//
+// Implicit counting types
+namespace ExplicitTestTypes {
+#define DEFINE_CONSTEXPR
+#define DEFINE_EXPLICIT explicit
+#define DEFINE_BASE(Name) ::ArchetypeBases::TestBase<Name, true>
+#include "archetypes.ipp"
+
+using TestType = AllCtors;
+
+// Add equality operators
+template <class Tp>
+constexpr bool operator==(Tp const& L, Tp const& R) noexcept {
+ return L.value == R.value;
+}
+
+template <class Tp>
+constexpr bool operator!=(Tp const& L, Tp const& R) noexcept {
+ return L.value != R.value;
+}
+
+}
+
+//============================================================================//
+// Implicit value types
+namespace ConstexprTestTypes {
+#define DEFINE_BASE(Name) ::ArchetypeBases::ValueBase<>
+#include "archetypes.ipp"
+
+using TestType = AllCtors;
+
+// Add equality operators
+template <class Tp>
+constexpr bool operator==(Tp const& L, Tp const& R) noexcept {
+ return L.value == R.value;
+}
+
+template <class Tp>
+constexpr bool operator!=(Tp const& L, Tp const& R) noexcept {
+ return L.value != R.value;
+}
+
+} // end namespace ConstexprTestTypes
+
+
+//============================================================================//
+//
+namespace ExplicitConstexprTestTypes {
+#define DEFINE_EXPLICIT explicit
+#define DEFINE_BASE(Name) ::ArchetypeBases::ValueBase<true>
+#include "archetypes.ipp"
+
+using TestType = AllCtors;
+
+// Add equality operators
+template <class Tp>
+constexpr bool operator==(Tp const& L, Tp const& R) noexcept {
+ return L.value == R.value;
+}
+
+template <class Tp>
+constexpr bool operator!=(Tp const& L, Tp const& R) noexcept {
+ return L.value != R.value;
+}
+
+} // end namespace ExplicitConstexprTestTypes
+
+
+//============================================================================//
+//
+namespace TrivialTestTypes {
+#define DEFINE_BASE(Name) ::ArchetypeBases::TrivialValueBase<false>
+#include "archetypes.ipp"
+
+using TestType = AllCtors;
+
+// Add equality operators
+template <class Tp>
+constexpr bool operator==(Tp const& L, Tp const& R) noexcept {
+ return L.value == R.value;
+}
+
+template <class Tp>
+constexpr bool operator!=(Tp const& L, Tp const& R) noexcept {
+ return L.value != R.value;
+}
+
+} // end namespace TrivialTestTypes
+
+//============================================================================//
+//
+namespace ExplicitTrivialTestTypes {
+#define DEFINE_EXPLICIT explicit
+#define DEFINE_BASE(Name) ::ArchetypeBases::TrivialValueBase<true>
+#include "archetypes.ipp"
+
+using TestType = AllCtors;
+
+// Add equality operators
+template <class Tp>
+constexpr bool operator==(Tp const& L, Tp const& R) noexcept {
+ return L.value == R.value;
+}
+
+template <class Tp>
+constexpr bool operator!=(Tp const& L, Tp const& R) noexcept {
+ return L.value != R.value;
+}
+
+} // end namespace ExplicitTrivialTestTypes
+
+#endif // TEST_STD_VER >= 11
+
+#endif // TEST_SUPPORT_ARCHETYPES_H
Removed: libcxx/trunk/test/support/archetypes.hpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/support/archetypes.hpp?rev=369480&view=auto
==============================================================================
--- libcxx/trunk/test/support/archetypes.hpp (original)
+++ libcxx/trunk/test/support/archetypes.hpp (removed)
@@ -1,393 +0,0 @@
-#ifndef TEST_SUPPORT_ARCHETYPES_HPP
-#define TEST_SUPPORT_ARCHETYPES_HPP
-
-#include <type_traits>
-#include <cassert>
-
-#include "test_macros.h"
-#include "test_workarounds.h"
-
-#if TEST_STD_VER >= 11
-
-namespace ArchetypeBases {
-
-template <bool, class T>
-struct DepType : T {};
-
-struct NullBase {
-#ifndef TEST_WORKAROUND_C1XX_BROKEN_ZA_CTOR_CHECK
-protected:
-#endif // !TEST_WORKAROUND_C1XX_BROKEN_ZA_CTOR_CHECK
- NullBase() = default;
- NullBase(NullBase const&) = default;
- NullBase& operator=(NullBase const&) = default;
- NullBase(NullBase &&) = default;
- NullBase& operator=(NullBase &&) = default;
-};
-
-template <class Derived, bool Explicit = false>
-struct TestBase {
- static int alive;
- static int constructed;
- static int value_constructed;
- static int default_constructed;
- static int copy_constructed;
- static int move_constructed;
- static int assigned;
- static int value_assigned;
- static int copy_assigned;
- static int move_assigned;
- static int destroyed;
-
- static void reset() {
- assert(alive == 0);
- alive = 0;
- reset_constructors();
- }
-
- static void reset_constructors() {
- constructed = value_constructed = default_constructed =
- copy_constructed = move_constructed = 0;
- assigned = value_assigned = copy_assigned = move_assigned = destroyed = 0;
- }
-
- TestBase() noexcept : value(0) {
- ++alive; ++constructed; ++default_constructed;
- }
- template <bool Dummy = true, typename std::enable_if<Dummy && Explicit, bool>::type = true>
- explicit TestBase(int x) noexcept : value(x) {
- ++alive; ++constructed; ++value_constructed;
- }
- template <bool Dummy = true, typename std::enable_if<Dummy && !Explicit, bool>::type = true>
- TestBase(int x) noexcept : value(x) {
- ++alive; ++constructed; ++value_constructed;
- }
- template <bool Dummy = true, typename std::enable_if<Dummy && Explicit, bool>::type = true>
- explicit TestBase(int, int y) noexcept : value(y) {
- ++alive; ++constructed; ++value_constructed;
- }
- template <bool Dummy = true, typename std::enable_if<Dummy && !Explicit, bool>::type = true>
- TestBase(int, int y) noexcept : value(y) {
- ++alive; ++constructed; ++value_constructed;
- }
- template <bool Dummy = true, typename std::enable_if<Dummy && Explicit, bool>::type = true>
- explicit TestBase(std::initializer_list<int>& il, int = 0) noexcept
- : value(static_cast<int>(il.size())) {
- ++alive; ++constructed; ++value_constructed;
- }
- template <bool Dummy = true, typename std::enable_if<Dummy && !Explicit, bool>::type = true>
- explicit TestBase(std::initializer_list<int>& il, int = 0) noexcept : value(static_cast<int>(il.size())) {
- ++alive; ++constructed; ++value_constructed;
- }
- TestBase& operator=(int xvalue) noexcept {
- value = xvalue;
- ++assigned; ++value_assigned;
- return *this;
- }
-#ifndef TEST_WORKAROUND_C1XX_BROKEN_ZA_CTOR_CHECK
-protected:
-#endif // !TEST_WORKAROUND_C1XX_BROKEN_ZA_CTOR_CHECK
- ~TestBase() {
- assert(value != -999); assert(alive > 0);
- --alive; ++destroyed; value = -999;
- }
- explicit TestBase(TestBase const& o) noexcept : value(o.value) {
- assert(o.value != -1); assert(o.value != -999);
- ++alive; ++constructed; ++copy_constructed;
- }
- explicit TestBase(TestBase && o) noexcept : value(o.value) {
- assert(o.value != -1); assert(o.value != -999);
- ++alive; ++constructed; ++move_constructed;
- o.value = -1;
- }
- TestBase& operator=(TestBase const& o) noexcept {
- assert(o.value != -1); assert(o.value != -999);
- ++assigned; ++copy_assigned;
- value = o.value;
- return *this;
- }
- TestBase& operator=(TestBase&& o) noexcept {
- assert(o.value != -1); assert(o.value != -999);
- ++assigned; ++move_assigned;
- value = o.value;
- o.value = -1;
- return *this;
- }
-public:
- int value;
-};
-
-template <class D, bool E> int TestBase<D, E>::alive = 0;
-template <class D, bool E> int TestBase<D, E>::constructed = 0;
-template <class D, bool E> int TestBase<D, E>::value_constructed = 0;
-template <class D, bool E> int TestBase<D, E>::default_constructed = 0;
-template <class D, bool E> int TestBase<D, E>::copy_constructed = 0;
-template <class D, bool E> int TestBase<D, E>::move_constructed = 0;
-template <class D, bool E> int TestBase<D, E>::assigned = 0;
-template <class D, bool E> int TestBase<D, E>::value_assigned = 0;
-template <class D, bool E> int TestBase<D, E>::copy_assigned = 0;
-template <class D, bool E> int TestBase<D, E>::move_assigned = 0;
-template <class D, bool E> int TestBase<D, E>::destroyed = 0;
-
-template <bool Explicit = false>
-struct ValueBase {
- template <bool Dummy = true, typename std::enable_if<Dummy && Explicit, bool>::type = true>
- explicit constexpr ValueBase(int x) : value(x) {}
- template <bool Dummy = true, typename std::enable_if<Dummy && !Explicit, bool>::type = true>
- constexpr ValueBase(int x) : value(x) {}
- template <bool Dummy = true, typename std::enable_if<Dummy && Explicit, bool>::type = true>
- explicit constexpr ValueBase(int, int y) : value(y) {}
- template <bool Dummy = true, typename std::enable_if<Dummy && !Explicit, bool>::type = true>
- constexpr ValueBase(int, int y) : value(y) {}
- template <bool Dummy = true, typename std::enable_if<Dummy && Explicit, bool>::type = true>
- explicit constexpr ValueBase(std::initializer_list<int>& il, int = 0) : value(static_cast<int>(il.size())) {}
- template <bool Dummy = true, typename std::enable_if<Dummy && !Explicit, bool>::type = true>
- constexpr ValueBase(std::initializer_list<int>& il, int = 0) : value(static_cast<int>(il.size())) {}
- TEST_CONSTEXPR_CXX14 ValueBase& operator=(int xvalue) noexcept {
- value = xvalue;
- return *this;
- }
- //~ValueBase() { assert(value != -999); value = -999; }
- int value;
-#ifndef TEST_WORKAROUND_C1XX_BROKEN_ZA_CTOR_CHECK
-protected:
-#endif // !TEST_WORKAROUND_C1XX_BROKEN_ZA_CTOR_CHECK
- constexpr static int check_value(int const& val) {
-#if TEST_STD_VER < 14
- return val == -1 || val == 999 ? (TEST_THROW(42), 0) : val;
-#else
- assert(val != -1); assert(val != 999);
- return val;
-#endif
- }
- constexpr static int check_value(int& val, int val_cp = 0) {
-#if TEST_STD_VER < 14
- return val_cp = val, val = -1, (val_cp == -1 || val_cp == 999 ? (TEST_THROW(42), 0) : val_cp);
-#else
- assert(val != -1); assert(val != 999);
- val_cp = val;
- val = -1;
- return val_cp;
-#endif
- }
- constexpr ValueBase() noexcept : value(0) {}
- constexpr ValueBase(ValueBase const& o) noexcept : value(check_value(o.value)) {
- }
- constexpr ValueBase(ValueBase && o) noexcept : value(check_value(o.value)) {
- }
- TEST_CONSTEXPR_CXX14 ValueBase& operator=(ValueBase const& o) noexcept {
- assert(o.value != -1); assert(o.value != -999);
- value = o.value;
- return *this;
- }
- TEST_CONSTEXPR_CXX14 ValueBase& operator=(ValueBase&& o) noexcept {
- assert(o.value != -1); assert(o.value != -999);
- value = o.value;
- o.value = -1;
- return *this;
- }
-};
-
-
-template <bool Explicit = false>
-struct TrivialValueBase {
- template <bool Dummy = true, typename std::enable_if<Dummy && Explicit, bool>::type = true>
- explicit constexpr TrivialValueBase(int x) : value(x) {}
- template <bool Dummy = true, typename std::enable_if<Dummy && !Explicit, bool>::type = true>
- constexpr TrivialValueBase(int x) : value(x) {}
- template <bool Dummy = true, typename std::enable_if<Dummy && Explicit, bool>::type = true>
- explicit constexpr TrivialValueBase(int, int y) : value(y) {}
- template <bool Dummy = true, typename std::enable_if<Dummy && !Explicit, bool>::type = true>
- constexpr TrivialValueBase(int, int y) : value(y) {}
- template <bool Dummy = true, typename std::enable_if<Dummy && Explicit, bool>::type = true>
- explicit constexpr TrivialValueBase(std::initializer_list<int>& il, int = 0) : value(static_cast<int>(il.size())) {}
- template <bool Dummy = true, typename std::enable_if<Dummy && !Explicit, bool>::type = true>
- constexpr TrivialValueBase(std::initializer_list<int>& il, int = 0) : value(static_cast<int>(il.size())) {}
- int value;
-#ifndef TEST_WORKAROUND_C1XX_BROKEN_ZA_CTOR_CHECK
-protected:
-#endif // !TEST_WORKAROUND_C1XX_BROKEN_ZA_CTOR_CHECK
- constexpr TrivialValueBase() noexcept : value(0) {}
-};
-
-}
-
-//============================================================================//
-// Trivial Implicit Test Types
-namespace ImplicitTypes {
-#include "archetypes.ipp"
-}
-
-//============================================================================//
-// Trivial Explicit Test Types
-namespace ExplicitTypes {
-#define DEFINE_EXPLICIT explicit
-#include "archetypes.ipp"
-}
-
-//============================================================================//
-//
-namespace NonConstexprTypes {
-#define DEFINE_CONSTEXPR
-#include "archetypes.ipp"
-}
-
-//============================================================================//
-// Non-literal implicit test types
-namespace NonLiteralTypes {
-#define DEFINE_ASSIGN_CONSTEXPR
-#define DEFINE_DTOR(Name) ~Name() {}
-#include "archetypes.ipp"
-}
-
-//============================================================================//
-// Non-throwing implicit test types
-namespace NonThrowingTypes {
-#define DEFINE_NOEXCEPT noexcept
-#include "archetypes.ipp"
-}
-
-//============================================================================//
-// Non-Trivially Copyable Implicit Test Types
-namespace NonTrivialTypes {
-#define DEFINE_CTOR {}
-#define DEFINE_ASSIGN { return *this; }
-#include "archetypes.ipp"
-}
-
-//============================================================================//
-// Implicit counting types
-namespace TestTypes {
-#define DEFINE_CONSTEXPR
-#define DEFINE_BASE(Name) ::ArchetypeBases::TestBase<Name>
-#include "archetypes.ipp"
-
-using TestType = AllCtors;
-
-// Add equality operators
-template <class Tp>
-constexpr bool operator==(Tp const& L, Tp const& R) noexcept {
- return L.value == R.value;
-}
-
-template <class Tp>
-constexpr bool operator!=(Tp const& L, Tp const& R) noexcept {
- return L.value != R.value;
-}
-
-}
-
-//============================================================================//
-// Implicit counting types
-namespace ExplicitTestTypes {
-#define DEFINE_CONSTEXPR
-#define DEFINE_EXPLICIT explicit
-#define DEFINE_BASE(Name) ::ArchetypeBases::TestBase<Name, true>
-#include "archetypes.ipp"
-
-using TestType = AllCtors;
-
-// Add equality operators
-template <class Tp>
-constexpr bool operator==(Tp const& L, Tp const& R) noexcept {
- return L.value == R.value;
-}
-
-template <class Tp>
-constexpr bool operator!=(Tp const& L, Tp const& R) noexcept {
- return L.value != R.value;
-}
-
-}
-
-//============================================================================//
-// Implicit value types
-namespace ConstexprTestTypes {
-#define DEFINE_BASE(Name) ::ArchetypeBases::ValueBase<>
-#include "archetypes.ipp"
-
-using TestType = AllCtors;
-
-// Add equality operators
-template <class Tp>
-constexpr bool operator==(Tp const& L, Tp const& R) noexcept {
- return L.value == R.value;
-}
-
-template <class Tp>
-constexpr bool operator!=(Tp const& L, Tp const& R) noexcept {
- return L.value != R.value;
-}
-
-} // end namespace ConstexprTestTypes
-
-
-//============================================================================//
-//
-namespace ExplicitConstexprTestTypes {
-#define DEFINE_EXPLICIT explicit
-#define DEFINE_BASE(Name) ::ArchetypeBases::ValueBase<true>
-#include "archetypes.ipp"
-
-using TestType = AllCtors;
-
-// Add equality operators
-template <class Tp>
-constexpr bool operator==(Tp const& L, Tp const& R) noexcept {
- return L.value == R.value;
-}
-
-template <class Tp>
-constexpr bool operator!=(Tp const& L, Tp const& R) noexcept {
- return L.value != R.value;
-}
-
-} // end namespace ExplicitConstexprTestTypes
-
-
-//============================================================================//
-//
-namespace TrivialTestTypes {
-#define DEFINE_BASE(Name) ::ArchetypeBases::TrivialValueBase<false>
-#include "archetypes.ipp"
-
-using TestType = AllCtors;
-
-// Add equality operators
-template <class Tp>
-constexpr bool operator==(Tp const& L, Tp const& R) noexcept {
- return L.value == R.value;
-}
-
-template <class Tp>
-constexpr bool operator!=(Tp const& L, Tp const& R) noexcept {
- return L.value != R.value;
-}
-
-} // end namespace TrivialTestTypes
-
-//============================================================================//
-//
-namespace ExplicitTrivialTestTypes {
-#define DEFINE_EXPLICIT explicit
-#define DEFINE_BASE(Name) ::ArchetypeBases::TrivialValueBase<true>
-#include "archetypes.ipp"
-
-using TestType = AllCtors;
-
-// Add equality operators
-template <class Tp>
-constexpr bool operator==(Tp const& L, Tp const& R) noexcept {
- return L.value == R.value;
-}
-
-template <class Tp>
-constexpr bool operator!=(Tp const& L, Tp const& R) noexcept {
- return L.value != R.value;
-}
-
-} // end namespace ExplicitTrivialTestTypes
-
-#endif // TEST_STD_VER >= 11
-
-#endif // TEST_SUPPORT_ARCHETYPES_HPP
Added: libcxx/trunk/test/support/constexpr_char_traits.h
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/support/constexpr_char_traits.h?rev=369481&view=auto
==============================================================================
--- libcxx/trunk/test/support/constexpr_char_traits.h (added)
+++ libcxx/trunk/test/support/constexpr_char_traits.h Tue Aug 20 17:14:12 2019
@@ -0,0 +1,138 @@
+// -*- C++ -*-
+//===-------------------- constexpr_char_traits ---------------------------===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef _CONSTEXPR_CHAR_TRAITS
+#define _CONSTEXPR_CHAR_TRAITS
+
+#include <string>
+#include <cassert>
+
+#include "test_macros.h"
+
+template <class _CharT>
+struct constexpr_char_traits
+{
+ typedef _CharT char_type;
+ typedef int int_type;
+ typedef std::streamoff off_type;
+ typedef std::streampos pos_type;
+ typedef std::mbstate_t state_type;
+
+ static TEST_CONSTEXPR_CXX14 void assign(char_type& __c1, const char_type& __c2) TEST_NOEXCEPT
+ {__c1 = __c2;}
+
+ static TEST_CONSTEXPR bool eq(char_type __c1, char_type __c2) TEST_NOEXCEPT
+ {return __c1 == __c2;}
+
+ static TEST_CONSTEXPR bool lt(char_type __c1, char_type __c2) TEST_NOEXCEPT
+ {return __c1 < __c2;}
+
+ static TEST_CONSTEXPR_CXX14 int compare(const char_type* __s1, const char_type* __s2, size_t __n);
+ static TEST_CONSTEXPR_CXX14 size_t length(const char_type* __s);
+ static TEST_CONSTEXPR_CXX14 const char_type* find(const char_type* __s, size_t __n, const char_type& __a);
+ static TEST_CONSTEXPR_CXX14 char_type* move(char_type* __s1, const char_type* __s2, size_t __n);
+ static TEST_CONSTEXPR_CXX14 char_type* copy(char_type* __s1, const char_type* __s2, size_t __n);
+ static TEST_CONSTEXPR_CXX14 char_type* assign(char_type* __s, size_t __n, char_type __a);
+
+ static TEST_CONSTEXPR int_type not_eof(int_type __c) TEST_NOEXCEPT
+ {return eq_int_type(__c, eof()) ? ~eof() : __c;}
+
+ static TEST_CONSTEXPR char_type to_char_type(int_type __c) TEST_NOEXCEPT
+ {return char_type(__c);}
+
+ static TEST_CONSTEXPR int_type to_int_type(char_type __c) TEST_NOEXCEPT
+ {return int_type(__c);}
+
+ static TEST_CONSTEXPR bool eq_int_type(int_type __c1, int_type __c2) TEST_NOEXCEPT
+ {return __c1 == __c2;}
+
+ static TEST_CONSTEXPR int_type eof() TEST_NOEXCEPT
+ {return int_type(EOF);}
+};
+
+
+template <class _CharT>
+TEST_CONSTEXPR_CXX14 int
+constexpr_char_traits<_CharT>::compare(const char_type* __s1, const char_type* __s2, size_t __n)
+{
+ for (; __n; --__n, ++__s1, ++__s2)
+ {
+ if (lt(*__s1, *__s2))
+ return -1;
+ if (lt(*__s2, *__s1))
+ return 1;
+ }
+ return 0;
+}
+
+template <class _CharT>
+TEST_CONSTEXPR_CXX14 size_t
+constexpr_char_traits<_CharT>::length(const char_type* __s)
+{
+ size_t __len = 0;
+ for (; !eq(*__s, char_type(0)); ++__s)
+ ++__len;
+ return __len;
+}
+
+template <class _CharT>
+TEST_CONSTEXPR_CXX14 const _CharT*
+constexpr_char_traits<_CharT>::find(const char_type* __s, size_t __n, const char_type& __a)
+{
+ for (; __n; --__n)
+ {
+ if (eq(*__s, __a))
+ return __s;
+ ++__s;
+ }
+ return 0;
+}
+
+template <class _CharT>
+TEST_CONSTEXPR_CXX14 _CharT*
+constexpr_char_traits<_CharT>::move(char_type* __s1, const char_type* __s2, size_t __n)
+{
+ char_type* __r = __s1;
+ if (__s1 < __s2)
+ {
+ for (; __n; --__n, ++__s1, ++__s2)
+ assign(*__s1, *__s2);
+ }
+ else if (__s2 < __s1)
+ {
+ __s1 += __n;
+ __s2 += __n;
+ for (; __n; --__n)
+ assign(*--__s1, *--__s2);
+ }
+ return __r;
+}
+
+template <class _CharT>
+TEST_CONSTEXPR_CXX14 _CharT*
+constexpr_char_traits<_CharT>::copy(char_type* __s1, const char_type* __s2, size_t __n)
+{
+ assert(__s2 < __s1 || __s2 >= __s1+__n);
+ char_type* __r = __s1;
+ for (; __n; --__n, ++__s1, ++__s2)
+ assign(*__s1, *__s2);
+ return __r;
+}
+
+template <class _CharT>
+TEST_CONSTEXPR_CXX14 _CharT*
+constexpr_char_traits<_CharT>::assign(char_type* __s, size_t __n, char_type __a)
+{
+ char_type* __r = __s;
+ for (; __n; --__n, ++__s)
+ assign(*__s, __a);
+ return __r;
+}
+
+#endif // _CONSTEXPR_CHAR_TRAITS
Removed: libcxx/trunk/test/support/constexpr_char_traits.hpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/support/constexpr_char_traits.hpp?rev=369480&view=auto
==============================================================================
--- libcxx/trunk/test/support/constexpr_char_traits.hpp (original)
+++ libcxx/trunk/test/support/constexpr_char_traits.hpp (removed)
@@ -1,138 +0,0 @@
-// -*- C++ -*-
-//===-------------------- constexpr_char_traits ---------------------------===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _CONSTEXPR_CHAR_TRAITS
-#define _CONSTEXPR_CHAR_TRAITS
-
-#include <string>
-#include <cassert>
-
-#include "test_macros.h"
-
-template <class _CharT>
-struct constexpr_char_traits
-{
- typedef _CharT char_type;
- typedef int int_type;
- typedef std::streamoff off_type;
- typedef std::streampos pos_type;
- typedef std::mbstate_t state_type;
-
- static TEST_CONSTEXPR_CXX14 void assign(char_type& __c1, const char_type& __c2) TEST_NOEXCEPT
- {__c1 = __c2;}
-
- static TEST_CONSTEXPR bool eq(char_type __c1, char_type __c2) TEST_NOEXCEPT
- {return __c1 == __c2;}
-
- static TEST_CONSTEXPR bool lt(char_type __c1, char_type __c2) TEST_NOEXCEPT
- {return __c1 < __c2;}
-
- static TEST_CONSTEXPR_CXX14 int compare(const char_type* __s1, const char_type* __s2, size_t __n);
- static TEST_CONSTEXPR_CXX14 size_t length(const char_type* __s);
- static TEST_CONSTEXPR_CXX14 const char_type* find(const char_type* __s, size_t __n, const char_type& __a);
- static TEST_CONSTEXPR_CXX14 char_type* move(char_type* __s1, const char_type* __s2, size_t __n);
- static TEST_CONSTEXPR_CXX14 char_type* copy(char_type* __s1, const char_type* __s2, size_t __n);
- static TEST_CONSTEXPR_CXX14 char_type* assign(char_type* __s, size_t __n, char_type __a);
-
- static TEST_CONSTEXPR int_type not_eof(int_type __c) TEST_NOEXCEPT
- {return eq_int_type(__c, eof()) ? ~eof() : __c;}
-
- static TEST_CONSTEXPR char_type to_char_type(int_type __c) TEST_NOEXCEPT
- {return char_type(__c);}
-
- static TEST_CONSTEXPR int_type to_int_type(char_type __c) TEST_NOEXCEPT
- {return int_type(__c);}
-
- static TEST_CONSTEXPR bool eq_int_type(int_type __c1, int_type __c2) TEST_NOEXCEPT
- {return __c1 == __c2;}
-
- static TEST_CONSTEXPR int_type eof() TEST_NOEXCEPT
- {return int_type(EOF);}
-};
-
-
-template <class _CharT>
-TEST_CONSTEXPR_CXX14 int
-constexpr_char_traits<_CharT>::compare(const char_type* __s1, const char_type* __s2, size_t __n)
-{
- for (; __n; --__n, ++__s1, ++__s2)
- {
- if (lt(*__s1, *__s2))
- return -1;
- if (lt(*__s2, *__s1))
- return 1;
- }
- return 0;
-}
-
-template <class _CharT>
-TEST_CONSTEXPR_CXX14 size_t
-constexpr_char_traits<_CharT>::length(const char_type* __s)
-{
- size_t __len = 0;
- for (; !eq(*__s, char_type(0)); ++__s)
- ++__len;
- return __len;
-}
-
-template <class _CharT>
-TEST_CONSTEXPR_CXX14 const _CharT*
-constexpr_char_traits<_CharT>::find(const char_type* __s, size_t __n, const char_type& __a)
-{
- for (; __n; --__n)
- {
- if (eq(*__s, __a))
- return __s;
- ++__s;
- }
- return 0;
-}
-
-template <class _CharT>
-TEST_CONSTEXPR_CXX14 _CharT*
-constexpr_char_traits<_CharT>::move(char_type* __s1, const char_type* __s2, size_t __n)
-{
- char_type* __r = __s1;
- if (__s1 < __s2)
- {
- for (; __n; --__n, ++__s1, ++__s2)
- assign(*__s1, *__s2);
- }
- else if (__s2 < __s1)
- {
- __s1 += __n;
- __s2 += __n;
- for (; __n; --__n)
- assign(*--__s1, *--__s2);
- }
- return __r;
-}
-
-template <class _CharT>
-TEST_CONSTEXPR_CXX14 _CharT*
-constexpr_char_traits<_CharT>::copy(char_type* __s1, const char_type* __s2, size_t __n)
-{
- assert(__s2 < __s1 || __s2 >= __s1+__n);
- char_type* __r = __s1;
- for (; __n; --__n, ++__s1, ++__s2)
- assign(*__s1, *__s2);
- return __r;
-}
-
-template <class _CharT>
-TEST_CONSTEXPR_CXX14 _CharT*
-constexpr_char_traits<_CharT>::assign(char_type* __s, size_t __n, char_type __a)
-{
- char_type* __r = __s;
- for (; __n; --__n, ++__s)
- assign(*__s, __a);
- return __r;
-}
-
-#endif // _CONSTEXPR_CHAR_TRAITS
Added: libcxx/trunk/test/support/container_debug_tests.h
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/support/container_debug_tests.h?rev=369481&view=auto
==============================================================================
--- libcxx/trunk/test/support/container_debug_tests.h (added)
+++ libcxx/trunk/test/support/container_debug_tests.h Tue Aug 20 17:14:12 2019
@@ -0,0 +1,359 @@
+//===----------------------------------------------------------------------===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef TEST_SUPPORT_CONTAINER_DEBUG_TESTS_H
+#define TEST_SUPPORT_CONTAINER_DEBUG_TESTS_H
+
+#include <ciso646>
+#ifndef _LIBCPP_VERSION
+#error This header may only be used for libc++ tests"
+#endif
+
+#ifndef _LIBCPP_DEBUG
+#error _LIBCPP_DEBUG must be defined before including this header
+#endif
+
+#include <__debug>
+#include <utility>
+#include <cstddef>
+#include <cstdlib>
+#include <cassert>
+#include <string>
+#include <sstream>
+#include <iostream>
+
+#include "test_macros.h"
+#include "debug_mode_helper.h"
+#include "assert_checkpoint.h"
+#include "test_allocator.h"
+
+// These test make use of 'if constexpr'.
+#if TEST_STD_VER <= 14
+#error This header may only be used in C++17 and greater
+#endif
+
+#ifndef __cpp_if_constexpr
+#error These tests require if constexpr
+#endif
+
+
+namespace IteratorDebugChecks {
+
+enum ContainerType {
+ CT_None,
+ CT_String,
+ CT_Vector,
+ CT_VectorBool,
+ CT_List,
+ CT_Deque,
+ CT_ForwardList,
+ CT_Map,
+ CT_Set,
+ CT_MultiMap,
+ CT_MultiSet,
+ CT_UnorderedMap,
+ CT_UnorderedSet,
+ CT_UnorderedMultiMap,
+ CT_UnorderedMultiSet
+};
+
+constexpr bool isSequential(ContainerType CT) {
+ return CT_Vector >= CT && CT_ForwardList <= CT;
+}
+
+constexpr bool isAssociative(ContainerType CT) {
+ return CT_Map >= CT && CT_MultiSet <= CT;
+}
+
+constexpr bool isUnordered(ContainerType CT) {
+ return CT_UnorderedMap >= CT && CT_UnorderedMultiSet <= CT;
+}
+
+constexpr bool isSet(ContainerType CT) {
+ return CT == CT_Set
+ || CT == CT_MultiSet
+ || CT == CT_UnorderedSet
+ || CT == CT_UnorderedMultiSet;
+}
+
+constexpr bool isMap(ContainerType CT) {
+ return CT == CT_Map
+ || CT == CT_MultiMap
+ || CT == CT_UnorderedMap
+ || CT == CT_UnorderedMultiMap;
+}
+
+constexpr bool isMulti(ContainerType CT) {
+ return CT == CT_MultiMap
+ || CT == CT_MultiSet
+ || CT == CT_UnorderedMultiMap
+ || CT == CT_UnorderedMultiSet;
+}
+
+template <class Container, class ValueType = typename Container::value_type>
+struct ContainerDebugHelper {
+ static_assert(std::is_constructible<ValueType, int>::value,
+ "must be constructible from int");
+
+ static ValueType makeValueType(int val = 0, int = 0) {
+ return ValueType(val);
+ }
+};
+
+template <class Container>
+struct ContainerDebugHelper<Container, char> {
+ static char makeValueType(int = 0, int = 0) {
+ return 'A';
+ }
+};
+
+template <class Container, class Key, class Value>
+struct ContainerDebugHelper<Container, std::pair<const Key, Value> > {
+ using ValueType = std::pair<const Key, Value>;
+ static_assert(std::is_constructible<Key, int>::value,
+ "must be constructible from int");
+ static_assert(std::is_constructible<Value, int>::value,
+ "must be constructible from int");
+
+ static ValueType makeValueType(int key = 0, int val = 0) {
+ return ValueType(key, val);
+ }
+};
+
+template <class Container, ContainerType CT,
+ class Helper = ContainerDebugHelper<Container> >
+struct BasicContainerChecks {
+ using value_type = typename Container::value_type;
+ using iterator = typename Container::iterator;
+ using const_iterator = typename Container::const_iterator;
+ using allocator_type = typename Container::allocator_type;
+ using traits = std::iterator_traits<iterator>;
+ using category = typename traits::iterator_category;
+
+ static_assert(std::is_same<test_allocator<value_type>, allocator_type>::value,
+ "the container must use a test allocator");
+
+ static constexpr bool IsBiDir =
+ std::is_convertible<category, std::bidirectional_iterator_tag>::value;
+
+ public:
+ static void run() {
+ run_iterator_tests();
+ run_container_tests();
+ run_allocator_aware_tests();
+ }
+
+ static void run_iterator_tests() {
+ TestNullIterators<iterator>();
+ TestNullIterators<const_iterator>();
+ if constexpr (IsBiDir) { DecrementBegin(); }
+ IncrementEnd();
+ DerefEndIterator();
+ }
+
+ static void run_container_tests() {
+ CopyInvalidatesIterators();
+ MoveInvalidatesIterators();
+ if constexpr (CT != CT_ForwardList) {
+ EraseIter();
+ EraseIterIter();
+ }
+ }
+
+ static void run_allocator_aware_tests() {
+ SwapNonEqualAllocators();
+ if constexpr (CT != CT_ForwardList ) {
+ // FIXME: This should work for both forward_list and string
+ SwapInvalidatesIterators();
+ }
+ }
+
+ static Container makeContainer(int size, allocator_type A = allocator_type()) {
+ Container C(A);
+ if constexpr (CT == CT_ForwardList) {
+ for (int i = 0; i < size; ++i)
+ C.insert_after(C.before_begin(), Helper::makeValueType(i));
+ } else {
+ for (int i = 0; i < size; ++i)
+ C.insert(C.end(), Helper::makeValueType(i));
+ assert(C.size() == static_cast<std::size_t>(size));
+ }
+ return C;
+ }
+
+ static value_type makeValueType(int value) {
+ return Helper::makeValueType(value);
+ }
+
+ private:
+ // Iterator tests
+ template <class Iter>
+ static void TestNullIterators() {
+ CHECKPOINT("testing null iterator");
+ Iter it;
+ EXPECT_DEATH( ++it );
+ EXPECT_DEATH( it++ );
+ EXPECT_DEATH( *it );
+ if constexpr (CT != CT_VectorBool) {
+ EXPECT_DEATH( it.operator->() );
+ }
+ if constexpr (IsBiDir) {
+ EXPECT_DEATH( --it );
+ EXPECT_DEATH( it-- );
+ }
+ }
+
+ static void DecrementBegin() {
+ CHECKPOINT("testing decrement on begin");
+ Container C = makeContainer(1);
+ iterator i = C.end();
+ const_iterator ci = C.cend();
+ --i;
+ --ci;
+ assert(i == C.begin());
+ EXPECT_DEATH( --i );
+ EXPECT_DEATH( i-- );
+ EXPECT_DEATH( --ci );
+ EXPECT_DEATH( ci-- );
+ }
+
+ static void IncrementEnd() {
+ CHECKPOINT("testing increment on end");
+ Container C = makeContainer(1);
+ iterator i = C.begin();
+ const_iterator ci = C.begin();
+ ++i;
+ ++ci;
+ assert(i == C.end());
+ EXPECT_DEATH( ++i );
+ EXPECT_DEATH( i++ );
+ EXPECT_DEATH( ++ci );
+ EXPECT_DEATH( ci++ );
+ }
+
+ static void DerefEndIterator() {
+ CHECKPOINT("testing deref end iterator");
+ Container C = makeContainer(1);
+ iterator i = C.begin();
+ const_iterator ci = C.cbegin();
+ (void)*i; (void)*ci;
+ if constexpr (CT != CT_VectorBool) {
+ i.operator->();
+ ci.operator->();
+ }
+ ++i; ++ci;
+ assert(i == C.end());
+ EXPECT_DEATH( *i );
+ EXPECT_DEATH( *ci );
+ if constexpr (CT != CT_VectorBool) {
+ EXPECT_DEATH( i.operator->() );
+ EXPECT_DEATH( ci.operator->() );
+ }
+ }
+
+ // Container tests
+ static void CopyInvalidatesIterators() {
+ CHECKPOINT("copy invalidates iterators");
+ Container C1 = makeContainer(3);
+ iterator i = C1.begin();
+ Container C2 = C1;
+ if constexpr (CT == CT_ForwardList) {
+ iterator i_next = i;
+ ++i_next;
+ (void)*i_next;
+ EXPECT_DEATH( C2.erase_after(i) );
+ C1.erase_after(i);
+ EXPECT_DEATH( *i_next );
+ } else {
+ EXPECT_DEATH( C2.erase(i) );
+ (void)*i;
+ C1.erase(i);
+ EXPECT_DEATH( *i );
+ }
+ }
+
+ static void MoveInvalidatesIterators() {
+ CHECKPOINT("copy move invalidates iterators");
+ Container C1 = makeContainer(3);
+ iterator i = C1.begin();
+ Container C2 = std::move(C1);
+ (void) *i;
+ if constexpr (CT == CT_ForwardList) {
+ EXPECT_DEATH( C1.erase_after(i) );
+ C2.erase_after(i);
+ } else {
+ EXPECT_DEATH( C1.erase(i) );
+ C2.erase(i);
+ EXPECT_DEATH(*i);
+ }
+ }
+
+ static void EraseIter() {
+ CHECKPOINT("testing erase invalidation");
+ Container C1 = makeContainer(2);
+ iterator it1 = C1.begin();
+ iterator it1_next = it1;
+ ++it1_next;
+ Container C2 = C1;
+ EXPECT_DEATH( C2.erase(it1) ); // wrong container
+ EXPECT_DEATH( C2.erase(C2.end()) ); // erase with end
+ C1.erase(it1_next);
+ EXPECT_DEATH( C1.erase(it1_next) ); // invalidated iterator
+ C1.erase(it1);
+ EXPECT_DEATH( C1.erase(it1) ); // invalidated iterator
+ }
+
+ static void EraseIterIter() {
+ CHECKPOINT("testing erase iter iter invalidation");
+ Container C1 = makeContainer(2);
+ iterator it1 = C1.begin();
+ iterator it1_next = it1;
+ ++it1_next;
+ Container C2 = C1;
+ iterator it2 = C2.begin();
+ iterator it2_next = it2;
+ ++it2_next;
+ EXPECT_DEATH( C2.erase(it1, it1_next) ); // begin from wrong container
+ EXPECT_DEATH( C2.erase(it1, it2_next) ); // end from wrong container
+ EXPECT_DEATH( C2.erase(it2, it1_next) ); // both from wrong container
+ C2.erase(it2, it2_next);
+ }
+
+ // Allocator aware tests
+ static void SwapInvalidatesIterators() {
+ CHECKPOINT("testing swap invalidates iterators");
+ Container C1 = makeContainer(3);
+ Container C2 = makeContainer(3);
+ iterator it1 = C1.begin();
+ iterator it2 = C2.begin();
+ swap(C1, C2);
+ EXPECT_DEATH( C1.erase(it1) );
+ if (CT == CT_String) {
+ EXPECT_DEATH(C1.erase(it2));
+ } else
+ C1.erase(it2);
+ //C2.erase(it1);
+ EXPECT_DEATH( C1.erase(it1) );
+ }
+
+ static void SwapNonEqualAllocators() {
+ CHECKPOINT("testing swap with non-equal allocators");
+ Container C1 = makeContainer(3, allocator_type(1));
+ Container C2 = makeContainer(1, allocator_type(2));
+ Container C3 = makeContainer(2, allocator_type(2));
+ swap(C2, C3);
+ EXPECT_DEATH( swap(C1, C2) );
+ }
+
+ private:
+ BasicContainerChecks() = delete;
+};
+
+} // namespace IteratorDebugChecks
+
+#endif // TEST_SUPPORT_CONTAINER_DEBUG_TESTS_H
Removed: libcxx/trunk/test/support/container_debug_tests.hpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/support/container_debug_tests.hpp?rev=369480&view=auto
==============================================================================
--- libcxx/trunk/test/support/container_debug_tests.hpp (original)
+++ libcxx/trunk/test/support/container_debug_tests.hpp (removed)
@@ -1,359 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef TEST_SUPPORT_CONTAINER_DEBUG_TESTS_H
-#define TEST_SUPPORT_CONTAINER_DEBUG_TESTS_H
-
-#include <ciso646>
-#ifndef _LIBCPP_VERSION
-#error This header may only be used for libc++ tests"
-#endif
-
-#ifndef _LIBCPP_DEBUG
-#error _LIBCPP_DEBUG must be defined before including this header
-#endif
-
-#include <__debug>
-#include <utility>
-#include <cstddef>
-#include <cstdlib>
-#include <cassert>
-#include <string>
-#include <sstream>
-#include <iostream>
-
-#include "test_macros.h"
-#include "debug_mode_helper.h"
-#include "assert_checkpoint.h"
-#include "test_allocator.h"
-
-// These test make use of 'if constexpr'.
-#if TEST_STD_VER <= 14
-#error This header may only be used in C++17 and greater
-#endif
-
-#ifndef __cpp_if_constexpr
-#error These tests require if constexpr
-#endif
-
-
-namespace IteratorDebugChecks {
-
-enum ContainerType {
- CT_None,
- CT_String,
- CT_Vector,
- CT_VectorBool,
- CT_List,
- CT_Deque,
- CT_ForwardList,
- CT_Map,
- CT_Set,
- CT_MultiMap,
- CT_MultiSet,
- CT_UnorderedMap,
- CT_UnorderedSet,
- CT_UnorderedMultiMap,
- CT_UnorderedMultiSet
-};
-
-constexpr bool isSequential(ContainerType CT) {
- return CT_Vector >= CT && CT_ForwardList <= CT;
-}
-
-constexpr bool isAssociative(ContainerType CT) {
- return CT_Map >= CT && CT_MultiSet <= CT;
-}
-
-constexpr bool isUnordered(ContainerType CT) {
- return CT_UnorderedMap >= CT && CT_UnorderedMultiSet <= CT;
-}
-
-constexpr bool isSet(ContainerType CT) {
- return CT == CT_Set
- || CT == CT_MultiSet
- || CT == CT_UnorderedSet
- || CT == CT_UnorderedMultiSet;
-}
-
-constexpr bool isMap(ContainerType CT) {
- return CT == CT_Map
- || CT == CT_MultiMap
- || CT == CT_UnorderedMap
- || CT == CT_UnorderedMultiMap;
-}
-
-constexpr bool isMulti(ContainerType CT) {
- return CT == CT_MultiMap
- || CT == CT_MultiSet
- || CT == CT_UnorderedMultiMap
- || CT == CT_UnorderedMultiSet;
-}
-
-template <class Container, class ValueType = typename Container::value_type>
-struct ContainerDebugHelper {
- static_assert(std::is_constructible<ValueType, int>::value,
- "must be constructible from int");
-
- static ValueType makeValueType(int val = 0, int = 0) {
- return ValueType(val);
- }
-};
-
-template <class Container>
-struct ContainerDebugHelper<Container, char> {
- static char makeValueType(int = 0, int = 0) {
- return 'A';
- }
-};
-
-template <class Container, class Key, class Value>
-struct ContainerDebugHelper<Container, std::pair<const Key, Value> > {
- using ValueType = std::pair<const Key, Value>;
- static_assert(std::is_constructible<Key, int>::value,
- "must be constructible from int");
- static_assert(std::is_constructible<Value, int>::value,
- "must be constructible from int");
-
- static ValueType makeValueType(int key = 0, int val = 0) {
- return ValueType(key, val);
- }
-};
-
-template <class Container, ContainerType CT,
- class Helper = ContainerDebugHelper<Container> >
-struct BasicContainerChecks {
- using value_type = typename Container::value_type;
- using iterator = typename Container::iterator;
- using const_iterator = typename Container::const_iterator;
- using allocator_type = typename Container::allocator_type;
- using traits = std::iterator_traits<iterator>;
- using category = typename traits::iterator_category;
-
- static_assert(std::is_same<test_allocator<value_type>, allocator_type>::value,
- "the container must use a test allocator");
-
- static constexpr bool IsBiDir =
- std::is_convertible<category, std::bidirectional_iterator_tag>::value;
-
- public:
- static void run() {
- run_iterator_tests();
- run_container_tests();
- run_allocator_aware_tests();
- }
-
- static void run_iterator_tests() {
- TestNullIterators<iterator>();
- TestNullIterators<const_iterator>();
- if constexpr (IsBiDir) { DecrementBegin(); }
- IncrementEnd();
- DerefEndIterator();
- }
-
- static void run_container_tests() {
- CopyInvalidatesIterators();
- MoveInvalidatesIterators();
- if constexpr (CT != CT_ForwardList) {
- EraseIter();
- EraseIterIter();
- }
- }
-
- static void run_allocator_aware_tests() {
- SwapNonEqualAllocators();
- if constexpr (CT != CT_ForwardList ) {
- // FIXME: This should work for both forward_list and string
- SwapInvalidatesIterators();
- }
- }
-
- static Container makeContainer(int size, allocator_type A = allocator_type()) {
- Container C(A);
- if constexpr (CT == CT_ForwardList) {
- for (int i = 0; i < size; ++i)
- C.insert_after(C.before_begin(), Helper::makeValueType(i));
- } else {
- for (int i = 0; i < size; ++i)
- C.insert(C.end(), Helper::makeValueType(i));
- assert(C.size() == static_cast<std::size_t>(size));
- }
- return C;
- }
-
- static value_type makeValueType(int value) {
- return Helper::makeValueType(value);
- }
-
- private:
- // Iterator tests
- template <class Iter>
- static void TestNullIterators() {
- CHECKPOINT("testing null iterator");
- Iter it;
- EXPECT_DEATH( ++it );
- EXPECT_DEATH( it++ );
- EXPECT_DEATH( *it );
- if constexpr (CT != CT_VectorBool) {
- EXPECT_DEATH( it.operator->() );
- }
- if constexpr (IsBiDir) {
- EXPECT_DEATH( --it );
- EXPECT_DEATH( it-- );
- }
- }
-
- static void DecrementBegin() {
- CHECKPOINT("testing decrement on begin");
- Container C = makeContainer(1);
- iterator i = C.end();
- const_iterator ci = C.cend();
- --i;
- --ci;
- assert(i == C.begin());
- EXPECT_DEATH( --i );
- EXPECT_DEATH( i-- );
- EXPECT_DEATH( --ci );
- EXPECT_DEATH( ci-- );
- }
-
- static void IncrementEnd() {
- CHECKPOINT("testing increment on end");
- Container C = makeContainer(1);
- iterator i = C.begin();
- const_iterator ci = C.begin();
- ++i;
- ++ci;
- assert(i == C.end());
- EXPECT_DEATH( ++i );
- EXPECT_DEATH( i++ );
- EXPECT_DEATH( ++ci );
- EXPECT_DEATH( ci++ );
- }
-
- static void DerefEndIterator() {
- CHECKPOINT("testing deref end iterator");
- Container C = makeContainer(1);
- iterator i = C.begin();
- const_iterator ci = C.cbegin();
- (void)*i; (void)*ci;
- if constexpr (CT != CT_VectorBool) {
- i.operator->();
- ci.operator->();
- }
- ++i; ++ci;
- assert(i == C.end());
- EXPECT_DEATH( *i );
- EXPECT_DEATH( *ci );
- if constexpr (CT != CT_VectorBool) {
- EXPECT_DEATH( i.operator->() );
- EXPECT_DEATH( ci.operator->() );
- }
- }
-
- // Container tests
- static void CopyInvalidatesIterators() {
- CHECKPOINT("copy invalidates iterators");
- Container C1 = makeContainer(3);
- iterator i = C1.begin();
- Container C2 = C1;
- if constexpr (CT == CT_ForwardList) {
- iterator i_next = i;
- ++i_next;
- (void)*i_next;
- EXPECT_DEATH( C2.erase_after(i) );
- C1.erase_after(i);
- EXPECT_DEATH( *i_next );
- } else {
- EXPECT_DEATH( C2.erase(i) );
- (void)*i;
- C1.erase(i);
- EXPECT_DEATH( *i );
- }
- }
-
- static void MoveInvalidatesIterators() {
- CHECKPOINT("copy move invalidates iterators");
- Container C1 = makeContainer(3);
- iterator i = C1.begin();
- Container C2 = std::move(C1);
- (void) *i;
- if constexpr (CT == CT_ForwardList) {
- EXPECT_DEATH( C1.erase_after(i) );
- C2.erase_after(i);
- } else {
- EXPECT_DEATH( C1.erase(i) );
- C2.erase(i);
- EXPECT_DEATH(*i);
- }
- }
-
- static void EraseIter() {
- CHECKPOINT("testing erase invalidation");
- Container C1 = makeContainer(2);
- iterator it1 = C1.begin();
- iterator it1_next = it1;
- ++it1_next;
- Container C2 = C1;
- EXPECT_DEATH( C2.erase(it1) ); // wrong container
- EXPECT_DEATH( C2.erase(C2.end()) ); // erase with end
- C1.erase(it1_next);
- EXPECT_DEATH( C1.erase(it1_next) ); // invalidated iterator
- C1.erase(it1);
- EXPECT_DEATH( C1.erase(it1) ); // invalidated iterator
- }
-
- static void EraseIterIter() {
- CHECKPOINT("testing erase iter iter invalidation");
- Container C1 = makeContainer(2);
- iterator it1 = C1.begin();
- iterator it1_next = it1;
- ++it1_next;
- Container C2 = C1;
- iterator it2 = C2.begin();
- iterator it2_next = it2;
- ++it2_next;
- EXPECT_DEATH( C2.erase(it1, it1_next) ); // begin from wrong container
- EXPECT_DEATH( C2.erase(it1, it2_next) ); // end from wrong container
- EXPECT_DEATH( C2.erase(it2, it1_next) ); // both from wrong container
- C2.erase(it2, it2_next);
- }
-
- // Allocator aware tests
- static void SwapInvalidatesIterators() {
- CHECKPOINT("testing swap invalidates iterators");
- Container C1 = makeContainer(3);
- Container C2 = makeContainer(3);
- iterator it1 = C1.begin();
- iterator it2 = C2.begin();
- swap(C1, C2);
- EXPECT_DEATH( C1.erase(it1) );
- if (CT == CT_String) {
- EXPECT_DEATH(C1.erase(it2));
- } else
- C1.erase(it2);
- //C2.erase(it1);
- EXPECT_DEATH( C1.erase(it1) );
- }
-
- static void SwapNonEqualAllocators() {
- CHECKPOINT("testing swap with non-equal allocators");
- Container C1 = makeContainer(3, allocator_type(1));
- Container C2 = makeContainer(1, allocator_type(2));
- Container C3 = makeContainer(2, allocator_type(2));
- swap(C2, C3);
- EXPECT_DEATH( swap(C1, C2) );
- }
-
- private:
- BasicContainerChecks() = delete;
-};
-
-} // namespace IteratorDebugChecks
-
-#endif // TEST_SUPPORT_CONTAINER_DEBUG_TESTS_H
Added: libcxx/trunk/test/support/controlled_allocators.h
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/support/controlled_allocators.h?rev=369481&view=auto
==============================================================================
--- libcxx/trunk/test/support/controlled_allocators.h (added)
+++ libcxx/trunk/test/support/controlled_allocators.h Tue Aug 20 17:14:12 2019
@@ -0,0 +1,501 @@
+//===----------------------------------------------------------------------===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef SUPPORT_CONTROLLED_ALLOCATORS_H
+#define SUPPORT_CONTROLLED_ALLOCATORS_H
+
+#include <memory>
+#include <type_traits>
+#include <cstddef>
+#include <cstdlib>
+#include <cstring>
+#include <cstdint>
+#include <cassert>
+#include "test_macros.h"
+#include "type_id.h"
+
+#if TEST_STD_VER < 11
+#error This header requires C++11 or greater
+#endif
+
+struct AllocController;
+ // 'AllocController' is a concrete type that instruments and controls the
+ // behavior of test allocators.
+
+template <class T, size_t ID = 0>
+class CountingAllocator;
+ // 'CountingAllocator' is an basic implementation of the 'Allocator'
+ // requirements that use the 'AllocController' interface.
+
+template <class T>
+class MinAlignAllocator;
+ // 'MinAlignAllocator' is an instrumented test type which implements the
+ // 'Allocator' requirements. 'MinAlignAllocator' ensures that it *never*
+ // returns a pointer to over-aligned storage. For example
+ // 'MinAlignPointer<char>{}.allocate(...)' will never a 2-byte aligned
+ // pointer.
+
+template <class T>
+class NullAllocator;
+ // 'NullAllocator' is an instrumented test type which implements the
+ // 'Allocator' requirements except that 'allocator' and 'deallocate' are
+ // nops.
+
+
+#define DISALLOW_COPY(Type) \
+ Type(Type const&) = delete; \
+ Type& operator=(Type const&) = delete
+
+constexpr std::size_t MaxAlignV = alignof(std::max_align_t);
+
+struct TestException {};
+
+struct AllocController {
+ int copy_constructed = 0;
+ int move_constructed = 0;
+
+ int alive = 0;
+ int alloc_count = 0;
+ int dealloc_count = 0;
+ int is_equal_count = 0;
+
+ std::size_t alive_size;
+ std::size_t allocated_size;
+ std::size_t deallocated_size;
+
+ std::size_t last_size = 0;
+ std::size_t last_align = 0;
+ void * last_pointer = 0;
+
+ std::size_t last_alloc_size = 0;
+ std::size_t last_alloc_align = 0;
+ void * last_alloc_pointer = nullptr;
+
+ std::size_t last_dealloc_size = 0;
+ std::size_t last_dealloc_align = 0;
+ void * last_dealloc_pointer = nullptr;
+
+ bool throw_on_alloc = false;
+
+ int construct_called = 0;
+ void *last_construct_pointer = nullptr;
+ TypeID const* last_construct_alloc = nullptr;
+ TypeID const* last_construct_type = nullptr;
+ TypeID const* last_construct_args = nullptr;
+
+ int destroy_called = 0;
+ void *last_destroy_pointer = nullptr;
+ TypeID const* last_destroy_alloc = nullptr;
+ TypeID const* last_destroy_type = nullptr;
+
+ AllocController() = default;
+
+ void countAlloc(void* p, size_t s, size_t a) {
+ ++alive;
+ ++alloc_count;
+ alive_size += s;
+ allocated_size += s;
+ last_pointer = last_alloc_pointer = p;
+ last_size = last_alloc_size = s;
+ last_align = last_alloc_align = a;
+ }
+
+ void countDealloc(void* p, size_t s, size_t a) {
+ --alive;
+ ++dealloc_count;
+ alive_size -= s;
+ deallocated_size += s;
+ last_pointer = last_dealloc_pointer = p;
+ last_size = last_dealloc_size = s;
+ last_align = last_dealloc_align = a;
+ }
+
+ template <class ...Args, class Alloc, class Tp>
+ void countConstruct(Alloc const&, Tp *p) {
+ ++construct_called;
+ last_construct_pointer = p;
+ last_construct_alloc = &makeTypeID<Alloc>();
+ last_construct_type = &makeTypeID<Tp>();
+ last_construct_args = &makeArgumentID<Args...>();
+ }
+
+ template <class Alloc, class Tp>
+ void countDestroy(Alloc const&, Tp *p) {
+ ++destroy_called;
+ last_destroy_alloc = &makeTypeID<Alloc>();
+ last_destroy_type = &makeTypeID<Tp>();
+ last_destroy_pointer = p;
+ }
+
+ void reset() { std::memset(this, 0, sizeof(*this)); }
+ void resetConstructDestroy() {
+ construct_called = 0;
+ last_construct_pointer = nullptr;
+ last_construct_alloc = last_construct_args = last_construct_type = nullptr;
+ destroy_called = 0;
+ last_destroy_alloc = nullptr;
+ last_destroy_pointer = nullptr;
+ }
+public:
+ bool checkAlloc(void* p, size_t s, size_t a) const {
+ return p == last_alloc_pointer &&
+ s == last_alloc_size &&
+ a == last_alloc_align;
+ }
+
+ bool checkAlloc(void* p, size_t s) const {
+ return p == last_alloc_pointer &&
+ s == last_alloc_size;
+ }
+
+ bool checkAllocAtLeast(void* p, size_t s, size_t a) const {
+ return p == last_alloc_pointer &&
+ s <= last_alloc_size &&
+ a <= last_alloc_align;
+ }
+
+ bool checkAllocAtLeast(void* p, size_t s) const {
+ return p == last_alloc_pointer &&
+ s <= last_alloc_size;
+ }
+
+ bool checkDealloc(void* p, size_t s, size_t a) const {
+ return p == last_dealloc_pointer &&
+ s == last_dealloc_size &&
+ a == last_dealloc_align;
+ }
+
+ bool checkDealloc(void* p, size_t s) const {
+ return p == last_dealloc_pointer &&
+ s == last_dealloc_size;
+ }
+
+ bool checkDeallocMatchesAlloc() const {
+ return last_dealloc_pointer == last_alloc_pointer &&
+ last_dealloc_size == last_alloc_size &&
+ last_dealloc_align == last_alloc_align;
+ }
+
+ template <class ...Args, class Alloc, class Tp>
+ bool checkConstruct(Alloc const&, Tp *p) const {
+ auto expectAlloc = &makeTypeID<Alloc>();
+ auto expectTp = &makeTypeID<Tp>();
+ auto expectArgs = &makeArgumentID<Args...>();
+ return last_construct_pointer == p &&
+ COMPARE_TYPEID(last_construct_alloc, expectAlloc) &&
+ COMPARE_TYPEID(last_construct_type, expectTp) &&
+ COMPARE_TYPEID(last_construct_args, expectArgs);
+ }
+
+ template <class Alloc, class Tp>
+ bool checkDestroy(Alloc const&, Tp *p) const {
+ return last_destroy_pointer == p &&
+ last_destroy_alloc == &makeTypeID<Alloc>() &&
+ last_destroy_type == &makeTypeID<Tp>();
+ }
+
+ bool checkDestroyMatchesConstruct() const {
+ return last_destroy_pointer == last_construct_pointer &&
+ last_destroy_type == last_construct_type;
+ }
+
+ void countIsEqual() {
+ ++is_equal_count;
+ }
+
+ bool checkIsEqualCalledEq(int n) const {
+ return is_equal_count == n;
+ }
+private:
+ DISALLOW_COPY(AllocController);
+};
+
+template <class T, size_t ID>
+class CountingAllocator
+{
+public:
+ typedef T value_type;
+ typedef T* pointer;
+
+ template <class U>
+ struct rebind { using other = CountingAllocator<U, ID>; };
+
+ CountingAllocator() = delete;
+ explicit CountingAllocator(AllocController& PP) : P(&PP) {}
+
+ CountingAllocator(CountingAllocator const& other) : P(other.P) {
+ P->copy_constructed += 1;
+ }
+
+ CountingAllocator(CountingAllocator&& other) : P(other.P) {
+ P->move_constructed += 1;
+ }
+
+ template <class U>
+ CountingAllocator(CountingAllocator<U, ID> const& other) TEST_NOEXCEPT : P(other.P) {
+ P->copy_constructed += 1;
+ }
+
+ template <class U>
+ CountingAllocator(CountingAllocator<U, ID>&& other) TEST_NOEXCEPT : P(other.P) {
+ P->move_constructed += 1;
+ }
+
+ T* allocate(std::size_t n)
+ {
+ void* ret = ::operator new(n*sizeof(T));
+ P->countAlloc(ret, n*sizeof(T), alignof(T));
+ return static_cast<T*>(ret);
+ }
+
+ void deallocate(T* p, std::size_t n)
+ {
+ void* vp = static_cast<void*>(p);
+ P->countDealloc(vp, n*sizeof(T), alignof(T));
+ ::operator delete(vp);
+ }
+
+ template <class U, class ...Args>
+ void construct(U *p, Args&&... args) {
+ ::new ((void*)p) U(std::forward<Args>(args)...);
+ P->countConstruct<Args&&...>(*this, p);
+ }
+
+ template <class U>
+ void destroy(U* p) {
+ p->~U();
+ P->countDestroy(*this, p);
+ }
+
+ AllocController& getController() const { return *P; }
+
+private:
+ template <class Tp, size_t XID> friend class CountingAllocator;
+ AllocController *P;
+};
+
+
+template <size_t ID>
+class CountingAllocator<void, ID>
+{
+public:
+ typedef void* pointer;
+ typedef const void* const_pointer;
+ typedef void value_type;
+
+ template <class U>
+ struct rebind { using other = CountingAllocator<U, ID>; };
+
+ CountingAllocator() = delete;
+ explicit CountingAllocator(AllocController& PP) : P(&PP) {}
+
+ CountingAllocator(CountingAllocator const& other) : P(other.P) {
+ P->copy_constructed += 1;
+ }
+
+ CountingAllocator(CountingAllocator&& other) : P(other.P) {
+ P->move_constructed += 1;
+ }
+
+ template <class U>
+ CountingAllocator(CountingAllocator<U, ID> const& other) TEST_NOEXCEPT : P(other.P) {
+ P->copy_constructed += 1;
+ }
+
+ template <class U>
+ CountingAllocator(CountingAllocator<U, ID>&& other) TEST_NOEXCEPT : P(other.P) {
+ P->move_constructed += 1;
+ }
+
+ void construct(...) = delete;
+ void destroy(void*) = delete;
+
+ AllocController& getController() const { return *P; }
+
+private:
+ template <class Tp, size_t> friend class CountingAllocator;
+ AllocController *P;
+};
+
+template <class T, class U, size_t ID>
+inline bool operator==(CountingAllocator<T, ID> const& x,
+ CountingAllocator<U, ID> const& y) {
+ return &x.getController() == &y.getController();
+}
+
+template <class T, class U, size_t ID>
+inline bool operator!=(CountingAllocator<T, ID> const& x,
+ CountingAllocator<U, ID> const& y) {
+ return !(x == y);
+}
+
+template <class T>
+class MinAlignedAllocator
+{
+public:
+ typedef T value_type;
+ typedef T* pointer;
+
+ MinAlignedAllocator() = delete;
+
+ explicit MinAlignedAllocator(AllocController& R) : P(&R) {}
+
+ MinAlignedAllocator(MinAlignedAllocator const& other) : P(other.P) {
+ P->copy_constructed += 1;
+ }
+
+ MinAlignedAllocator(MinAlignedAllocator&& other) : P(other.P) {
+ P->move_constructed += 1;
+ }
+
+ template <class U>
+ MinAlignedAllocator(MinAlignedAllocator<U> const& other) TEST_NOEXCEPT : P(other.P) {
+ P->copy_constructed += 1;
+ }
+
+ template <class U>
+ MinAlignedAllocator(MinAlignedAllocator<U>&& other) TEST_NOEXCEPT : P(other.P) {
+ P->move_constructed += 1;
+ }
+
+ T* allocate(std::size_t n) {
+ char* aligned_ptr = (char*)::operator new(alloc_size(n*sizeof(T)));
+ assert(is_max_aligned(aligned_ptr));
+
+ char* unaligned_ptr = aligned_ptr + alignof(T);
+ assert(is_min_aligned(unaligned_ptr));
+
+ P->countAlloc(unaligned_ptr, n * sizeof(T), alignof(T));
+
+ return ((T*)unaligned_ptr);
+ }
+
+ void deallocate(T* p, std::size_t n) {
+ assert(is_min_aligned(p));
+
+ char* aligned_ptr = ((char*)p) - alignof(T);
+ assert(is_max_aligned(aligned_ptr));
+
+ P->countDealloc(p, n*sizeof(T), alignof(T));
+
+ return ::operator delete(static_cast<void*>(aligned_ptr));
+ }
+
+ template <class U, class ...Args>
+ void construct(U *p, Args&&... args) {
+ auto *c = ::new ((void*)p) U(std::forward<Args>(args)...);
+ P->countConstruct<Args&&...>(*this, p);
+ }
+
+ template <class U>
+ void destroy(U* p) {
+ p->~U();
+ P->countDestroy(*this, p);
+ }
+
+ AllocController& getController() const { return *P; }
+
+private:
+ static const std::size_t BlockSize = alignof(std::max_align_t);
+
+ static std::size_t alloc_size(std::size_t s) {
+ std::size_t bytes = (s + BlockSize - 1) & ~(BlockSize - 1);
+ bytes += BlockSize;
+ assert(bytes % BlockSize == 0);
+ return bytes;
+ }
+
+ static bool is_max_aligned(void* p) {
+ return reinterpret_cast<std::uintptr_t>(p) % BlockSize == 0;
+ }
+
+ static bool is_min_aligned(void* p) {
+ if (alignof(T) == BlockSize) {
+ return is_max_aligned(p);
+ } else {
+ return reinterpret_cast<std::uintptr_t>(p) % BlockSize == alignof(T);
+ }
+ }
+
+ template <class Tp> friend class MinAlignedAllocator;
+ mutable AllocController *P;
+};
+
+
+template <class T, class U>
+inline bool operator==(MinAlignedAllocator<T> const& x,
+ MinAlignedAllocator<U> const& y) {
+ return &x.getController() == &y.getController();
+}
+
+template <class T, class U>
+inline bool operator!=(MinAlignedAllocator<T> const& x,
+ MinAlignedAllocator<U> const& y) {
+ return !(x == y);
+}
+
+template <class T>
+class NullAllocator
+{
+public:
+ typedef T value_type;
+ typedef T* pointer;
+ NullAllocator() = delete;
+ explicit NullAllocator(AllocController& PP) : P(&PP) {}
+
+ NullAllocator(NullAllocator const& other) : P(other.P) {
+ P->copy_constructed += 1;
+ }
+
+ NullAllocator(NullAllocator&& other) : P(other.P) {
+ P->move_constructed += 1;
+ }
+
+ template <class U>
+ NullAllocator(NullAllocator<U> const& other) TEST_NOEXCEPT : P(other.P) {
+ P->copy_constructed += 1;
+ }
+
+ template <class U>
+ NullAllocator(NullAllocator<U>&& other) TEST_NOEXCEPT : P(other.P) {
+ P->move_constructed += 1;
+ }
+
+ T* allocate(std::size_t n)
+ {
+ P->countAlloc(nullptr, n*sizeof(T), alignof(T));
+ return nullptr;
+ }
+
+ void deallocate(T* p, std::size_t n)
+ {
+ void* vp = static_cast<void*>(p);
+ P->countDealloc(vp, n*sizeof(T), alignof(T));
+ }
+
+ AllocController& getController() const { return *P; }
+
+private:
+ template <class Tp> friend class NullAllocator;
+ AllocController *P;
+};
+
+template <class T, class U>
+inline bool operator==(NullAllocator<T> const& x,
+ NullAllocator<U> const& y) {
+ return &x.getController() == &y.getController();
+}
+
+template <class T, class U>
+inline bool operator!=(NullAllocator<T> const& x,
+ NullAllocator<U> const& y) {
+ return !(x == y);
+}
+
+
+#endif /* SUPPORT_CONTROLLED_ALLOCATORS_H */
Removed: libcxx/trunk/test/support/controlled_allocators.hpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/support/controlled_allocators.hpp?rev=369480&view=auto
==============================================================================
--- libcxx/trunk/test/support/controlled_allocators.hpp (original)
+++ libcxx/trunk/test/support/controlled_allocators.hpp (removed)
@@ -1,501 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef SUPPORT_CONTROLLED_ALLOCATORS_HPP
-#define SUPPORT_CONTROLLED_ALLOCATORS_HPP
-
-#include <memory>
-#include <type_traits>
-#include <cstddef>
-#include <cstdlib>
-#include <cstring>
-#include <cstdint>
-#include <cassert>
-#include "test_macros.h"
-#include "type_id.h"
-
-#if TEST_STD_VER < 11
-#error This header requires C++11 or greater
-#endif
-
-struct AllocController;
- // 'AllocController' is a concrete type that instruments and controls the
- // behavior of test allocators.
-
-template <class T, size_t ID = 0>
-class CountingAllocator;
- // 'CountingAllocator' is an basic implementation of the 'Allocator'
- // requirements that use the 'AllocController' interface.
-
-template <class T>
-class MinAlignAllocator;
- // 'MinAlignAllocator' is an instrumented test type which implements the
- // 'Allocator' requirements. 'MinAlignAllocator' ensures that it *never*
- // returns a pointer to over-aligned storage. For example
- // 'MinAlignPointer<char>{}.allocate(...)' will never a 2-byte aligned
- // pointer.
-
-template <class T>
-class NullAllocator;
- // 'NullAllocator' is an instrumented test type which implements the
- // 'Allocator' requirements except that 'allocator' and 'deallocate' are
- // nops.
-
-
-#define DISALLOW_COPY(Type) \
- Type(Type const&) = delete; \
- Type& operator=(Type const&) = delete
-
-constexpr std::size_t MaxAlignV = alignof(std::max_align_t);
-
-struct TestException {};
-
-struct AllocController {
- int copy_constructed = 0;
- int move_constructed = 0;
-
- int alive = 0;
- int alloc_count = 0;
- int dealloc_count = 0;
- int is_equal_count = 0;
-
- std::size_t alive_size;
- std::size_t allocated_size;
- std::size_t deallocated_size;
-
- std::size_t last_size = 0;
- std::size_t last_align = 0;
- void * last_pointer = 0;
-
- std::size_t last_alloc_size = 0;
- std::size_t last_alloc_align = 0;
- void * last_alloc_pointer = nullptr;
-
- std::size_t last_dealloc_size = 0;
- std::size_t last_dealloc_align = 0;
- void * last_dealloc_pointer = nullptr;
-
- bool throw_on_alloc = false;
-
- int construct_called = 0;
- void *last_construct_pointer = nullptr;
- TypeID const* last_construct_alloc = nullptr;
- TypeID const* last_construct_type = nullptr;
- TypeID const* last_construct_args = nullptr;
-
- int destroy_called = 0;
- void *last_destroy_pointer = nullptr;
- TypeID const* last_destroy_alloc = nullptr;
- TypeID const* last_destroy_type = nullptr;
-
- AllocController() = default;
-
- void countAlloc(void* p, size_t s, size_t a) {
- ++alive;
- ++alloc_count;
- alive_size += s;
- allocated_size += s;
- last_pointer = last_alloc_pointer = p;
- last_size = last_alloc_size = s;
- last_align = last_alloc_align = a;
- }
-
- void countDealloc(void* p, size_t s, size_t a) {
- --alive;
- ++dealloc_count;
- alive_size -= s;
- deallocated_size += s;
- last_pointer = last_dealloc_pointer = p;
- last_size = last_dealloc_size = s;
- last_align = last_dealloc_align = a;
- }
-
- template <class ...Args, class Alloc, class Tp>
- void countConstruct(Alloc const&, Tp *p) {
- ++construct_called;
- last_construct_pointer = p;
- last_construct_alloc = &makeTypeID<Alloc>();
- last_construct_type = &makeTypeID<Tp>();
- last_construct_args = &makeArgumentID<Args...>();
- }
-
- template <class Alloc, class Tp>
- void countDestroy(Alloc const&, Tp *p) {
- ++destroy_called;
- last_destroy_alloc = &makeTypeID<Alloc>();
- last_destroy_type = &makeTypeID<Tp>();
- last_destroy_pointer = p;
- }
-
- void reset() { std::memset(this, 0, sizeof(*this)); }
- void resetConstructDestroy() {
- construct_called = 0;
- last_construct_pointer = nullptr;
- last_construct_alloc = last_construct_args = last_construct_type = nullptr;
- destroy_called = 0;
- last_destroy_alloc = nullptr;
- last_destroy_pointer = nullptr;
- }
-public:
- bool checkAlloc(void* p, size_t s, size_t a) const {
- return p == last_alloc_pointer &&
- s == last_alloc_size &&
- a == last_alloc_align;
- }
-
- bool checkAlloc(void* p, size_t s) const {
- return p == last_alloc_pointer &&
- s == last_alloc_size;
- }
-
- bool checkAllocAtLeast(void* p, size_t s, size_t a) const {
- return p == last_alloc_pointer &&
- s <= last_alloc_size &&
- a <= last_alloc_align;
- }
-
- bool checkAllocAtLeast(void* p, size_t s) const {
- return p == last_alloc_pointer &&
- s <= last_alloc_size;
- }
-
- bool checkDealloc(void* p, size_t s, size_t a) const {
- return p == last_dealloc_pointer &&
- s == last_dealloc_size &&
- a == last_dealloc_align;
- }
-
- bool checkDealloc(void* p, size_t s) const {
- return p == last_dealloc_pointer &&
- s == last_dealloc_size;
- }
-
- bool checkDeallocMatchesAlloc() const {
- return last_dealloc_pointer == last_alloc_pointer &&
- last_dealloc_size == last_alloc_size &&
- last_dealloc_align == last_alloc_align;
- }
-
- template <class ...Args, class Alloc, class Tp>
- bool checkConstruct(Alloc const&, Tp *p) const {
- auto expectAlloc = &makeTypeID<Alloc>();
- auto expectTp = &makeTypeID<Tp>();
- auto expectArgs = &makeArgumentID<Args...>();
- return last_construct_pointer == p &&
- COMPARE_TYPEID(last_construct_alloc, expectAlloc) &&
- COMPARE_TYPEID(last_construct_type, expectTp) &&
- COMPARE_TYPEID(last_construct_args, expectArgs);
- }
-
- template <class Alloc, class Tp>
- bool checkDestroy(Alloc const&, Tp *p) const {
- return last_destroy_pointer == p &&
- last_destroy_alloc == &makeTypeID<Alloc>() &&
- last_destroy_type == &makeTypeID<Tp>();
- }
-
- bool checkDestroyMatchesConstruct() const {
- return last_destroy_pointer == last_construct_pointer &&
- last_destroy_type == last_construct_type;
- }
-
- void countIsEqual() {
- ++is_equal_count;
- }
-
- bool checkIsEqualCalledEq(int n) const {
- return is_equal_count == n;
- }
-private:
- DISALLOW_COPY(AllocController);
-};
-
-template <class T, size_t ID>
-class CountingAllocator
-{
-public:
- typedef T value_type;
- typedef T* pointer;
-
- template <class U>
- struct rebind { using other = CountingAllocator<U, ID>; };
-
- CountingAllocator() = delete;
- explicit CountingAllocator(AllocController& PP) : P(&PP) {}
-
- CountingAllocator(CountingAllocator const& other) : P(other.P) {
- P->copy_constructed += 1;
- }
-
- CountingAllocator(CountingAllocator&& other) : P(other.P) {
- P->move_constructed += 1;
- }
-
- template <class U>
- CountingAllocator(CountingAllocator<U, ID> const& other) TEST_NOEXCEPT : P(other.P) {
- P->copy_constructed += 1;
- }
-
- template <class U>
- CountingAllocator(CountingAllocator<U, ID>&& other) TEST_NOEXCEPT : P(other.P) {
- P->move_constructed += 1;
- }
-
- T* allocate(std::size_t n)
- {
- void* ret = ::operator new(n*sizeof(T));
- P->countAlloc(ret, n*sizeof(T), alignof(T));
- return static_cast<T*>(ret);
- }
-
- void deallocate(T* p, std::size_t n)
- {
- void* vp = static_cast<void*>(p);
- P->countDealloc(vp, n*sizeof(T), alignof(T));
- ::operator delete(vp);
- }
-
- template <class U, class ...Args>
- void construct(U *p, Args&&... args) {
- ::new ((void*)p) U(std::forward<Args>(args)...);
- P->countConstruct<Args&&...>(*this, p);
- }
-
- template <class U>
- void destroy(U* p) {
- p->~U();
- P->countDestroy(*this, p);
- }
-
- AllocController& getController() const { return *P; }
-
-private:
- template <class Tp, size_t XID> friend class CountingAllocator;
- AllocController *P;
-};
-
-
-template <size_t ID>
-class CountingAllocator<void, ID>
-{
-public:
- typedef void* pointer;
- typedef const void* const_pointer;
- typedef void value_type;
-
- template <class U>
- struct rebind { using other = CountingAllocator<U, ID>; };
-
- CountingAllocator() = delete;
- explicit CountingAllocator(AllocController& PP) : P(&PP) {}
-
- CountingAllocator(CountingAllocator const& other) : P(other.P) {
- P->copy_constructed += 1;
- }
-
- CountingAllocator(CountingAllocator&& other) : P(other.P) {
- P->move_constructed += 1;
- }
-
- template <class U>
- CountingAllocator(CountingAllocator<U, ID> const& other) TEST_NOEXCEPT : P(other.P) {
- P->copy_constructed += 1;
- }
-
- template <class U>
- CountingAllocator(CountingAllocator<U, ID>&& other) TEST_NOEXCEPT : P(other.P) {
- P->move_constructed += 1;
- }
-
- void construct(...) = delete;
- void destroy(void*) = delete;
-
- AllocController& getController() const { return *P; }
-
-private:
- template <class Tp, size_t> friend class CountingAllocator;
- AllocController *P;
-};
-
-template <class T, class U, size_t ID>
-inline bool operator==(CountingAllocator<T, ID> const& x,
- CountingAllocator<U, ID> const& y) {
- return &x.getController() == &y.getController();
-}
-
-template <class T, class U, size_t ID>
-inline bool operator!=(CountingAllocator<T, ID> const& x,
- CountingAllocator<U, ID> const& y) {
- return !(x == y);
-}
-
-template <class T>
-class MinAlignedAllocator
-{
-public:
- typedef T value_type;
- typedef T* pointer;
-
- MinAlignedAllocator() = delete;
-
- explicit MinAlignedAllocator(AllocController& R) : P(&R) {}
-
- MinAlignedAllocator(MinAlignedAllocator const& other) : P(other.P) {
- P->copy_constructed += 1;
- }
-
- MinAlignedAllocator(MinAlignedAllocator&& other) : P(other.P) {
- P->move_constructed += 1;
- }
-
- template <class U>
- MinAlignedAllocator(MinAlignedAllocator<U> const& other) TEST_NOEXCEPT : P(other.P) {
- P->copy_constructed += 1;
- }
-
- template <class U>
- MinAlignedAllocator(MinAlignedAllocator<U>&& other) TEST_NOEXCEPT : P(other.P) {
- P->move_constructed += 1;
- }
-
- T* allocate(std::size_t n) {
- char* aligned_ptr = (char*)::operator new(alloc_size(n*sizeof(T)));
- assert(is_max_aligned(aligned_ptr));
-
- char* unaligned_ptr = aligned_ptr + alignof(T);
- assert(is_min_aligned(unaligned_ptr));
-
- P->countAlloc(unaligned_ptr, n * sizeof(T), alignof(T));
-
- return ((T*)unaligned_ptr);
- }
-
- void deallocate(T* p, std::size_t n) {
- assert(is_min_aligned(p));
-
- char* aligned_ptr = ((char*)p) - alignof(T);
- assert(is_max_aligned(aligned_ptr));
-
- P->countDealloc(p, n*sizeof(T), alignof(T));
-
- return ::operator delete(static_cast<void*>(aligned_ptr));
- }
-
- template <class U, class ...Args>
- void construct(U *p, Args&&... args) {
- auto *c = ::new ((void*)p) U(std::forward<Args>(args)...);
- P->countConstruct<Args&&...>(*this, p);
- }
-
- template <class U>
- void destroy(U* p) {
- p->~U();
- P->countDestroy(*this, p);
- }
-
- AllocController& getController() const { return *P; }
-
-private:
- static const std::size_t BlockSize = alignof(std::max_align_t);
-
- static std::size_t alloc_size(std::size_t s) {
- std::size_t bytes = (s + BlockSize - 1) & ~(BlockSize - 1);
- bytes += BlockSize;
- assert(bytes % BlockSize == 0);
- return bytes;
- }
-
- static bool is_max_aligned(void* p) {
- return reinterpret_cast<std::uintptr_t>(p) % BlockSize == 0;
- }
-
- static bool is_min_aligned(void* p) {
- if (alignof(T) == BlockSize) {
- return is_max_aligned(p);
- } else {
- return reinterpret_cast<std::uintptr_t>(p) % BlockSize == alignof(T);
- }
- }
-
- template <class Tp> friend class MinAlignedAllocator;
- mutable AllocController *P;
-};
-
-
-template <class T, class U>
-inline bool operator==(MinAlignedAllocator<T> const& x,
- MinAlignedAllocator<U> const& y) {
- return &x.getController() == &y.getController();
-}
-
-template <class T, class U>
-inline bool operator!=(MinAlignedAllocator<T> const& x,
- MinAlignedAllocator<U> const& y) {
- return !(x == y);
-}
-
-template <class T>
-class NullAllocator
-{
-public:
- typedef T value_type;
- typedef T* pointer;
- NullAllocator() = delete;
- explicit NullAllocator(AllocController& PP) : P(&PP) {}
-
- NullAllocator(NullAllocator const& other) : P(other.P) {
- P->copy_constructed += 1;
- }
-
- NullAllocator(NullAllocator&& other) : P(other.P) {
- P->move_constructed += 1;
- }
-
- template <class U>
- NullAllocator(NullAllocator<U> const& other) TEST_NOEXCEPT : P(other.P) {
- P->copy_constructed += 1;
- }
-
- template <class U>
- NullAllocator(NullAllocator<U>&& other) TEST_NOEXCEPT : P(other.P) {
- P->move_constructed += 1;
- }
-
- T* allocate(std::size_t n)
- {
- P->countAlloc(nullptr, n*sizeof(T), alignof(T));
- return nullptr;
- }
-
- void deallocate(T* p, std::size_t n)
- {
- void* vp = static_cast<void*>(p);
- P->countDealloc(vp, n*sizeof(T), alignof(T));
- }
-
- AllocController& getController() const { return *P; }
-
-private:
- template <class Tp> friend class NullAllocator;
- AllocController *P;
-};
-
-template <class T, class U>
-inline bool operator==(NullAllocator<T> const& x,
- NullAllocator<U> const& y) {
- return &x.getController() == &y.getController();
-}
-
-template <class T, class U>
-inline bool operator!=(NullAllocator<T> const& x,
- NullAllocator<U> const& y) {
- return !(x == y);
-}
-
-
-#endif /* SUPPORT_CONTROLLED_ALLOCATORS_HPP */
Added: libcxx/trunk/test/support/count_new.h
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/support/count_new.h?rev=369481&view=auto
==============================================================================
--- libcxx/trunk/test/support/count_new.h (added)
+++ libcxx/trunk/test/support/count_new.h Tue Aug 20 17:14:12 2019
@@ -0,0 +1,485 @@
+//===----------------------------------------------------------------------===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef COUNT_NEW_H
+#define COUNT_NEW_H
+
+# include <cstdlib>
+# include <cassert>
+# include <new>
+
+#include "test_macros.h"
+
+#if defined(TEST_HAS_SANITIZERS)
+#define DISABLE_NEW_COUNT
+#endif
+
+namespace detail
+{
+ TEST_NORETURN
+ inline void throw_bad_alloc_helper() {
+#ifndef TEST_HAS_NO_EXCEPTIONS
+ throw std::bad_alloc();
+#else
+ std::abort();
+#endif
+ }
+}
+
+class MemCounter
+{
+public:
+ // Make MemCounter super hard to accidentally construct or copy.
+ class MemCounterCtorArg_ {};
+ explicit MemCounter(MemCounterCtorArg_) { reset(); }
+
+private:
+ MemCounter(MemCounter const &);
+ MemCounter & operator=(MemCounter const &);
+
+public:
+ // All checks return true when disable_checking is enabled.
+ static const bool disable_checking;
+
+ // Disallow any allocations from occurring. Useful for testing that
+ // code doesn't perform any allocations.
+ bool disable_allocations;
+
+ // number of allocations to throw after. Default (unsigned)-1. If
+ // throw_after has the default value it will never be decremented.
+ static const unsigned never_throw_value = static_cast<unsigned>(-1);
+ unsigned throw_after;
+
+ int outstanding_new;
+ int new_called;
+ int delete_called;
+ int aligned_new_called;
+ int aligned_delete_called;
+ std::size_t last_new_size;
+ std::size_t last_new_align;
+ std::size_t last_delete_align;
+
+ int outstanding_array_new;
+ int new_array_called;
+ int delete_array_called;
+ int aligned_new_array_called;
+ int aligned_delete_array_called;
+ std::size_t last_new_array_size;
+ std::size_t last_new_array_align;
+ std::size_t last_delete_array_align;
+
+public:
+ void newCalled(std::size_t s)
+ {
+ assert(disable_allocations == false);
+ assert(s);
+ if (throw_after == 0) {
+ throw_after = never_throw_value;
+ detail::throw_bad_alloc_helper();
+ } else if (throw_after != never_throw_value) {
+ --throw_after;
+ }
+ ++new_called;
+ ++outstanding_new;
+ last_new_size = s;
+ }
+
+ void alignedNewCalled(std::size_t s, std::size_t a) {
+ newCalled(s);
+ ++aligned_new_called;
+ last_new_align = a;
+ }
+
+ void deleteCalled(void * p)
+ {
+ assert(p);
+ --outstanding_new;
+ ++delete_called;
+ }
+
+ void alignedDeleteCalled(void *p, std::size_t a) {
+ deleteCalled(p);
+ ++aligned_delete_called;
+ last_delete_align = a;
+ }
+
+ void newArrayCalled(std::size_t s)
+ {
+ assert(disable_allocations == false);
+ assert(s);
+ if (throw_after == 0) {
+ throw_after = never_throw_value;
+ detail::throw_bad_alloc_helper();
+ } else {
+ // don't decrement throw_after here. newCalled will end up doing that.
+ }
+ ++outstanding_array_new;
+ ++new_array_called;
+ last_new_array_size = s;
+ }
+
+ void alignedNewArrayCalled(std::size_t s, std::size_t a) {
+ newArrayCalled(s);
+ ++aligned_new_array_called;
+ last_new_array_align = a;
+ }
+
+ void deleteArrayCalled(void * p)
+ {
+ assert(p);
+ --outstanding_array_new;
+ ++delete_array_called;
+ }
+
+ void alignedDeleteArrayCalled(void * p, std::size_t a) {
+ deleteArrayCalled(p);
+ ++aligned_delete_array_called;
+ last_delete_array_align = a;
+ }
+
+ void disableAllocations()
+ {
+ disable_allocations = true;
+ }
+
+ void enableAllocations()
+ {
+ disable_allocations = false;
+ }
+
+ void reset()
+ {
+ disable_allocations = false;
+ throw_after = never_throw_value;
+
+ outstanding_new = 0;
+ new_called = 0;
+ delete_called = 0;
+ aligned_new_called = 0;
+ aligned_delete_called = 0;
+ last_new_size = 0;
+ last_new_align = 0;
+
+ outstanding_array_new = 0;
+ new_array_called = 0;
+ delete_array_called = 0;
+ aligned_new_array_called = 0;
+ aligned_delete_array_called = 0;
+ last_new_array_size = 0;
+ last_new_array_align = 0;
+ }
+
+public:
+ bool checkOutstandingNewEq(int n) const
+ {
+ return disable_checking || n == outstanding_new;
+ }
+
+ bool checkOutstandingNewNotEq(int n) const
+ {
+ return disable_checking || n != outstanding_new;
+ }
+
+ bool checkNewCalledEq(int n) const
+ {
+ return disable_checking || n == new_called;
+ }
+
+ bool checkNewCalledNotEq(int n) const
+ {
+ return disable_checking || n != new_called;
+ }
+
+ bool checkNewCalledGreaterThan(int n) const
+ {
+ return disable_checking || new_called > n;
+ }
+
+ bool checkDeleteCalledEq(int n) const
+ {
+ return disable_checking || n == delete_called;
+ }
+
+ bool checkDeleteCalledNotEq(int n) const
+ {
+ return disable_checking || n != delete_called;
+ }
+
+ bool checkAlignedNewCalledEq(int n) const
+ {
+ return disable_checking || n == aligned_new_called;
+ }
+
+ bool checkAlignedNewCalledNotEq(int n) const
+ {
+ return disable_checking || n != aligned_new_called;
+ }
+
+ bool checkAlignedNewCalledGreaterThan(int n) const
+ {
+ return disable_checking || aligned_new_called > n;
+ }
+
+ bool checkAlignedDeleteCalledEq(int n) const
+ {
+ return disable_checking || n == aligned_delete_called;
+ }
+
+ bool checkAlignedDeleteCalledNotEq(int n) const
+ {
+ return disable_checking || n != aligned_delete_called;
+ }
+
+ bool checkLastNewSizeEq(std::size_t n) const
+ {
+ return disable_checking || n == last_new_size;
+ }
+
+ bool checkLastNewSizeNotEq(std::size_t n) const
+ {
+ return disable_checking || n != last_new_size;
+ }
+
+ bool checkLastNewAlignEq(std::size_t n) const
+ {
+ return disable_checking || n == last_new_align;
+ }
+
+ bool checkLastNewAlignNotEq(std::size_t n) const
+ {
+ return disable_checking || n != last_new_align;
+ }
+
+ bool checkLastDeleteAlignEq(std::size_t n) const
+ {
+ return disable_checking || n == last_delete_align;
+ }
+
+ bool checkLastDeleteAlignNotEq(std::size_t n) const
+ {
+ return disable_checking || n != last_delete_align;
+ }
+
+ bool checkOutstandingArrayNewEq(int n) const
+ {
+ return disable_checking || n == outstanding_array_new;
+ }
+
+ bool checkOutstandingArrayNewNotEq(int n) const
+ {
+ return disable_checking || n != outstanding_array_new;
+ }
+
+ bool checkNewArrayCalledEq(int n) const
+ {
+ return disable_checking || n == new_array_called;
+ }
+
+ bool checkNewArrayCalledNotEq(int n) const
+ {
+ return disable_checking || n != new_array_called;
+ }
+
+ bool checkDeleteArrayCalledEq(int n) const
+ {
+ return disable_checking || n == delete_array_called;
+ }
+
+ bool checkDeleteArrayCalledNotEq(int n) const
+ {
+ return disable_checking || n != delete_array_called;
+ }
+
+ bool checkAlignedNewArrayCalledEq(int n) const
+ {
+ return disable_checking || n == aligned_new_array_called;
+ }
+
+ bool checkAlignedNewArrayCalledNotEq(int n) const
+ {
+ return disable_checking || n != aligned_new_array_called;
+ }
+
+ bool checkAlignedNewArrayCalledGreaterThan(int n) const
+ {
+ return disable_checking || aligned_new_array_called > n;
+ }
+
+ bool checkAlignedDeleteArrayCalledEq(int n) const
+ {
+ return disable_checking || n == aligned_delete_array_called;
+ }
+
+ bool checkAlignedDeleteArrayCalledNotEq(int n) const
+ {
+ return disable_checking || n != aligned_delete_array_called;
+ }
+
+ bool checkLastNewArraySizeEq(std::size_t n) const
+ {
+ return disable_checking || n == last_new_array_size;
+ }
+
+ bool checkLastNewArraySizeNotEq(std::size_t n) const
+ {
+ return disable_checking || n != last_new_array_size;
+ }
+
+ bool checkLastNewArrayAlignEq(std::size_t n) const
+ {
+ return disable_checking || n == last_new_array_align;
+ }
+
+ bool checkLastNewArrayAlignNotEq(std::size_t n) const
+ {
+ return disable_checking || n != last_new_array_align;
+ }
+};
+
+#ifdef DISABLE_NEW_COUNT
+ const bool MemCounter::disable_checking = true;
+#else
+ const bool MemCounter::disable_checking = false;
+#endif
+
+inline MemCounter* getGlobalMemCounter() {
+ static MemCounter counter((MemCounter::MemCounterCtorArg_()));
+ return &counter;
+}
+
+MemCounter &globalMemCounter = *getGlobalMemCounter();
+
+#ifndef DISABLE_NEW_COUNT
+void* operator new(std::size_t s) TEST_THROW_SPEC(std::bad_alloc)
+{
+ getGlobalMemCounter()->newCalled(s);
+ void* ret = std::malloc(s);
+ if (ret == nullptr)
+ detail::throw_bad_alloc_helper();
+ return ret;
+}
+
+void operator delete(void* p) TEST_NOEXCEPT
+{
+ getGlobalMemCounter()->deleteCalled(p);
+ std::free(p);
+}
+
+void* operator new[](std::size_t s) TEST_THROW_SPEC(std::bad_alloc)
+{
+ getGlobalMemCounter()->newArrayCalled(s);
+ return operator new(s);
+}
+
+void operator delete[](void* p) TEST_NOEXCEPT
+{
+ getGlobalMemCounter()->deleteArrayCalled(p);
+ operator delete(p);
+}
+
+#ifndef TEST_HAS_NO_ALIGNED_ALLOCATION
+#if defined(_LIBCPP_MSVCRT_LIKE) || \
+ (!defined(_LIBCPP_VERSION) && defined(_WIN32))
+#define USE_ALIGNED_ALLOC
+#endif
+
+void* operator new(std::size_t s, std::align_val_t av) TEST_THROW_SPEC(std::bad_alloc) {
+ const std::size_t a = static_cast<std::size_t>(av);
+ getGlobalMemCounter()->alignedNewCalled(s, a);
+ void *ret;
+#ifdef USE_ALIGNED_ALLOC
+ ret = _aligned_malloc(s, a);
+#else
+ posix_memalign(&ret, a, s);
+#endif
+ if (ret == nullptr)
+ detail::throw_bad_alloc_helper();
+ return ret;
+}
+
+void operator delete(void *p, std::align_val_t av) TEST_NOEXCEPT {
+ const std::size_t a = static_cast<std::size_t>(av);
+ getGlobalMemCounter()->alignedDeleteCalled(p, a);
+ if (p) {
+#ifdef USE_ALIGNED_ALLOC
+ ::_aligned_free(p);
+#else
+ ::free(p);
+#endif
+ }
+}
+
+void* operator new[](std::size_t s, std::align_val_t av) TEST_THROW_SPEC(std::bad_alloc) {
+ const std::size_t a = static_cast<std::size_t>(av);
+ getGlobalMemCounter()->alignedNewArrayCalled(s, a);
+ return operator new(s, av);
+}
+
+void operator delete[](void *p, std::align_val_t av) TEST_NOEXCEPT {
+ const std::size_t a = static_cast<std::size_t>(av);
+ getGlobalMemCounter()->alignedDeleteArrayCalled(p, a);
+ return operator delete(p, av);
+}
+
+#endif // TEST_HAS_NO_ALIGNED_ALLOCATION
+
+#endif // DISABLE_NEW_COUNT
+
+struct DisableAllocationGuard {
+ explicit DisableAllocationGuard(bool disable = true) : m_disabled(disable)
+ {
+ // Don't re-disable if already disabled.
+ if (globalMemCounter.disable_allocations == true) m_disabled = false;
+ if (m_disabled) globalMemCounter.disableAllocations();
+ }
+
+ void release() {
+ if (m_disabled) globalMemCounter.enableAllocations();
+ m_disabled = false;
+ }
+
+ ~DisableAllocationGuard() {
+ release();
+ }
+
+private:
+ bool m_disabled;
+
+ DisableAllocationGuard(DisableAllocationGuard const&);
+ DisableAllocationGuard& operator=(DisableAllocationGuard const&);
+};
+
+struct RequireAllocationGuard {
+ explicit RequireAllocationGuard(std::size_t RequireAtLeast = 1)
+ : m_req_alloc(RequireAtLeast),
+ m_new_count_on_init(globalMemCounter.new_called),
+ m_outstanding_new_on_init(globalMemCounter.outstanding_new),
+ m_exactly(false)
+ {
+ }
+
+ void requireAtLeast(std::size_t N) { m_req_alloc = N; m_exactly = false; }
+ void requireExactly(std::size_t N) { m_req_alloc = N; m_exactly = true; }
+
+ ~RequireAllocationGuard() {
+ assert(globalMemCounter.checkOutstandingNewEq(static_cast<int>(m_outstanding_new_on_init)));
+ std::size_t Expect = m_new_count_on_init + m_req_alloc;
+ assert(globalMemCounter.checkNewCalledEq(static_cast<int>(Expect)) ||
+ (!m_exactly && globalMemCounter.checkNewCalledGreaterThan(static_cast<int>(Expect))));
+ }
+
+private:
+ std::size_t m_req_alloc;
+ const std::size_t m_new_count_on_init;
+ const std::size_t m_outstanding_new_on_init;
+ bool m_exactly;
+ RequireAllocationGuard(RequireAllocationGuard const&);
+ RequireAllocationGuard& operator=(RequireAllocationGuard const&);
+};
+
+#endif /* COUNT_NEW_H */
Removed: libcxx/trunk/test/support/count_new.hpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/support/count_new.hpp?rev=369480&view=auto
==============================================================================
--- libcxx/trunk/test/support/count_new.hpp (original)
+++ libcxx/trunk/test/support/count_new.hpp (removed)
@@ -1,485 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef COUNT_NEW_HPP
-#define COUNT_NEW_HPP
-
-# include <cstdlib>
-# include <cassert>
-# include <new>
-
-#include "test_macros.h"
-
-#if defined(TEST_HAS_SANITIZERS)
-#define DISABLE_NEW_COUNT
-#endif
-
-namespace detail
-{
- TEST_NORETURN
- inline void throw_bad_alloc_helper() {
-#ifndef TEST_HAS_NO_EXCEPTIONS
- throw std::bad_alloc();
-#else
- std::abort();
-#endif
- }
-}
-
-class MemCounter
-{
-public:
- // Make MemCounter super hard to accidentally construct or copy.
- class MemCounterCtorArg_ {};
- explicit MemCounter(MemCounterCtorArg_) { reset(); }
-
-private:
- MemCounter(MemCounter const &);
- MemCounter & operator=(MemCounter const &);
-
-public:
- // All checks return true when disable_checking is enabled.
- static const bool disable_checking;
-
- // Disallow any allocations from occurring. Useful for testing that
- // code doesn't perform any allocations.
- bool disable_allocations;
-
- // number of allocations to throw after. Default (unsigned)-1. If
- // throw_after has the default value it will never be decremented.
- static const unsigned never_throw_value = static_cast<unsigned>(-1);
- unsigned throw_after;
-
- int outstanding_new;
- int new_called;
- int delete_called;
- int aligned_new_called;
- int aligned_delete_called;
- std::size_t last_new_size;
- std::size_t last_new_align;
- std::size_t last_delete_align;
-
- int outstanding_array_new;
- int new_array_called;
- int delete_array_called;
- int aligned_new_array_called;
- int aligned_delete_array_called;
- std::size_t last_new_array_size;
- std::size_t last_new_array_align;
- std::size_t last_delete_array_align;
-
-public:
- void newCalled(std::size_t s)
- {
- assert(disable_allocations == false);
- assert(s);
- if (throw_after == 0) {
- throw_after = never_throw_value;
- detail::throw_bad_alloc_helper();
- } else if (throw_after != never_throw_value) {
- --throw_after;
- }
- ++new_called;
- ++outstanding_new;
- last_new_size = s;
- }
-
- void alignedNewCalled(std::size_t s, std::size_t a) {
- newCalled(s);
- ++aligned_new_called;
- last_new_align = a;
- }
-
- void deleteCalled(void * p)
- {
- assert(p);
- --outstanding_new;
- ++delete_called;
- }
-
- void alignedDeleteCalled(void *p, std::size_t a) {
- deleteCalled(p);
- ++aligned_delete_called;
- last_delete_align = a;
- }
-
- void newArrayCalled(std::size_t s)
- {
- assert(disable_allocations == false);
- assert(s);
- if (throw_after == 0) {
- throw_after = never_throw_value;
- detail::throw_bad_alloc_helper();
- } else {
- // don't decrement throw_after here. newCalled will end up doing that.
- }
- ++outstanding_array_new;
- ++new_array_called;
- last_new_array_size = s;
- }
-
- void alignedNewArrayCalled(std::size_t s, std::size_t a) {
- newArrayCalled(s);
- ++aligned_new_array_called;
- last_new_array_align = a;
- }
-
- void deleteArrayCalled(void * p)
- {
- assert(p);
- --outstanding_array_new;
- ++delete_array_called;
- }
-
- void alignedDeleteArrayCalled(void * p, std::size_t a) {
- deleteArrayCalled(p);
- ++aligned_delete_array_called;
- last_delete_array_align = a;
- }
-
- void disableAllocations()
- {
- disable_allocations = true;
- }
-
- void enableAllocations()
- {
- disable_allocations = false;
- }
-
- void reset()
- {
- disable_allocations = false;
- throw_after = never_throw_value;
-
- outstanding_new = 0;
- new_called = 0;
- delete_called = 0;
- aligned_new_called = 0;
- aligned_delete_called = 0;
- last_new_size = 0;
- last_new_align = 0;
-
- outstanding_array_new = 0;
- new_array_called = 0;
- delete_array_called = 0;
- aligned_new_array_called = 0;
- aligned_delete_array_called = 0;
- last_new_array_size = 0;
- last_new_array_align = 0;
- }
-
-public:
- bool checkOutstandingNewEq(int n) const
- {
- return disable_checking || n == outstanding_new;
- }
-
- bool checkOutstandingNewNotEq(int n) const
- {
- return disable_checking || n != outstanding_new;
- }
-
- bool checkNewCalledEq(int n) const
- {
- return disable_checking || n == new_called;
- }
-
- bool checkNewCalledNotEq(int n) const
- {
- return disable_checking || n != new_called;
- }
-
- bool checkNewCalledGreaterThan(int n) const
- {
- return disable_checking || new_called > n;
- }
-
- bool checkDeleteCalledEq(int n) const
- {
- return disable_checking || n == delete_called;
- }
-
- bool checkDeleteCalledNotEq(int n) const
- {
- return disable_checking || n != delete_called;
- }
-
- bool checkAlignedNewCalledEq(int n) const
- {
- return disable_checking || n == aligned_new_called;
- }
-
- bool checkAlignedNewCalledNotEq(int n) const
- {
- return disable_checking || n != aligned_new_called;
- }
-
- bool checkAlignedNewCalledGreaterThan(int n) const
- {
- return disable_checking || aligned_new_called > n;
- }
-
- bool checkAlignedDeleteCalledEq(int n) const
- {
- return disable_checking || n == aligned_delete_called;
- }
-
- bool checkAlignedDeleteCalledNotEq(int n) const
- {
- return disable_checking || n != aligned_delete_called;
- }
-
- bool checkLastNewSizeEq(std::size_t n) const
- {
- return disable_checking || n == last_new_size;
- }
-
- bool checkLastNewSizeNotEq(std::size_t n) const
- {
- return disable_checking || n != last_new_size;
- }
-
- bool checkLastNewAlignEq(std::size_t n) const
- {
- return disable_checking || n == last_new_align;
- }
-
- bool checkLastNewAlignNotEq(std::size_t n) const
- {
- return disable_checking || n != last_new_align;
- }
-
- bool checkLastDeleteAlignEq(std::size_t n) const
- {
- return disable_checking || n == last_delete_align;
- }
-
- bool checkLastDeleteAlignNotEq(std::size_t n) const
- {
- return disable_checking || n != last_delete_align;
- }
-
- bool checkOutstandingArrayNewEq(int n) const
- {
- return disable_checking || n == outstanding_array_new;
- }
-
- bool checkOutstandingArrayNewNotEq(int n) const
- {
- return disable_checking || n != outstanding_array_new;
- }
-
- bool checkNewArrayCalledEq(int n) const
- {
- return disable_checking || n == new_array_called;
- }
-
- bool checkNewArrayCalledNotEq(int n) const
- {
- return disable_checking || n != new_array_called;
- }
-
- bool checkDeleteArrayCalledEq(int n) const
- {
- return disable_checking || n == delete_array_called;
- }
-
- bool checkDeleteArrayCalledNotEq(int n) const
- {
- return disable_checking || n != delete_array_called;
- }
-
- bool checkAlignedNewArrayCalledEq(int n) const
- {
- return disable_checking || n == aligned_new_array_called;
- }
-
- bool checkAlignedNewArrayCalledNotEq(int n) const
- {
- return disable_checking || n != aligned_new_array_called;
- }
-
- bool checkAlignedNewArrayCalledGreaterThan(int n) const
- {
- return disable_checking || aligned_new_array_called > n;
- }
-
- bool checkAlignedDeleteArrayCalledEq(int n) const
- {
- return disable_checking || n == aligned_delete_array_called;
- }
-
- bool checkAlignedDeleteArrayCalledNotEq(int n) const
- {
- return disable_checking || n != aligned_delete_array_called;
- }
-
- bool checkLastNewArraySizeEq(std::size_t n) const
- {
- return disable_checking || n == last_new_array_size;
- }
-
- bool checkLastNewArraySizeNotEq(std::size_t n) const
- {
- return disable_checking || n != last_new_array_size;
- }
-
- bool checkLastNewArrayAlignEq(std::size_t n) const
- {
- return disable_checking || n == last_new_array_align;
- }
-
- bool checkLastNewArrayAlignNotEq(std::size_t n) const
- {
- return disable_checking || n != last_new_array_align;
- }
-};
-
-#ifdef DISABLE_NEW_COUNT
- const bool MemCounter::disable_checking = true;
-#else
- const bool MemCounter::disable_checking = false;
-#endif
-
-inline MemCounter* getGlobalMemCounter() {
- static MemCounter counter((MemCounter::MemCounterCtorArg_()));
- return &counter;
-}
-
-MemCounter &globalMemCounter = *getGlobalMemCounter();
-
-#ifndef DISABLE_NEW_COUNT
-void* operator new(std::size_t s) TEST_THROW_SPEC(std::bad_alloc)
-{
- getGlobalMemCounter()->newCalled(s);
- void* ret = std::malloc(s);
- if (ret == nullptr)
- detail::throw_bad_alloc_helper();
- return ret;
-}
-
-void operator delete(void* p) TEST_NOEXCEPT
-{
- getGlobalMemCounter()->deleteCalled(p);
- std::free(p);
-}
-
-void* operator new[](std::size_t s) TEST_THROW_SPEC(std::bad_alloc)
-{
- getGlobalMemCounter()->newArrayCalled(s);
- return operator new(s);
-}
-
-void operator delete[](void* p) TEST_NOEXCEPT
-{
- getGlobalMemCounter()->deleteArrayCalled(p);
- operator delete(p);
-}
-
-#ifndef TEST_HAS_NO_ALIGNED_ALLOCATION
-#if defined(_LIBCPP_MSVCRT_LIKE) || \
- (!defined(_LIBCPP_VERSION) && defined(_WIN32))
-#define USE_ALIGNED_ALLOC
-#endif
-
-void* operator new(std::size_t s, std::align_val_t av) TEST_THROW_SPEC(std::bad_alloc) {
- const std::size_t a = static_cast<std::size_t>(av);
- getGlobalMemCounter()->alignedNewCalled(s, a);
- void *ret;
-#ifdef USE_ALIGNED_ALLOC
- ret = _aligned_malloc(s, a);
-#else
- posix_memalign(&ret, a, s);
-#endif
- if (ret == nullptr)
- detail::throw_bad_alloc_helper();
- return ret;
-}
-
-void operator delete(void *p, std::align_val_t av) TEST_NOEXCEPT {
- const std::size_t a = static_cast<std::size_t>(av);
- getGlobalMemCounter()->alignedDeleteCalled(p, a);
- if (p) {
-#ifdef USE_ALIGNED_ALLOC
- ::_aligned_free(p);
-#else
- ::free(p);
-#endif
- }
-}
-
-void* operator new[](std::size_t s, std::align_val_t av) TEST_THROW_SPEC(std::bad_alloc) {
- const std::size_t a = static_cast<std::size_t>(av);
- getGlobalMemCounter()->alignedNewArrayCalled(s, a);
- return operator new(s, av);
-}
-
-void operator delete[](void *p, std::align_val_t av) TEST_NOEXCEPT {
- const std::size_t a = static_cast<std::size_t>(av);
- getGlobalMemCounter()->alignedDeleteArrayCalled(p, a);
- return operator delete(p, av);
-}
-
-#endif // TEST_HAS_NO_ALIGNED_ALLOCATION
-
-#endif // DISABLE_NEW_COUNT
-
-struct DisableAllocationGuard {
- explicit DisableAllocationGuard(bool disable = true) : m_disabled(disable)
- {
- // Don't re-disable if already disabled.
- if (globalMemCounter.disable_allocations == true) m_disabled = false;
- if (m_disabled) globalMemCounter.disableAllocations();
- }
-
- void release() {
- if (m_disabled) globalMemCounter.enableAllocations();
- m_disabled = false;
- }
-
- ~DisableAllocationGuard() {
- release();
- }
-
-private:
- bool m_disabled;
-
- DisableAllocationGuard(DisableAllocationGuard const&);
- DisableAllocationGuard& operator=(DisableAllocationGuard const&);
-};
-
-struct RequireAllocationGuard {
- explicit RequireAllocationGuard(std::size_t RequireAtLeast = 1)
- : m_req_alloc(RequireAtLeast),
- m_new_count_on_init(globalMemCounter.new_called),
- m_outstanding_new_on_init(globalMemCounter.outstanding_new),
- m_exactly(false)
- {
- }
-
- void requireAtLeast(std::size_t N) { m_req_alloc = N; m_exactly = false; }
- void requireExactly(std::size_t N) { m_req_alloc = N; m_exactly = true; }
-
- ~RequireAllocationGuard() {
- assert(globalMemCounter.checkOutstandingNewEq(static_cast<int>(m_outstanding_new_on_init)));
- std::size_t Expect = m_new_count_on_init + m_req_alloc;
- assert(globalMemCounter.checkNewCalledEq(static_cast<int>(Expect)) ||
- (!m_exactly && globalMemCounter.checkNewCalledGreaterThan(static_cast<int>(Expect))));
- }
-
-private:
- std::size_t m_req_alloc;
- const std::size_t m_new_count_on_init;
- const std::size_t m_outstanding_new_on_init;
- bool m_exactly;
- RequireAllocationGuard(RequireAllocationGuard const&);
- RequireAllocationGuard& operator=(RequireAllocationGuard const&);
-};
-
-#endif /* COUNT_NEW_HPP */
Added: libcxx/trunk/test/support/counting_predicates.h
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/support/counting_predicates.h?rev=369481&view=auto
==============================================================================
--- libcxx/trunk/test/support/counting_predicates.h (added)
+++ libcxx/trunk/test/support/counting_predicates.h Tue Aug 20 17:14:12 2019
@@ -0,0 +1,52 @@
+//===----------------------------------------------------------------------===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef TEST_SUPPORT_COUNTING_PREDICATES_H
+#define TEST_SUPPORT_COUNTING_PREDICATES_H
+
+#include <cstddef>
+
+template <typename Predicate, typename Arg>
+struct unary_counting_predicate {
+public:
+ typedef Arg argument_type;
+ typedef bool result_type;
+
+ unary_counting_predicate(Predicate p) : p_(p), count_(0) {}
+ ~unary_counting_predicate() {}
+
+ bool operator () (const Arg &a) const { ++count_; return p_(a); }
+ size_t count() const { return count_; }
+ void reset() { count_ = 0; }
+
+private:
+ Predicate p_;
+ mutable size_t count_;
+};
+
+
+template <typename Predicate, typename Arg1, typename Arg2=Arg1>
+struct binary_counting_predicate {
+public:
+ typedef Arg1 first_argument_type;
+ typedef Arg2 second_argument_type;
+ typedef bool result_type;
+
+ binary_counting_predicate ( Predicate p ) : p_(p), count_(0) {}
+ ~binary_counting_predicate() {}
+
+ bool operator () (const Arg1 &a1, const Arg2 &a2) const { ++count_; return p_(a1, a2); }
+ size_t count() const { return count_; }
+ void reset() { count_ = 0; }
+
+private:
+ Predicate p_;
+ mutable size_t count_;
+};
+
+#endif // TEST_SUPPORT_COUNTING_PREDICATES_H
Removed: libcxx/trunk/test/support/counting_predicates.hpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/support/counting_predicates.hpp?rev=369480&view=auto
==============================================================================
--- libcxx/trunk/test/support/counting_predicates.hpp (original)
+++ libcxx/trunk/test/support/counting_predicates.hpp (removed)
@@ -1,52 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef TEST_SUPPORT_COUNTING_PREDICATES_H
-#define TEST_SUPPORT_COUNTING_PREDICATES_H
-
-#include <cstddef>
-
-template <typename Predicate, typename Arg>
-struct unary_counting_predicate {
-public:
- typedef Arg argument_type;
- typedef bool result_type;
-
- unary_counting_predicate(Predicate p) : p_(p), count_(0) {}
- ~unary_counting_predicate() {}
-
- bool operator () (const Arg &a) const { ++count_; return p_(a); }
- size_t count() const { return count_; }
- void reset() { count_ = 0; }
-
-private:
- Predicate p_;
- mutable size_t count_;
-};
-
-
-template <typename Predicate, typename Arg1, typename Arg2=Arg1>
-struct binary_counting_predicate {
-public:
- typedef Arg1 first_argument_type;
- typedef Arg2 second_argument_type;
- typedef bool result_type;
-
- binary_counting_predicate ( Predicate p ) : p_(p), count_(0) {}
- ~binary_counting_predicate() {}
-
- bool operator () (const Arg1 &a1, const Arg2 &a2) const { ++count_; return p_(a1, a2); }
- size_t count() const { return count_; }
- void reset() { count_ = 0; }
-
-private:
- Predicate p_;
- mutable size_t count_;
-};
-
-#endif // TEST_SUPPORT_COUNTING_PREDICATES_H
Added: libcxx/trunk/test/support/filesystem_include.h
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/support/filesystem_include.h?rev=369481&view=auto
==============================================================================
--- libcxx/trunk/test/support/filesystem_include.h (added)
+++ libcxx/trunk/test/support/filesystem_include.h Tue Aug 20 17:14:12 2019
@@ -0,0 +1,13 @@
+#ifndef TEST_SUPPORT_FILESYSTEM_INCLUDE_H
+#define TEST_SUPPORT_FILESYSTEM_INCLUDE_H
+
+#include <filesystem>
+#include "test_macros.h"
+
+#if defined(_LIBCPP_VERSION) && TEST_STD_VER < 17
+namespace fs = std::__fs::filesystem;
+#else
+namespace fs = std::filesystem;
+#endif
+
+#endif
Removed: libcxx/trunk/test/support/filesystem_include.hpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/support/filesystem_include.hpp?rev=369480&view=auto
==============================================================================
--- libcxx/trunk/test/support/filesystem_include.hpp (original)
+++ libcxx/trunk/test/support/filesystem_include.hpp (removed)
@@ -1,13 +0,0 @@
-#ifndef TEST_SUPPORT_FILESYSTEM_INCLUDE_HPP
-#define TEST_SUPPORT_FILESYSTEM_INCLUDE_HPP
-
-#include <filesystem>
-#include "test_macros.h"
-
-#if defined(_LIBCPP_VERSION) && TEST_STD_VER < 17
-namespace fs = std::__fs::filesystem;
-#else
-namespace fs = std::filesystem;
-#endif
-
-#endif
Added: libcxx/trunk/test/support/filesystem_test_helper.h
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/support/filesystem_test_helper.h?rev=369481&view=auto
==============================================================================
--- libcxx/trunk/test/support/filesystem_test_helper.h (added)
+++ libcxx/trunk/test/support/filesystem_test_helper.h Tue Aug 20 17:14:12 2019
@@ -0,0 +1,557 @@
+#ifndef FILESYSTEM_TEST_HELPER_H
+#define FILESYSTEM_TEST_HELPER_H
+
+#include "filesystem_include.h"
+
+#include <unistd.h> // for ftruncate
+
+#include <cassert>
+#include <cstdio> // for printf
+#include <string>
+#include <fstream>
+#include <random>
+#include <chrono>
+#include <vector>
+#include <regex>
+
+#include "test_macros.h"
+#include "rapid-cxx-test.h"
+#include "format_string.h"
+
+// static test helpers
+
+#ifndef LIBCXX_FILESYSTEM_STATIC_TEST_ROOT
+#warning "STATIC TESTS DISABLED"
+#else // LIBCXX_FILESYSTEM_STATIC_TEST_ROOT
+
+namespace StaticEnv {
+
+inline fs::path makePath(fs::path const& p) {
+ // env_path is expected not to contain symlinks.
+ static const fs::path env_path = LIBCXX_FILESYSTEM_STATIC_TEST_ROOT;
+ return env_path / p;
+}
+
+static const fs::path Root = LIBCXX_FILESYSTEM_STATIC_TEST_ROOT;
+
+static const fs::path TestFileList[] = {
+ makePath("empty_file"),
+ makePath("non_empty_file"),
+ makePath("dir1/file1"),
+ makePath("dir1/file2")
+};
+const std::size_t TestFileListSize = sizeof(TestFileList) / sizeof(fs::path);
+
+static const fs::path TestDirList[] = {
+ makePath("dir1"),
+ makePath("dir1/dir2"),
+ makePath("dir1/dir2/dir3")
+};
+const std::size_t TestDirListSize = sizeof(TestDirList) / sizeof(fs::path);
+
+static const fs::path File = TestFileList[0];
+static const fs::path Dir = TestDirList[0];
+static const fs::path Dir2 = TestDirList[1];
+static const fs::path Dir3 = TestDirList[2];
+static const fs::path SymlinkToFile = makePath("symlink_to_empty_file");
+static const fs::path SymlinkToDir = makePath("symlink_to_dir");
+static const fs::path BadSymlink = makePath("bad_symlink");
+static const fs::path DNE = makePath("DNE");
+static const fs::path EmptyFile = TestFileList[0];
+static const fs::path NonEmptyFile = TestFileList[1];
+static const fs::path CharFile = "/dev/null"; // Hopefully this exists
+
+static const fs::path DirIterationList[] = {
+ makePath("dir1/dir2"),
+ makePath("dir1/file1"),
+ makePath("dir1/file2")
+};
+const std::size_t DirIterationListSize = sizeof(DirIterationList)
+ / sizeof(fs::path);
+
+static const fs::path DirIterationListDepth1[] = {
+ makePath("dir1/dir2/afile3"),
+ makePath("dir1/dir2/dir3"),
+ makePath("dir1/dir2/symlink_to_dir3"),
+ makePath("dir1/dir2/file4"),
+};
+
+static const fs::path RecDirIterationList[] = {
+ makePath("dir1/dir2"),
+ makePath("dir1/file1"),
+ makePath("dir1/file2"),
+ makePath("dir1/dir2/afile3"),
+ makePath("dir1/dir2/dir3"),
+ makePath("dir1/dir2/symlink_to_dir3"),
+ makePath("dir1/dir2/file4"),
+ makePath("dir1/dir2/dir3/file5")
+};
+
+static const fs::path RecDirFollowSymlinksIterationList[] = {
+ makePath("dir1/dir2"),
+ makePath("dir1/file1"),
+ makePath("dir1/file2"),
+ makePath("dir1/dir2/afile3"),
+ makePath("dir1/dir2/dir3"),
+ makePath("dir1/dir2/file4"),
+ makePath("dir1/dir2/dir3/file5"),
+ makePath("dir1/dir2/symlink_to_dir3"),
+ makePath("dir1/dir2/symlink_to_dir3/file5"),
+};
+
+} // namespace StaticEnv
+
+#endif // LIBCXX_FILESYSTEM_STATIC_TEST_ROOT
+
+#ifndef LIBCXX_FILESYSTEM_DYNAMIC_TEST_ROOT
+#warning LIBCXX_FILESYSTEM_DYNAMIC_TEST_ROOT must be defined
+#else // LIBCXX_FILESYSTEM_DYNAMIC_TEST_ROOT
+
+#ifndef LIBCXX_FILESYSTEM_DYNAMIC_TEST_HELPER
+#error LIBCXX_FILESYSTEM_DYNAMIC_TEST_HELPER must be defined
+#endif
+
+namespace random_utils {
+inline char to_hex(int ch) {
+ return ch < 10 ? static_cast<char>('0' + ch)
+ : static_cast<char>('a' + (ch - 10));
+}
+
+inline char random_hex_char() {
+ static std::mt19937 rd{std::random_device{}()};
+ static std::uniform_int_distribution<int> mrand{0, 15};
+ return to_hex(mrand(rd));
+}
+
+} // namespace random_utils
+
+struct scoped_test_env
+{
+ scoped_test_env() : test_root(random_env_path())
+ { fs_helper_run(fs_make_cmd("init_test_directory", test_root)); }
+
+ ~scoped_test_env()
+ { fs_helper_run(fs_make_cmd("destroy_test_directory", test_root)); }
+
+ scoped_test_env(scoped_test_env const &) = delete;
+ scoped_test_env & operator=(scoped_test_env const &) = delete;
+
+ fs::path make_env_path(std::string p) { return sanitize_path(p); }
+
+ std::string sanitize_path(std::string raw) {
+ assert(raw.find("..") == std::string::npos);
+ std::string const& root = test_root.native();
+ if (root.compare(0, root.size(), raw, 0, root.size()) != 0) {
+ assert(raw.front() != '\\');
+ fs::path tmp(test_root);
+ tmp /= raw;
+ return std::move(const_cast<std::string&>(tmp.native()));
+ }
+ return raw;
+ }
+
+ // Purposefully using a size potentially larger than off_t here so we can
+ // test the behavior of libc++fs when it is built with _FILE_OFFSET_BITS=64
+ // but the caller is not (std::filesystem also uses uintmax_t rather than
+ // off_t). On a 32-bit system this allows us to create a file larger than
+ // 2GB.
+ std::string create_file(std::string filename, uintmax_t size = 0) {
+#if defined(__LP64__)
+ auto large_file_fopen = fopen;
+ auto large_file_ftruncate = ftruncate;
+ using large_file_offset_t = off_t;
+#else
+ auto large_file_fopen = fopen64;
+ auto large_file_ftruncate = ftruncate64;
+ using large_file_offset_t = off64_t;
+#endif
+
+ filename = sanitize_path(std::move(filename));
+
+ if (size > std::numeric_limits<large_file_offset_t>::max()) {
+ fprintf(stderr, "create_file(%s, %ju) too large\n",
+ filename.c_str(), size);
+ abort();
+ }
+
+ FILE* file = large_file_fopen(filename.c_str(), "we");
+ if (file == nullptr) {
+ fprintf(stderr, "fopen %s failed: %s\n", filename.c_str(),
+ strerror(errno));
+ abort();
+ }
+
+ if (large_file_ftruncate(
+ fileno(file), static_cast<large_file_offset_t>(size)) == -1) {
+ fprintf(stderr, "ftruncate %s %ju failed: %s\n", filename.c_str(),
+ size, strerror(errno));
+ fclose(file);
+ abort();
+ }
+
+ fclose(file);
+ return filename;
+ }
+
+ std::string create_dir(std::string filename) {
+ filename = sanitize_path(std::move(filename));
+ fs_helper_run(fs_make_cmd("create_dir", filename));
+ return filename;
+ }
+
+ std::string create_symlink(std::string source, std::string to) {
+ source = sanitize_path(std::move(source));
+ to = sanitize_path(std::move(to));
+ fs_helper_run(fs_make_cmd("create_symlink", source, to));
+ return to;
+ }
+
+ std::string create_hardlink(std::string source, std::string to) {
+ source = sanitize_path(std::move(source));
+ to = sanitize_path(std::move(to));
+ fs_helper_run(fs_make_cmd("create_hardlink", source, to));
+ return to;
+ }
+
+ std::string create_fifo(std::string file) {
+ file = sanitize_path(std::move(file));
+ fs_helper_run(fs_make_cmd("create_fifo", file));
+ return file;
+ }
+
+ // OS X and FreeBSD doesn't support socket files so we shouldn't even
+ // allow tests to call this unguarded.
+#if !defined(__FreeBSD__) && !defined(__APPLE__)
+ std::string create_socket(std::string file) {
+ file = sanitize_path(std::move(file));
+ fs_helper_run(fs_make_cmd("create_socket", file));
+ return file;
+ }
+#endif
+
+ fs::path const test_root;
+
+private:
+ static std::string unique_path_suffix() {
+ std::string model = "test.%%%%%%";
+ for (auto & ch : model) {
+ if (ch == '%')
+ ch = random_utils::random_hex_char();
+ }
+ return model;
+ }
+
+ // This could potentially introduce a filesystem race with other tests
+ // running at the same time, but oh well, it's just test code.
+ static inline fs::path random_env_path() {
+ static const char* env_path = LIBCXX_FILESYSTEM_DYNAMIC_TEST_ROOT;
+ fs::path p = fs::path(env_path) / unique_path_suffix();
+ assert(p.parent_path() == env_path);
+ return p;
+ }
+
+ static inline std::string make_arg(std::string const& arg) {
+ return "'" + arg + "'";
+ }
+
+ static inline std::string make_arg(std::size_t arg) {
+ return std::to_string(arg);
+ }
+
+ template <class T>
+ static inline std::string
+ fs_make_cmd(std::string const& cmd_name, T const& arg) {
+ return cmd_name + "(" + make_arg(arg) + ")";
+ }
+
+ template <class T, class U>
+ static inline std::string
+ fs_make_cmd(std::string const& cmd_name, T const& arg1, U const& arg2) {
+ return cmd_name + "(" + make_arg(arg1) + ", " + make_arg(arg2) + ")";
+ }
+
+ static inline void fs_helper_run(std::string const& raw_cmd) {
+ // check that the fs test root in the environment matches what we were
+ // compiled with.
+ static bool checked = checkDynamicTestRoot();
+ ((void)checked);
+ std::string cmd = LIBCXX_FILESYSTEM_DYNAMIC_TEST_HELPER;
+ cmd += " \"" + raw_cmd + "\"";
+ int ret = std::system(cmd.c_str());
+ assert(ret == 0);
+ }
+
+ static bool checkDynamicTestRoot() {
+ // LIBCXX_FILESYSTEM_DYNAMIC_TEST_ROOT is expected not to contain symlinks.
+ char* fs_root = std::getenv("LIBCXX_FILESYSTEM_DYNAMIC_TEST_ROOT");
+ if (!fs_root) {
+ std::printf("ERROR: LIBCXX_FILESYSTEM_DYNAMIC_TEST_ROOT must be a defined "
+ "environment variable when running the test.\n");
+ std::abort();
+ }
+ if (std::string(fs_root) != LIBCXX_FILESYSTEM_DYNAMIC_TEST_ROOT) {
+ std::printf("ERROR: LIBCXX_FILESYSTEM_DYNAMIC_TEST_ROOT environment variable"
+ " must have the same value as when the test was compiled.\n");
+ std::printf(" Current Value: '%s'\n", fs_root);
+ std::printf(" Expected Value: '%s'\n", LIBCXX_FILESYSTEM_DYNAMIC_TEST_ROOT);
+ std::abort();
+ }
+ return true;
+ }
+
+};
+
+#endif // LIBCXX_FILESYSTEM_DYNAMIC_TEST_ROOT
+
+// Misc test types
+
+#define CONCAT2(LHS, RHS) LHS##RHS
+#define CONCAT(LHS, RHS) CONCAT2(LHS, RHS)
+#define MKSTR(Str) {Str, CONCAT(L, Str), CONCAT(u, Str), CONCAT(U, Str)}
+
+struct MultiStringType {
+ const char* s;
+ const wchar_t* w;
+ const char16_t* u16;
+ const char32_t* u32;
+
+ operator const char* () const { return s; }
+ operator const wchar_t* () const { return w; }
+ operator const char16_t* () const { return u16; }
+ operator const char32_t* () const { return u32; }
+};
+
+const MultiStringType PathList[] = {
+ MKSTR(""),
+ MKSTR(" "),
+ MKSTR("//"),
+ MKSTR("."),
+ MKSTR(".."),
+ MKSTR("foo"),
+ MKSTR("/"),
+ MKSTR("/foo"),
+ MKSTR("foo/"),
+ MKSTR("/foo/"),
+ MKSTR("foo/bar"),
+ MKSTR("/foo/bar"),
+ MKSTR("//net"),
+ MKSTR("//net/foo"),
+ MKSTR("///foo///"),
+ MKSTR("///foo///bar"),
+ MKSTR("/."),
+ MKSTR("./"),
+ MKSTR("/.."),
+ MKSTR("../"),
+ MKSTR("foo/."),
+ MKSTR("foo/.."),
+ MKSTR("foo/./"),
+ MKSTR("foo/./bar"),
+ MKSTR("foo/../"),
+ MKSTR("foo/../bar"),
+ MKSTR("c:"),
+ MKSTR("c:/"),
+ MKSTR("c:foo"),
+ MKSTR("c:/foo"),
+ MKSTR("c:foo/"),
+ MKSTR("c:/foo/"),
+ MKSTR("c:/foo/bar"),
+ MKSTR("prn:"),
+ MKSTR("c:\\"),
+ MKSTR("c:\\foo"),
+ MKSTR("c:foo\\"),
+ MKSTR("c:\\foo\\"),
+ MKSTR("c:\\foo/"),
+ MKSTR("c:/foo\\bar"),
+ MKSTR("//"),
+ MKSTR("/finally/we/need/one/really/really/really/really/really/really/really/long/string")
+};
+const unsigned PathListSize = sizeof(PathList) / sizeof(MultiStringType);
+
+template <class Iter>
+Iter IterEnd(Iter B) {
+ using VT = typename std::iterator_traits<Iter>::value_type;
+ for (; *B != VT{}; ++B)
+ ;
+ return B;
+}
+
+template <class CharT>
+const CharT* StrEnd(CharT const* P) {
+ return IterEnd(P);
+}
+
+template <class CharT>
+std::size_t StrLen(CharT const* P) {
+ return StrEnd(P) - P;
+}
+
+// Testing the allocation behavior of the code_cvt functions requires
+// *knowing* that the allocation was not done by "path::__str_".
+// This hack forces path to allocate enough memory.
+inline void PathReserve(fs::path& p, std::size_t N) {
+ auto const& native_ref = p.native();
+ const_cast<std::string&>(native_ref).reserve(N);
+}
+
+template <class Iter1, class Iter2>
+bool checkCollectionsEqual(
+ Iter1 start1, Iter1 const end1
+ , Iter2 start2, Iter2 const end2
+ )
+{
+ while (start1 != end1 && start2 != end2) {
+ if (*start1 != *start2) {
+ return false;
+ }
+ ++start1; ++start2;
+ }
+ return (start1 == end1 && start2 == end2);
+}
+
+
+template <class Iter1, class Iter2>
+bool checkCollectionsEqualBackwards(
+ Iter1 const start1, Iter1 end1
+ , Iter2 const start2, Iter2 end2
+ )
+{
+ while (start1 != end1 && start2 != end2) {
+ --end1; --end2;
+ if (*end1 != *end2) {
+ return false;
+ }
+ }
+ return (start1 == end1 && start2 == end2);
+}
+
+// We often need to test that the error_code was cleared if no error occurs
+// this function returns an error_code which is set to an error that will
+// never be returned by the filesystem functions.
+inline std::error_code GetTestEC(unsigned Idx = 0) {
+ using std::errc;
+ auto GetErrc = [&]() {
+ switch (Idx) {
+ case 0:
+ return errc::address_family_not_supported;
+ case 1:
+ return errc::address_not_available;
+ case 2:
+ return errc::address_in_use;
+ case 3:
+ return errc::argument_list_too_long;
+ default:
+ assert(false && "Idx out of range");
+ std::abort();
+ }
+ };
+ return std::make_error_code(GetErrc());
+}
+
+inline bool ErrorIsImp(const std::error_code& ec,
+ std::vector<std::errc> const& errors) {
+ for (auto errc : errors) {
+ if (ec == std::make_error_code(errc))
+ return true;
+ }
+ return false;
+}
+
+template <class... ErrcT>
+inline bool ErrorIs(const std::error_code& ec, std::errc First, ErrcT... Rest) {
+ std::vector<std::errc> errors = {First, Rest...};
+ return ErrorIsImp(ec, errors);
+}
+
+// Provide our own Sleep routine since std::this_thread::sleep_for is not
+// available in single-threaded mode.
+void SleepFor(std::chrono::seconds dur) {
+ using namespace std::chrono;
+#if defined(_LIBCPP_HAS_NO_MONOTONIC_CLOCK)
+ using Clock = system_clock;
+#else
+ using Clock = steady_clock;
+#endif
+ const auto wake_time = Clock::now() + dur;
+ while (Clock::now() < wake_time)
+ ;
+}
+
+inline bool PathEq(fs::path const& LHS, fs::path const& RHS) {
+ return LHS.native() == RHS.native();
+}
+
+struct ExceptionChecker {
+ std::errc expected_err;
+ fs::path expected_path1;
+ fs::path expected_path2;
+ unsigned num_paths;
+ const char* func_name;
+ std::string opt_message;
+
+ explicit ExceptionChecker(std::errc first_err, const char* func_name,
+ std::string opt_msg = {})
+ : expected_err{first_err}, num_paths(0), func_name(func_name),
+ opt_message(opt_msg) {}
+ explicit ExceptionChecker(fs::path p, std::errc first_err,
+ const char* func_name, std::string opt_msg = {})
+ : expected_err(first_err), expected_path1(p), num_paths(1),
+ func_name(func_name), opt_message(opt_msg) {}
+
+ explicit ExceptionChecker(fs::path p1, fs::path p2, std::errc first_err,
+ const char* func_name, std::string opt_msg = {})
+ : expected_err(first_err), expected_path1(p1), expected_path2(p2),
+ num_paths(2), func_name(func_name), opt_message(opt_msg) {}
+
+ void operator()(fs::filesystem_error const& Err) {
+ TEST_CHECK(ErrorIsImp(Err.code(), {expected_err}));
+ TEST_CHECK(Err.path1() == expected_path1);
+ TEST_CHECK(Err.path2() == expected_path2);
+ LIBCPP_ONLY(check_libcxx_string(Err));
+ }
+
+ void check_libcxx_string(fs::filesystem_error const& Err) {
+ std::string message = std::make_error_code(expected_err).message();
+
+ std::string additional_msg = "";
+ if (!opt_message.empty()) {
+ additional_msg = opt_message + ": ";
+ }
+ auto transform_path = [](const fs::path& p) {
+ if (p.native().empty())
+ return "\"\"";
+ return p.c_str();
+ };
+ std::string format = [&]() -> std::string {
+ switch (num_paths) {
+ case 0:
+ return format_string("filesystem error: in %s: %s%s", func_name,
+ additional_msg, message);
+ case 1:
+ return format_string("filesystem error: in %s: %s%s [%s]", func_name,
+ additional_msg, message,
+ transform_path(expected_path1));
+ case 2:
+ return format_string("filesystem error: in %s: %s%s [%s] [%s]",
+ func_name, additional_msg, message,
+ transform_path(expected_path1),
+ transform_path(expected_path2));
+ default:
+ TEST_CHECK(false && "unexpected case");
+ return "";
+ }
+ }();
+ TEST_CHECK(format == Err.what());
+ if (format != Err.what()) {
+ fprintf(stderr,
+ "filesystem_error::what() does not match expected output:\n");
+ fprintf(stderr, " expected: \"%s\"\n", format.c_str());
+ fprintf(stderr, " actual: \"%s\"\n\n", Err.what());
+ }
+ }
+
+ ExceptionChecker(ExceptionChecker const&) = delete;
+ ExceptionChecker& operator=(ExceptionChecker const&) = delete;
+
+};
+
+#endif /* FILESYSTEM_TEST_HELPER_HPP */
Removed: libcxx/trunk/test/support/filesystem_test_helper.hpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/support/filesystem_test_helper.hpp?rev=369480&view=auto
==============================================================================
--- libcxx/trunk/test/support/filesystem_test_helper.hpp (original)
+++ libcxx/trunk/test/support/filesystem_test_helper.hpp (removed)
@@ -1,557 +0,0 @@
-#ifndef FILESYSTEM_TEST_HELPER_HPP
-#define FILESYSTEM_TEST_HELPER_HPP
-
-#include "filesystem_include.hpp"
-
-#include <unistd.h> // for ftruncate
-
-#include <cassert>
-#include <cstdio> // for printf
-#include <string>
-#include <fstream>
-#include <random>
-#include <chrono>
-#include <vector>
-#include <regex>
-
-#include "test_macros.h"
-#include "rapid-cxx-test.hpp"
-#include "format_string.hpp"
-
-// static test helpers
-
-#ifndef LIBCXX_FILESYSTEM_STATIC_TEST_ROOT
-#warning "STATIC TESTS DISABLED"
-#else // LIBCXX_FILESYSTEM_STATIC_TEST_ROOT
-
-namespace StaticEnv {
-
-inline fs::path makePath(fs::path const& p) {
- // env_path is expected not to contain symlinks.
- static const fs::path env_path = LIBCXX_FILESYSTEM_STATIC_TEST_ROOT;
- return env_path / p;
-}
-
-static const fs::path Root = LIBCXX_FILESYSTEM_STATIC_TEST_ROOT;
-
-static const fs::path TestFileList[] = {
- makePath("empty_file"),
- makePath("non_empty_file"),
- makePath("dir1/file1"),
- makePath("dir1/file2")
-};
-const std::size_t TestFileListSize = sizeof(TestFileList) / sizeof(fs::path);
-
-static const fs::path TestDirList[] = {
- makePath("dir1"),
- makePath("dir1/dir2"),
- makePath("dir1/dir2/dir3")
-};
-const std::size_t TestDirListSize = sizeof(TestDirList) / sizeof(fs::path);
-
-static const fs::path File = TestFileList[0];
-static const fs::path Dir = TestDirList[0];
-static const fs::path Dir2 = TestDirList[1];
-static const fs::path Dir3 = TestDirList[2];
-static const fs::path SymlinkToFile = makePath("symlink_to_empty_file");
-static const fs::path SymlinkToDir = makePath("symlink_to_dir");
-static const fs::path BadSymlink = makePath("bad_symlink");
-static const fs::path DNE = makePath("DNE");
-static const fs::path EmptyFile = TestFileList[0];
-static const fs::path NonEmptyFile = TestFileList[1];
-static const fs::path CharFile = "/dev/null"; // Hopefully this exists
-
-static const fs::path DirIterationList[] = {
- makePath("dir1/dir2"),
- makePath("dir1/file1"),
- makePath("dir1/file2")
-};
-const std::size_t DirIterationListSize = sizeof(DirIterationList)
- / sizeof(fs::path);
-
-static const fs::path DirIterationListDepth1[] = {
- makePath("dir1/dir2/afile3"),
- makePath("dir1/dir2/dir3"),
- makePath("dir1/dir2/symlink_to_dir3"),
- makePath("dir1/dir2/file4"),
-};
-
-static const fs::path RecDirIterationList[] = {
- makePath("dir1/dir2"),
- makePath("dir1/file1"),
- makePath("dir1/file2"),
- makePath("dir1/dir2/afile3"),
- makePath("dir1/dir2/dir3"),
- makePath("dir1/dir2/symlink_to_dir3"),
- makePath("dir1/dir2/file4"),
- makePath("dir1/dir2/dir3/file5")
-};
-
-static const fs::path RecDirFollowSymlinksIterationList[] = {
- makePath("dir1/dir2"),
- makePath("dir1/file1"),
- makePath("dir1/file2"),
- makePath("dir1/dir2/afile3"),
- makePath("dir1/dir2/dir3"),
- makePath("dir1/dir2/file4"),
- makePath("dir1/dir2/dir3/file5"),
- makePath("dir1/dir2/symlink_to_dir3"),
- makePath("dir1/dir2/symlink_to_dir3/file5"),
-};
-
-} // namespace StaticEnv
-
-#endif // LIBCXX_FILESYSTEM_STATIC_TEST_ROOT
-
-#ifndef LIBCXX_FILESYSTEM_DYNAMIC_TEST_ROOT
-#warning LIBCXX_FILESYSTEM_DYNAMIC_TEST_ROOT must be defined
-#else // LIBCXX_FILESYSTEM_DYNAMIC_TEST_ROOT
-
-#ifndef LIBCXX_FILESYSTEM_DYNAMIC_TEST_HELPER
-#error LIBCXX_FILESYSTEM_DYNAMIC_TEST_HELPER must be defined
-#endif
-
-namespace random_utils {
-inline char to_hex(int ch) {
- return ch < 10 ? static_cast<char>('0' + ch)
- : static_cast<char>('a' + (ch - 10));
-}
-
-inline char random_hex_char() {
- static std::mt19937 rd{std::random_device{}()};
- static std::uniform_int_distribution<int> mrand{0, 15};
- return to_hex(mrand(rd));
-}
-
-} // namespace random_utils
-
-struct scoped_test_env
-{
- scoped_test_env() : test_root(random_env_path())
- { fs_helper_run(fs_make_cmd("init_test_directory", test_root)); }
-
- ~scoped_test_env()
- { fs_helper_run(fs_make_cmd("destroy_test_directory", test_root)); }
-
- scoped_test_env(scoped_test_env const &) = delete;
- scoped_test_env & operator=(scoped_test_env const &) = delete;
-
- fs::path make_env_path(std::string p) { return sanitize_path(p); }
-
- std::string sanitize_path(std::string raw) {
- assert(raw.find("..") == std::string::npos);
- std::string const& root = test_root.native();
- if (root.compare(0, root.size(), raw, 0, root.size()) != 0) {
- assert(raw.front() != '\\');
- fs::path tmp(test_root);
- tmp /= raw;
- return std::move(const_cast<std::string&>(tmp.native()));
- }
- return raw;
- }
-
- // Purposefully using a size potentially larger than off_t here so we can
- // test the behavior of libc++fs when it is built with _FILE_OFFSET_BITS=64
- // but the caller is not (std::filesystem also uses uintmax_t rather than
- // off_t). On a 32-bit system this allows us to create a file larger than
- // 2GB.
- std::string create_file(std::string filename, uintmax_t size = 0) {
-#if defined(__LP64__)
- auto large_file_fopen = fopen;
- auto large_file_ftruncate = ftruncate;
- using large_file_offset_t = off_t;
-#else
- auto large_file_fopen = fopen64;
- auto large_file_ftruncate = ftruncate64;
- using large_file_offset_t = off64_t;
-#endif
-
- filename = sanitize_path(std::move(filename));
-
- if (size > std::numeric_limits<large_file_offset_t>::max()) {
- fprintf(stderr, "create_file(%s, %ju) too large\n",
- filename.c_str(), size);
- abort();
- }
-
- FILE* file = large_file_fopen(filename.c_str(), "we");
- if (file == nullptr) {
- fprintf(stderr, "fopen %s failed: %s\n", filename.c_str(),
- strerror(errno));
- abort();
- }
-
- if (large_file_ftruncate(
- fileno(file), static_cast<large_file_offset_t>(size)) == -1) {
- fprintf(stderr, "ftruncate %s %ju failed: %s\n", filename.c_str(),
- size, strerror(errno));
- fclose(file);
- abort();
- }
-
- fclose(file);
- return filename;
- }
-
- std::string create_dir(std::string filename) {
- filename = sanitize_path(std::move(filename));
- fs_helper_run(fs_make_cmd("create_dir", filename));
- return filename;
- }
-
- std::string create_symlink(std::string source, std::string to) {
- source = sanitize_path(std::move(source));
- to = sanitize_path(std::move(to));
- fs_helper_run(fs_make_cmd("create_symlink", source, to));
- return to;
- }
-
- std::string create_hardlink(std::string source, std::string to) {
- source = sanitize_path(std::move(source));
- to = sanitize_path(std::move(to));
- fs_helper_run(fs_make_cmd("create_hardlink", source, to));
- return to;
- }
-
- std::string create_fifo(std::string file) {
- file = sanitize_path(std::move(file));
- fs_helper_run(fs_make_cmd("create_fifo", file));
- return file;
- }
-
- // OS X and FreeBSD doesn't support socket files so we shouldn't even
- // allow tests to call this unguarded.
-#if !defined(__FreeBSD__) && !defined(__APPLE__)
- std::string create_socket(std::string file) {
- file = sanitize_path(std::move(file));
- fs_helper_run(fs_make_cmd("create_socket", file));
- return file;
- }
-#endif
-
- fs::path const test_root;
-
-private:
- static std::string unique_path_suffix() {
- std::string model = "test.%%%%%%";
- for (auto & ch : model) {
- if (ch == '%')
- ch = random_utils::random_hex_char();
- }
- return model;
- }
-
- // This could potentially introduce a filesystem race with other tests
- // running at the same time, but oh well, it's just test code.
- static inline fs::path random_env_path() {
- static const char* env_path = LIBCXX_FILESYSTEM_DYNAMIC_TEST_ROOT;
- fs::path p = fs::path(env_path) / unique_path_suffix();
- assert(p.parent_path() == env_path);
- return p;
- }
-
- static inline std::string make_arg(std::string const& arg) {
- return "'" + arg + "'";
- }
-
- static inline std::string make_arg(std::size_t arg) {
- return std::to_string(arg);
- }
-
- template <class T>
- static inline std::string
- fs_make_cmd(std::string const& cmd_name, T const& arg) {
- return cmd_name + "(" + make_arg(arg) + ")";
- }
-
- template <class T, class U>
- static inline std::string
- fs_make_cmd(std::string const& cmd_name, T const& arg1, U const& arg2) {
- return cmd_name + "(" + make_arg(arg1) + ", " + make_arg(arg2) + ")";
- }
-
- static inline void fs_helper_run(std::string const& raw_cmd) {
- // check that the fs test root in the environment matches what we were
- // compiled with.
- static bool checked = checkDynamicTestRoot();
- ((void)checked);
- std::string cmd = LIBCXX_FILESYSTEM_DYNAMIC_TEST_HELPER;
- cmd += " \"" + raw_cmd + "\"";
- int ret = std::system(cmd.c_str());
- assert(ret == 0);
- }
-
- static bool checkDynamicTestRoot() {
- // LIBCXX_FILESYSTEM_DYNAMIC_TEST_ROOT is expected not to contain symlinks.
- char* fs_root = std::getenv("LIBCXX_FILESYSTEM_DYNAMIC_TEST_ROOT");
- if (!fs_root) {
- std::printf("ERROR: LIBCXX_FILESYSTEM_DYNAMIC_TEST_ROOT must be a defined "
- "environment variable when running the test.\n");
- std::abort();
- }
- if (std::string(fs_root) != LIBCXX_FILESYSTEM_DYNAMIC_TEST_ROOT) {
- std::printf("ERROR: LIBCXX_FILESYSTEM_DYNAMIC_TEST_ROOT environment variable"
- " must have the same value as when the test was compiled.\n");
- std::printf(" Current Value: '%s'\n", fs_root);
- std::printf(" Expected Value: '%s'\n", LIBCXX_FILESYSTEM_DYNAMIC_TEST_ROOT);
- std::abort();
- }
- return true;
- }
-
-};
-
-#endif // LIBCXX_FILESYSTEM_DYNAMIC_TEST_ROOT
-
-// Misc test types
-
-#define CONCAT2(LHS, RHS) LHS##RHS
-#define CONCAT(LHS, RHS) CONCAT2(LHS, RHS)
-#define MKSTR(Str) {Str, CONCAT(L, Str), CONCAT(u, Str), CONCAT(U, Str)}
-
-struct MultiStringType {
- const char* s;
- const wchar_t* w;
- const char16_t* u16;
- const char32_t* u32;
-
- operator const char* () const { return s; }
- operator const wchar_t* () const { return w; }
- operator const char16_t* () const { return u16; }
- operator const char32_t* () const { return u32; }
-};
-
-const MultiStringType PathList[] = {
- MKSTR(""),
- MKSTR(" "),
- MKSTR("//"),
- MKSTR("."),
- MKSTR(".."),
- MKSTR("foo"),
- MKSTR("/"),
- MKSTR("/foo"),
- MKSTR("foo/"),
- MKSTR("/foo/"),
- MKSTR("foo/bar"),
- MKSTR("/foo/bar"),
- MKSTR("//net"),
- MKSTR("//net/foo"),
- MKSTR("///foo///"),
- MKSTR("///foo///bar"),
- MKSTR("/."),
- MKSTR("./"),
- MKSTR("/.."),
- MKSTR("../"),
- MKSTR("foo/."),
- MKSTR("foo/.."),
- MKSTR("foo/./"),
- MKSTR("foo/./bar"),
- MKSTR("foo/../"),
- MKSTR("foo/../bar"),
- MKSTR("c:"),
- MKSTR("c:/"),
- MKSTR("c:foo"),
- MKSTR("c:/foo"),
- MKSTR("c:foo/"),
- MKSTR("c:/foo/"),
- MKSTR("c:/foo/bar"),
- MKSTR("prn:"),
- MKSTR("c:\\"),
- MKSTR("c:\\foo"),
- MKSTR("c:foo\\"),
- MKSTR("c:\\foo\\"),
- MKSTR("c:\\foo/"),
- MKSTR("c:/foo\\bar"),
- MKSTR("//"),
- MKSTR("/finally/we/need/one/really/really/really/really/really/really/really/long/string")
-};
-const unsigned PathListSize = sizeof(PathList) / sizeof(MultiStringType);
-
-template <class Iter>
-Iter IterEnd(Iter B) {
- using VT = typename std::iterator_traits<Iter>::value_type;
- for (; *B != VT{}; ++B)
- ;
- return B;
-}
-
-template <class CharT>
-const CharT* StrEnd(CharT const* P) {
- return IterEnd(P);
-}
-
-template <class CharT>
-std::size_t StrLen(CharT const* P) {
- return StrEnd(P) - P;
-}
-
-// Testing the allocation behavior of the code_cvt functions requires
-// *knowing* that the allocation was not done by "path::__str_".
-// This hack forces path to allocate enough memory.
-inline void PathReserve(fs::path& p, std::size_t N) {
- auto const& native_ref = p.native();
- const_cast<std::string&>(native_ref).reserve(N);
-}
-
-template <class Iter1, class Iter2>
-bool checkCollectionsEqual(
- Iter1 start1, Iter1 const end1
- , Iter2 start2, Iter2 const end2
- )
-{
- while (start1 != end1 && start2 != end2) {
- if (*start1 != *start2) {
- return false;
- }
- ++start1; ++start2;
- }
- return (start1 == end1 && start2 == end2);
-}
-
-
-template <class Iter1, class Iter2>
-bool checkCollectionsEqualBackwards(
- Iter1 const start1, Iter1 end1
- , Iter2 const start2, Iter2 end2
- )
-{
- while (start1 != end1 && start2 != end2) {
- --end1; --end2;
- if (*end1 != *end2) {
- return false;
- }
- }
- return (start1 == end1 && start2 == end2);
-}
-
-// We often need to test that the error_code was cleared if no error occurs
-// this function returns an error_code which is set to an error that will
-// never be returned by the filesystem functions.
-inline std::error_code GetTestEC(unsigned Idx = 0) {
- using std::errc;
- auto GetErrc = [&]() {
- switch (Idx) {
- case 0:
- return errc::address_family_not_supported;
- case 1:
- return errc::address_not_available;
- case 2:
- return errc::address_in_use;
- case 3:
- return errc::argument_list_too_long;
- default:
- assert(false && "Idx out of range");
- std::abort();
- }
- };
- return std::make_error_code(GetErrc());
-}
-
-inline bool ErrorIsImp(const std::error_code& ec,
- std::vector<std::errc> const& errors) {
- for (auto errc : errors) {
- if (ec == std::make_error_code(errc))
- return true;
- }
- return false;
-}
-
-template <class... ErrcT>
-inline bool ErrorIs(const std::error_code& ec, std::errc First, ErrcT... Rest) {
- std::vector<std::errc> errors = {First, Rest...};
- return ErrorIsImp(ec, errors);
-}
-
-// Provide our own Sleep routine since std::this_thread::sleep_for is not
-// available in single-threaded mode.
-void SleepFor(std::chrono::seconds dur) {
- using namespace std::chrono;
-#if defined(_LIBCPP_HAS_NO_MONOTONIC_CLOCK)
- using Clock = system_clock;
-#else
- using Clock = steady_clock;
-#endif
- const auto wake_time = Clock::now() + dur;
- while (Clock::now() < wake_time)
- ;
-}
-
-inline bool PathEq(fs::path const& LHS, fs::path const& RHS) {
- return LHS.native() == RHS.native();
-}
-
-struct ExceptionChecker {
- std::errc expected_err;
- fs::path expected_path1;
- fs::path expected_path2;
- unsigned num_paths;
- const char* func_name;
- std::string opt_message;
-
- explicit ExceptionChecker(std::errc first_err, const char* func_name,
- std::string opt_msg = {})
- : expected_err{first_err}, num_paths(0), func_name(func_name),
- opt_message(opt_msg) {}
- explicit ExceptionChecker(fs::path p, std::errc first_err,
- const char* func_name, std::string opt_msg = {})
- : expected_err(first_err), expected_path1(p), num_paths(1),
- func_name(func_name), opt_message(opt_msg) {}
-
- explicit ExceptionChecker(fs::path p1, fs::path p2, std::errc first_err,
- const char* func_name, std::string opt_msg = {})
- : expected_err(first_err), expected_path1(p1), expected_path2(p2),
- num_paths(2), func_name(func_name), opt_message(opt_msg) {}
-
- void operator()(fs::filesystem_error const& Err) {
- TEST_CHECK(ErrorIsImp(Err.code(), {expected_err}));
- TEST_CHECK(Err.path1() == expected_path1);
- TEST_CHECK(Err.path2() == expected_path2);
- LIBCPP_ONLY(check_libcxx_string(Err));
- }
-
- void check_libcxx_string(fs::filesystem_error const& Err) {
- std::string message = std::make_error_code(expected_err).message();
-
- std::string additional_msg = "";
- if (!opt_message.empty()) {
- additional_msg = opt_message + ": ";
- }
- auto transform_path = [](const fs::path& p) {
- if (p.native().empty())
- return "\"\"";
- return p.c_str();
- };
- std::string format = [&]() -> std::string {
- switch (num_paths) {
- case 0:
- return format_string("filesystem error: in %s: %s%s", func_name,
- additional_msg, message);
- case 1:
- return format_string("filesystem error: in %s: %s%s [%s]", func_name,
- additional_msg, message,
- transform_path(expected_path1));
- case 2:
- return format_string("filesystem error: in %s: %s%s [%s] [%s]",
- func_name, additional_msg, message,
- transform_path(expected_path1),
- transform_path(expected_path2));
- default:
- TEST_CHECK(false && "unexpected case");
- return "";
- }
- }();
- TEST_CHECK(format == Err.what());
- if (format != Err.what()) {
- fprintf(stderr,
- "filesystem_error::what() does not match expected output:\n");
- fprintf(stderr, " expected: \"%s\"\n", format.c_str());
- fprintf(stderr, " actual: \"%s\"\n\n", Err.what());
- }
- }
-
- ExceptionChecker(ExceptionChecker const&) = delete;
- ExceptionChecker& operator=(ExceptionChecker const&) = delete;
-
-};
-
-#endif /* FILESYSTEM_TEST_HELPER_HPP */
Added: libcxx/trunk/test/support/format_string.h
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/support/format_string.h?rev=369481&view=auto
==============================================================================
--- libcxx/trunk/test/support/format_string.h (added)
+++ libcxx/trunk/test/support/format_string.h Tue Aug 20 17:14:12 2019
@@ -0,0 +1,71 @@
+#ifndef TEST_SUPPORT_FORMAT_STRING_H
+#define TEST_SUPPORT_FORMAT_STRING_H
+
+#include <cstdio>
+#include <string>
+#include <memory>
+#include <array>
+#include <cstdarg>
+
+namespace format_string_detail {
+inline std::string format_string_imp(const char* msg, ...) {
+ // we might need a second shot at this, so pre-emptivly make a copy
+ struct GuardVAList {
+ va_list& xtarget;
+ bool active;
+ GuardVAList(va_list& val) : xtarget(val), active(true) {}
+
+ void clear() {
+ if (active)
+ va_end(xtarget);
+ active = false;
+ }
+ ~GuardVAList() {
+ if (active)
+ va_end(xtarget);
+ }
+ };
+ va_list args;
+ va_start(args, msg);
+ GuardVAList args_guard(args);
+
+ va_list args_cp;
+ va_copy(args_cp, args);
+ GuardVAList args_copy_guard(args_cp);
+
+ std::array<char, 256> local_buff;
+ std::size_t size = local_buff.size();
+ auto ret = ::vsnprintf(local_buff.data(), size, msg, args_cp);
+
+ args_copy_guard.clear();
+
+ // handle empty expansion
+ if (ret == 0)
+ return std::string{};
+ if (static_cast<std::size_t>(ret) < size)
+ return std::string(local_buff.data());
+
+ // we did not provide a long enough buffer on our first attempt.
+ // add 1 to size to account for null-byte in size cast to prevent overflow
+ size = static_cast<std::size_t>(ret) + 1;
+ auto buff_ptr = std::unique_ptr<char[]>(new char[size]);
+ ret = ::vsnprintf(buff_ptr.get(), size, msg, args);
+ return std::string(buff_ptr.get());
+}
+
+const char* unwrap(std::string& s) { return s.c_str(); }
+template <class Arg>
+Arg const& unwrap(Arg& a) {
+ static_assert(!std::is_class<Arg>::value, "cannot pass class here");
+ return a;
+}
+
+} // namespace format_string_detail
+
+template <class... Args>
+std::string format_string(const char* fmt, Args const&... args) {
+ return format_string_detail::format_string_imp(
+ fmt, format_string_detail::unwrap(const_cast<Args&>(args))...);
+}
+
+#endif // TEST_SUPPORT_FORMAT_STRING_HPP
Removed: libcxx/trunk/test/support/format_string.hpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/support/format_string.hpp?rev=369480&view=auto
==============================================================================
--- libcxx/trunk/test/support/format_string.hpp (original)
+++ libcxx/trunk/test/support/format_string.hpp (removed)
@@ -1,71 +0,0 @@
-#ifndef TEST_SUPPORT_FORMAT_STRING_HPP
-#define TEST_SUPPORT_FORMAT_STRING_HPP
-
-#include <cstdio>
-#include <string>
-#include <memory>
-#include <array>
-#include <cstdarg>
-
-namespace format_string_detail {
-inline std::string format_string_imp(const char* msg, ...) {
- // we might need a second shot at this, so pre-emptivly make a copy
- struct GuardVAList {
- va_list& xtarget;
- bool active;
- GuardVAList(va_list& val) : xtarget(val), active(true) {}
-
- void clear() {
- if (active)
- va_end(xtarget);
- active = false;
- }
- ~GuardVAList() {
- if (active)
- va_end(xtarget);
- }
- };
- va_list args;
- va_start(args, msg);
- GuardVAList args_guard(args);
-
- va_list args_cp;
- va_copy(args_cp, args);
- GuardVAList args_copy_guard(args_cp);
-
- std::array<char, 256> local_buff;
- std::size_t size = local_buff.size();
- auto ret = ::vsnprintf(local_buff.data(), size, msg, args_cp);
-
- args_copy_guard.clear();
-
- // handle empty expansion
- if (ret == 0)
- return std::string{};
- if (static_cast<std::size_t>(ret) < size)
- return std::string(local_buff.data());
-
- // we did not provide a long enough buffer on our first attempt.
- // add 1 to size to account for null-byte in size cast to prevent overflow
- size = static_cast<std::size_t>(ret) + 1;
- auto buff_ptr = std::unique_ptr<char[]>(new char[size]);
- ret = ::vsnprintf(buff_ptr.get(), size, msg, args);
- return std::string(buff_ptr.get());
-}
-
-const char* unwrap(std::string& s) { return s.c_str(); }
-template <class Arg>
-Arg const& unwrap(Arg& a) {
- static_assert(!std::is_class<Arg>::value, "cannot pass class here");
- return a;
-}
-
-} // namespace format_string_detail
-
-template <class... Args>
-std::string format_string(const char* fmt, Args const&... args) {
- return format_string_detail::format_string_imp(
- fmt, format_string_detail::unwrap(const_cast<Args&>(args))...);
-}
-
-#endif // TEST_SUPPORT_FORMAT_STRING_HPP
Added: libcxx/trunk/test/support/msvc_stdlib_force_include.h
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/support/msvc_stdlib_force_include.h?rev=369481&view=auto
==============================================================================
--- libcxx/trunk/test/support/msvc_stdlib_force_include.h (added)
+++ libcxx/trunk/test/support/msvc_stdlib_force_include.h Tue Aug 20 17:14:12 2019
@@ -0,0 +1,92 @@
+//===----------------------------------------------------------------------===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef SUPPORT_MSVC_STDLIB_FORCE_INCLUDE_H
+#define SUPPORT_MSVC_STDLIB_FORCE_INCLUDE_H
+
+// This header is force-included when running the libc++ tests against the
+// MSVC standard library.
+
+#ifndef _LIBCXX_IN_DEVCRT
+ // Silence warnings about CRT machinery.
+ #define _CRT_SECURE_NO_WARNINGS
+
+ // Avoid assertion dialogs.
+ #define _CRT_SECURE_INVALID_PARAMETER(EXPR) ::abort()
+#endif // _LIBCXX_IN_DEVCRT
+
+#include <crtdbg.h>
+#include <stdlib.h>
+
+#if defined(_LIBCPP_VERSION)
+ #error This header may not be used when targeting libc++
+#endif
+
+#ifndef _LIBCXX_IN_DEVCRT
+struct AssertionDialogAvoider {
+ AssertionDialogAvoider() {
+ _CrtSetReportMode(_CRT_ASSERT, _CRTDBG_MODE_FILE);
+ _CrtSetReportFile(_CRT_ASSERT, _CRTDBG_FILE_STDERR);
+
+ _CrtSetReportMode(_CRT_ERROR, _CRTDBG_MODE_FILE);
+ _CrtSetReportFile(_CRT_ERROR, _CRTDBG_FILE_STDERR);
+ }
+};
+
+const AssertionDialogAvoider assertion_dialog_avoider{};
+#endif // _LIBCXX_IN_DEVCRT
+
+// MSVC frontend only configurations
+#if !defined(__clang__)
+ // Simulate feature-test macros.
+ #define __has_feature(X) _MSVC_HAS_FEATURE_ ## X
+ #define _MSVC_HAS_FEATURE_cxx_exceptions 1
+ #define _MSVC_HAS_FEATURE_cxx_rtti 1
+ #define _MSVC_HAS_FEATURE_address_sanitizer 0
+ #define _MSVC_HAS_FEATURE_memory_sanitizer 0
+ #define _MSVC_HAS_FEATURE_thread_sanitizer 0
+
+ #define __has_attribute(X) _MSVC_HAS_ATTRIBUTE_ ## X
+ #define _MSVC_HAS_ATTRIBUTE_vector_size 0
+
+ // Silence compiler warnings.
+ #pragma warning(disable: 4180) // qualifier applied to function type has no meaning; ignored
+ #pragma warning(disable: 4324) // structure was padded due to alignment specifier
+ #pragma warning(disable: 4521) // multiple copy constructors specified
+ #pragma warning(disable: 4702) // unreachable code
+ #pragma warning(disable: 28251) // Inconsistent annotation for 'new': this instance has no annotations.
+#endif // !defined(__clang__)
+
+// MSVC doesn't have __int128_t.
+#define _LIBCPP_HAS_NO_INT128
+
+// MSVC has quick_exit() and at_quick_exit().
+#define _LIBCPP_HAS_QUICK_EXIT
+
+#ifndef _LIBCXX_IN_DEVCRT
+ // atomic_is_lock_free.pass.cpp needs this VS 2015 Update 2 fix.
+ #define _ENABLE_ATOMIC_ALIGNMENT_FIX
+
+ // Silence warnings about features that are deprecated in C++17 and C++20.
+ #define _SILENCE_ALL_CXX17_DEPRECATION_WARNINGS
+ #define _SILENCE_ALL_CXX20_DEPRECATION_WARNINGS
+#endif // _LIBCXX_IN_DEVCRT
+
+#include <ciso646>
+
+#if _HAS_CXX20
+ #define TEST_STD_VER 99
+#elif _HAS_CXX17
+ #define TEST_STD_VER 17
+#else // !(_HAS_CXX20 || _HAS_CXX17)
+ #define TEST_STD_VER 14
+#endif
+
+#define _LIBCPP_AVAILABILITY_THROW_BAD_ANY_CAST
+
+#endif // SUPPORT_MSVC_STDLIB_FORCE_INCLUDE_H
Removed: libcxx/trunk/test/support/msvc_stdlib_force_include.hpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/support/msvc_stdlib_force_include.hpp?rev=369480&view=auto
==============================================================================
--- libcxx/trunk/test/support/msvc_stdlib_force_include.hpp (original)
+++ libcxx/trunk/test/support/msvc_stdlib_force_include.hpp (removed)
@@ -1,92 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef SUPPORT_MSVC_STDLIB_FORCE_INCLUDE_HPP
-#define SUPPORT_MSVC_STDLIB_FORCE_INCLUDE_HPP
-
-// This header is force-included when running the libc++ tests against the
-// MSVC standard library.
-
-#ifndef _LIBCXX_IN_DEVCRT
- // Silence warnings about CRT machinery.
- #define _CRT_SECURE_NO_WARNINGS
-
- // Avoid assertion dialogs.
- #define _CRT_SECURE_INVALID_PARAMETER(EXPR) ::abort()
-#endif // _LIBCXX_IN_DEVCRT
-
-#include <crtdbg.h>
-#include <stdlib.h>
-
-#if defined(_LIBCPP_VERSION)
- #error This header may not be used when targeting libc++
-#endif
-
-#ifndef _LIBCXX_IN_DEVCRT
-struct AssertionDialogAvoider {
- AssertionDialogAvoider() {
- _CrtSetReportMode(_CRT_ASSERT, _CRTDBG_MODE_FILE);
- _CrtSetReportFile(_CRT_ASSERT, _CRTDBG_FILE_STDERR);
-
- _CrtSetReportMode(_CRT_ERROR, _CRTDBG_MODE_FILE);
- _CrtSetReportFile(_CRT_ERROR, _CRTDBG_FILE_STDERR);
- }
-};
-
-const AssertionDialogAvoider assertion_dialog_avoider{};
-#endif // _LIBCXX_IN_DEVCRT
-
-// MSVC frontend only configurations
-#if !defined(__clang__)
- // Simulate feature-test macros.
- #define __has_feature(X) _MSVC_HAS_FEATURE_ ## X
- #define _MSVC_HAS_FEATURE_cxx_exceptions 1
- #define _MSVC_HAS_FEATURE_cxx_rtti 1
- #define _MSVC_HAS_FEATURE_address_sanitizer 0
- #define _MSVC_HAS_FEATURE_memory_sanitizer 0
- #define _MSVC_HAS_FEATURE_thread_sanitizer 0
-
- #define __has_attribute(X) _MSVC_HAS_ATTRIBUTE_ ## X
- #define _MSVC_HAS_ATTRIBUTE_vector_size 0
-
- // Silence compiler warnings.
- #pragma warning(disable: 4180) // qualifier applied to function type has no meaning; ignored
- #pragma warning(disable: 4324) // structure was padded due to alignment specifier
- #pragma warning(disable: 4521) // multiple copy constructors specified
- #pragma warning(disable: 4702) // unreachable code
- #pragma warning(disable: 28251) // Inconsistent annotation for 'new': this instance has no annotations.
-#endif // !defined(__clang__)
-
-// MSVC doesn't have __int128_t.
-#define _LIBCPP_HAS_NO_INT128
-
-// MSVC has quick_exit() and at_quick_exit().
-#define _LIBCPP_HAS_QUICK_EXIT
-
-#ifndef _LIBCXX_IN_DEVCRT
- // atomic_is_lock_free.pass.cpp needs this VS 2015 Update 2 fix.
- #define _ENABLE_ATOMIC_ALIGNMENT_FIX
-
- // Silence warnings about features that are deprecated in C++17 and C++20.
- #define _SILENCE_ALL_CXX17_DEPRECATION_WARNINGS
- #define _SILENCE_ALL_CXX20_DEPRECATION_WARNINGS
-#endif // _LIBCXX_IN_DEVCRT
-
-#include <ciso646>
-
-#if _HAS_CXX20
- #define TEST_STD_VER 99
-#elif _HAS_CXX17
- #define TEST_STD_VER 17
-#else // !(_HAS_CXX20 || _HAS_CXX17)
- #define TEST_STD_VER 14
-#endif
-
-#define _LIBCPP_AVAILABILITY_THROW_BAD_ANY_CAST
-
-#endif // SUPPORT_MSVC_STDLIB_FORCE_INCLUDE_HPP
Added: libcxx/trunk/test/support/nasty_containers.h
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/support/nasty_containers.h?rev=369481&view=auto
==============================================================================
--- libcxx/trunk/test/support/nasty_containers.h (added)
+++ libcxx/trunk/test/support/nasty_containers.h Tue Aug 20 17:14:12 2019
@@ -0,0 +1,312 @@
+//===----------------------------------------------------------------------===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef NASTY_CONTAINERS_H
+#define NASTY_CONTAINERS_H
+
+#include <cassert>
+#include <vector>
+#include <list>
+
+#include "test_macros.h"
+
+template <class T>
+class nasty_vector
+{
+public:
+ typedef typename std::vector<T> nested_container;
+ typedef typename nested_container::value_type value_type;
+ typedef typename nested_container::reference reference;
+ typedef typename nested_container::const_reference const_reference;
+ typedef typename nested_container::iterator iterator;
+ typedef typename nested_container::const_iterator const_iterator;
+
+ typedef typename nested_container::size_type size_type;
+ typedef typename nested_container::difference_type difference_type;
+ typedef typename nested_container::pointer pointer;
+ typedef typename nested_container::const_pointer const_pointer;
+
+ typedef typename nested_container::reverse_iterator reverse_iterator;
+ typedef typename nested_container::const_reverse_iterator const_reverse_iterator;
+
+ nasty_vector() : v_() {}
+ explicit nasty_vector(size_type n) : v_(n) {}
+ nasty_vector(size_type n, const value_type& value) : v_(n, value) {}
+ template <class InputIterator> nasty_vector(InputIterator first, InputIterator last) : v_(first, last) {}
+#if TEST_STD_VER >= 11
+ nasty_vector(std::initializer_list<value_type> il) : v_(il) {}
+#endif
+ ~nasty_vector() {}
+
+ template <class InputIterator>
+ void assign(InputIterator first, InputIterator last) { v_.assign(first, last); }
+ void assign(size_type n, const value_type& u) { v_.assign(n, u); }
+#if TEST_STD_VER >= 11
+ void assign(std::initializer_list<value_type> il) { v_.assign(il); }
+#endif
+
+ iterator begin() TEST_NOEXCEPT { return v_.begin(); }
+ const_iterator begin() const TEST_NOEXCEPT { return v_.begin(); }
+ iterator end() TEST_NOEXCEPT { return v_.end(); }
+ const_iterator end() const TEST_NOEXCEPT { return v_.end(); }
+
+ reverse_iterator rbegin() TEST_NOEXCEPT { return v_.rbegin(); }
+ const_reverse_iterator rbegin() const TEST_NOEXCEPT { return v_.rbegin(); }
+ reverse_iterator rend() TEST_NOEXCEPT { return v_.rend(); }
+ const_reverse_iterator rend() const TEST_NOEXCEPT { return v_.rend(); }
+
+ const_iterator cbegin() const TEST_NOEXCEPT { return v_.cbegin(); }
+ const_iterator cend() const TEST_NOEXCEPT { return v_.cend(); }
+ const_reverse_iterator crbegin() const TEST_NOEXCEPT { return v_.crbegin(); }
+ const_reverse_iterator crend() const TEST_NOEXCEPT { return v_.crend(); }
+
+ size_type size() const TEST_NOEXCEPT { return v_.size(); }
+ size_type max_size() const TEST_NOEXCEPT { return v_.max_size(); }
+ size_type capacity() const TEST_NOEXCEPT { return v_.capacity(); }
+ bool empty() const TEST_NOEXCEPT { return v_.empty(); }
+ void reserve(size_type n) { v_.reserve(n); };
+ void shrink_to_fit() TEST_NOEXCEPT { v_.shrink_to_fit(); }
+
+ reference operator[](size_type n) { return v_[n]; }
+ const_reference operator[](size_type n) const { return v_[n]; }
+ reference at(size_type n) { return v_.at(n); }
+ const_reference at(size_type n) const { return v_.at(n); }
+
+ reference front() { return v_.front(); }
+ const_reference front() const { return v_.front(); }
+ reference back() { return v_.back(); }
+ const_reference back() const { return v_.back(); }
+
+ value_type* data() TEST_NOEXCEPT { return v_.data(); }
+ const value_type* data() const TEST_NOEXCEPT { return v_.data(); }
+
+ void push_back(const value_type& x) { v_.push_back(x); }
+#if TEST_STD_VER >= 11
+ void push_back(value_type&& x) { v_.push_back(std::forward<value_type&&>(x)); }
+ template <class... Args>
+ void emplace_back(Args&&... args) { v_.emplace_back(std::forward<Args>(args)...); }
+#endif
+ void pop_back() { v_.pop_back(); }
+
+#if TEST_STD_VER >= 11
+ template <class... Args> iterator emplace(const_iterator pos, Args&&... args)
+ { return v_.emplace(pos, std::forward<Args>(args)...); }
+#endif
+
+ iterator insert(const_iterator pos, const value_type& x) { return v_.insert(pos, x); }
+#if TEST_STD_VER >= 11
+ iterator insert(const_iterator pos, value_type&& x) { return v_.insert(pos, std::forward<value_type>(x)); }
+#endif
+ iterator insert(const_iterator pos, size_type n, const value_type& x) { return v_.insert(pos, n, x); }
+ template <class InputIterator>
+ iterator insert(const_iterator pos, InputIterator first, InputIterator last)
+ { return v_.insert(pos, first, last); }
+
+#if TEST_STD_VER >= 11
+ iterator insert(const_iterator pos, std::initializer_list<value_type> il) { return v_.insert(pos, il); }
+#endif
+
+ iterator erase(const_iterator pos) { return v_.erase(pos); }
+ iterator erase(const_iterator first, const_iterator last) { return v_.erase(first, last); }
+
+ void clear() TEST_NOEXCEPT { v_.clear(); }
+
+ void resize(size_type sz) { v_.resize(sz); }
+ void resize(size_type sz, const value_type& c) { v_.resize(sz, c); }
+
+ void swap(nasty_vector &nv)
+#if TEST_STD_VER > 14
+ noexcept(std::is_nothrow_swappable<nested_container>::value)
+#elif defined(_LIBCPP_VERSION)
+ TEST_NOEXCEPT_COND(std::__is_nothrow_swappable<nested_container>::value)
+#endif
+ { v_.swap(nv.v_); }
+
+ nasty_vector *operator &() { assert(false); return nullptr; } // nasty
+ const nasty_vector *operator &() const { assert(false); return nullptr; } // nasty
+
+ nested_container v_;
+};
+
+template <class T>
+bool operator==(const nasty_vector<T>& x, const nasty_vector<T>& y) { return x.v_ == y.v_; }
+
+template <class T>
+class nasty_list
+{
+public:
+
+ typedef typename std::list<T> nested_container;
+ typedef typename nested_container::value_type value_type;
+ typedef typename nested_container::reference reference;
+ typedef typename nested_container::const_reference const_reference;
+ typedef typename nested_container::iterator iterator;
+ typedef typename nested_container::const_iterator const_iterator;
+
+ typedef typename nested_container::size_type size_type;
+ typedef typename nested_container::difference_type difference_type;
+ typedef typename nested_container::pointer pointer;
+ typedef typename nested_container::const_pointer const_pointer;
+
+ typedef typename nested_container::reverse_iterator reverse_iterator;
+ typedef typename nested_container::const_reverse_iterator const_reverse_iterator;
+
+ nasty_list() : l_() {}
+ explicit nasty_list(size_type n) : l_(n) {}
+ nasty_list(size_type n, const value_type& value) : l_(n,value) {}
+ template <class Iter>
+ nasty_list(Iter first, Iter last) : l_(first, last) {}
+#if TEST_STD_VER >= 11
+ nasty_list(std::initializer_list<value_type> il) : l_(il) {}
+#endif
+
+ ~nasty_list() {}
+
+#if TEST_STD_VER >= 11
+ nasty_list& operator=(std::initializer_list<value_type> il) { l_ = il; return *this; }
+#endif
+ template <class Iter>
+ void assign(Iter first, Iter last) { l_.assign(first, last); }
+ void assign(size_type n, const value_type& t) { l_.assign(n, t); }
+#if TEST_STD_VER >= 11
+ void assign(std::initializer_list<value_type> il) { l_.assign(il); }
+#endif
+
+
+ iterator begin() TEST_NOEXCEPT { return l_.begin(); }
+ const_iterator begin() const TEST_NOEXCEPT { return l_.begin(); }
+ iterator end() TEST_NOEXCEPT { return l_.end(); }
+ const_iterator end() const TEST_NOEXCEPT { return l_.end(); }
+
+ reverse_iterator rbegin() TEST_NOEXCEPT { return l_.rbegin(); }
+ const_reverse_iterator rbegin() const TEST_NOEXCEPT { return l_.rbegin(); }
+ reverse_iterator rend() TEST_NOEXCEPT { return l_.rend(); }
+ const_reverse_iterator rend() const TEST_NOEXCEPT { return l_.rend(); }
+
+ const_iterator cbegin() const TEST_NOEXCEPT { return l_.cbegin(); }
+ const_iterator cend() const TEST_NOEXCEPT { return l_.cend(); }
+ const_reverse_iterator crbegin() const TEST_NOEXCEPT { return l_.crbegin(); }
+ const_reverse_iterator crend() const TEST_NOEXCEPT { return l_.crend(); }
+
+ reference front() { return l_.front(); }
+ const_reference front() const { return l_.front(); }
+ reference back() { return l_.back(); }
+ const_reference back() const { return l_.back(); }
+
+ size_type size() const TEST_NOEXCEPT { return l_.size(); }
+ size_type max_size() const TEST_NOEXCEPT { return l_.max_size(); }
+ bool empty() const TEST_NOEXCEPT { return l_.empty(); }
+
+ void push_front(const value_type& x) { l_.push_front(x); }
+ void push_back(const value_type& x) { l_.push_back(x); }
+#if TEST_STD_VER >= 11
+ void push_back(value_type&& x) { l_.push_back(std::forward<value_type&&>(x)); }
+ void push_front(value_type&& x) { l_.push_back(std::forward<value_type&&>(x)); }
+ template <class... Args>
+ void emplace_back(Args&&... args) { l_.emplace_back(std::forward<Args>(args)...); }
+ template <class... Args>
+ void emplace_front(Args&&... args) { l_.emplace_front(std::forward<Args>(args)...); }
+#endif
+ void pop_front() { l_.pop_front(); }
+ void pop_back() { l_.pop_back(); }
+
+#if TEST_STD_VER >= 11
+ template <class... Args> iterator emplace(const_iterator pos, Args&&... args)
+ { return l_.emplace(pos, std::forward<Args>(args)...); }
+#endif
+
+ iterator insert(const_iterator pos, const value_type& x) { return l_.insert(pos, x); }
+#if TEST_STD_VER >= 11
+ iterator insert(const_iterator pos, value_type&& x) { return l_.insert(pos, std::forward<value_type>(x)); }
+#endif
+ iterator insert(const_iterator pos, size_type n, const value_type& x) { return l_.insert(pos, n, x); }
+ template <class InputIterator>
+ iterator insert(const_iterator pos, InputIterator first, InputIterator last)
+ { return l_.insert(pos, first, last); }
+
+#if TEST_STD_VER >= 11
+ iterator insert(const_iterator pos, std::initializer_list<value_type> il) { return l_.insert(pos, il); }
+#endif
+
+ iterator erase(const_iterator pos) { return l_.erase(pos); }
+ iterator erase(const_iterator pos, const_iterator last) { return l_.erase(pos, last); }
+
+ void resize(size_type) { l_.resize(); }
+ void resize(size_type, const value_type& c) { l_.resize(c); }
+
+ void swap(nasty_list &nl)
+#if TEST_STD_VER > 14
+ noexcept(std::is_nothrow_swappable<nested_container>::value)
+#elif defined(_LIBCPP_VERSION)
+ TEST_NOEXCEPT_COND(std::__is_nothrow_swappable<nested_container>::value)
+#endif
+ { l_.swap(nl.l_); }
+
+ void clear() TEST_NOEXCEPT { l_.clear(); }
+
+// void splice(const_iterator position, list& x);
+// void splice(const_iterator position, list&& x);
+// void splice(const_iterator position, list& x, const_iterator i);
+// void splice(const_iterator position, list&& x, const_iterator i);
+// void splice(const_iterator position, list& x, const_iterator first,
+// const_iterator last);
+// void splice(const_iterator position, list&& x, const_iterator first,
+// const_iterator last);
+//
+// void remove(const value_type& value);
+// template <class Pred> void remove_if(Pred pred);
+// void unique();
+// template <class BinaryPredicate>
+// void unique(BinaryPredicate binary_pred);
+// void merge(list& x);
+// void merge(list&& x);
+// template <class Compare>
+// void merge(list& x, Compare comp);
+// template <class Compare>
+// void merge(list&& x, Compare comp);
+// void sort();
+// template <class Compare>
+// void sort(Compare comp);
+// void reverse() noexcept;
+
+ nasty_list *operator &() { assert(false); return nullptr; } // nasty
+ const nasty_list *operator &() const { assert(false); return nullptr; } // nasty
+
+ nested_container l_;
+};
+
+template <class T>
+bool operator==(const nasty_list<T>& x, const nasty_list<T>& y) { return x.l_ == y.l_; }
+
+// Not really a mutex, but can play one in tests
+class nasty_mutex
+{
+public:
+ nasty_mutex() TEST_NOEXCEPT {}
+ ~nasty_mutex() {}
+
+ nasty_mutex *operator& () { assert(false); return nullptr; }
+ template <typename T>
+ void operator, (const T &) { assert(false); }
+
+private:
+ nasty_mutex(const nasty_mutex&) { assert(false); }
+ nasty_mutex& operator=(const nasty_mutex&) { assert(false); return *this; }
+
+public:
+ void lock() {}
+ bool try_lock() TEST_NOEXCEPT { return true; }
+ void unlock() TEST_NOEXCEPT {}
+
+ // Shared ownership
+ void lock_shared() {}
+ bool try_lock_shared() { return true; }
+ void unlock_shared() {}
+};
+
+#endif
Removed: libcxx/trunk/test/support/nasty_containers.hpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/support/nasty_containers.hpp?rev=369480&view=auto
==============================================================================
--- libcxx/trunk/test/support/nasty_containers.hpp (original)
+++ libcxx/trunk/test/support/nasty_containers.hpp (removed)
@@ -1,312 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef NASTY_CONTAINERS_H
-#define NASTY_CONTAINERS_H
-
-#include <cassert>
-#include <vector>
-#include <list>
-
-#include "test_macros.h"
-
-template <class T>
-class nasty_vector
-{
-public:
- typedef typename std::vector<T> nested_container;
- typedef typename nested_container::value_type value_type;
- typedef typename nested_container::reference reference;
- typedef typename nested_container::const_reference const_reference;
- typedef typename nested_container::iterator iterator;
- typedef typename nested_container::const_iterator const_iterator;
-
- typedef typename nested_container::size_type size_type;
- typedef typename nested_container::difference_type difference_type;
- typedef typename nested_container::pointer pointer;
- typedef typename nested_container::const_pointer const_pointer;
-
- typedef typename nested_container::reverse_iterator reverse_iterator;
- typedef typename nested_container::const_reverse_iterator const_reverse_iterator;
-
- nasty_vector() : v_() {}
- explicit nasty_vector(size_type n) : v_(n) {}
- nasty_vector(size_type n, const value_type& value) : v_(n, value) {}
- template <class InputIterator> nasty_vector(InputIterator first, InputIterator last) : v_(first, last) {}
-#if TEST_STD_VER >= 11
- nasty_vector(std::initializer_list<value_type> il) : v_(il) {}
-#endif
- ~nasty_vector() {}
-
- template <class InputIterator>
- void assign(InputIterator first, InputIterator last) { v_.assign(first, last); }
- void assign(size_type n, const value_type& u) { v_.assign(n, u); }
-#if TEST_STD_VER >= 11
- void assign(std::initializer_list<value_type> il) { v_.assign(il); }
-#endif
-
- iterator begin() TEST_NOEXCEPT { return v_.begin(); }
- const_iterator begin() const TEST_NOEXCEPT { return v_.begin(); }
- iterator end() TEST_NOEXCEPT { return v_.end(); }
- const_iterator end() const TEST_NOEXCEPT { return v_.end(); }
-
- reverse_iterator rbegin() TEST_NOEXCEPT { return v_.rbegin(); }
- const_reverse_iterator rbegin() const TEST_NOEXCEPT { return v_.rbegin(); }
- reverse_iterator rend() TEST_NOEXCEPT { return v_.rend(); }
- const_reverse_iterator rend() const TEST_NOEXCEPT { return v_.rend(); }
-
- const_iterator cbegin() const TEST_NOEXCEPT { return v_.cbegin(); }
- const_iterator cend() const TEST_NOEXCEPT { return v_.cend(); }
- const_reverse_iterator crbegin() const TEST_NOEXCEPT { return v_.crbegin(); }
- const_reverse_iterator crend() const TEST_NOEXCEPT { return v_.crend(); }
-
- size_type size() const TEST_NOEXCEPT { return v_.size(); }
- size_type max_size() const TEST_NOEXCEPT { return v_.max_size(); }
- size_type capacity() const TEST_NOEXCEPT { return v_.capacity(); }
- bool empty() const TEST_NOEXCEPT { return v_.empty(); }
- void reserve(size_type n) { v_.reserve(n); };
- void shrink_to_fit() TEST_NOEXCEPT { v_.shrink_to_fit(); }
-
- reference operator[](size_type n) { return v_[n]; }
- const_reference operator[](size_type n) const { return v_[n]; }
- reference at(size_type n) { return v_.at(n); }
- const_reference at(size_type n) const { return v_.at(n); }
-
- reference front() { return v_.front(); }
- const_reference front() const { return v_.front(); }
- reference back() { return v_.back(); }
- const_reference back() const { return v_.back(); }
-
- value_type* data() TEST_NOEXCEPT { return v_.data(); }
- const value_type* data() const TEST_NOEXCEPT { return v_.data(); }
-
- void push_back(const value_type& x) { v_.push_back(x); }
-#if TEST_STD_VER >= 11
- void push_back(value_type&& x) { v_.push_back(std::forward<value_type&&>(x)); }
- template <class... Args>
- void emplace_back(Args&&... args) { v_.emplace_back(std::forward<Args>(args)...); }
-#endif
- void pop_back() { v_.pop_back(); }
-
-#if TEST_STD_VER >= 11
- template <class... Args> iterator emplace(const_iterator pos, Args&&... args)
- { return v_.emplace(pos, std::forward<Args>(args)...); }
-#endif
-
- iterator insert(const_iterator pos, const value_type& x) { return v_.insert(pos, x); }
-#if TEST_STD_VER >= 11
- iterator insert(const_iterator pos, value_type&& x) { return v_.insert(pos, std::forward<value_type>(x)); }
-#endif
- iterator insert(const_iterator pos, size_type n, const value_type& x) { return v_.insert(pos, n, x); }
- template <class InputIterator>
- iterator insert(const_iterator pos, InputIterator first, InputIterator last)
- { return v_.insert(pos, first, last); }
-
-#if TEST_STD_VER >= 11
- iterator insert(const_iterator pos, std::initializer_list<value_type> il) { return v_.insert(pos, il); }
-#endif
-
- iterator erase(const_iterator pos) { return v_.erase(pos); }
- iterator erase(const_iterator first, const_iterator last) { return v_.erase(first, last); }
-
- void clear() TEST_NOEXCEPT { v_.clear(); }
-
- void resize(size_type sz) { v_.resize(sz); }
- void resize(size_type sz, const value_type& c) { v_.resize(sz, c); }
-
- void swap(nasty_vector &nv)
-#if TEST_STD_VER > 14
- noexcept(std::is_nothrow_swappable<nested_container>::value)
-#elif defined(_LIBCPP_VERSION)
- TEST_NOEXCEPT_COND(std::__is_nothrow_swappable<nested_container>::value)
-#endif
- { v_.swap(nv.v_); }
-
- nasty_vector *operator &() { assert(false); return nullptr; } // nasty
- const nasty_vector *operator &() const { assert(false); return nullptr; } // nasty
-
- nested_container v_;
-};
-
-template <class T>
-bool operator==(const nasty_vector<T>& x, const nasty_vector<T>& y) { return x.v_ == y.v_; }
-
-template <class T>
-class nasty_list
-{
-public:
-
- typedef typename std::list<T> nested_container;
- typedef typename nested_container::value_type value_type;
- typedef typename nested_container::reference reference;
- typedef typename nested_container::const_reference const_reference;
- typedef typename nested_container::iterator iterator;
- typedef typename nested_container::const_iterator const_iterator;
-
- typedef typename nested_container::size_type size_type;
- typedef typename nested_container::difference_type difference_type;
- typedef typename nested_container::pointer pointer;
- typedef typename nested_container::const_pointer const_pointer;
-
- typedef typename nested_container::reverse_iterator reverse_iterator;
- typedef typename nested_container::const_reverse_iterator const_reverse_iterator;
-
- nasty_list() : l_() {}
- explicit nasty_list(size_type n) : l_(n) {}
- nasty_list(size_type n, const value_type& value) : l_(n,value) {}
- template <class Iter>
- nasty_list(Iter first, Iter last) : l_(first, last) {}
-#if TEST_STD_VER >= 11
- nasty_list(std::initializer_list<value_type> il) : l_(il) {}
-#endif
-
- ~nasty_list() {}
-
-#if TEST_STD_VER >= 11
- nasty_list& operator=(std::initializer_list<value_type> il) { l_ = il; return *this; }
-#endif
- template <class Iter>
- void assign(Iter first, Iter last) { l_.assign(first, last); }
- void assign(size_type n, const value_type& t) { l_.assign(n, t); }
-#if TEST_STD_VER >= 11
- void assign(std::initializer_list<value_type> il) { l_.assign(il); }
-#endif
-
-
- iterator begin() TEST_NOEXCEPT { return l_.begin(); }
- const_iterator begin() const TEST_NOEXCEPT { return l_.begin(); }
- iterator end() TEST_NOEXCEPT { return l_.end(); }
- const_iterator end() const TEST_NOEXCEPT { return l_.end(); }
-
- reverse_iterator rbegin() TEST_NOEXCEPT { return l_.rbegin(); }
- const_reverse_iterator rbegin() const TEST_NOEXCEPT { return l_.rbegin(); }
- reverse_iterator rend() TEST_NOEXCEPT { return l_.rend(); }
- const_reverse_iterator rend() const TEST_NOEXCEPT { return l_.rend(); }
-
- const_iterator cbegin() const TEST_NOEXCEPT { return l_.cbegin(); }
- const_iterator cend() const TEST_NOEXCEPT { return l_.cend(); }
- const_reverse_iterator crbegin() const TEST_NOEXCEPT { return l_.crbegin(); }
- const_reverse_iterator crend() const TEST_NOEXCEPT { return l_.crend(); }
-
- reference front() { return l_.front(); }
- const_reference front() const { return l_.front(); }
- reference back() { return l_.back(); }
- const_reference back() const { return l_.back(); }
-
- size_type size() const TEST_NOEXCEPT { return l_.size(); }
- size_type max_size() const TEST_NOEXCEPT { return l_.max_size(); }
- bool empty() const TEST_NOEXCEPT { return l_.empty(); }
-
- void push_front(const value_type& x) { l_.push_front(x); }
- void push_back(const value_type& x) { l_.push_back(x); }
-#if TEST_STD_VER >= 11
- void push_back(value_type&& x) { l_.push_back(std::forward<value_type&&>(x)); }
- void push_front(value_type&& x) { l_.push_back(std::forward<value_type&&>(x)); }
- template <class... Args>
- void emplace_back(Args&&... args) { l_.emplace_back(std::forward<Args>(args)...); }
- template <class... Args>
- void emplace_front(Args&&... args) { l_.emplace_front(std::forward<Args>(args)...); }
-#endif
- void pop_front() { l_.pop_front(); }
- void pop_back() { l_.pop_back(); }
-
-#if TEST_STD_VER >= 11
- template <class... Args> iterator emplace(const_iterator pos, Args&&... args)
- { return l_.emplace(pos, std::forward<Args>(args)...); }
-#endif
-
- iterator insert(const_iterator pos, const value_type& x) { return l_.insert(pos, x); }
-#if TEST_STD_VER >= 11
- iterator insert(const_iterator pos, value_type&& x) { return l_.insert(pos, std::forward<value_type>(x)); }
-#endif
- iterator insert(const_iterator pos, size_type n, const value_type& x) { return l_.insert(pos, n, x); }
- template <class InputIterator>
- iterator insert(const_iterator pos, InputIterator first, InputIterator last)
- { return l_.insert(pos, first, last); }
-
-#if TEST_STD_VER >= 11
- iterator insert(const_iterator pos, std::initializer_list<value_type> il) { return l_.insert(pos, il); }
-#endif
-
- iterator erase(const_iterator pos) { return l_.erase(pos); }
- iterator erase(const_iterator pos, const_iterator last) { return l_.erase(pos, last); }
-
- void resize(size_type) { l_.resize(); }
- void resize(size_type, const value_type& c) { l_.resize(c); }
-
- void swap(nasty_list &nl)
-#if TEST_STD_VER > 14
- noexcept(std::is_nothrow_swappable<nested_container>::value)
-#elif defined(_LIBCPP_VERSION)
- TEST_NOEXCEPT_COND(std::__is_nothrow_swappable<nested_container>::value)
-#endif
- { l_.swap(nl.l_); }
-
- void clear() TEST_NOEXCEPT { l_.clear(); }
-
-// void splice(const_iterator position, list& x);
-// void splice(const_iterator position, list&& x);
-// void splice(const_iterator position, list& x, const_iterator i);
-// void splice(const_iterator position, list&& x, const_iterator i);
-// void splice(const_iterator position, list& x, const_iterator first,
-// const_iterator last);
-// void splice(const_iterator position, list&& x, const_iterator first,
-// const_iterator last);
-//
-// void remove(const value_type& value);
-// template <class Pred> void remove_if(Pred pred);
-// void unique();
-// template <class BinaryPredicate>
-// void unique(BinaryPredicate binary_pred);
-// void merge(list& x);
-// void merge(list&& x);
-// template <class Compare>
-// void merge(list& x, Compare comp);
-// template <class Compare>
-// void merge(list&& x, Compare comp);
-// void sort();
-// template <class Compare>
-// void sort(Compare comp);
-// void reverse() noexcept;
-
- nasty_list *operator &() { assert(false); return nullptr; } // nasty
- const nasty_list *operator &() const { assert(false); return nullptr; } // nasty
-
- nested_container l_;
-};
-
-template <class T>
-bool operator==(const nasty_list<T>& x, const nasty_list<T>& y) { return x.l_ == y.l_; }
-
-// Not really a mutex, but can play one in tests
-class nasty_mutex
-{
-public:
- nasty_mutex() TEST_NOEXCEPT {}
- ~nasty_mutex() {}
-
- nasty_mutex *operator& () { assert(false); return nullptr; }
- template <typename T>
- void operator, (const T &) { assert(false); }
-
-private:
- nasty_mutex(const nasty_mutex&) { assert(false); }
- nasty_mutex& operator=(const nasty_mutex&) { assert(false); return *this; }
-
-public:
- void lock() {}
- bool try_lock() TEST_NOEXCEPT { return true; }
- void unlock() TEST_NOEXCEPT {}
-
- // Shared ownership
- void lock_shared() {}
- bool try_lock_shared() { return true; }
- void unlock_shared() {}
-};
-
-#endif
Added: libcxx/trunk/test/support/nasty_macros.h
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/support/nasty_macros.h?rev=369481&view=auto
==============================================================================
--- libcxx/trunk/test/support/nasty_macros.h (added)
+++ libcxx/trunk/test/support/nasty_macros.h Tue Aug 20 17:14:12 2019
@@ -0,0 +1,68 @@
+//===----------------------------------------------------------------------===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+#ifndef SUPPORT_NASTY_MACROS_H
+#define SUPPORT_NASTY_MACROS_H
+
+#define NASTY_MACRO This should not be expanded!!!
+#define _A NASTY_MACRO
+#define _B NASTY_MACRO
+#define _C NASTY_MACRO
+#define _D NASTY_MACRO
+#define _E NASTY_MACRO
+#define _F NASTY_MACRO
+#define _G NASTY_MACRO
+#define _H NASTY_MACRO
+#define _I NASTY_MACRO
+#define _J NASTY_MACRO
+#define _K NASTY_MACRO
+#define _L NASTY_MACRO
+// Because FreeBSD uses _M in its <sys/types.h>, and it is hard to avoid
+// including that header, only define _M for other operating systems.
+#ifndef __FreeBSD__
+#define _M NASTY_MACRO
+#endif
+#define _N NASTY_MACRO
+#define _O NASTY_MACRO
+#define _P NASTY_MACRO
+#define _Q NASTY_MACRO
+#define _R NASTY_MACRO
+#define _S NASTY_MACRO
+#define _T NASTY_MACRO
+#define _U NASTY_MACRO
+#define _V NASTY_MACRO
+#define _W NASTY_MACRO
+#define _X NASTY_MACRO
+#define _Y NASTY_MACRO
+#define _Z NASTY_MACRO
+
+// tchar.h defines these macros on Windows.
+#define _UI NASTY_MACRO
+#define _PUC NASTY_MACRO
+#define _CPUC NASTY_MACRO
+#define _PC NASTY_MACRO
+#define _CRPC NASTY_MACRO
+#define _CPC NASTY_MACRO
+
+// yvals.h on MINGW defines this macro
+#define _C2 NASTY_MACRO
+
+// Test that libc++ doesn't use names reserved by WIN32 API Macros.
+// NOTE: Obviously we can only define these on non-windows platforms.
+#ifndef _WIN32
+#define __allocator NASTY_MACRO
+#define __deallocate NASTY_MACRO
+#define __out NASTY_MACRO
+#endif
+
+#define __output NASTY_MACRO
+#define __input NASTY_MACRO
+
+#define __acquire NASTY_MACRO
+#define __release NASTY_MACRO
+
+#endif // SUPPORT_NASTY_MACROS_H
Removed: libcxx/trunk/test/support/nasty_macros.hpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/support/nasty_macros.hpp?rev=369480&view=auto
==============================================================================
--- libcxx/trunk/test/support/nasty_macros.hpp (original)
+++ libcxx/trunk/test/support/nasty_macros.hpp (removed)
@@ -1,68 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-#ifndef SUPPORT_NASTY_MACROS_HPP
-#define SUPPORT_NASTY_MACROS_HPP
-
-#define NASTY_MACRO This should not be expanded!!!
-#define _A NASTY_MACRO
-#define _B NASTY_MACRO
-#define _C NASTY_MACRO
-#define _D NASTY_MACRO
-#define _E NASTY_MACRO
-#define _F NASTY_MACRO
-#define _G NASTY_MACRO
-#define _H NASTY_MACRO
-#define _I NASTY_MACRO
-#define _J NASTY_MACRO
-#define _K NASTY_MACRO
-#define _L NASTY_MACRO
-// Because FreeBSD uses _M in its <sys/types.h>, and it is hard to avoid
-// including that header, only define _M for other operating systems.
-#ifndef __FreeBSD__
-#define _M NASTY_MACRO
-#endif
-#define _N NASTY_MACRO
-#define _O NASTY_MACRO
-#define _P NASTY_MACRO
-#define _Q NASTY_MACRO
-#define _R NASTY_MACRO
-#define _S NASTY_MACRO
-#define _T NASTY_MACRO
-#define _U NASTY_MACRO
-#define _V NASTY_MACRO
-#define _W NASTY_MACRO
-#define _X NASTY_MACRO
-#define _Y NASTY_MACRO
-#define _Z NASTY_MACRO
-
-// tchar.h defines these macros on Windows.
-#define _UI NASTY_MACRO
-#define _PUC NASTY_MACRO
-#define _CPUC NASTY_MACRO
-#define _PC NASTY_MACRO
-#define _CRPC NASTY_MACRO
-#define _CPC NASTY_MACRO
-
-// yvals.h on MINGW defines this macro
-#define _C2 NASTY_MACRO
-
-// Test that libc++ doesn't use names reserved by WIN32 API Macros.
-// NOTE: Obviously we can only define these on non-windows platforms.
-#ifndef _WIN32
-#define __allocator NASTY_MACRO
-#define __deallocate NASTY_MACRO
-#define __out NASTY_MACRO
-#endif
-
-#define __output NASTY_MACRO
-#define __input NASTY_MACRO
-
-#define __acquire NASTY_MACRO
-#define __release NASTY_MACRO
-
-#endif // SUPPORT_NASTY_MACROS_HPP
Added: libcxx/trunk/test/support/poisoned_hash_helper.h
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/support/poisoned_hash_helper.h?rev=369481&view=auto
==============================================================================
--- libcxx/trunk/test/support/poisoned_hash_helper.h (added)
+++ libcxx/trunk/test/support/poisoned_hash_helper.h Tue Aug 20 17:14:12 2019
@@ -0,0 +1,242 @@
+// -*- C++ -*-
+//===----------------------------------------------------------------------===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+#ifndef SUPPORT_POISONED_HASH_HELPER_H
+#define SUPPORT_POISONED_HASH_HELPER_H
+
+#include <type_traits>
+#include <cassert>
+
+#include "test_macros.h"
+#include "test_workarounds.h"
+
+#if TEST_STD_VER < 11
+#error this header may only be used in C++11 or newer
+#endif
+
+template <class ...Args> struct TypeList;
+
+// Test that the specified Hash meets the requirements of an enabled hash
+template <class Hash, class Key, class InputKey = Key>
+void test_hash_enabled(InputKey const& key = InputKey{});
+
+template <class T, class InputKey = T>
+void test_hash_enabled_for_type(InputKey const& key = InputKey{}) {
+ return test_hash_enabled<std::hash<T>, T, InputKey>(key);
+}
+
+// Test that the specified Hash meets the requirements of a disabled hash.
+template <class Hash, class Key>
+void test_hash_disabled();
+
+template <class T>
+void test_hash_disabled_for_type() {
+ return test_hash_disabled<std::hash<T>, T>();
+}
+
+namespace PoisonedHashDetail {
+ enum Enum {};
+ enum EnumClass : bool {};
+ struct Class {};
+}
+
+// Each header that declares the template hash provides enabled
+// specializations of hash for nullptr t and all cv-unqualified
+// arithmetic, enumeration, and pointer types.
+using LibraryHashTypes = TypeList<
+#if TEST_STD_VER > 14
+ decltype(nullptr),
+#endif
+ bool,
+ char,
+ signed char,
+ unsigned char,
+ wchar_t,
+#ifndef _LIBCPP_HAS_NO_UNICODE_CHARS
+ char16_t,
+ char32_t,
+#endif
+ short,
+ unsigned short,
+ int,
+ unsigned int,
+ long,
+ unsigned long,
+ long long,
+ unsigned long long,
+#ifndef _LIBCPP_HAS_NO_INT128
+ __int128_t,
+ __uint128_t,
+#endif
+ float,
+ double,
+ long double,
+#if TEST_STD_VER >= 14
+ // Enum types
+ PoisonedHashDetail::Enum,
+ PoisonedHashDetail::EnumClass,
+#endif
+ // pointer types
+ void*,
+ void const*,
+ PoisonedHashDetail::Class*
+ >;
+
+
+// Test that each of the library hash specializations for arithmetic types,
+// enum types, and pointer types are available and enabled.
+template <class Types = LibraryHashTypes>
+void test_library_hash_specializations_available(Types = Types{});
+
+
+namespace PoisonedHashDetail {
+
+template <class T, class = typename T::foo_bar_baz>
+constexpr bool instantiate(int) { return true; }
+template <class> constexpr bool instantiate(long) { return true; }
+template <class T> constexpr bool instantiate() { return instantiate<T>(0); }
+
+template <class To>
+struct ConvertibleToSimple {
+ operator To() const {
+ return To{};
+ }
+};
+
+template <class To>
+struct ConvertibleTo {
+ To to{};
+ operator To&() & { return to; }
+ operator To const&() const & { return to; }
+ operator To&&() && { return std::move(to); }
+ operator To const&&() const && { return std::move(to); }
+};
+
+template <class HashExpr,
+ class Res = typename std::result_of<HashExpr>::type>
+constexpr bool can_hash(int) {
+ return std::is_same<Res, size_t>::value;
+}
+template <class> constexpr bool can_hash(long) { return false; }
+template <class T> constexpr bool can_hash() { return can_hash<T>(0); }
+
+} // namespace PoisonedHashDetail
+
+template <class Hash, class Key, class InputKey>
+void test_hash_enabled(InputKey const& key) {
+ using namespace PoisonedHashDetail;
+
+ static_assert(std::is_destructible<Hash>::value, "");
+ // Enabled hash requirements
+ static_assert(std::is_default_constructible<Hash>::value, "");
+ static_assert(std::is_copy_constructible<Hash>::value, "");
+ static_assert(std::is_move_constructible<Hash>::value, "");
+ static_assert(std::is_copy_assignable<Hash>::value, "");
+ static_assert(std::is_move_assignable<Hash>::value, "");
+
+#if TEST_STD_VER > 14
+ static_assert(std::is_swappable<Hash>::value, "");
+#elif defined(_LIBCPP_VERSION)
+ static_assert(std::__is_swappable<Hash>::value, "");
+#endif
+
+ // Hashable requirements
+ static_assert(can_hash<Hash(Key&)>(), "");
+ static_assert(can_hash<Hash(Key const&)>(), "");
+ static_assert(can_hash<Hash(Key&&)>(), "");
+ static_assert(can_hash<Hash const&(Key&)>(), "");
+ static_assert(can_hash<Hash const&(Key const&)>(), "");
+ static_assert(can_hash<Hash const&(Key&&)>(), "");
+
+ static_assert(can_hash<Hash(ConvertibleToSimple<Key>&)>(), "");
+ static_assert(can_hash<Hash(ConvertibleToSimple<Key> const&)>(), "");
+ static_assert(can_hash<Hash(ConvertibleToSimple<Key>&&)>(), "");
+
+ static_assert(can_hash<Hash(ConvertibleTo<Key>&)>(), "");
+ static_assert(can_hash<Hash(ConvertibleTo<Key> const&)>(), "");
+ static_assert(can_hash<Hash(ConvertibleTo<Key> &&)>(), "");
+ static_assert(can_hash<Hash(ConvertibleTo<Key> const&&)>(), "");
+
+ const Hash h{};
+ assert(h(key) == h(key));
+
+}
+
+template <class Hash, class Key>
+void test_hash_disabled() {
+ using namespace PoisonedHashDetail;
+
+ // Disabled hash requirements
+ static_assert(!std::is_default_constructible<Hash>::value, "");
+ static_assert(!std::is_copy_constructible<Hash>::value, "");
+ static_assert(!std::is_move_constructible<Hash>::value, "");
+ static_assert(!std::is_copy_assignable<Hash>::value, "");
+ static_assert(!std::is_move_assignable<Hash>::value, "");
+
+ static_assert(!std::is_function<
+ typename std::remove_pointer<
+ typename std::remove_reference<Hash>::type
+ >::type
+ >::value, "");
+
+ // Hashable requirements
+ static_assert(!can_hash<Hash(Key&)>(), "");
+ static_assert(!can_hash<Hash(Key const&)>(), "");
+ static_assert(!can_hash<Hash(Key&&)>(), "");
+ static_assert(!can_hash<Hash const&(Key&)>(), "");
+ static_assert(!can_hash<Hash const&(Key const&)>(), "");
+ static_assert(!can_hash<Hash const&(Key&&)>(), "");
+
+ static_assert(!can_hash<Hash(ConvertibleToSimple<Key>&)>(), "");
+ static_assert(!can_hash<Hash(ConvertibleToSimple<Key> const&)>(), "");
+ static_assert(!can_hash<Hash(ConvertibleToSimple<Key>&&)>(), "");
+
+ static_assert(!can_hash<Hash(ConvertibleTo<Key>&)>(), "");
+ static_assert(!can_hash<Hash(ConvertibleTo<Key> const&)>(), "");
+ static_assert(!can_hash<Hash(ConvertibleTo<Key> &&)>(), "");
+ static_assert(!can_hash<Hash(ConvertibleTo<Key> const&&)>(), "");
+}
+
+
+template <class First, class ...Rest>
+struct TypeList<First, Rest...> {
+ template <template <class> class Trait, bool Expect = true>
+ static constexpr bool assertTrait() {
+ static_assert(Trait<First>::value == Expect, "");
+ return TypeList<Rest...>::template assertTrait<Trait, Expect>();
+ }
+
+ template <class Trait>
+ static void applyTrait() {
+ Trait::template apply<First>();
+ TypeList<Rest...>::template applyTrait<Trait>();
+ }
+};
+
+template <>
+struct TypeList<> {
+ template <template <class> class Trait, bool Expect = true>
+ static constexpr bool assertTrait() {
+ return true;
+ }
+ template <class Trait>
+ static void applyTrait() {}
+};
+
+
+struct TestLibraryTrait {
+ template <class Type>
+ static void apply() { test_hash_enabled<std::hash<Type>, Type>(); }
+};
+
+template <class Types>
+void test_library_hash_specializations_available(Types) {
+ Types::template applyTrait<TestLibraryTrait >();
+}
+
+#endif // SUPPORT_POISONED_HASH_HELPER_H
Removed: libcxx/trunk/test/support/poisoned_hash_helper.hpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/support/poisoned_hash_helper.hpp?rev=369480&view=auto
==============================================================================
--- libcxx/trunk/test/support/poisoned_hash_helper.hpp (original)
+++ libcxx/trunk/test/support/poisoned_hash_helper.hpp (removed)
@@ -1,242 +0,0 @@
-// -*- C++ -*-
-//===----------------------------------------------------------------------===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-#ifndef SUPPORT_POISONED_HASH_HELPER_HPP
-#define SUPPORT_POISONED_HASH_HELPER_HPP
-
-#include <type_traits>
-#include <cassert>
-
-#include "test_macros.h"
-#include "test_workarounds.h"
-
-#if TEST_STD_VER < 11
-#error this header may only be used in C++11 or newer
-#endif
-
-template <class ...Args> struct TypeList;
-
-// Test that the specified Hash meets the requirements of an enabled hash
-template <class Hash, class Key, class InputKey = Key>
-void test_hash_enabled(InputKey const& key = InputKey{});
-
-template <class T, class InputKey = T>
-void test_hash_enabled_for_type(InputKey const& key = InputKey{}) {
- return test_hash_enabled<std::hash<T>, T, InputKey>(key);
-}
-
-// Test that the specified Hash meets the requirements of a disabled hash.
-template <class Hash, class Key>
-void test_hash_disabled();
-
-template <class T>
-void test_hash_disabled_for_type() {
- return test_hash_disabled<std::hash<T>, T>();
-}
-
-namespace PoisonedHashDetail {
- enum Enum {};
- enum EnumClass : bool {};
- struct Class {};
-}
-
-// Each header that declares the template hash provides enabled
-// specializations of hash for nullptr t and all cv-unqualified
-// arithmetic, enumeration, and pointer types.
-using LibraryHashTypes = TypeList<
-#if TEST_STD_VER > 14
- decltype(nullptr),
-#endif
- bool,
- char,
- signed char,
- unsigned char,
- wchar_t,
-#ifndef _LIBCPP_HAS_NO_UNICODE_CHARS
- char16_t,
- char32_t,
-#endif
- short,
- unsigned short,
- int,
- unsigned int,
- long,
- unsigned long,
- long long,
- unsigned long long,
-#ifndef _LIBCPP_HAS_NO_INT128
- __int128_t,
- __uint128_t,
-#endif
- float,
- double,
- long double,
-#if TEST_STD_VER >= 14
- // Enum types
- PoisonedHashDetail::Enum,
- PoisonedHashDetail::EnumClass,
-#endif
- // pointer types
- void*,
- void const*,
- PoisonedHashDetail::Class*
- >;
-
-
-// Test that each of the library hash specializations for arithmetic types,
-// enum types, and pointer types are available and enabled.
-template <class Types = LibraryHashTypes>
-void test_library_hash_specializations_available(Types = Types{});
-
-
-namespace PoisonedHashDetail {
-
-template <class T, class = typename T::foo_bar_baz>
-constexpr bool instantiate(int) { return true; }
-template <class> constexpr bool instantiate(long) { return true; }
-template <class T> constexpr bool instantiate() { return instantiate<T>(0); }
-
-template <class To>
-struct ConvertibleToSimple {
- operator To() const {
- return To{};
- }
-};
-
-template <class To>
-struct ConvertibleTo {
- To to{};
- operator To&() & { return to; }
- operator To const&() const & { return to; }
- operator To&&() && { return std::move(to); }
- operator To const&&() const && { return std::move(to); }
-};
-
-template <class HashExpr,
- class Res = typename std::result_of<HashExpr>::type>
-constexpr bool can_hash(int) {
- return std::is_same<Res, size_t>::value;
-}
-template <class> constexpr bool can_hash(long) { return false; }
-template <class T> constexpr bool can_hash() { return can_hash<T>(0); }
-
-} // namespace PoisonedHashDetail
-
-template <class Hash, class Key, class InputKey>
-void test_hash_enabled(InputKey const& key) {
- using namespace PoisonedHashDetail;
-
- static_assert(std::is_destructible<Hash>::value, "");
- // Enabled hash requirements
- static_assert(std::is_default_constructible<Hash>::value, "");
- static_assert(std::is_copy_constructible<Hash>::value, "");
- static_assert(std::is_move_constructible<Hash>::value, "");
- static_assert(std::is_copy_assignable<Hash>::value, "");
- static_assert(std::is_move_assignable<Hash>::value, "");
-
-#if TEST_STD_VER > 14
- static_assert(std::is_swappable<Hash>::value, "");
-#elif defined(_LIBCPP_VERSION)
- static_assert(std::__is_swappable<Hash>::value, "");
-#endif
-
- // Hashable requirements
- static_assert(can_hash<Hash(Key&)>(), "");
- static_assert(can_hash<Hash(Key const&)>(), "");
- static_assert(can_hash<Hash(Key&&)>(), "");
- static_assert(can_hash<Hash const&(Key&)>(), "");
- static_assert(can_hash<Hash const&(Key const&)>(), "");
- static_assert(can_hash<Hash const&(Key&&)>(), "");
-
- static_assert(can_hash<Hash(ConvertibleToSimple<Key>&)>(), "");
- static_assert(can_hash<Hash(ConvertibleToSimple<Key> const&)>(), "");
- static_assert(can_hash<Hash(ConvertibleToSimple<Key>&&)>(), "");
-
- static_assert(can_hash<Hash(ConvertibleTo<Key>&)>(), "");
- static_assert(can_hash<Hash(ConvertibleTo<Key> const&)>(), "");
- static_assert(can_hash<Hash(ConvertibleTo<Key> &&)>(), "");
- static_assert(can_hash<Hash(ConvertibleTo<Key> const&&)>(), "");
-
- const Hash h{};
- assert(h(key) == h(key));
-
-}
-
-template <class Hash, class Key>
-void test_hash_disabled() {
- using namespace PoisonedHashDetail;
-
- // Disabled hash requirements
- static_assert(!std::is_default_constructible<Hash>::value, "");
- static_assert(!std::is_copy_constructible<Hash>::value, "");
- static_assert(!std::is_move_constructible<Hash>::value, "");
- static_assert(!std::is_copy_assignable<Hash>::value, "");
- static_assert(!std::is_move_assignable<Hash>::value, "");
-
- static_assert(!std::is_function<
- typename std::remove_pointer<
- typename std::remove_reference<Hash>::type
- >::type
- >::value, "");
-
- // Hashable requirements
- static_assert(!can_hash<Hash(Key&)>(), "");
- static_assert(!can_hash<Hash(Key const&)>(), "");
- static_assert(!can_hash<Hash(Key&&)>(), "");
- static_assert(!can_hash<Hash const&(Key&)>(), "");
- static_assert(!can_hash<Hash const&(Key const&)>(), "");
- static_assert(!can_hash<Hash const&(Key&&)>(), "");
-
- static_assert(!can_hash<Hash(ConvertibleToSimple<Key>&)>(), "");
- static_assert(!can_hash<Hash(ConvertibleToSimple<Key> const&)>(), "");
- static_assert(!can_hash<Hash(ConvertibleToSimple<Key>&&)>(), "");
-
- static_assert(!can_hash<Hash(ConvertibleTo<Key>&)>(), "");
- static_assert(!can_hash<Hash(ConvertibleTo<Key> const&)>(), "");
- static_assert(!can_hash<Hash(ConvertibleTo<Key> &&)>(), "");
- static_assert(!can_hash<Hash(ConvertibleTo<Key> const&&)>(), "");
-}
-
-
-template <class First, class ...Rest>
-struct TypeList<First, Rest...> {
- template <template <class> class Trait, bool Expect = true>
- static constexpr bool assertTrait() {
- static_assert(Trait<First>::value == Expect, "");
- return TypeList<Rest...>::template assertTrait<Trait, Expect>();
- }
-
- template <class Trait>
- static void applyTrait() {
- Trait::template apply<First>();
- TypeList<Rest...>::template applyTrait<Trait>();
- }
-};
-
-template <>
-struct TypeList<> {
- template <template <class> class Trait, bool Expect = true>
- static constexpr bool assertTrait() {
- return true;
- }
- template <class Trait>
- static void applyTrait() {}
-};
-
-
-struct TestLibraryTrait {
- template <class Type>
- static void apply() { test_hash_enabled<std::hash<Type>, Type>(); }
-};
-
-template <class Types>
-void test_library_hash_specializations_available(Types) {
- Types::template applyTrait<TestLibraryTrait >();
-}
-
-#endif // SUPPORT_POISONED_HASH_HELPER_HPP
Added: libcxx/trunk/test/support/private_constructor.h
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/support/private_constructor.h?rev=369481&view=auto
==============================================================================
--- libcxx/trunk/test/support/private_constructor.h (added)
+++ libcxx/trunk/test/support/private_constructor.h Tue Aug 20 17:14:12 2019
@@ -0,0 +1,30 @@
+//===----------------------------------------------------------------------===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef __PRIVATE_CONSTRUCTOR__H
+#define __PRIVATE_CONSTRUCTOR__H
+
+#include <iostream>
+
+struct PrivateConstructor {
+
+ PrivateConstructor static make ( int v ) { return PrivateConstructor(v); }
+ int get () const { return val; }
+private:
+ PrivateConstructor ( int v ) : val(v) {}
+ int val;
+ };
+
+bool operator < ( const PrivateConstructor &lhs, const PrivateConstructor &rhs ) { return lhs.get() < rhs.get(); }
+
+bool operator < ( const PrivateConstructor &lhs, int rhs ) { return lhs.get() < rhs; }
+bool operator < ( int lhs, const PrivateConstructor &rhs ) { return lhs < rhs.get(); }
+
+std::ostream & operator << ( std::ostream &os, const PrivateConstructor &foo ) { return os << foo.get (); }
+
+#endif
Removed: libcxx/trunk/test/support/private_constructor.hpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/support/private_constructor.hpp?rev=369480&view=auto
==============================================================================
--- libcxx/trunk/test/support/private_constructor.hpp (original)
+++ libcxx/trunk/test/support/private_constructor.hpp (removed)
@@ -1,30 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef __PRIVATE_CONSTRUCTOR__H
-#define __PRIVATE_CONSTRUCTOR__H
-
-#include <iostream>
-
-struct PrivateConstructor {
-
- PrivateConstructor static make ( int v ) { return PrivateConstructor(v); }
- int get () const { return val; }
-private:
- PrivateConstructor ( int v ) : val(v) {}
- int val;
- };
-
-bool operator < ( const PrivateConstructor &lhs, const PrivateConstructor &rhs ) { return lhs.get() < rhs.get(); }
-
-bool operator < ( const PrivateConstructor &lhs, int rhs ) { return lhs.get() < rhs; }
-bool operator < ( int lhs, const PrivateConstructor &rhs ) { return lhs < rhs.get(); }
-
-std::ostream & operator << ( std::ostream &os, const PrivateConstructor &foo ) { return os << foo.get (); }
-
-#endif
Added: libcxx/trunk/test/support/rapid-cxx-test.h
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/support/rapid-cxx-test.h?rev=369481&view=auto
==============================================================================
--- libcxx/trunk/test/support/rapid-cxx-test.h (added)
+++ libcxx/trunk/test/support/rapid-cxx-test.h Tue Aug 20 17:14:12 2019
@@ -0,0 +1,866 @@
+#ifndef RAPID_CXX_TEST_H
+#define RAPID_CXX_TEST_H
+
+# include <cstddef>
+# include <cstdlib>
+# include <cstdio>
+# include <cstring>
+# include <cassert>
+
+#include "test_macros.h"
+
+#if !defined(RAPID_CXX_TEST_NO_SYSTEM_HEADER) || !defined(__GNUC__)
+#pragma GCC system_header
+#endif
+
+# define RAPID_CXX_TEST_PP_CAT(x, y) RAPID_CXX_TEST_PP_CAT_2(x, y)
+# define RAPID_CXX_TEST_PP_CAT_2(x, y) x##y
+
+# define RAPID_CXX_TEST_PP_STR(...) RAPID_CXX_TEST_PP_STR_2(__VA_ARGS__)
+# define RAPID_CXX_TEST_PP_STR_2(...) #__VA_ARGS__
+
+# if defined(__GNUC__)
+# define TEST_FUNC_NAME() __PRETTY_FUNCTION__
+# define RAPID_CXX_TEST_UNUSED __attribute__((unused))
+# else
+# define TEST_FUNC_NAME() __func__
+# define RAPID_CXX_TEST_UNUSED
+# endif
+
+////////////////////////////////////////////////////////////////////////////////
+// TEST_SUITE
+////////////////////////////////////////////////////////////////////////////////
+# define TEST_SUITE(Name) \
+namespace Name \
+{ \
+ inline ::rapid_cxx_test::test_suite & get_test_suite() \
+ { \
+ static ::rapid_cxx_test::test_suite m_suite(#Name); \
+ return m_suite; \
+ } \
+ \
+ inline int unit_test_main(int, char**) \
+ { \
+ ::rapid_cxx_test::test_runner runner(get_test_suite()); \
+ return runner.run(); \
+ } \
+} \
+int main(int argc, char **argv) \
+{ \
+ return Name::unit_test_main(argc, argv); \
+} \
+namespace Name \
+{ /* namespace closed in TEST_SUITE_END */
+#
+
+////////////////////////////////////////////////////////////////////////////////
+// TEST_SUITE_END
+////////////////////////////////////////////////////////////////////////////////
+# define TEST_SUITE_END() \
+} /* namespace opened in TEST_SUITE(...) */
+#
+
+////////////////////////////////////////////////////////////////////////////////
+// TEST_CASE
+////////////////////////////////////////////////////////////////////////////////
+
+# if !defined(__clang__)
+#
+# define TEST_CASE(Name) \
+ void Name(); \
+ static void RAPID_CXX_TEST_PP_CAT(Name, _invoker)() \
+ { \
+ Name(); \
+ } \
+ static ::rapid_cxx_test::registrar \
+ RAPID_CXX_TEST_PP_CAT(rapid_cxx_test_registrar_, Name)( \
+ get_test_suite() \
+ , ::rapid_cxx_test::test_case(__FILE__, #Name, __LINE__, & RAPID_CXX_TEST_PP_CAT(Name, _invoker)) \
+ ); \
+ void Name()
+#
+# else /* __clang__ */
+#
+# define TEST_CASE(Name) \
+ void Name(); \
+ static void RAPID_CXX_TEST_PP_CAT(Name, _invoker)() \
+ { \
+ Name(); \
+ } \
+ _Pragma("clang diagnostic push") \
+ _Pragma("clang diagnostic ignored \"-Wglobal-constructors\"") \
+ static ::rapid_cxx_test::registrar \
+ RAPID_CXX_TEST_PP_CAT(rapid_cxx_test_registrar_, Name)( \
+ get_test_suite() \
+ , ::rapid_cxx_test::test_case(__FILE__, #Name, __LINE__, & RAPID_CXX_TEST_PP_CAT(Name, _invoker)) \
+ ); \
+ _Pragma("clang diagnostic pop") \
+ void Name()
+#
+# endif /* !defined(__clang__) */
+
+
+# define TEST_SET_CHECKPOINT() ::rapid_cxx_test::set_checkpoint(__FILE__, TEST_FUNC_NAME(), __LINE__)
+
+#define RAPID_CXX_TEST_OUTCOME()
+
+////////////////////////////////////////////////////////////////////////////////
+// TEST_UNSUPPORTED
+////////////////////////////////////////////////////////////////////////////////
+# define TEST_UNSUPPORTED() \
+ do { \
+ TEST_SET_CHECKPOINT(); \
+ ::rapid_cxx_test::test_outcome m_f( \
+ ::rapid_cxx_test::failure_type::unsupported, __FILE__, TEST_FUNC_NAME(), __LINE__ \
+ , "", "" \
+ ); \
+ ::rapid_cxx_test::get_reporter().report(m_f); \
+ return; \
+ } while (false)
+#
+
+
+////////////////////////////////////////////////////////////////////////////////
+// BASIC ASSERTIONS
+////////////////////////////////////////////////////////////////////////////////
+# define TEST_WARN(...) \
+ do { \
+ TEST_SET_CHECKPOINT(); \
+ ::rapid_cxx_test::test_outcome m_f( \
+ ::rapid_cxx_test::failure_type::none, __FILE__, TEST_FUNC_NAME(), __LINE__ \
+ , "TEST_WARN(" #__VA_ARGS__ ")", "" \
+ ); \
+ if (not (__VA_ARGS__)) { \
+ m_f.type = ::rapid_cxx_test::failure_type::warn; \
+ } \
+ ::rapid_cxx_test::get_reporter().report(m_f); \
+ } while (false)
+#
+
+# define TEST_CHECK(...) \
+ do { \
+ TEST_SET_CHECKPOINT(); \
+ ::rapid_cxx_test::test_outcome m_f( \
+ ::rapid_cxx_test::failure_type::none, __FILE__, TEST_FUNC_NAME(), __LINE__ \
+ , "TEST_CHECK(" #__VA_ARGS__ ")", "" \
+ ); \
+ if (not (__VA_ARGS__)) { \
+ m_f.type = ::rapid_cxx_test::failure_type::check; \
+ } \
+ ::rapid_cxx_test::get_reporter().report(m_f); \
+ } while (false)
+#
+
+# define TEST_REQUIRE(...) \
+ do { \
+ TEST_SET_CHECKPOINT(); \
+ ::rapid_cxx_test::test_outcome m_f( \
+ ::rapid_cxx_test::failure_type::none, __FILE__, TEST_FUNC_NAME(), __LINE__ \
+ , "TEST_REQUIRE(" #__VA_ARGS__ ")", "" \
+ ); \
+ if (not (__VA_ARGS__)) { \
+ m_f.type = ::rapid_cxx_test::failure_type::require; \
+ } \
+ ::rapid_cxx_test::get_reporter().report(m_f); \
+ if (m_f.type != ::rapid_cxx_test::failure_type::none) { \
+ return; \
+ } \
+ } while (false)
+#
+
+# define TEST_ASSERT(...) \
+ do { \
+ TEST_SET_CHECKPOINT(); \
+ ::rapid_cxx_test::test_outcome m_f( \
+ ::rapid_cxx_test::failure_type::none, __FILE__, TEST_FUNC_NAME(), __LINE__ \
+ , "TEST_ASSERT(" #__VA_ARGS__ ")", "" \
+ ); \
+ if (not (__VA_ARGS__)) { \
+ m_f.type = ::rapid_cxx_test::failure_type::assert; \
+ } \
+ ::rapid_cxx_test::get_reporter().report(m_f); \
+ if (m_f.type != ::rapid_cxx_test::failure_type::none) { \
+ std::abort(); \
+ } \
+ } while (false)
+#
+
+////////////////////////////////////////////////////////////////////////////////
+// TEST_CHECK_NO_THROW / TEST_CHECK_THROW
+////////////////////////////////////////////////////////////////////////////////
+#ifndef TEST_HAS_NO_EXCEPTIONS
+
+# define TEST_CHECK_NO_THROW(...) \
+ do { \
+ TEST_SET_CHECKPOINT(); \
+ ::rapid_cxx_test::test_outcome m_f( \
+ ::rapid_cxx_test::failure_type::none, __FILE__, TEST_FUNC_NAME(), __LINE__ \
+ , "TEST_CHECK_NO_THROW(" #__VA_ARGS__ ")", "" \
+ ); \
+ try { \
+ (static_cast<void>(__VA_ARGS__)); \
+ } catch (...) { \
+ m_f.type = ::rapid_cxx_test::failure_type::check; \
+ } \
+ ::rapid_cxx_test::get_reporter().report(m_f); \
+ } while (false)
+#
+
+# define TEST_CHECK_THROW(Except, ...) \
+ do { \
+ TEST_SET_CHECKPOINT(); \
+ ::rapid_cxx_test::test_outcome m_f( \
+ ::rapid_cxx_test::failure_type::none, __FILE__, TEST_FUNC_NAME(), __LINE__ \
+ , "TEST_CHECK_THROW(" #Except "," #__VA_ARGS__ ")", "" \
+ ); \
+ try { \
+ (static_cast<void>(__VA_ARGS__)); \
+ m_f.type = ::rapid_cxx_test::failure_type::check; \
+ } catch (Except const &) {} \
+ ::rapid_cxx_test::get_reporter().report(m_f); \
+ } while (false)
+#
+
+#define TEST_CHECK_THROW_RESULT(Except, Checker, ...) \
+ do { \
+ TEST_SET_CHECKPOINT(); \
+ ::rapid_cxx_test::test_outcome m_f(::rapid_cxx_test::failure_type::none, \
+ __FILE__, TEST_FUNC_NAME(), __LINE__, \
+ "TEST_CHECK_THROW_RESULT(" #Except \
+ "," #Checker "," #__VA_ARGS__ ")", \
+ ""); \
+ try { \
+ (static_cast<void>(__VA_ARGS__)); \
+ m_f.type = ::rapid_cxx_test::failure_type::check; \
+ } catch (Except const& Caught) { \
+ Checker(Caught); \
+ } \
+ ::rapid_cxx_test::get_reporter().report(m_f); \
+ } while (false)
+#
+
+#else // TEST_HAS_NO_EXCEPTIONS
+
+# define TEST_CHECK_NO_THROW(...) \
+ do { \
+ TEST_SET_CHECKPOINT(); \
+ ::rapid_cxx_test::test_outcome m_f( \
+ ::rapid_cxx_test::failure_type::none, __FILE__, TEST_FUNC_NAME(), __LINE__ \
+ , "TEST_CHECK_NO_THROW(" #__VA_ARGS__ ")", "" \
+ ); \
+ (static_cast<void>(__VA_ARGS__)); \
+ ::rapid_cxx_test::get_reporter().report(m_f); \
+ } while (false)
+#
+
+#define TEST_CHECK_THROW(Except, ...) ((void)0)
+#define TEST_CHECK_THROW_RESULT(Except, Checker, ...) ((void)0)
+
+#endif // TEST_HAS_NO_EXCEPTIONS
+
+
+////////////////////////////////////////////////////////////////////////////////
+// TEST_REQUIRE_NO_THROW / TEST_REQUIRE_THROWs
+////////////////////////////////////////////////////////////////////////////////
+#ifndef TEST_HAS_NO_EXCEPTIONS
+
+# define TEST_REQUIRE_NO_THROW(...) \
+ do { \
+ TEST_SET_CHECKPOINT(); \
+ ::rapid_cxx_test::test_outcome m_f( \
+ ::rapid_cxx_test::failure_type::none, __FILE__, TEST_FUNC_NAME(), __LINE__ \
+ , "TEST_REQUIRE_NO_THROW(" #__VA_ARGS__ ")", "" \
+ ); \
+ try { \
+ (static_cast<void>(__VA_ARGS__)); \
+ } catch (...) { \
+ m_f.type = ::rapid_cxx_test::failure_type::require; \
+ } \
+ ::rapid_cxx_test::get_reporter().report(m_f); \
+ if (m_f.type != ::rapid_cxx_test::failure_type::none) { \
+ return; \
+ } \
+ } while (false)
+#
+
+# define TEST_REQUIRE_THROW(Except, ...) \
+ do { \
+ TEST_SET_CHECKPOINT(); \
+ ::rapid_cxx_test::test_outcome m_f( \
+ ::rapid_cxx_test::failure_type::none, __FILE__, TEST_FUNC_NAME(), __LINE__ \
+ , "TEST_REQUIRE_THROW(" #Except "," #__VA_ARGS__ ")", "" \
+ ); \
+ try { \
+ (static_cast<void>(__VA_ARGS__)); \
+ m_f.type = ::rapid_cxx_test::failure_type::require; \
+ } catch (Except const &) {} \
+ ::rapid_cxx_test::get_reporter().report(m_f); \
+ if (m_f.type != ::rapid_cxx_test::failure_type::none) { \
+ return; \
+ } \
+ } while (false)
+#
+
+#else // TEST_HAS_NO_EXCEPTIONS
+
+# define TEST_REQUIRE_NO_THROW(...) \
+ do { \
+ TEST_SET_CHECKPOINT(); \
+ ::rapid_cxx_test::test_outcome m_f( \
+ ::rapid_cxx_test::failure_type::none, __FILE__, TEST_FUNC_NAME(), __LINE__ \
+ , "TEST_REQUIRE_NO_THROW(" #__VA_ARGS__ ")", "" \
+ ); \
+ (static_cast<void>(__VA_ARGS__)); \
+ ::rapid_cxx_test::get_reporter().report(m_f); \
+ } while (false)
+#
+
+#define TEST_REQUIRE_THROW(Except, ...) ((void)0)
+
+#endif // TEST_HAS_NO_EXCEPTIONS
+
+////////////////////////////////////////////////////////////////////////////////
+// TEST_ASSERT_NO_THROW / TEST_ASSERT_THROW
+////////////////////////////////////////////////////////////////////////////////
+#ifndef TEST_HAS_NO_EXCEPTIONS
+
+# define TEST_ASSERT_NO_THROW(...) \
+ do { \
+ TEST_SET_CHECKPOINT(); \
+ ::rapid_cxx_test::test_outcome m_f( \
+ ::rapid_cxx_test::failure_type::none, __FILE__, TEST_FUNC_NAME(), __LINE__ \
+ , "TEST_ASSERT_NO_THROW(" #__VA_ARGS__ ")", "" \
+ ); \
+ try { \
+ (static_cast<void>(__VA_ARGS__)); \
+ } catch (...) { \
+ m_f.type = ::rapid_cxx_test::failure_type::assert; \
+ } \
+ ::rapid_cxx_test::get_reporter().report(m_f); \
+ if (m_f.type != ::rapid_cxx_test::failure_type::none) { \
+ std::abort(); \
+ } \
+ } while (false)
+#
+
+# define TEST_ASSERT_THROW(Except, ...) \
+ do { \
+ TEST_SET_CHECKPOINT(); \
+ ::rapid_cxx_test::test_outcome m_f( \
+ ::rapid_cxx_test::failure_type::none, __FILE__, TEST_FUNC_NAME(), __LINE__ \
+ , "TEST_ASSERT_THROW(" #Except "," #__VA_ARGS__ ")", "" \
+ ); \
+ try { \
+ (static_cast<void>(__VA_ARGS__)); \
+ m_f.type = ::rapid_cxx_test::failure_type::assert; \
+ } catch (Except const &) {} \
+ ::rapid_cxx_test::get_reporter().report(m_f); \
+ if (m_f.type != ::rapid_cxx_test::failure_type::none) { \
+ std::abort(); \
+ } \
+ } while (false)
+#
+
+#else // TEST_HAS_NO_EXCEPTIONS
+
+# define TEST_ASSERT_NO_THROW(...) \
+ do { \
+ TEST_SET_CHECKPOINT(); \
+ ::rapid_cxx_test::test_outcome m_f( \
+ ::rapid_cxx_test::failure_type::none, __FILE__, TEST_FUNC_NAME(), __LINE__ \
+ , "TEST_ASSERT_NO_THROW(" #__VA_ARGS__ ")", "" \
+ ); \
+ (static_cast<void>(__VA_ARGS__)); \
+ ::rapid_cxx_test::get_reporter().report(m_f); \
+ } while (false)
+#
+
+#define TEST_ASSERT_THROW(Except, ...) ((void)0)
+
+#endif // TEST_HAS_NO_EXCEPTIONS
+
+////////////////////////////////////////////////////////////////////////////////
+//
+////////////////////////////////////////////////////////////////////////////////
+
+# define TEST_WARN_EQUAL_COLLECTIONS(...) \
+ do { \
+ TEST_SET_CHECKPOINT(); \
+ ::rapid_cxx_test::test_outcome m_f( \
+ ::rapid_cxx_test::failure_type::none, __FILE__, TEST_FUNC_NAME(), __LINE__ \
+ , "TEST_WARN_EQUAL_COLLECTIONS(" #__VA_ARGS__ ")", "" \
+ ); \
+ if (not ::rapid_cxx_test::detail::check_equal_collections_impl(__VA_ARGS__)) { \
+ m_f.type = ::rapid_cxx_test::failure_type::warn; \
+ } \
+ ::rapid_cxx_test::get_reporter().report(m_f); \
+ } while (false)
+#
+
+# define TEST_CHECK_EQUAL_COLLECTIONS(...) \
+ do { \
+ TEST_SET_CHECKPOINT(); \
+ ::rapid_cxx_test::test_outcome m_f( \
+ ::rapid_cxx_test::failure_type::none, __FILE__, TEST_FUNC_NAME(), __LINE__ \
+ , "TEST_CHECK_EQUAL_COLLECTIONS(" #__VA_ARGS__ ")", "" \
+ ); \
+ if (not ::rapid_cxx_test::detail::check_equal_collections_impl(__VA_ARGS__)) { \
+ m_f.type = ::rapid_cxx_test::failure_type::check; \
+ } \
+ ::rapid_cxx_test::get_reporter().report(m_f); \
+ } while (false)
+#
+
+# define TEST_REQUIRE_EQUAL_COLLECTIONS(...) \
+ do { \
+ TEST_SET_CHECKPOINT(); \
+ ::rapid_cxx_test::test_outcome m_f( \
+ ::rapid_cxx_test::failure_type::none, __FILE__, TEST_FUNC_NAME(), __LINE__ \
+ , "TEST_REQUIRE_EQUAL_COLLECTIONS(" #__VA_ARGS__ ")", "" \
+ ); \
+ if (not ::rapid_cxx_test::detail::check_equal_collections_impl(__VA_ARGS__)) { \
+ m_f.type = ::rapid_cxx_test::failure_type::require; \
+ } \
+ ::rapid_cxx_test::get_reporter().report(m_f); \
+ if (m_f.type != ::rapid_cxx_test::failure_type::none) { \
+ return; \
+ } \
+ } while (false)
+#
+
+# define TEST_ASSERT_EQUAL_COLLECTIONS(...) \
+ do { \
+ TEST_SET_CHECKPOINT(); \
+ ::rapid_cxx_test::test_outcome m_f( \
+ ::rapid_cxx_test::failure_type::none, __FILE__, TEST_FUNC_NAME(), __LINE__ \
+ , "TEST_ASSERT_EQUAL_COLLECTIONS(" #__VA_ARGS__ ")", "" \
+ ); \
+ if (not ::rapid_cxx_test::detail::check_equal_collections_impl(__VA_ARGS__)) { \
+ m_f.type = ::rapid_cxx_test::failure_type::assert; \
+ } \
+ ::rapid_cxx_test::get_reporter().report(m_f); \
+ if (m_f.type != ::rapid_cxx_test::failure_type::none) { \
+ ::std::abort(); \
+ } \
+ } while (false)
+#
+
+namespace rapid_cxx_test
+{
+ typedef void (*invoker_t)();
+
+ ////////////////////////////////////////////////////////////////////////////
+ struct test_case
+ {
+ test_case()
+ : file(""), func(""), line(0), invoke(NULL)
+ {}
+
+ test_case(const char* file1, const char* func1, std::size_t line1,
+ invoker_t invoke1)
+ : file(file1), func(func1), line(line1), invoke(invoke1)
+ {}
+
+ const char *file;
+ const char *func;
+ std::size_t line;
+ invoker_t invoke;
+ };
+
+ ////////////////////////////////////////////////////////////////////////////
+ struct failure_type
+ {
+ enum enum_type {
+ none,
+ unsupported,
+ warn,
+ check,
+ require,
+ assert,
+ uncaught_exception
+ };
+ };
+
+ typedef failure_type::enum_type failure_type_t;
+
+ ////////////////////////////////////////////////////////////////////////////
+ struct test_outcome
+ {
+ test_outcome()
+ : type(failure_type::none),
+ file(""), func(""), line(0),
+ expression(""), message("")
+ {}
+
+ test_outcome(failure_type_t type1, const char* file1, const char* func1,
+ std::size_t line1, const char* expression1,
+ const char* message1)
+ : type(type1), file(file1), func(func1), line(line1),
+ expression(expression1), message(message1)
+ {
+ trim_func_string();
+ }
+
+ failure_type_t type;
+ const char *file;
+ const char *func;
+ std::size_t line;
+ const char *expression;
+ const char *message;
+
+ private:
+ void trim_file_string() {
+ const char* f_start = file;
+ const char* prev_start = f_start;
+ const char* last_start = f_start;
+ char last;
+ while ((last = *f_start) != '\0') {
+ ++f_start;
+ if (last == '/' && *f_start) {
+ prev_start = last_start;
+ last_start = f_start;
+ }
+ }
+ file = prev_start;
+ }
+ void trim_func_string() {
+ const char* void_loc = ::strstr(func, "void ");
+ if (void_loc == func) {
+ func += strlen("void ");
+ }
+ const char* namespace_loc = ::strstr(func, "::");
+ if (namespace_loc) {
+ func = namespace_loc + 2;
+ }
+ }
+ };
+
+ ////////////////////////////////////////////////////////////////////////////
+ struct checkpoint
+ {
+ const char *file;
+ const char *func;
+ std::size_t line;
+ };
+
+ namespace detail
+ {
+ inline checkpoint & global_checkpoint()
+ {
+ static checkpoint cp = {"", "", 0};
+ return cp;
+ }
+ }
+
+ ////////////////////////////////////////////////////////////////////////////
+ inline void set_checkpoint(const char* file, const char* func, std::size_t line)
+ {
+ checkpoint& cp = detail::global_checkpoint();
+ cp.file = file;
+ cp.func = func;
+ cp.line = line;
+ }
+
+ ////////////////////////////////////////////////////////////////////////////
+ inline checkpoint const & get_checkpoint()
+ {
+ return detail::global_checkpoint();
+ }
+
+ ////////////////////////////////////////////////////////////////////////////
+ class test_suite
+ {
+ public:
+ typedef test_case const* iterator;
+ typedef iterator const_iterator;
+
+ public:
+ test_suite(const char *xname)
+ : m_name(xname), m_tests(), m_size(0)
+ {
+ assert(xname);
+ }
+
+ public:
+ const char *name() const { return m_name; }
+
+ std::size_t size() const { return m_size; }
+
+ test_case const & operator[](std::size_t i) const
+ {
+ assert(i < m_size);
+ return m_tests[i];
+ }
+
+ const_iterator begin() const
+ { return m_tests; }
+
+ const_iterator end() const
+ {
+ return m_tests + m_size;
+ }
+
+ public:
+ std::size_t register_test(test_case tc)
+ {
+ static std::size_t test_case_max = sizeof(m_tests) / sizeof(test_case);
+ assert(m_size < test_case_max);
+ m_tests[m_size] = tc;
+ return m_size++;
+ }
+
+ private:
+ test_suite(test_suite const &);
+ test_suite & operator=(test_suite const &);
+
+ private:
+ const char* m_name;
+ // Since fast compile times in a priority, we use simple containers
+ // with hard limits.
+ test_case m_tests[256];
+ std::size_t m_size;
+ };
+
+ ////////////////////////////////////////////////////////////////////////////
+ class registrar
+ {
+ public:
+ registrar(test_suite & st, test_case tc)
+ {
+ st.register_test(tc);
+ }
+ };
+
+ ////////////////////////////////////////////////////////////////////////////
+ class test_reporter
+ {
+ public:
+ test_reporter()
+ : m_testcases(0), m_testcase_failures(0), m_unsupported(0),
+ m_assertions(0), m_warning_failures(0), m_check_failures(0),
+ m_require_failures(0), m_uncaught_exceptions(0), m_failure()
+ {
+ }
+
+ void test_case_begin()
+ {
+ ++m_testcases;
+ clear_failure();
+ }
+
+ void test_case_end()
+ {
+ if (m_failure.type != failure_type::none
+ && m_failure.type != failure_type::unsupported) {
+ ++m_testcase_failures;
+ }
+ }
+
+# if defined(__GNUC__)
+# pragma GCC diagnostic push
+# pragma GCC diagnostic ignored "-Wswitch-default"
+# endif
+ // Each assertion and failure is reported through this function.
+ void report(test_outcome o)
+ {
+ ++m_assertions;
+ switch (o.type)
+ {
+ case failure_type::none:
+ break;
+ case failure_type::unsupported:
+ ++m_unsupported;
+ m_failure = o;
+ break;
+ case failure_type::warn:
+ ++m_warning_failures;
+ report_error(o);
+ break;
+ case failure_type::check:
+ ++m_check_failures;
+ report_error(o);
+ m_failure = o;
+ break;
+ case failure_type::require:
+ ++m_require_failures;
+ report_error(o);
+ m_failure = o;
+ break;
+ case failure_type::assert:
+ report_error(o);
+ break;
+ case failure_type::uncaught_exception:
+ ++m_uncaught_exceptions;
+ std::fprintf(stderr
+ , "Test case FAILED with uncaught exception:\n"
+ " last checkpoint near %s::%lu %s\n\n"
+ , o.file, o.line, o.func
+ );
+ m_failure = o;
+ break;
+ }
+ }
+# if defined(__GNUC__)
+# pragma GCC diagnostic pop
+# endif
+
+ test_outcome current_failure() const
+ {
+ return m_failure;
+ }
+
+ void clear_failure()
+ {
+ m_failure.type = failure_type::none;
+ m_failure.file = "";
+ m_failure.func = "";
+ m_failure.line = 0;
+ m_failure.expression = "";
+ m_failure.message = "";
+ }
+
+ std::size_t test_case_count() const
+ { return m_testcases; }
+
+ std::size_t test_case_failure_count() const
+ { return m_testcase_failures; }
+
+ std::size_t unsupported_count() const
+ { return m_unsupported; }
+
+ std::size_t assertion_count() const
+ { return m_assertions; }
+
+ std::size_t warning_failure_count() const
+ { return m_warning_failures; }
+
+ std::size_t check_failure_count() const
+ { return m_check_failures; }
+
+ std::size_t require_failure_count() const
+ { return m_require_failures; }
+
+ std::size_t failure_count() const
+ { return m_check_failures + m_require_failures + m_uncaught_exceptions; }
+
+ // Print a summary of what was run and the outcome.
+ void print_summary(const char* suitename) const
+ {
+ FILE* out = failure_count() ? stderr : stdout;
+ std::size_t testcases_run = m_testcases - m_unsupported;
+ std::fprintf(out, "Summary for testsuite %s:\n", suitename);
+ std::fprintf(out, " %lu of %lu test cases passed.\n", testcases_run - m_testcase_failures, testcases_run);
+ std::fprintf(out, " %lu of %lu assertions passed.\n", m_assertions - (m_warning_failures + m_check_failures + m_require_failures), m_assertions);
+ std::fprintf(out, " %lu unsupported test case%s.\n", m_unsupported, (m_unsupported != 1 ? "s" : ""));
+ }
+
+ private:
+ test_reporter(test_reporter const &);
+ test_reporter const & operator=(test_reporter const &);
+
+ void report_error(test_outcome o) const
+ {
+ std::fprintf(stderr, "In %s:%lu Assertion %s failed.\n in file: %s\n %s\n"
+ , o.func, o.line, o.expression, o.file, o.message ? o.message : ""
+ );
+ }
+
+ private:
+ // counts of testcases, failed testcases, and unsupported testcases.
+ std::size_t m_testcases;
+ std::size_t m_testcase_failures;
+ std::size_t m_unsupported;
+
+ // counts of assertions and assertion failures.
+ std::size_t m_assertions;
+ std::size_t m_warning_failures;
+ std::size_t m_check_failures;
+ std::size_t m_require_failures;
+ std::size_t m_uncaught_exceptions;
+
+ // The last failure. This is cleared between testcases.
+ test_outcome m_failure;
+ };
+
+ ////////////////////////////////////////////////////////////////////////////
+ inline test_reporter & get_reporter()
+ {
+ static test_reporter o;
+ return o;
+ }
+
+ ////////////////////////////////////////////////////////////////////////////
+ class test_runner
+ {
+ public:
+ test_runner(test_suite & ts)
+ : m_ts(ts)
+ {}
+
+ public:
+ int run()
+ {
+ // for each testcase
+ for (test_suite::const_iterator b = m_ts.begin(), e = m_ts.end();
+ b != e; ++b)
+ {
+ test_case const& tc = *b;
+ set_checkpoint(tc.file, tc.func, tc.line);
+ get_reporter().test_case_begin();
+#ifndef TEST_HAS_NO_EXCEPTIONS
+ try {
+#endif
+ tc.invoke();
+#ifndef TEST_HAS_NO_EXCEPTIONS
+ } catch (...) {
+ test_outcome o;
+ o.type = failure_type::uncaught_exception;
+ o.file = get_checkpoint().file;
+ o.func = get_checkpoint().func;
+ o.line = get_checkpoint().line;
+ o.expression = "";
+ o.message = "";
+ get_reporter().report(o);
+ }
+#endif
+ get_reporter().test_case_end();
+ }
+ auto exit_code = get_reporter().failure_count() ? EXIT_FAILURE : EXIT_SUCCESS;
+ if (exit_code == EXIT_FAILURE || get_reporter().unsupported_count())
+ get_reporter().print_summary(m_ts.name());
+ return exit_code;
+ }
+
+ private:
+ test_runner(test_runner const &);
+ test_runner operator=(test_runner const &);
+
+ test_suite & m_ts;
+ };
+
+ namespace detail
+ {
+ template <class Iter1, class Iter2>
+ bool check_equal_collections_impl(
+ Iter1 start1, Iter1 const end1
+ , Iter2 start2, Iter2 const end2
+ )
+ {
+ while (start1 != end1 && start2 != end2) {
+ if (*start1 != *start2) {
+ return false;
+ }
+ ++start1; ++start2;
+ }
+ return (start1 == end1 && start2 == end2);
+ }
+ } // namespace detail
+
+} // namespace rapid_cxx_test
+
+
+# if defined(__GNUC__)
+# pragma GCC diagnostic pop
+# endif
+
+#endif /* RAPID_CXX_TEST_H */
Removed: libcxx/trunk/test/support/rapid-cxx-test.hpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/support/rapid-cxx-test.hpp?rev=369480&view=auto
==============================================================================
--- libcxx/trunk/test/support/rapid-cxx-test.hpp (original)
+++ libcxx/trunk/test/support/rapid-cxx-test.hpp (removed)
@@ -1,866 +0,0 @@
-#ifndef RAPID_CXX_TEST_HPP
-#define RAPID_CXX_TEST_HPP
-
-# include <cstddef>
-# include <cstdlib>
-# include <cstdio>
-# include <cstring>
-# include <cassert>
-
-#include "test_macros.h"
-
-#if !defined(RAPID_CXX_TEST_NO_SYSTEM_HEADER) || !defined(__GNUC__)
-#pragma GCC system_header
-#endif
-
-# define RAPID_CXX_TEST_PP_CAT(x, y) RAPID_CXX_TEST_PP_CAT_2(x, y)
-# define RAPID_CXX_TEST_PP_CAT_2(x, y) x##y
-
-# define RAPID_CXX_TEST_PP_STR(...) RAPID_CXX_TEST_PP_STR_2(__VA_ARGS__)
-# define RAPID_CXX_TEST_PP_STR_2(...) #__VA_ARGS__
-
-# if defined(__GNUC__)
-# define TEST_FUNC_NAME() __PRETTY_FUNCTION__
-# define RAPID_CXX_TEST_UNUSED __attribute__((unused))
-# else
-# define TEST_FUNC_NAME() __func__
-# define RAPID_CXX_TEST_UNUSED
-# endif
-
-////////////////////////////////////////////////////////////////////////////////
-// TEST_SUITE
-////////////////////////////////////////////////////////////////////////////////
-# define TEST_SUITE(Name) \
-namespace Name \
-{ \
- inline ::rapid_cxx_test::test_suite & get_test_suite() \
- { \
- static ::rapid_cxx_test::test_suite m_suite(#Name); \
- return m_suite; \
- } \
- \
- inline int unit_test_main(int, char**) \
- { \
- ::rapid_cxx_test::test_runner runner(get_test_suite()); \
- return runner.run(); \
- } \
-} \
-int main(int argc, char **argv) \
-{ \
- return Name::unit_test_main(argc, argv); \
-} \
-namespace Name \
-{ /* namespace closed in TEST_SUITE_END */
-#
-
-////////////////////////////////////////////////////////////////////////////////
-// TEST_SUITE_END
-////////////////////////////////////////////////////////////////////////////////
-# define TEST_SUITE_END() \
-} /* namespace opened in TEST_SUITE(...) */
-#
-
-////////////////////////////////////////////////////////////////////////////////
-// TEST_CASE
-////////////////////////////////////////////////////////////////////////////////
-
-# if !defined(__clang__)
-#
-# define TEST_CASE(Name) \
- void Name(); \
- static void RAPID_CXX_TEST_PP_CAT(Name, _invoker)() \
- { \
- Name(); \
- } \
- static ::rapid_cxx_test::registrar \
- RAPID_CXX_TEST_PP_CAT(rapid_cxx_test_registrar_, Name)( \
- get_test_suite() \
- , ::rapid_cxx_test::test_case(__FILE__, #Name, __LINE__, & RAPID_CXX_TEST_PP_CAT(Name, _invoker)) \
- ); \
- void Name()
-#
-# else /* __clang__ */
-#
-# define TEST_CASE(Name) \
- void Name(); \
- static void RAPID_CXX_TEST_PP_CAT(Name, _invoker)() \
- { \
- Name(); \
- } \
- _Pragma("clang diagnostic push") \
- _Pragma("clang diagnostic ignored \"-Wglobal-constructors\"") \
- static ::rapid_cxx_test::registrar \
- RAPID_CXX_TEST_PP_CAT(rapid_cxx_test_registrar_, Name)( \
- get_test_suite() \
- , ::rapid_cxx_test::test_case(__FILE__, #Name, __LINE__, & RAPID_CXX_TEST_PP_CAT(Name, _invoker)) \
- ); \
- _Pragma("clang diagnostic pop") \
- void Name()
-#
-# endif /* !defined(__clang__) */
-
-
-# define TEST_SET_CHECKPOINT() ::rapid_cxx_test::set_checkpoint(__FILE__, TEST_FUNC_NAME(), __LINE__)
-
-#define RAPID_CXX_TEST_OUTCOME()
-
-////////////////////////////////////////////////////////////////////////////////
-// TEST_UNSUPPORTED
-////////////////////////////////////////////////////////////////////////////////
-# define TEST_UNSUPPORTED() \
- do { \
- TEST_SET_CHECKPOINT(); \
- ::rapid_cxx_test::test_outcome m_f( \
- ::rapid_cxx_test::failure_type::unsupported, __FILE__, TEST_FUNC_NAME(), __LINE__ \
- , "", "" \
- ); \
- ::rapid_cxx_test::get_reporter().report(m_f); \
- return; \
- } while (false)
-#
-
-
-////////////////////////////////////////////////////////////////////////////////
-// BASIC ASSERTIONS
-////////////////////////////////////////////////////////////////////////////////
-# define TEST_WARN(...) \
- do { \
- TEST_SET_CHECKPOINT(); \
- ::rapid_cxx_test::test_outcome m_f( \
- ::rapid_cxx_test::failure_type::none, __FILE__, TEST_FUNC_NAME(), __LINE__ \
- , "TEST_WARN(" #__VA_ARGS__ ")", "" \
- ); \
- if (not (__VA_ARGS__)) { \
- m_f.type = ::rapid_cxx_test::failure_type::warn; \
- } \
- ::rapid_cxx_test::get_reporter().report(m_f); \
- } while (false)
-#
-
-# define TEST_CHECK(...) \
- do { \
- TEST_SET_CHECKPOINT(); \
- ::rapid_cxx_test::test_outcome m_f( \
- ::rapid_cxx_test::failure_type::none, __FILE__, TEST_FUNC_NAME(), __LINE__ \
- , "TEST_CHECK(" #__VA_ARGS__ ")", "" \
- ); \
- if (not (__VA_ARGS__)) { \
- m_f.type = ::rapid_cxx_test::failure_type::check; \
- } \
- ::rapid_cxx_test::get_reporter().report(m_f); \
- } while (false)
-#
-
-# define TEST_REQUIRE(...) \
- do { \
- TEST_SET_CHECKPOINT(); \
- ::rapid_cxx_test::test_outcome m_f( \
- ::rapid_cxx_test::failure_type::none, __FILE__, TEST_FUNC_NAME(), __LINE__ \
- , "TEST_REQUIRE(" #__VA_ARGS__ ")", "" \
- ); \
- if (not (__VA_ARGS__)) { \
- m_f.type = ::rapid_cxx_test::failure_type::require; \
- } \
- ::rapid_cxx_test::get_reporter().report(m_f); \
- if (m_f.type != ::rapid_cxx_test::failure_type::none) { \
- return; \
- } \
- } while (false)
-#
-
-# define TEST_ASSERT(...) \
- do { \
- TEST_SET_CHECKPOINT(); \
- ::rapid_cxx_test::test_outcome m_f( \
- ::rapid_cxx_test::failure_type::none, __FILE__, TEST_FUNC_NAME(), __LINE__ \
- , "TEST_ASSERT(" #__VA_ARGS__ ")", "" \
- ); \
- if (not (__VA_ARGS__)) { \
- m_f.type = ::rapid_cxx_test::failure_type::assert; \
- } \
- ::rapid_cxx_test::get_reporter().report(m_f); \
- if (m_f.type != ::rapid_cxx_test::failure_type::none) { \
- std::abort(); \
- } \
- } while (false)
-#
-
-////////////////////////////////////////////////////////////////////////////////
-// TEST_CHECK_NO_THROW / TEST_CHECK_THROW
-////////////////////////////////////////////////////////////////////////////////
-#ifndef TEST_HAS_NO_EXCEPTIONS
-
-# define TEST_CHECK_NO_THROW(...) \
- do { \
- TEST_SET_CHECKPOINT(); \
- ::rapid_cxx_test::test_outcome m_f( \
- ::rapid_cxx_test::failure_type::none, __FILE__, TEST_FUNC_NAME(), __LINE__ \
- , "TEST_CHECK_NO_THROW(" #__VA_ARGS__ ")", "" \
- ); \
- try { \
- (static_cast<void>(__VA_ARGS__)); \
- } catch (...) { \
- m_f.type = ::rapid_cxx_test::failure_type::check; \
- } \
- ::rapid_cxx_test::get_reporter().report(m_f); \
- } while (false)
-#
-
-# define TEST_CHECK_THROW(Except, ...) \
- do { \
- TEST_SET_CHECKPOINT(); \
- ::rapid_cxx_test::test_outcome m_f( \
- ::rapid_cxx_test::failure_type::none, __FILE__, TEST_FUNC_NAME(), __LINE__ \
- , "TEST_CHECK_THROW(" #Except "," #__VA_ARGS__ ")", "" \
- ); \
- try { \
- (static_cast<void>(__VA_ARGS__)); \
- m_f.type = ::rapid_cxx_test::failure_type::check; \
- } catch (Except const &) {} \
- ::rapid_cxx_test::get_reporter().report(m_f); \
- } while (false)
-#
-
-#define TEST_CHECK_THROW_RESULT(Except, Checker, ...) \
- do { \
- TEST_SET_CHECKPOINT(); \
- ::rapid_cxx_test::test_outcome m_f(::rapid_cxx_test::failure_type::none, \
- __FILE__, TEST_FUNC_NAME(), __LINE__, \
- "TEST_CHECK_THROW_RESULT(" #Except \
- "," #Checker "," #__VA_ARGS__ ")", \
- ""); \
- try { \
- (static_cast<void>(__VA_ARGS__)); \
- m_f.type = ::rapid_cxx_test::failure_type::check; \
- } catch (Except const& Caught) { \
- Checker(Caught); \
- } \
- ::rapid_cxx_test::get_reporter().report(m_f); \
- } while (false)
-#
-
-#else // TEST_HAS_NO_EXCEPTIONS
-
-# define TEST_CHECK_NO_THROW(...) \
- do { \
- TEST_SET_CHECKPOINT(); \
- ::rapid_cxx_test::test_outcome m_f( \
- ::rapid_cxx_test::failure_type::none, __FILE__, TEST_FUNC_NAME(), __LINE__ \
- , "TEST_CHECK_NO_THROW(" #__VA_ARGS__ ")", "" \
- ); \
- (static_cast<void>(__VA_ARGS__)); \
- ::rapid_cxx_test::get_reporter().report(m_f); \
- } while (false)
-#
-
-#define TEST_CHECK_THROW(Except, ...) ((void)0)
-#define TEST_CHECK_THROW_RESULT(Except, Checker, ...) ((void)0)
-
-#endif // TEST_HAS_NO_EXCEPTIONS
-
-
-////////////////////////////////////////////////////////////////////////////////
-// TEST_REQUIRE_NO_THROW / TEST_REQUIRE_THROWs
-////////////////////////////////////////////////////////////////////////////////
-#ifndef TEST_HAS_NO_EXCEPTIONS
-
-# define TEST_REQUIRE_NO_THROW(...) \
- do { \
- TEST_SET_CHECKPOINT(); \
- ::rapid_cxx_test::test_outcome m_f( \
- ::rapid_cxx_test::failure_type::none, __FILE__, TEST_FUNC_NAME(), __LINE__ \
- , "TEST_REQUIRE_NO_THROW(" #__VA_ARGS__ ")", "" \
- ); \
- try { \
- (static_cast<void>(__VA_ARGS__)); \
- } catch (...) { \
- m_f.type = ::rapid_cxx_test::failure_type::require; \
- } \
- ::rapid_cxx_test::get_reporter().report(m_f); \
- if (m_f.type != ::rapid_cxx_test::failure_type::none) { \
- return; \
- } \
- } while (false)
-#
-
-# define TEST_REQUIRE_THROW(Except, ...) \
- do { \
- TEST_SET_CHECKPOINT(); \
- ::rapid_cxx_test::test_outcome m_f( \
- ::rapid_cxx_test::failure_type::none, __FILE__, TEST_FUNC_NAME(), __LINE__ \
- , "TEST_REQUIRE_THROW(" #Except "," #__VA_ARGS__ ")", "" \
- ); \
- try { \
- (static_cast<void>(__VA_ARGS__)); \
- m_f.type = ::rapid_cxx_test::failure_type::require; \
- } catch (Except const &) {} \
- ::rapid_cxx_test::get_reporter().report(m_f); \
- if (m_f.type != ::rapid_cxx_test::failure_type::none) { \
- return; \
- } \
- } while (false)
-#
-
-#else // TEST_HAS_NO_EXCEPTIONS
-
-# define TEST_REQUIRE_NO_THROW(...) \
- do { \
- TEST_SET_CHECKPOINT(); \
- ::rapid_cxx_test::test_outcome m_f( \
- ::rapid_cxx_test::failure_type::none, __FILE__, TEST_FUNC_NAME(), __LINE__ \
- , "TEST_REQUIRE_NO_THROW(" #__VA_ARGS__ ")", "" \
- ); \
- (static_cast<void>(__VA_ARGS__)); \
- ::rapid_cxx_test::get_reporter().report(m_f); \
- } while (false)
-#
-
-#define TEST_REQUIRE_THROW(Except, ...) ((void)0)
-
-#endif // TEST_HAS_NO_EXCEPTIONS
-
-////////////////////////////////////////////////////////////////////////////////
-// TEST_ASSERT_NO_THROW / TEST_ASSERT_THROW
-////////////////////////////////////////////////////////////////////////////////
-#ifndef TEST_HAS_NO_EXCEPTIONS
-
-# define TEST_ASSERT_NO_THROW(...) \
- do { \
- TEST_SET_CHECKPOINT(); \
- ::rapid_cxx_test::test_outcome m_f( \
- ::rapid_cxx_test::failure_type::none, __FILE__, TEST_FUNC_NAME(), __LINE__ \
- , "TEST_ASSERT_NO_THROW(" #__VA_ARGS__ ")", "" \
- ); \
- try { \
- (static_cast<void>(__VA_ARGS__)); \
- } catch (...) { \
- m_f.type = ::rapid_cxx_test::failure_type::assert; \
- } \
- ::rapid_cxx_test::get_reporter().report(m_f); \
- if (m_f.type != ::rapid_cxx_test::failure_type::none) { \
- std::abort(); \
- } \
- } while (false)
-#
-
-# define TEST_ASSERT_THROW(Except, ...) \
- do { \
- TEST_SET_CHECKPOINT(); \
- ::rapid_cxx_test::test_outcome m_f( \
- ::rapid_cxx_test::failure_type::none, __FILE__, TEST_FUNC_NAME(), __LINE__ \
- , "TEST_ASSERT_THROW(" #Except "," #__VA_ARGS__ ")", "" \
- ); \
- try { \
- (static_cast<void>(__VA_ARGS__)); \
- m_f.type = ::rapid_cxx_test::failure_type::assert; \
- } catch (Except const &) {} \
- ::rapid_cxx_test::get_reporter().report(m_f); \
- if (m_f.type != ::rapid_cxx_test::failure_type::none) { \
- std::abort(); \
- } \
- } while (false)
-#
-
-#else // TEST_HAS_NO_EXCEPTIONS
-
-# define TEST_ASSERT_NO_THROW(...) \
- do { \
- TEST_SET_CHECKPOINT(); \
- ::rapid_cxx_test::test_outcome m_f( \
- ::rapid_cxx_test::failure_type::none, __FILE__, TEST_FUNC_NAME(), __LINE__ \
- , "TEST_ASSERT_NO_THROW(" #__VA_ARGS__ ")", "" \
- ); \
- (static_cast<void>(__VA_ARGS__)); \
- ::rapid_cxx_test::get_reporter().report(m_f); \
- } while (false)
-#
-
-#define TEST_ASSERT_THROW(Except, ...) ((void)0)
-
-#endif // TEST_HAS_NO_EXCEPTIONS
-
-////////////////////////////////////////////////////////////////////////////////
-//
-////////////////////////////////////////////////////////////////////////////////
-
-# define TEST_WARN_EQUAL_COLLECTIONS(...) \
- do { \
- TEST_SET_CHECKPOINT(); \
- ::rapid_cxx_test::test_outcome m_f( \
- ::rapid_cxx_test::failure_type::none, __FILE__, TEST_FUNC_NAME(), __LINE__ \
- , "TEST_WARN_EQUAL_COLLECTIONS(" #__VA_ARGS__ ")", "" \
- ); \
- if (not ::rapid_cxx_test::detail::check_equal_collections_impl(__VA_ARGS__)) { \
- m_f.type = ::rapid_cxx_test::failure_type::warn; \
- } \
- ::rapid_cxx_test::get_reporter().report(m_f); \
- } while (false)
-#
-
-# define TEST_CHECK_EQUAL_COLLECTIONS(...) \
- do { \
- TEST_SET_CHECKPOINT(); \
- ::rapid_cxx_test::test_outcome m_f( \
- ::rapid_cxx_test::failure_type::none, __FILE__, TEST_FUNC_NAME(), __LINE__ \
- , "TEST_CHECK_EQUAL_COLLECTIONS(" #__VA_ARGS__ ")", "" \
- ); \
- if (not ::rapid_cxx_test::detail::check_equal_collections_impl(__VA_ARGS__)) { \
- m_f.type = ::rapid_cxx_test::failure_type::check; \
- } \
- ::rapid_cxx_test::get_reporter().report(m_f); \
- } while (false)
-#
-
-# define TEST_REQUIRE_EQUAL_COLLECTIONS(...) \
- do { \
- TEST_SET_CHECKPOINT(); \
- ::rapid_cxx_test::test_outcome m_f( \
- ::rapid_cxx_test::failure_type::none, __FILE__, TEST_FUNC_NAME(), __LINE__ \
- , "TEST_REQUIRE_EQUAL_COLLECTIONS(" #__VA_ARGS__ ")", "" \
- ); \
- if (not ::rapid_cxx_test::detail::check_equal_collections_impl(__VA_ARGS__)) { \
- m_f.type = ::rapid_cxx_test::failure_type::require; \
- } \
- ::rapid_cxx_test::get_reporter().report(m_f); \
- if (m_f.type != ::rapid_cxx_test::failure_type::none) { \
- return; \
- } \
- } while (false)
-#
-
-# define TEST_ASSERT_EQUAL_COLLECTIONS(...) \
- do { \
- TEST_SET_CHECKPOINT(); \
- ::rapid_cxx_test::test_outcome m_f( \
- ::rapid_cxx_test::failure_type::none, __FILE__, TEST_FUNC_NAME(), __LINE__ \
- , "TEST_ASSERT_EQUAL_COLLECTIONS(" #__VA_ARGS__ ")", "" \
- ); \
- if (not ::rapid_cxx_test::detail::check_equal_collections_impl(__VA_ARGS__)) { \
- m_f.type = ::rapid_cxx_test::failure_type::assert; \
- } \
- ::rapid_cxx_test::get_reporter().report(m_f); \
- if (m_f.type != ::rapid_cxx_test::failure_type::none) { \
- ::std::abort(); \
- } \
- } while (false)
-#
-
-namespace rapid_cxx_test
-{
- typedef void (*invoker_t)();
-
- ////////////////////////////////////////////////////////////////////////////
- struct test_case
- {
- test_case()
- : file(""), func(""), line(0), invoke(NULL)
- {}
-
- test_case(const char* file1, const char* func1, std::size_t line1,
- invoker_t invoke1)
- : file(file1), func(func1), line(line1), invoke(invoke1)
- {}
-
- const char *file;
- const char *func;
- std::size_t line;
- invoker_t invoke;
- };
-
- ////////////////////////////////////////////////////////////////////////////
- struct failure_type
- {
- enum enum_type {
- none,
- unsupported,
- warn,
- check,
- require,
- assert,
- uncaught_exception
- };
- };
-
- typedef failure_type::enum_type failure_type_t;
-
- ////////////////////////////////////////////////////////////////////////////
- struct test_outcome
- {
- test_outcome()
- : type(failure_type::none),
- file(""), func(""), line(0),
- expression(""), message("")
- {}
-
- test_outcome(failure_type_t type1, const char* file1, const char* func1,
- std::size_t line1, const char* expression1,
- const char* message1)
- : type(type1), file(file1), func(func1), line(line1),
- expression(expression1), message(message1)
- {
- trim_func_string();
- }
-
- failure_type_t type;
- const char *file;
- const char *func;
- std::size_t line;
- const char *expression;
- const char *message;
-
- private:
- void trim_file_string() {
- const char* f_start = file;
- const char* prev_start = f_start;
- const char* last_start = f_start;
- char last;
- while ((last = *f_start) != '\0') {
- ++f_start;
- if (last == '/' && *f_start) {
- prev_start = last_start;
- last_start = f_start;
- }
- }
- file = prev_start;
- }
- void trim_func_string() {
- const char* void_loc = ::strstr(func, "void ");
- if (void_loc == func) {
- func += strlen("void ");
- }
- const char* namespace_loc = ::strstr(func, "::");
- if (namespace_loc) {
- func = namespace_loc + 2;
- }
- }
- };
-
- ////////////////////////////////////////////////////////////////////////////
- struct checkpoint
- {
- const char *file;
- const char *func;
- std::size_t line;
- };
-
- namespace detail
- {
- inline checkpoint & global_checkpoint()
- {
- static checkpoint cp = {"", "", 0};
- return cp;
- }
- }
-
- ////////////////////////////////////////////////////////////////////////////
- inline void set_checkpoint(const char* file, const char* func, std::size_t line)
- {
- checkpoint& cp = detail::global_checkpoint();
- cp.file = file;
- cp.func = func;
- cp.line = line;
- }
-
- ////////////////////////////////////////////////////////////////////////////
- inline checkpoint const & get_checkpoint()
- {
- return detail::global_checkpoint();
- }
-
- ////////////////////////////////////////////////////////////////////////////
- class test_suite
- {
- public:
- typedef test_case const* iterator;
- typedef iterator const_iterator;
-
- public:
- test_suite(const char *xname)
- : m_name(xname), m_tests(), m_size(0)
- {
- assert(xname);
- }
-
- public:
- const char *name() const { return m_name; }
-
- std::size_t size() const { return m_size; }
-
- test_case const & operator[](std::size_t i) const
- {
- assert(i < m_size);
- return m_tests[i];
- }
-
- const_iterator begin() const
- { return m_tests; }
-
- const_iterator end() const
- {
- return m_tests + m_size;
- }
-
- public:
- std::size_t register_test(test_case tc)
- {
- static std::size_t test_case_max = sizeof(m_tests) / sizeof(test_case);
- assert(m_size < test_case_max);
- m_tests[m_size] = tc;
- return m_size++;
- }
-
- private:
- test_suite(test_suite const &);
- test_suite & operator=(test_suite const &);
-
- private:
- const char* m_name;
- // Since fast compile times in a priority, we use simple containers
- // with hard limits.
- test_case m_tests[256];
- std::size_t m_size;
- };
-
- ////////////////////////////////////////////////////////////////////////////
- class registrar
- {
- public:
- registrar(test_suite & st, test_case tc)
- {
- st.register_test(tc);
- }
- };
-
- ////////////////////////////////////////////////////////////////////////////
- class test_reporter
- {
- public:
- test_reporter()
- : m_testcases(0), m_testcase_failures(0), m_unsupported(0),
- m_assertions(0), m_warning_failures(0), m_check_failures(0),
- m_require_failures(0), m_uncaught_exceptions(0), m_failure()
- {
- }
-
- void test_case_begin()
- {
- ++m_testcases;
- clear_failure();
- }
-
- void test_case_end()
- {
- if (m_failure.type != failure_type::none
- && m_failure.type != failure_type::unsupported) {
- ++m_testcase_failures;
- }
- }
-
-# if defined(__GNUC__)
-# pragma GCC diagnostic push
-# pragma GCC diagnostic ignored "-Wswitch-default"
-# endif
- // Each assertion and failure is reported through this function.
- void report(test_outcome o)
- {
- ++m_assertions;
- switch (o.type)
- {
- case failure_type::none:
- break;
- case failure_type::unsupported:
- ++m_unsupported;
- m_failure = o;
- break;
- case failure_type::warn:
- ++m_warning_failures;
- report_error(o);
- break;
- case failure_type::check:
- ++m_check_failures;
- report_error(o);
- m_failure = o;
- break;
- case failure_type::require:
- ++m_require_failures;
- report_error(o);
- m_failure = o;
- break;
- case failure_type::assert:
- report_error(o);
- break;
- case failure_type::uncaught_exception:
- ++m_uncaught_exceptions;
- std::fprintf(stderr
- , "Test case FAILED with uncaught exception:\n"
- " last checkpoint near %s::%lu %s\n\n"
- , o.file, o.line, o.func
- );
- m_failure = o;
- break;
- }
- }
-# if defined(__GNUC__)
-# pragma GCC diagnostic pop
-# endif
-
- test_outcome current_failure() const
- {
- return m_failure;
- }
-
- void clear_failure()
- {
- m_failure.type = failure_type::none;
- m_failure.file = "";
- m_failure.func = "";
- m_failure.line = 0;
- m_failure.expression = "";
- m_failure.message = "";
- }
-
- std::size_t test_case_count() const
- { return m_testcases; }
-
- std::size_t test_case_failure_count() const
- { return m_testcase_failures; }
-
- std::size_t unsupported_count() const
- { return m_unsupported; }
-
- std::size_t assertion_count() const
- { return m_assertions; }
-
- std::size_t warning_failure_count() const
- { return m_warning_failures; }
-
- std::size_t check_failure_count() const
- { return m_check_failures; }
-
- std::size_t require_failure_count() const
- { return m_require_failures; }
-
- std::size_t failure_count() const
- { return m_check_failures + m_require_failures + m_uncaught_exceptions; }
-
- // Print a summary of what was run and the outcome.
- void print_summary(const char* suitename) const
- {
- FILE* out = failure_count() ? stderr : stdout;
- std::size_t testcases_run = m_testcases - m_unsupported;
- std::fprintf(out, "Summary for testsuite %s:\n", suitename);
- std::fprintf(out, " %lu of %lu test cases passed.\n", testcases_run - m_testcase_failures, testcases_run);
- std::fprintf(out, " %lu of %lu assertions passed.\n", m_assertions - (m_warning_failures + m_check_failures + m_require_failures), m_assertions);
- std::fprintf(out, " %lu unsupported test case%s.\n", m_unsupported, (m_unsupported != 1 ? "s" : ""));
- }
-
- private:
- test_reporter(test_reporter const &);
- test_reporter const & operator=(test_reporter const &);
-
- void report_error(test_outcome o) const
- {
- std::fprintf(stderr, "In %s:%lu Assertion %s failed.\n in file: %s\n %s\n"
- , o.func, o.line, o.expression, o.file, o.message ? o.message : ""
- );
- }
-
- private:
- // counts of testcases, failed testcases, and unsupported testcases.
- std::size_t m_testcases;
- std::size_t m_testcase_failures;
- std::size_t m_unsupported;
-
- // counts of assertions and assertion failures.
- std::size_t m_assertions;
- std::size_t m_warning_failures;
- std::size_t m_check_failures;
- std::size_t m_require_failures;
- std::size_t m_uncaught_exceptions;
-
- // The last failure. This is cleared between testcases.
- test_outcome m_failure;
- };
-
- ////////////////////////////////////////////////////////////////////////////
- inline test_reporter & get_reporter()
- {
- static test_reporter o;
- return o;
- }
-
- ////////////////////////////////////////////////////////////////////////////
- class test_runner
- {
- public:
- test_runner(test_suite & ts)
- : m_ts(ts)
- {}
-
- public:
- int run()
- {
- // for each testcase
- for (test_suite::const_iterator b = m_ts.begin(), e = m_ts.end();
- b != e; ++b)
- {
- test_case const& tc = *b;
- set_checkpoint(tc.file, tc.func, tc.line);
- get_reporter().test_case_begin();
-#ifndef TEST_HAS_NO_EXCEPTIONS
- try {
-#endif
- tc.invoke();
-#ifndef TEST_HAS_NO_EXCEPTIONS
- } catch (...) {
- test_outcome o;
- o.type = failure_type::uncaught_exception;
- o.file = get_checkpoint().file;
- o.func = get_checkpoint().func;
- o.line = get_checkpoint().line;
- o.expression = "";
- o.message = "";
- get_reporter().report(o);
- }
-#endif
- get_reporter().test_case_end();
- }
- auto exit_code = get_reporter().failure_count() ? EXIT_FAILURE : EXIT_SUCCESS;
- if (exit_code == EXIT_FAILURE || get_reporter().unsupported_count())
- get_reporter().print_summary(m_ts.name());
- return exit_code;
- }
-
- private:
- test_runner(test_runner const &);
- test_runner operator=(test_runner const &);
-
- test_suite & m_ts;
- };
-
- namespace detail
- {
- template <class Iter1, class Iter2>
- bool check_equal_collections_impl(
- Iter1 start1, Iter1 const end1
- , Iter2 start2, Iter2 const end2
- )
- {
- while (start1 != end1 && start2 != end2) {
- if (*start1 != *start2) {
- return false;
- }
- ++start1; ++start2;
- }
- return (start1 == end1 && start2 == end2);
- }
- } // namespace detail
-
-} // namespace rapid_cxx_test
-
-
-# if defined(__GNUC__)
-# pragma GCC diagnostic pop
-# endif
-
-#endif /* RAPID_CXX_TEST_HPP */
Modified: libcxx/trunk/test/support/test.support/test_convertible_header.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/support/test.support/test_convertible_header.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/support/test.support/test_convertible_header.pass.cpp (original)
+++ libcxx/trunk/test/support/test.support/test_convertible_header.pass.cpp Tue Aug 20 17:14:12 2019
@@ -8,9 +8,9 @@
// UNSUPPORTED: c++98, c++03
-// "support/test_convertible.hpp"
+// "support/test_convertible.h"
-#include "test_convertible.hpp"
+#include "test_convertible.h"
#include "test_macros.h"
Modified: libcxx/trunk/test/support/test.support/test_poisoned_hash_helper.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/support/test.support/test_poisoned_hash_helper.pass.cpp?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/test/support/test.support/test_poisoned_hash_helper.pass.cpp (original)
+++ libcxx/trunk/test/support/test.support/test_poisoned_hash_helper.pass.cpp Tue Aug 20 17:14:12 2019
@@ -8,12 +8,12 @@
// UNSUPPORTED: c++98, c++03
-// Test that the header `poisoned_hash_helper.hpp` doesn't include any
+// Test that the header `poisoned_hash_helper.h` doesn't include any
// headers that provide hash<T> specializations. This is required so that the
// 'test_library_hash_specializations_available()' function returns false
// by default, unless a STL header providing hash has already been included.
-#include "poisoned_hash_helper.hpp"
+#include "poisoned_hash_helper.h"
#include "test_macros.h"
Added: libcxx/trunk/test/support/test_convertible.h
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/support/test_convertible.h?rev=369481&view=auto
==============================================================================
--- libcxx/trunk/test/support/test_convertible.h (added)
+++ libcxx/trunk/test/support/test_convertible.h Tue Aug 20 17:14:12 2019
@@ -0,0 +1,41 @@
+//===----------------------------------------------------------------------===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef SUPPORT_TEST_CONVERTIBLE_H
+#define SUPPORT_TEST_CONVERTIBLE_H
+
+// "test_convertible<Tp, Args...>()" is a metafunction used to check if 'Tp'
+// is implicitly convertible from 'Args...' for any number of arguments,
+// Unlike 'std::is_convertible' which only allows checking for single argument
+// conversions.
+
+#include <type_traits>
+
+#include "test_macros.h"
+
+#if TEST_STD_VER < 11
+#error test_convertible.h requires C++11 or newer
+#endif
+
+namespace detail {
+ template <class Tp> void eat_type(Tp);
+
+ template <class Tp, class ...Args>
+ constexpr auto test_convertible_imp(int)
+ -> decltype(eat_type<Tp>({std::declval<Args>()...}), true)
+ { return true; }
+
+ template <class Tp, class ...Args>
+ constexpr auto test_convertible_imp(long) -> bool { return false; }
+}
+
+template <class Tp, class ...Args>
+constexpr bool test_convertible()
+{ return detail::test_convertible_imp<Tp, Args...>(0); }
+
+#endif // SUPPORT_TEST_CONVERTIBLE_H
Removed: libcxx/trunk/test/support/test_convertible.hpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/support/test_convertible.hpp?rev=369480&view=auto
==============================================================================
--- libcxx/trunk/test/support/test_convertible.hpp (original)
+++ libcxx/trunk/test/support/test_convertible.hpp (removed)
@@ -1,41 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef SUPPORT_TEST_CONVERTIBLE_HPP
-#define SUPPORT_TEST_CONVERTIBLE_HPP
-
-// "test_convertible<Tp, Args...>()" is a metafunction used to check if 'Tp'
-// is implicitly convertible from 'Args...' for any number of arguments,
-// Unlike 'std::is_convertible' which only allows checking for single argument
-// conversions.
-
-#include <type_traits>
-
-#include "test_macros.h"
-
-#if TEST_STD_VER < 11
-#error test_convertible.hpp requires C++11 or newer
-#endif
-
-namespace detail {
- template <class Tp> void eat_type(Tp);
-
- template <class Tp, class ...Args>
- constexpr auto test_convertible_imp(int)
- -> decltype(eat_type<Tp>({std::declval<Args>()...}), true)
- { return true; }
-
- template <class Tp, class ...Args>
- constexpr auto test_convertible_imp(long) -> bool { return false; }
-}
-
-template <class Tp, class ...Args>
-constexpr bool test_convertible()
-{ return detail::test_convertible_imp<Tp, Args...>(0); }
-
-#endif // SUPPORT_TEST_CONVERTIBLE_HPP
Added: libcxx/trunk/test/support/test_memory_resource.h
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/support/test_memory_resource.h?rev=369481&view=auto
==============================================================================
--- libcxx/trunk/test/support/test_memory_resource.h (added)
+++ libcxx/trunk/test/support/test_memory_resource.h Tue Aug 20 17:14:12 2019
@@ -0,0 +1,170 @@
+//===----------------------------------------------------------------------===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef SUPPORT_TEST_MEMORY_RESOURCE_H
+#define SUPPORT_TEST_MEMORY_RESOURCE_H
+
+#include <experimental/memory_resource>
+#include <experimental/utility>
+#include <memory>
+#include <type_traits>
+#include <cstddef>
+#include <cstdlib>
+#include <cstring>
+#include <cstdint>
+#include <cassert>
+#include "test_macros.h"
+#include "controlled_allocators.h"
+#include "uses_alloc_types.h"
+
+// FIXME: This is a hack to allow uses_allocator_types.hpp to work with
+// erased_type. However we can't define that behavior directly in the header
+// because it can't include <experimental/memory_resource>
+template <>
+struct TransformErasedTypeAlloc<std::experimental::erased_type> {
+ using type = std::experimental::pmr::polymorphic_allocator<int>;
+};
+
+template <class ProviderT, int = 0>
+class TestResourceImp : public std::experimental::pmr::memory_resource
+{
+public:
+ static int resource_alive;
+ static int resource_constructed;
+ static int resource_destructed;
+
+ static void resetStatics() {
+ assert(resource_alive == 0);
+ resource_alive = 0;
+ resource_constructed = 0;
+ resource_destructed = 0;
+ }
+
+ using memory_resource = std::experimental::pmr::memory_resource;
+ using Provider = ProviderT;
+
+ int value;
+
+ explicit TestResourceImp(int val = 0) : value(val) {
+ ++resource_alive;
+ ++resource_constructed;
+ }
+
+ ~TestResourceImp() noexcept {
+ --resource_alive;
+ ++resource_destructed;
+ }
+
+ void reset() { C.reset(); P.reset(); }
+ AllocController& getController() { return C; }
+
+ bool checkAlloc(void* p, std::size_t s, std::size_t a) const
+ { return C.checkAlloc(p, s, a); }
+
+ bool checkDealloc(void* p, std::size_t s, std::size_t a) const
+ { return C.checkDealloc(p, s, a); }
+
+ bool checkIsEqualCalledEq(int n) const { return C.checkIsEqualCalledEq(n); }
+
+protected:
+ virtual void * do_allocate(std::size_t s, std::size_t a) {
+ if (C.throw_on_alloc) {
+#ifndef TEST_HAS_NO_EXCEPTIONS
+ throw TestException{};
+#else
+ assert(false);
+#endif
+ }
+ void* ret = P.allocate(s, a);
+ C.countAlloc(ret, s, a);
+ return ret;
+ }
+
+ virtual void do_deallocate(void * p, std::size_t s, std::size_t a) {
+ C.countDealloc(p, s, a);
+ P.deallocate(p, s, a);
+ }
+
+ virtual bool do_is_equal(memory_resource const & other) const noexcept {
+ C.countIsEqual();
+ TestResourceImp const * o = dynamic_cast<TestResourceImp const *>(&other);
+ return o && o->value == value;
+ }
+private:
+ mutable AllocController C;
+ mutable Provider P;
+ DISALLOW_COPY(TestResourceImp);
+};
+
+template <class Provider, int N>
+int TestResourceImp<Provider, N>::resource_alive = 0;
+
+template <class Provider, int N>
+int TestResourceImp<Provider, N>::resource_constructed = 0;
+
+template <class Provider, int N>
+int TestResourceImp<Provider, N>::resource_destructed = 0;
+
+
+struct NullProvider {
+ NullProvider() {}
+ void* allocate(size_t, size_t) { return nullptr; }
+ void deallocate(void*, size_t, size_t) {}
+ void reset() {}
+private:
+ DISALLOW_COPY(NullProvider);
+};
+
+struct NewDeleteProvider {
+ NewDeleteProvider() {}
+ void* allocate(size_t s, size_t) { return ::operator new(s); }
+ void deallocate(void* p, size_t, size_t) { ::operator delete(p); }
+ void reset() {}
+private:
+ DISALLOW_COPY(NewDeleteProvider);
+};
+
+template <size_t Size = 4096 * 10> // 10 pages worth of memory.
+struct BufferProvider {
+ char buffer[Size];
+ void* next = &buffer;
+ size_t space = Size;
+
+ BufferProvider() {}
+
+ void* allocate(size_t s, size_t a) {
+ void* ret = std::align(s, a, next, space);
+ if (ret == nullptr) {
+#ifndef TEST_HAS_NO_EXCEPTIONS
+ throw std::bad_alloc();
+#else
+ assert(false);
+#endif
+ }
+
+ return ret;
+ }
+
+ void deallocate(void*, size_t, size_t) {}
+
+ void reset() {
+ next = &buffer;
+ space = Size;
+ }
+private:
+ DISALLOW_COPY(BufferProvider);
+};
+
+using NullResource = TestResourceImp<NullProvider, 0>;
+using NewDeleteResource = TestResourceImp<NewDeleteProvider, 0>;
+using TestResource = TestResourceImp<BufferProvider<>, 0>;
+using TestResource1 = TestResourceImp<BufferProvider<>, 1>;
+using TestResource2 = TestResourceImp<BufferProvider<>, 2>;
+
+
+#endif /* SUPPORT_TEST_MEMORY_RESOURCE_H */
Removed: libcxx/trunk/test/support/test_memory_resource.hpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/support/test_memory_resource.hpp?rev=369480&view=auto
==============================================================================
--- libcxx/trunk/test/support/test_memory_resource.hpp (original)
+++ libcxx/trunk/test/support/test_memory_resource.hpp (removed)
@@ -1,170 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef SUPPORT_TEST_MEMORY_RESOURCE_HPP
-#define SUPPORT_TEST_MEMORY_RESOURCE_HPP
-
-#include <experimental/memory_resource>
-#include <experimental/utility>
-#include <memory>
-#include <type_traits>
-#include <cstddef>
-#include <cstdlib>
-#include <cstring>
-#include <cstdint>
-#include <cassert>
-#include "test_macros.h"
-#include "controlled_allocators.hpp"
-#include "uses_alloc_types.hpp"
-
-// FIXME: This is a hack to allow uses_allocator_types.hpp to work with
-// erased_type. However we can't define that behavior directly in the header
-// because it can't include <experimental/memory_resource>
-template <>
-struct TransformErasedTypeAlloc<std::experimental::erased_type> {
- using type = std::experimental::pmr::polymorphic_allocator<int>;
-};
-
-template <class ProviderT, int = 0>
-class TestResourceImp : public std::experimental::pmr::memory_resource
-{
-public:
- static int resource_alive;
- static int resource_constructed;
- static int resource_destructed;
-
- static void resetStatics() {
- assert(resource_alive == 0);
- resource_alive = 0;
- resource_constructed = 0;
- resource_destructed = 0;
- }
-
- using memory_resource = std::experimental::pmr::memory_resource;
- using Provider = ProviderT;
-
- int value;
-
- explicit TestResourceImp(int val = 0) : value(val) {
- ++resource_alive;
- ++resource_constructed;
- }
-
- ~TestResourceImp() noexcept {
- --resource_alive;
- ++resource_destructed;
- }
-
- void reset() { C.reset(); P.reset(); }
- AllocController& getController() { return C; }
-
- bool checkAlloc(void* p, std::size_t s, std::size_t a) const
- { return C.checkAlloc(p, s, a); }
-
- bool checkDealloc(void* p, std::size_t s, std::size_t a) const
- { return C.checkDealloc(p, s, a); }
-
- bool checkIsEqualCalledEq(int n) const { return C.checkIsEqualCalledEq(n); }
-
-protected:
- virtual void * do_allocate(std::size_t s, std::size_t a) {
- if (C.throw_on_alloc) {
-#ifndef TEST_HAS_NO_EXCEPTIONS
- throw TestException{};
-#else
- assert(false);
-#endif
- }
- void* ret = P.allocate(s, a);
- C.countAlloc(ret, s, a);
- return ret;
- }
-
- virtual void do_deallocate(void * p, std::size_t s, std::size_t a) {
- C.countDealloc(p, s, a);
- P.deallocate(p, s, a);
- }
-
- virtual bool do_is_equal(memory_resource const & other) const noexcept {
- C.countIsEqual();
- TestResourceImp const * o = dynamic_cast<TestResourceImp const *>(&other);
- return o && o->value == value;
- }
-private:
- mutable AllocController C;
- mutable Provider P;
- DISALLOW_COPY(TestResourceImp);
-};
-
-template <class Provider, int N>
-int TestResourceImp<Provider, N>::resource_alive = 0;
-
-template <class Provider, int N>
-int TestResourceImp<Provider, N>::resource_constructed = 0;
-
-template <class Provider, int N>
-int TestResourceImp<Provider, N>::resource_destructed = 0;
-
-
-struct NullProvider {
- NullProvider() {}
- void* allocate(size_t, size_t) { return nullptr; }
- void deallocate(void*, size_t, size_t) {}
- void reset() {}
-private:
- DISALLOW_COPY(NullProvider);
-};
-
-struct NewDeleteProvider {
- NewDeleteProvider() {}
- void* allocate(size_t s, size_t) { return ::operator new(s); }
- void deallocate(void* p, size_t, size_t) { ::operator delete(p); }
- void reset() {}
-private:
- DISALLOW_COPY(NewDeleteProvider);
-};
-
-template <size_t Size = 4096 * 10> // 10 pages worth of memory.
-struct BufferProvider {
- char buffer[Size];
- void* next = &buffer;
- size_t space = Size;
-
- BufferProvider() {}
-
- void* allocate(size_t s, size_t a) {
- void* ret = std::align(s, a, next, space);
- if (ret == nullptr) {
-#ifndef TEST_HAS_NO_EXCEPTIONS
- throw std::bad_alloc();
-#else
- assert(false);
-#endif
- }
-
- return ret;
- }
-
- void deallocate(void*, size_t, size_t) {}
-
- void reset() {
- next = &buffer;
- space = Size;
- }
-private:
- DISALLOW_COPY(BufferProvider);
-};
-
-using NullResource = TestResourceImp<NullProvider, 0>;
-using NewDeleteResource = TestResourceImp<NewDeleteProvider, 0>;
-using TestResource = TestResourceImp<BufferProvider<>, 0>;
-using TestResource1 = TestResourceImp<BufferProvider<>, 1>;
-using TestResource2 = TestResourceImp<BufferProvider<>, 2>;
-
-
-#endif /* SUPPORT_TEST_MEMORY_RESOURCE_HPP */
Added: libcxx/trunk/test/support/user_defined_integral.h
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/support/user_defined_integral.h?rev=369481&view=auto
==============================================================================
--- libcxx/trunk/test/support/user_defined_integral.h (added)
+++ libcxx/trunk/test/support/user_defined_integral.h Tue Aug 20 17:14:12 2019
@@ -0,0 +1,51 @@
+//===----------------------------------------------------------------------===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+#ifndef SUPPORT_USER_DEFINED_INTEGRAL_H
+#define SUPPORT_USER_DEFINED_INTEGRAL_H
+
+template <class T>
+struct UserDefinedIntegral
+{
+ UserDefinedIntegral() : value(0) {}
+ UserDefinedIntegral(T v) : value(v) {}
+ operator T() const { return value; }
+ T value;
+};
+
+// Poison the arithmetic and comparison operations
+template <class T, class U>
+void operator+(UserDefinedIntegral<T>, UserDefinedIntegral<U>);
+
+template <class T, class U>
+void operator-(UserDefinedIntegral<T>, UserDefinedIntegral<U>);
+
+template <class T, class U>
+void operator*(UserDefinedIntegral<T>, UserDefinedIntegral<U>);
+
+template <class T, class U>
+void operator/(UserDefinedIntegral<T>, UserDefinedIntegral<U>);
+
+template <class T, class U>
+void operator==(UserDefinedIntegral<T>, UserDefinedIntegral<U>);
+
+template <class T, class U>
+void operator!=(UserDefinedIntegral<T>, UserDefinedIntegral<U>);
+
+template <class T, class U>
+void operator<(UserDefinedIntegral<T>, UserDefinedIntegral<U>);
+
+template <class T, class U>
+void operator>(UserDefinedIntegral<T>, UserDefinedIntegral<U>);
+
+template <class T, class U>
+void operator<=(UserDefinedIntegral<T>, UserDefinedIntegral<U>);
+
+template <class T, class U>
+void operator>=(UserDefinedIntegral<T>, UserDefinedIntegral<U>);
+
+#endif // SUPPORT_USER_DEFINED_INTEGRAL_H
Removed: libcxx/trunk/test/support/user_defined_integral.hpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/support/user_defined_integral.hpp?rev=369480&view=auto
==============================================================================
--- libcxx/trunk/test/support/user_defined_integral.hpp (original)
+++ libcxx/trunk/test/support/user_defined_integral.hpp (removed)
@@ -1,51 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-#ifndef SUPPORT_USER_DEFINED_INTEGRAL_HPP
-#define SUPPORT_USER_DEFINED_INTEGRAL_HPP
-
-template <class T>
-struct UserDefinedIntegral
-{
- UserDefinedIntegral() : value(0) {}
- UserDefinedIntegral(T v) : value(v) {}
- operator T() const { return value; }
- T value;
-};
-
-// Poison the arithmetic and comparison operations
-template <class T, class U>
-void operator+(UserDefinedIntegral<T>, UserDefinedIntegral<U>);
-
-template <class T, class U>
-void operator-(UserDefinedIntegral<T>, UserDefinedIntegral<U>);
-
-template <class T, class U>
-void operator*(UserDefinedIntegral<T>, UserDefinedIntegral<U>);
-
-template <class T, class U>
-void operator/(UserDefinedIntegral<T>, UserDefinedIntegral<U>);
-
-template <class T, class U>
-void operator==(UserDefinedIntegral<T>, UserDefinedIntegral<U>);
-
-template <class T, class U>
-void operator!=(UserDefinedIntegral<T>, UserDefinedIntegral<U>);
-
-template <class T, class U>
-void operator<(UserDefinedIntegral<T>, UserDefinedIntegral<U>);
-
-template <class T, class U>
-void operator>(UserDefinedIntegral<T>, UserDefinedIntegral<U>);
-
-template <class T, class U>
-void operator<=(UserDefinedIntegral<T>, UserDefinedIntegral<U>);
-
-template <class T, class U>
-void operator>=(UserDefinedIntegral<T>, UserDefinedIntegral<U>);
-
-#endif // SUPPORT_USER_DEFINED_INTEGRAL_HPP
Added: libcxx/trunk/test/support/uses_alloc_types.h
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/support/uses_alloc_types.h?rev=369481&view=auto
==============================================================================
--- libcxx/trunk/test/support/uses_alloc_types.h (added)
+++ libcxx/trunk/test/support/uses_alloc_types.h Tue Aug 20 17:14:12 2019
@@ -0,0 +1,390 @@
+//===----------------------------------------------------------------------===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef USES_ALLOC_TYPES_H
+#define USES_ALLOC_TYPES_H
+
+# include <memory>
+# include <cassert>
+#include <cstdlib>
+
+#include "test_macros.h"
+#include "test_workarounds.h"
+#include "type_id.h"
+
+// There are two forms of uses-allocator construction:
+// (1) UA_AllocArg: 'T(allocator_arg_t, Alloc const&, Args&&...)'
+// (2) UA_AllocLast: 'T(Args&&..., Alloc const&)'
+// 'UA_None' represents non-uses allocator construction.
+enum class UsesAllocatorType {
+ UA_None = 0,
+ UA_AllocArg = 2,
+ UA_AllocLast = 4
+};
+constexpr UsesAllocatorType UA_None = UsesAllocatorType::UA_None;
+constexpr UsesAllocatorType UA_AllocArg = UsesAllocatorType::UA_AllocArg;
+constexpr UsesAllocatorType UA_AllocLast = UsesAllocatorType::UA_AllocLast;
+
+inline const char* toString(UsesAllocatorType UA) {
+ switch (UA) {
+ case UA_None:
+ return "UA_None";
+ case UA_AllocArg:
+ return "UA_AllocArg";
+ case UA_AllocLast:
+ return "UA_AllocLast";
+ default:
+ std::abort();
+ }
+}
+
+#define COMPARE_ALLOC_TYPE(LHS, RHS) CompareVerbose(#LHS, LHS, #RHS, RHS)
+
+inline bool CompareVerbose(const char* LHSString, UsesAllocatorType LHS,
+ const char* RHSString, UsesAllocatorType RHS) {
+ if (LHS == RHS)
+ return true;
+ std::printf("UsesAllocatorType's don't match:\n%s %s\n----------\n%s %s\n",
+ LHSString, toString(LHS), RHSString, toString(RHS));
+ return false;
+}
+
+template <class Alloc, std::size_t N>
+class UsesAllocatorV1;
+ // Implements form (1) of uses-allocator construction from the specified
+ // 'Alloc' type and exactly 'N' additional arguments. It also provides
+ // non-uses allocator construction from 'N' arguments. This test type
+ // blows up when form (2) of uses-allocator is even considered.
+
+template <class Alloc, std::size_t N>
+class UsesAllocatorV2;
+ // Implements form (2) of uses-allocator construction from the specified
+ // 'Alloc' type and exactly 'N' additional arguments. It also provides
+ // non-uses allocator construction from 'N' arguments.
+
+template <class Alloc, std::size_t N>
+class UsesAllocatorV3;
+ // Implements both form (1) and (2) of uses-allocator construction from
+ // the specified 'Alloc' type and exactly 'N' additional arguments. It also
+ // provides non-uses allocator construction from 'N' arguments.
+
+template <class Alloc, std::size_t>
+class NotUsesAllocator;
+ // Implements both form (1) and (2) of uses-allocator construction from
+ // the specified 'Alloc' type and exactly 'N' additional arguments. It also
+ // provides non-uses allocator construction from 'N' arguments. However
+ // 'NotUsesAllocator' never provides a 'allocator_type' typedef so it is
+ // never automatically uses-allocator constructed.
+
+
+template <class ...ArgTypes, class TestType>
+bool checkConstruct(TestType& value, UsesAllocatorType form,
+ typename TestType::CtorAlloc const& alloc)
+ // Check that 'value' was constructed using the specified 'form' of
+ // construction and with the specified 'ArgTypes...'. Additionally
+ // check that 'value' was constructed using the specified 'alloc'.
+{
+ if (form == UA_None) {
+ return value.template checkConstruct<ArgTypes&&...>(form);
+ } else {
+ return value.template checkConstruct<ArgTypes&&...>(form, alloc);
+ }
+}
+
+
+template <class ...ArgTypes, class TestType>
+bool checkConstruct(TestType& value, UsesAllocatorType form) {
+ return value.template checkConstruct<ArgTypes&&...>(form);
+}
+
+template <class TestType>
+bool checkConstructionEquiv(TestType& T, TestType& U)
+ // check that 'T' and 'U' where initialized in the exact same manner.
+{
+ return T.checkConstructEquiv(U);
+}
+
+////////////////////////////////////////////////////////////////////////////////
+namespace detail {
+
+template <bool IsZero, size_t N, class ArgList, class ...Args>
+struct TakeNImp;
+
+template <class ArgList, class ...Args>
+struct TakeNImp<true, 0, ArgList, Args...> {
+ typedef ArgList type;
+};
+
+template <size_t N, class ...A1, class F, class ...R>
+struct TakeNImp<false, N, ArgumentListID<A1...>, F, R...>
+ : TakeNImp<N-1 == 0, N - 1, ArgumentListID<A1..., F>, R...> {};
+
+template <size_t N, class ...Args>
+struct TakeNArgs : TakeNImp<N == 0, N, ArgumentListID<>, Args...> {};
+
+template <class T>
+struct Identity { typedef T type; };
+
+template <class T>
+using IdentityT = typename Identity<T>::type;
+
+template <bool Value>
+using EnableIfB = typename std::enable_if<Value, bool>::type;
+
+} // end namespace detail
+
+// FIXME: UsesAllocatorTestBase needs some special logic to deal with
+// polymorphic allocators. However we don't want to include
+// <experimental/memory_resource> in this header. Therefore in order
+// to inject this behavior later we use a trait.
+// See test_memory_resource.h for more info.
+template <class Alloc>
+struct TransformErasedTypeAlloc {
+ using type = Alloc;
+};
+
+using detail::EnableIfB;
+
+struct AllocLastTag {};
+
+template <class Alloc, bool = std::is_default_constructible<Alloc>::value>
+struct UsesAllocatorTestBaseStorage {
+ Alloc allocator;
+ UsesAllocatorTestBaseStorage() = default;
+ UsesAllocatorTestBaseStorage(Alloc const& a) : allocator(a) {}
+ const Alloc* get_allocator() const { return &allocator; }
+};
+
+template <class Alloc>
+struct UsesAllocatorTestBaseStorage<Alloc, false> {
+ union {
+ char dummy;
+ Alloc alloc;
+ };
+ bool has_alloc = false;
+
+ UsesAllocatorTestBaseStorage() : dummy(), has_alloc(false) {}
+ UsesAllocatorTestBaseStorage(Alloc const& a) : alloc(a), has_alloc(true) {}
+ ~UsesAllocatorTestBaseStorage() {
+ if (has_alloc)
+ alloc.~Alloc();
+ }
+
+ Alloc const* get_allocator() const {
+ if (!has_alloc)
+ return nullptr;
+ return &alloc;
+ }
+};
+
+template <class Self, class Alloc>
+struct UsesAllocatorTestBase {
+public:
+ using CtorAlloc = typename TransformErasedTypeAlloc<Alloc>::type;
+
+ template <class ...ArgTypes>
+ bool checkConstruct(UsesAllocatorType expectType) const {
+ auto expectArgs = &makeArgumentID<ArgTypes...>();
+ return COMPARE_ALLOC_TYPE(expectType, constructor_called) &&
+ COMPARE_TYPEID(args_id, expectArgs);
+ }
+
+ template <class ...ArgTypes>
+ bool checkConstruct(UsesAllocatorType expectType,
+ CtorAlloc const& expectAlloc) const {
+ auto ExpectID = &makeArgumentID<ArgTypes...>() ;
+ return COMPARE_ALLOC_TYPE(expectType, constructor_called) &&
+ COMPARE_TYPEID(args_id, ExpectID) &&
+ has_alloc() && expectAlloc == *get_alloc();
+
+ }
+
+ bool checkConstructEquiv(UsesAllocatorTestBase& O) const {
+ if (has_alloc() != O.has_alloc())
+ return false;
+ return COMPARE_ALLOC_TYPE(constructor_called, O.constructor_called)
+ && COMPARE_TYPEID(args_id, O.args_id)
+ && (!has_alloc() || *get_alloc() == *O.get_alloc());
+ }
+
+protected:
+ explicit UsesAllocatorTestBase(const TypeID* aid)
+ : args_id(aid), constructor_called(UA_None), alloc_store()
+ {}
+
+ UsesAllocatorTestBase(UsesAllocatorTestBase const&)
+ : args_id(&makeArgumentID<Self const&>()), constructor_called(UA_None),
+ alloc_store()
+ {}
+
+ UsesAllocatorTestBase(UsesAllocatorTestBase&&)
+ : args_id(&makeArgumentID<Self&&>()), constructor_called(UA_None),
+ alloc_store()
+ {}
+
+ template <class ...Args>
+ UsesAllocatorTestBase(std::allocator_arg_t, CtorAlloc const& a, Args&&...)
+ : args_id(&makeArgumentID<Args&&...>()),
+ constructor_called(UA_AllocArg),
+ alloc_store(a)
+ {}
+
+ template <class ...Args, class ArgsIDL = detail::TakeNArgs<sizeof...(Args) - 1, Args&&...>>
+ UsesAllocatorTestBase(AllocLastTag, Args&&... args)
+ : args_id(&makeTypeIDImp<typename ArgsIDL::type>()),
+ constructor_called(UA_AllocLast),
+ alloc_store(UsesAllocatorTestBase::getAllocatorFromPack(
+ typename ArgsIDL::type{},
+ std::forward<Args>(args)...))
+ {
+ }
+
+private:
+ template <class ...LArgs, class ...Args>
+ static CtorAlloc getAllocatorFromPack(ArgumentListID<LArgs...>, Args&&... args) {
+ return UsesAllocatorTestBase::getAllocatorFromPackImp<LArgs const&...>(args...);
+ }
+
+ template <class ...LArgs>
+ static CtorAlloc getAllocatorFromPackImp(
+ typename detail::Identity<LArgs>::type..., CtorAlloc const& alloc) {
+ return alloc;
+ }
+
+ bool has_alloc() const { return alloc_store.get_allocator() != nullptr; }
+ const CtorAlloc *get_alloc() const { return alloc_store.get_allocator(); }
+public:
+ const TypeID* args_id;
+ UsesAllocatorType constructor_called = UA_None;
+ UsesAllocatorTestBaseStorage<CtorAlloc> alloc_store;
+};
+
+template <class Alloc, size_t Arity>
+class UsesAllocatorV1 : public UsesAllocatorTestBase<UsesAllocatorV1<Alloc, Arity>, Alloc>
+{
+public:
+ typedef Alloc allocator_type;
+
+ using Base = UsesAllocatorTestBase<UsesAllocatorV1, Alloc>;
+ using CtorAlloc = typename Base::CtorAlloc;
+
+ UsesAllocatorV1() : Base(&makeArgumentID<>()) {}
+
+ UsesAllocatorV1(UsesAllocatorV1 const&)
+ : Base(&makeArgumentID<UsesAllocatorV1 const&>()) {}
+ UsesAllocatorV1(UsesAllocatorV1 &&)
+ : Base(&makeArgumentID<UsesAllocatorV1 &&>()) {}
+ // Non-Uses Allocator Ctor
+ template <class ...Args, EnableIfB<sizeof...(Args) == Arity> = false>
+ UsesAllocatorV1(Args&&...) : Base(&makeArgumentID<Args&&...>()) {}
+
+ // Uses Allocator Arg Ctor
+ template <class ...Args>
+ UsesAllocatorV1(std::allocator_arg_t tag, CtorAlloc const & a, Args&&... args)
+ : Base(tag, a, std::forward<Args>(args)...)
+ { }
+
+ // BLOWS UP: Uses Allocator Last Ctor
+ template <class First, class ...Args, EnableIfB<sizeof...(Args) == Arity> Dummy = false>
+ constexpr UsesAllocatorV1(First&&, Args&&...)
+ {
+ static_assert(!std::is_same<First, First>::value, "");
+ }
+};
+
+
+template <class Alloc, size_t Arity>
+class UsesAllocatorV2 : public UsesAllocatorTestBase<UsesAllocatorV2<Alloc, Arity>, Alloc>
+{
+public:
+ typedef Alloc allocator_type;
+
+ using Base = UsesAllocatorTestBase<UsesAllocatorV2, Alloc>;
+ using CtorAlloc = typename Base::CtorAlloc;
+
+ UsesAllocatorV2() : Base(&makeArgumentID<>()) {}
+ UsesAllocatorV2(UsesAllocatorV2 const&)
+ : Base(&makeArgumentID<UsesAllocatorV2 const&>()) {}
+ UsesAllocatorV2(UsesAllocatorV2 &&)
+ : Base(&makeArgumentID<UsesAllocatorV2 &&>()) {}
+
+ // Non-Uses Allocator Ctor
+ template <class ...Args, EnableIfB<sizeof...(Args) == Arity> = false>
+ UsesAllocatorV2(Args&&...) : Base(&makeArgumentID<Args&&...>()) {}
+
+ // Uses Allocator Last Ctor
+ template <class ...Args, EnableIfB<sizeof...(Args) == Arity + 1> = false>
+ UsesAllocatorV2(Args&&... args)
+ : Base(AllocLastTag{}, std::forward<Args>(args)...)
+ {}
+};
+
+template <class Alloc, size_t Arity>
+class UsesAllocatorV3 : public UsesAllocatorTestBase<UsesAllocatorV3<Alloc, Arity>, Alloc>
+{
+public:
+ typedef Alloc allocator_type;
+
+ using Base = UsesAllocatorTestBase<UsesAllocatorV3, Alloc>;
+ using CtorAlloc = typename Base::CtorAlloc;
+
+ UsesAllocatorV3() : Base(&makeArgumentID<>()) {}
+ UsesAllocatorV3(UsesAllocatorV3 const&)
+ : Base(&makeArgumentID<UsesAllocatorV3 const&>()) {}
+ UsesAllocatorV3(UsesAllocatorV3 &&)
+ : Base(&makeArgumentID<UsesAllocatorV3 &&>()) {}
+
+ // Non-Uses Allocator Ctor
+ template <class ...Args, EnableIfB<sizeof...(Args) == Arity> = false>
+ UsesAllocatorV3(Args&&...) : Base(&makeArgumentID<Args&&...>()) {}
+
+ // Uses Allocator Arg Ctor
+ template <class ...Args>
+ UsesAllocatorV3(std::allocator_arg_t tag, CtorAlloc const& alloc, Args&&... args)
+ : Base(tag, alloc, std::forward<Args>(args)...)
+ {}
+
+ // Uses Allocator Last Ctor
+ template <class ...Args, EnableIfB<sizeof...(Args) == Arity + 1> = false>
+ UsesAllocatorV3(Args&&... args)
+ : Base(AllocLastTag{}, std::forward<Args>(args)...)
+ {}
+};
+
+template <class Alloc, size_t Arity>
+class NotUsesAllocator : public UsesAllocatorTestBase<NotUsesAllocator<Alloc, Arity>, Alloc>
+{
+public:
+ // no allocator_type typedef provided
+
+ using Base = UsesAllocatorTestBase<NotUsesAllocator, Alloc>;
+ using CtorAlloc = typename Base::CtorAlloc;
+
+ NotUsesAllocator() : Base(&makeArgumentID<>()) {}
+ NotUsesAllocator(NotUsesAllocator const&)
+ : Base(&makeArgumentID<NotUsesAllocator const&>()) {}
+ NotUsesAllocator(NotUsesAllocator &&)
+ : Base(&makeArgumentID<NotUsesAllocator &&>()) {}
+ // Non-Uses Allocator Ctor
+ template <class ...Args, EnableIfB<sizeof...(Args) == Arity> = false>
+ NotUsesAllocator(Args&&...) : Base(&makeArgumentID<Args&&...>()) {}
+
+ // Uses Allocator Arg Ctor
+ template <class ...Args>
+ NotUsesAllocator(std::allocator_arg_t tag, CtorAlloc const& alloc, Args&&... args)
+ : Base(tag, alloc, std::forward<Args>(args)...)
+ {}
+
+ // Uses Allocator Last Ctor
+ template <class ...Args, EnableIfB<sizeof...(Args) == Arity + 1> = false>
+ NotUsesAllocator(Args&&... args)
+ : Base(AllocLastTag{}, std::forward<Args>(args)...)
+ {}
+};
+
+#endif /* USES_ALLOC_TYPES_H */
Removed: libcxx/trunk/test/support/uses_alloc_types.hpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/support/uses_alloc_types.hpp?rev=369480&view=auto
==============================================================================
--- libcxx/trunk/test/support/uses_alloc_types.hpp (original)
+++ libcxx/trunk/test/support/uses_alloc_types.hpp (removed)
@@ -1,390 +0,0 @@
-//===----------------------------------------------------------------------===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef USES_ALLOC_TYPES_HPP
-#define USES_ALLOC_TYPES_HPP
-
-# include <memory>
-# include <cassert>
-#include <cstdlib>
-
-#include "test_macros.h"
-#include "test_workarounds.h"
-#include "type_id.h"
-
-// There are two forms of uses-allocator construction:
-// (1) UA_AllocArg: 'T(allocator_arg_t, Alloc const&, Args&&...)'
-// (2) UA_AllocLast: 'T(Args&&..., Alloc const&)'
-// 'UA_None' represents non-uses allocator construction.
-enum class UsesAllocatorType {
- UA_None = 0,
- UA_AllocArg = 2,
- UA_AllocLast = 4
-};
-constexpr UsesAllocatorType UA_None = UsesAllocatorType::UA_None;
-constexpr UsesAllocatorType UA_AllocArg = UsesAllocatorType::UA_AllocArg;
-constexpr UsesAllocatorType UA_AllocLast = UsesAllocatorType::UA_AllocLast;
-
-inline const char* toString(UsesAllocatorType UA) {
- switch (UA) {
- case UA_None:
- return "UA_None";
- case UA_AllocArg:
- return "UA_AllocArg";
- case UA_AllocLast:
- return "UA_AllocLast";
- default:
- std::abort();
- }
-}
-
-#define COMPARE_ALLOC_TYPE(LHS, RHS) CompareVerbose(#LHS, LHS, #RHS, RHS)
-
-inline bool CompareVerbose(const char* LHSString, UsesAllocatorType LHS,
- const char* RHSString, UsesAllocatorType RHS) {
- if (LHS == RHS)
- return true;
- std::printf("UsesAllocatorType's don't match:\n%s %s\n----------\n%s %s\n",
- LHSString, toString(LHS), RHSString, toString(RHS));
- return false;
-}
-
-template <class Alloc, std::size_t N>
-class UsesAllocatorV1;
- // Implements form (1) of uses-allocator construction from the specified
- // 'Alloc' type and exactly 'N' additional arguments. It also provides
- // non-uses allocator construction from 'N' arguments. This test type
- // blows up when form (2) of uses-allocator is even considered.
-
-template <class Alloc, std::size_t N>
-class UsesAllocatorV2;
- // Implements form (2) of uses-allocator construction from the specified
- // 'Alloc' type and exactly 'N' additional arguments. It also provides
- // non-uses allocator construction from 'N' arguments.
-
-template <class Alloc, std::size_t N>
-class UsesAllocatorV3;
- // Implements both form (1) and (2) of uses-allocator construction from
- // the specified 'Alloc' type and exactly 'N' additional arguments. It also
- // provides non-uses allocator construction from 'N' arguments.
-
-template <class Alloc, std::size_t>
-class NotUsesAllocator;
- // Implements both form (1) and (2) of uses-allocator construction from
- // the specified 'Alloc' type and exactly 'N' additional arguments. It also
- // provides non-uses allocator construction from 'N' arguments. However
- // 'NotUsesAllocator' never provides a 'allocator_type' typedef so it is
- // never automatically uses-allocator constructed.
-
-
-template <class ...ArgTypes, class TestType>
-bool checkConstruct(TestType& value, UsesAllocatorType form,
- typename TestType::CtorAlloc const& alloc)
- // Check that 'value' was constructed using the specified 'form' of
- // construction and with the specified 'ArgTypes...'. Additionally
- // check that 'value' was constructed using the specified 'alloc'.
-{
- if (form == UA_None) {
- return value.template checkConstruct<ArgTypes&&...>(form);
- } else {
- return value.template checkConstruct<ArgTypes&&...>(form, alloc);
- }
-}
-
-
-template <class ...ArgTypes, class TestType>
-bool checkConstruct(TestType& value, UsesAllocatorType form) {
- return value.template checkConstruct<ArgTypes&&...>(form);
-}
-
-template <class TestType>
-bool checkConstructionEquiv(TestType& T, TestType& U)
- // check that 'T' and 'U' where initialized in the exact same manner.
-{
- return T.checkConstructEquiv(U);
-}
-
-////////////////////////////////////////////////////////////////////////////////
-namespace detail {
-
-template <bool IsZero, size_t N, class ArgList, class ...Args>
-struct TakeNImp;
-
-template <class ArgList, class ...Args>
-struct TakeNImp<true, 0, ArgList, Args...> {
- typedef ArgList type;
-};
-
-template <size_t N, class ...A1, class F, class ...R>
-struct TakeNImp<false, N, ArgumentListID<A1...>, F, R...>
- : TakeNImp<N-1 == 0, N - 1, ArgumentListID<A1..., F>, R...> {};
-
-template <size_t N, class ...Args>
-struct TakeNArgs : TakeNImp<N == 0, N, ArgumentListID<>, Args...> {};
-
-template <class T>
-struct Identity { typedef T type; };
-
-template <class T>
-using IdentityT = typename Identity<T>::type;
-
-template <bool Value>
-using EnableIfB = typename std::enable_if<Value, bool>::type;
-
-} // end namespace detail
-
-// FIXME: UsesAllocatorTestBase needs some special logic to deal with
-// polymorphic allocators. However we don't want to include
-// <experimental/memory_resource> in this header. Therefore in order
-// to inject this behavior later we use a trait.
-// See test_memory_resource.hpp for more info.
-template <class Alloc>
-struct TransformErasedTypeAlloc {
- using type = Alloc;
-};
-
-using detail::EnableIfB;
-
-struct AllocLastTag {};
-
-template <class Alloc, bool = std::is_default_constructible<Alloc>::value>
-struct UsesAllocatorTestBaseStorage {
- Alloc allocator;
- UsesAllocatorTestBaseStorage() = default;
- UsesAllocatorTestBaseStorage(Alloc const& a) : allocator(a) {}
- const Alloc* get_allocator() const { return &allocator; }
-};
-
-template <class Alloc>
-struct UsesAllocatorTestBaseStorage<Alloc, false> {
- union {
- char dummy;
- Alloc alloc;
- };
- bool has_alloc = false;
-
- UsesAllocatorTestBaseStorage() : dummy(), has_alloc(false) {}
- UsesAllocatorTestBaseStorage(Alloc const& a) : alloc(a), has_alloc(true) {}
- ~UsesAllocatorTestBaseStorage() {
- if (has_alloc)
- alloc.~Alloc();
- }
-
- Alloc const* get_allocator() const {
- if (!has_alloc)
- return nullptr;
- return &alloc;
- }
-};
-
-template <class Self, class Alloc>
-struct UsesAllocatorTestBase {
-public:
- using CtorAlloc = typename TransformErasedTypeAlloc<Alloc>::type;
-
- template <class ...ArgTypes>
- bool checkConstruct(UsesAllocatorType expectType) const {
- auto expectArgs = &makeArgumentID<ArgTypes...>();
- return COMPARE_ALLOC_TYPE(expectType, constructor_called) &&
- COMPARE_TYPEID(args_id, expectArgs);
- }
-
- template <class ...ArgTypes>
- bool checkConstruct(UsesAllocatorType expectType,
- CtorAlloc const& expectAlloc) const {
- auto ExpectID = &makeArgumentID<ArgTypes...>() ;
- return COMPARE_ALLOC_TYPE(expectType, constructor_called) &&
- COMPARE_TYPEID(args_id, ExpectID) &&
- has_alloc() && expectAlloc == *get_alloc();
-
- }
-
- bool checkConstructEquiv(UsesAllocatorTestBase& O) const {
- if (has_alloc() != O.has_alloc())
- return false;
- return COMPARE_ALLOC_TYPE(constructor_called, O.constructor_called)
- && COMPARE_TYPEID(args_id, O.args_id)
- && (!has_alloc() || *get_alloc() == *O.get_alloc());
- }
-
-protected:
- explicit UsesAllocatorTestBase(const TypeID* aid)
- : args_id(aid), constructor_called(UA_None), alloc_store()
- {}
-
- UsesAllocatorTestBase(UsesAllocatorTestBase const&)
- : args_id(&makeArgumentID<Self const&>()), constructor_called(UA_None),
- alloc_store()
- {}
-
- UsesAllocatorTestBase(UsesAllocatorTestBase&&)
- : args_id(&makeArgumentID<Self&&>()), constructor_called(UA_None),
- alloc_store()
- {}
-
- template <class ...Args>
- UsesAllocatorTestBase(std::allocator_arg_t, CtorAlloc const& a, Args&&...)
- : args_id(&makeArgumentID<Args&&...>()),
- constructor_called(UA_AllocArg),
- alloc_store(a)
- {}
-
- template <class ...Args, class ArgsIDL = detail::TakeNArgs<sizeof...(Args) - 1, Args&&...>>
- UsesAllocatorTestBase(AllocLastTag, Args&&... args)
- : args_id(&makeTypeIDImp<typename ArgsIDL::type>()),
- constructor_called(UA_AllocLast),
- alloc_store(UsesAllocatorTestBase::getAllocatorFromPack(
- typename ArgsIDL::type{},
- std::forward<Args>(args)...))
- {
- }
-
-private:
- template <class ...LArgs, class ...Args>
- static CtorAlloc getAllocatorFromPack(ArgumentListID<LArgs...>, Args&&... args) {
- return UsesAllocatorTestBase::getAllocatorFromPackImp<LArgs const&...>(args...);
- }
-
- template <class ...LArgs>
- static CtorAlloc getAllocatorFromPackImp(
- typename detail::Identity<LArgs>::type..., CtorAlloc const& alloc) {
- return alloc;
- }
-
- bool has_alloc() const { return alloc_store.get_allocator() != nullptr; }
- const CtorAlloc *get_alloc() const { return alloc_store.get_allocator(); }
-public:
- const TypeID* args_id;
- UsesAllocatorType constructor_called = UA_None;
- UsesAllocatorTestBaseStorage<CtorAlloc> alloc_store;
-};
-
-template <class Alloc, size_t Arity>
-class UsesAllocatorV1 : public UsesAllocatorTestBase<UsesAllocatorV1<Alloc, Arity>, Alloc>
-{
-public:
- typedef Alloc allocator_type;
-
- using Base = UsesAllocatorTestBase<UsesAllocatorV1, Alloc>;
- using CtorAlloc = typename Base::CtorAlloc;
-
- UsesAllocatorV1() : Base(&makeArgumentID<>()) {}
-
- UsesAllocatorV1(UsesAllocatorV1 const&)
- : Base(&makeArgumentID<UsesAllocatorV1 const&>()) {}
- UsesAllocatorV1(UsesAllocatorV1 &&)
- : Base(&makeArgumentID<UsesAllocatorV1 &&>()) {}
- // Non-Uses Allocator Ctor
- template <class ...Args, EnableIfB<sizeof...(Args) == Arity> = false>
- UsesAllocatorV1(Args&&...) : Base(&makeArgumentID<Args&&...>()) {}
-
- // Uses Allocator Arg Ctor
- template <class ...Args>
- UsesAllocatorV1(std::allocator_arg_t tag, CtorAlloc const & a, Args&&... args)
- : Base(tag, a, std::forward<Args>(args)...)
- { }
-
- // BLOWS UP: Uses Allocator Last Ctor
- template <class First, class ...Args, EnableIfB<sizeof...(Args) == Arity> Dummy = false>
- constexpr UsesAllocatorV1(First&&, Args&&...)
- {
- static_assert(!std::is_same<First, First>::value, "");
- }
-};
-
-
-template <class Alloc, size_t Arity>
-class UsesAllocatorV2 : public UsesAllocatorTestBase<UsesAllocatorV2<Alloc, Arity>, Alloc>
-{
-public:
- typedef Alloc allocator_type;
-
- using Base = UsesAllocatorTestBase<UsesAllocatorV2, Alloc>;
- using CtorAlloc = typename Base::CtorAlloc;
-
- UsesAllocatorV2() : Base(&makeArgumentID<>()) {}
- UsesAllocatorV2(UsesAllocatorV2 const&)
- : Base(&makeArgumentID<UsesAllocatorV2 const&>()) {}
- UsesAllocatorV2(UsesAllocatorV2 &&)
- : Base(&makeArgumentID<UsesAllocatorV2 &&>()) {}
-
- // Non-Uses Allocator Ctor
- template <class ...Args, EnableIfB<sizeof...(Args) == Arity> = false>
- UsesAllocatorV2(Args&&...) : Base(&makeArgumentID<Args&&...>()) {}
-
- // Uses Allocator Last Ctor
- template <class ...Args, EnableIfB<sizeof...(Args) == Arity + 1> = false>
- UsesAllocatorV2(Args&&... args)
- : Base(AllocLastTag{}, std::forward<Args>(args)...)
- {}
-};
-
-template <class Alloc, size_t Arity>
-class UsesAllocatorV3 : public UsesAllocatorTestBase<UsesAllocatorV3<Alloc, Arity>, Alloc>
-{
-public:
- typedef Alloc allocator_type;
-
- using Base = UsesAllocatorTestBase<UsesAllocatorV3, Alloc>;
- using CtorAlloc = typename Base::CtorAlloc;
-
- UsesAllocatorV3() : Base(&makeArgumentID<>()) {}
- UsesAllocatorV3(UsesAllocatorV3 const&)
- : Base(&makeArgumentID<UsesAllocatorV3 const&>()) {}
- UsesAllocatorV3(UsesAllocatorV3 &&)
- : Base(&makeArgumentID<UsesAllocatorV3 &&>()) {}
-
- // Non-Uses Allocator Ctor
- template <class ...Args, EnableIfB<sizeof...(Args) == Arity> = false>
- UsesAllocatorV3(Args&&...) : Base(&makeArgumentID<Args&&...>()) {}
-
- // Uses Allocator Arg Ctor
- template <class ...Args>
- UsesAllocatorV3(std::allocator_arg_t tag, CtorAlloc const& alloc, Args&&... args)
- : Base(tag, alloc, std::forward<Args>(args)...)
- {}
-
- // Uses Allocator Last Ctor
- template <class ...Args, EnableIfB<sizeof...(Args) == Arity + 1> = false>
- UsesAllocatorV3(Args&&... args)
- : Base(AllocLastTag{}, std::forward<Args>(args)...)
- {}
-};
-
-template <class Alloc, size_t Arity>
-class NotUsesAllocator : public UsesAllocatorTestBase<NotUsesAllocator<Alloc, Arity>, Alloc>
-{
-public:
- // no allocator_type typedef provided
-
- using Base = UsesAllocatorTestBase<NotUsesAllocator, Alloc>;
- using CtorAlloc = typename Base::CtorAlloc;
-
- NotUsesAllocator() : Base(&makeArgumentID<>()) {}
- NotUsesAllocator(NotUsesAllocator const&)
- : Base(&makeArgumentID<NotUsesAllocator const&>()) {}
- NotUsesAllocator(NotUsesAllocator &&)
- : Base(&makeArgumentID<NotUsesAllocator &&>()) {}
- // Non-Uses Allocator Ctor
- template <class ...Args, EnableIfB<sizeof...(Args) == Arity> = false>
- NotUsesAllocator(Args&&...) : Base(&makeArgumentID<Args&&...>()) {}
-
- // Uses Allocator Arg Ctor
- template <class ...Args>
- NotUsesAllocator(std::allocator_arg_t tag, CtorAlloc const& alloc, Args&&... args)
- : Base(tag, alloc, std::forward<Args>(args)...)
- {}
-
- // Uses Allocator Last Ctor
- template <class ...Args, EnableIfB<sizeof...(Args) == Arity + 1> = false>
- NotUsesAllocator(Args&&... args)
- : Base(AllocLastTag{}, std::forward<Args>(args)...)
- {}
-};
-
-#endif /* USES_ALLOC_TYPES_HPP */
Added: libcxx/trunk/test/support/variant_test_helpers.h
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/support/variant_test_helpers.h?rev=369481&view=auto
==============================================================================
--- libcxx/trunk/test/support/variant_test_helpers.h (added)
+++ libcxx/trunk/test/support/variant_test_helpers.h Tue Aug 20 17:14:12 2019
@@ -0,0 +1,89 @@
+// -*- C++ -*-
+//===----------------------------------------------------------------------===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+#ifndef SUPPORT_VARIANT_TEST_HELPERS_H
+#define SUPPORT_VARIANT_TEST_HELPERS_H
+
+#include <type_traits>
+#include <utility>
+#include <cassert>
+
+#include "test_macros.h"
+
+#if TEST_STD_VER <= 14
+#error This file requires C++17
+#endif
+
+// FIXME: Currently the variant<T&> tests are disabled using this macro.
+#define TEST_VARIANT_HAS_NO_REFERENCES
+#ifdef _LIBCPP_ENABLE_NARROWING_CONVERSIONS_IN_VARIANT
+# define TEST_VARIANT_ALLOWS_NARROWING_CONVERSIONS
+#endif
+
+#ifdef TEST_VARIANT_ALLOWS_NARROWING_CONVERSIONS
+constexpr bool VariantAllowsNarrowingConversions = true;
+#else
+constexpr bool VariantAllowsNarrowingConversions = false;
+#endif
+
+#ifndef TEST_HAS_NO_EXCEPTIONS
+struct CopyThrows {
+ CopyThrows() = default;
+ CopyThrows(CopyThrows const&) { throw 42; }
+ CopyThrows& operator=(CopyThrows const&) { throw 42; }
+};
+
+struct MoveThrows {
+ static int alive;
+ MoveThrows() { ++alive; }
+ MoveThrows(MoveThrows const&) {++alive;}
+ MoveThrows(MoveThrows&&) { throw 42; }
+ MoveThrows& operator=(MoveThrows const&) { return *this; }
+ MoveThrows& operator=(MoveThrows&&) { throw 42; }
+ ~MoveThrows() { --alive; }
+};
+
+int MoveThrows::alive = 0;
+
+struct MakeEmptyT {
+ static int alive;
+ MakeEmptyT() { ++alive; }
+ MakeEmptyT(MakeEmptyT const&) {
+ ++alive;
+ // Don't throw from the copy constructor since variant's assignment
+ // operator performs a copy before committing to the assignment.
+ }
+ MakeEmptyT(MakeEmptyT &&) {
+ throw 42;
+ }
+ MakeEmptyT& operator=(MakeEmptyT const&) {
+ throw 42;
+ }
+ MakeEmptyT& operator=(MakeEmptyT&&) {
+ throw 42;
+ }
+ ~MakeEmptyT() { --alive; }
+};
+static_assert(std::is_swappable_v<MakeEmptyT>, ""); // required for test
+
+int MakeEmptyT::alive = 0;
+
+template <class Variant>
+void makeEmpty(Variant& v) {
+ Variant v2(std::in_place_type<MakeEmptyT>);
+ try {
+ v = std::move(v2);
+ assert(false);
+ } catch (...) {
+ assert(v.valueless_by_exception());
+ }
+}
+#endif // TEST_HAS_NO_EXCEPTIONS
+
+
+#endif // SUPPORT_VARIANT_TEST_HELPERS_H
Removed: libcxx/trunk/test/support/variant_test_helpers.hpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/support/variant_test_helpers.hpp?rev=369480&view=auto
==============================================================================
--- libcxx/trunk/test/support/variant_test_helpers.hpp (original)
+++ libcxx/trunk/test/support/variant_test_helpers.hpp (removed)
@@ -1,89 +0,0 @@
-// -*- C++ -*-
-//===----------------------------------------------------------------------===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-#ifndef SUPPORT_VARIANT_TEST_HELPERS_HPP
-#define SUPPORT_VARIANT_TEST_HELPERS_HPP
-
-#include <type_traits>
-#include <utility>
-#include <cassert>
-
-#include "test_macros.h"
-
-#if TEST_STD_VER <= 14
-#error This file requires C++17
-#endif
-
-// FIXME: Currently the variant<T&> tests are disabled using this macro.
-#define TEST_VARIANT_HAS_NO_REFERENCES
-#ifdef _LIBCPP_ENABLE_NARROWING_CONVERSIONS_IN_VARIANT
-# define TEST_VARIANT_ALLOWS_NARROWING_CONVERSIONS
-#endif
-
-#ifdef TEST_VARIANT_ALLOWS_NARROWING_CONVERSIONS
-constexpr bool VariantAllowsNarrowingConversions = true;
-#else
-constexpr bool VariantAllowsNarrowingConversions = false;
-#endif
-
-#ifndef TEST_HAS_NO_EXCEPTIONS
-struct CopyThrows {
- CopyThrows() = default;
- CopyThrows(CopyThrows const&) { throw 42; }
- CopyThrows& operator=(CopyThrows const&) { throw 42; }
-};
-
-struct MoveThrows {
- static int alive;
- MoveThrows() { ++alive; }
- MoveThrows(MoveThrows const&) {++alive;}
- MoveThrows(MoveThrows&&) { throw 42; }
- MoveThrows& operator=(MoveThrows const&) { return *this; }
- MoveThrows& operator=(MoveThrows&&) { throw 42; }
- ~MoveThrows() { --alive; }
-};
-
-int MoveThrows::alive = 0;
-
-struct MakeEmptyT {
- static int alive;
- MakeEmptyT() { ++alive; }
- MakeEmptyT(MakeEmptyT const&) {
- ++alive;
- // Don't throw from the copy constructor since variant's assignment
- // operator performs a copy before committing to the assignment.
- }
- MakeEmptyT(MakeEmptyT &&) {
- throw 42;
- }
- MakeEmptyT& operator=(MakeEmptyT const&) {
- throw 42;
- }
- MakeEmptyT& operator=(MakeEmptyT&&) {
- throw 42;
- }
- ~MakeEmptyT() { --alive; }
-};
-static_assert(std::is_swappable_v<MakeEmptyT>, ""); // required for test
-
-int MakeEmptyT::alive = 0;
-
-template <class Variant>
-void makeEmpty(Variant& v) {
- Variant v2(std::in_place_type<MakeEmptyT>);
- try {
- v = std::move(v2);
- assert(false);
- } catch (...) {
- assert(v.valueless_by_exception());
- }
-}
-#endif // TEST_HAS_NO_EXCEPTIONS
-
-
-#endif // SUPPORT_VARIANT_TEST_HELPERS_HPP
Modified: libcxx/trunk/utils/libcxx/test/config.py
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/utils/libcxx/test/config.py?rev=369481&r1=369480&r2=369481&view=diff
==============================================================================
--- libcxx/trunk/utils/libcxx/test/config.py (original)
+++ libcxx/trunk/utils/libcxx/test/config.py Tue Aug 20 17:14:12 2019
@@ -602,11 +602,11 @@ class Configuration(object):
if self.cxx_stdlib_under_test != 'libstdc++' and \
not self.is_windows:
self.cxx.compile_flags += [
- '-include', os.path.join(support_path, 'nasty_macros.hpp')]
+ '-include', os.path.join(support_path, 'nasty_macros.h')]
if self.cxx_stdlib_under_test == 'msvc':
self.cxx.compile_flags += [
'-include', os.path.join(support_path,
- 'msvc_stdlib_force_include.hpp')]
+ 'msvc_stdlib_force_include.h')]
pass
if self.is_windows and self.debug_build and \
self.cxx_stdlib_under_test != 'msvc':
More information about the libcxx-commits
mailing list