[libcxx] r338093 - Implement <filesystem>

Eric Fiselier via cfe-commits cfe-commits at lists.llvm.org
Thu Jul 26 20:48:20 PDT 2018


Fixed as of r338096.

Sorry for the breaking. I forgot to add c++fs to the test deps.

On Thu, Jul 26, 2018 at 9:27 PM Eric Fiselier <eric at efcs.ca> wrote:

> So this broke *all the tests*. Fix incoming shortly.
>
>
> On Thu, Jul 26, 2018 at 9:11 PM Eric Fiselier via cfe-commits <
> cfe-commits at lists.llvm.org> wrote:
>
>> Author: ericwf
>> Date: Thu Jul 26 20:07:09 2018
>> New Revision: 338093
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=338093&view=rev
>> Log:
>> Implement <filesystem>
>>
>> This patch implements the <filesystem> header and uses that
>> to provide <experimental/filesystem>.
>>
>> Unlike other standard headers, the symbols needed for <filesystem>
>> have not yet been placed in libc++.so. Instead they live in the
>> new libc++fs.a library. Users of filesystem are required to link this
>> library. (Also note that libc++experimental no longer contains the
>> definition of <experimental/filesystem>, which now requires linking
>> libc++fs).
>>
>> The reason for keeping <filesystem> out of the dylib for now is that
>> it's still somewhat experimental, and the possibility of requiring an
>> ABI breaking change is very real. In the future the symbols will likely
>> be moved into the dylib, or the dylib will be made to link libc++fs
>> automagically).
>>
>> Note that moving the symbols out of libc++experimental may break user
>> builds
>> until they update to -lc++fs. This should be OK, because the experimental
>> library provides no stability guarantees. However, I plan on looking into
>> ways we can force libc++experimental to automagically link libc++fs.
>>
>> In order to use a single implementation and set of tests for
>> <filesystem>, it
>> has been placed in a special `__fs` namespace. This namespace is inline in
>> C++17 onward, but not before that. As such implementation is available
>> in C++11 onward, but no filesystem namespace is present "directly", and
>> as such name conflicts shouldn't occur in C++11 or C++14.
>>
>> Added:
>>     libcxx/trunk/include/filesystem
>>     libcxx/trunk/src/filesystem/
>>     libcxx/trunk/src/filesystem/directory_iterator.cpp
>>       - copied, changed from r338006,
>> libcxx/trunk/src/experimental/filesystem/directory_iterator.cpp
>>     libcxx/trunk/src/filesystem/filesystem_common.h
>>       - copied, changed from r338006,
>> libcxx/trunk/src/experimental/filesystem/filesystem_common.h
>>     libcxx/trunk/src/filesystem/int128_builtins.cpp
>>       - copied, changed from r338006,
>> libcxx/trunk/src/experimental/filesystem/int128_builtins.cpp
>>     libcxx/trunk/src/filesystem/operations.cpp
>>       - copied, changed from r338006,
>> libcxx/trunk/src/experimental/filesystem/operations.cpp
>>     libcxx/trunk/test/libcxx/input.output/filesystems/
>>
>> libcxx/trunk/test/libcxx/input.output/filesystems/class.directory_entry/
>>
>> libcxx/trunk/test/libcxx/input.output/filesystems/class.directory_entry/directory_entry.mods/
>>
>> libcxx/trunk/test/libcxx/input.output/filesystems/class.directory_entry/directory_entry.mods/last_write_time.sh.cpp
>>       - copied, changed from r338006,
>> libcxx/trunk/test/libcxx/experimental/filesystem/class.directory_entry/directory_entry.mods/last_write_time.sh.cpp
>>     libcxx/trunk/test/libcxx/input.output/filesystems/class.path/
>>     libcxx/trunk/test/libcxx/input.output/filesystems/class.path/path.itr/
>>
>> libcxx/trunk/test/libcxx/input.output/filesystems/class.path/path.itr/iterator_db.pass.cpp
>>       - copied, changed from r338006,
>> libcxx/trunk/test/libcxx/experimental/filesystem/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
>>       - copied, changed from r338006,
>> libcxx/trunk/test/libcxx/experimental/filesystem/class.path/path.itr/reverse_iterator_produces_diagnostic.fail.cpp
>>     libcxx/trunk/test/libcxx/input.output/filesystems/class.path/path.req/
>>
>> libcxx/trunk/test/libcxx/input.output/filesystems/class.path/path.req/is_pathable.pass.cpp
>>       - copied, changed from r338006,
>> libcxx/trunk/test/libcxx/experimental/filesystem/class.path/path.req/is_pathable.pass.cpp
>>
>> libcxx/trunk/test/libcxx/input.output/filesystems/convert_file_time.sh.cpp
>>       - copied, changed from r338006,
>> libcxx/trunk/test/libcxx/experimental/filesystem/convert_file_time.sh.cpp
>>     libcxx/trunk/test/libcxx/input.output/filesystems/lit.local.cfg
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/lit.local.cfg
>>     libcxx/trunk/test/libcxx/input.output/filesystems/version.pass.cpp
>>       - copied, changed from r338006,
>> libcxx/trunk/test/libcxx/experimental/filesystem/version.pass.cpp
>>
>> libcxx/trunk/test/std/input.output/file.streams/fstreams/filebuf.members/open_path.pass.cpp
>>
>> libcxx/trunk/test/std/input.output/file.streams/fstreams/fstream.cons/path.pass.cpp
>>
>> libcxx/trunk/test/std/input.output/file.streams/fstreams/fstream.members/open_path.pass.cpp
>>
>> libcxx/trunk/test/std/input.output/file.streams/fstreams/ifstream.cons/path.pass.cpp
>>
>> libcxx/trunk/test/std/input.output/file.streams/fstreams/ifstream.members/open_path.pass.cpp
>>
>> libcxx/trunk/test/std/input.output/file.streams/fstreams/ofstream.cons/path.pass.cpp
>>
>> libcxx/trunk/test/std/input.output/file.streams/fstreams/ofstream.members/open_path.pass.cpp
>>     libcxx/trunk/test/std/input.output/filesystems/
>>     libcxx/trunk/test/std/input.output/filesystems/Inputs/
>>     libcxx/trunk/test/std/input.output/filesystems/Inputs/static_test_env/
>>
>> libcxx/trunk/test/std/input.output/filesystems/Inputs/static_test_env/bad_symlink
>>  (contents, props changed)
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/Inputs/static_test_env/bad_symlink
>>
>> libcxx/trunk/test/std/input.output/filesystems/Inputs/static_test_env/dir1/
>>
>> libcxx/trunk/test/std/input.output/filesystems/Inputs/static_test_env/dir1/dir2/
>>
>> libcxx/trunk/test/std/input.output/filesystems/Inputs/static_test_env/dir1/dir2/afile3
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/Inputs/static_test_env/dir1/dir2/afile3
>>
>> libcxx/trunk/test/std/input.output/filesystems/Inputs/static_test_env/dir1/dir2/dir3/
>>
>> libcxx/trunk/test/std/input.output/filesystems/Inputs/static_test_env/dir1/dir2/dir3/file5
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/Inputs/static_test_env/dir1/dir2/dir3/file5
>>
>> libcxx/trunk/test/std/input.output/filesystems/Inputs/static_test_env/dir1/dir2/file4
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/Inputs/static_test_env/dir1/dir2/file4
>>
>> libcxx/trunk/test/std/input.output/filesystems/Inputs/static_test_env/dir1/dir2/symlink_to_dir3
>>  (contents, props changed)
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/Inputs/static_test_env/dir1/dir2/symlink_to_dir3
>>
>> libcxx/trunk/test/std/input.output/filesystems/Inputs/static_test_env/dir1/file1
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/Inputs/static_test_env/dir1/file1
>>
>> libcxx/trunk/test/std/input.output/filesystems/Inputs/static_test_env/dir1/file2
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/Inputs/static_test_env/dir1/file2
>>
>> libcxx/trunk/test/std/input.output/filesystems/Inputs/static_test_env/empty_file
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/Inputs/static_test_env/empty_file
>>
>> libcxx/trunk/test/std/input.output/filesystems/Inputs/static_test_env/non_empty_file
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/Inputs/static_test_env/non_empty_file
>>
>> libcxx/trunk/test/std/input.output/filesystems/Inputs/static_test_env/symlink_to_dir
>>  (contents, props changed)
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/Inputs/static_test_env/symlink_to_dir
>>
>> libcxx/trunk/test/std/input.output/filesystems/Inputs/static_test_env/symlink_to_empty_file
>>  (contents, props changed)
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/Inputs/static_test_env/symlink_to_empty_file
>>     libcxx/trunk/test/std/input.output/filesystems/class.directory_entry/
>>
>> libcxx/trunk/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/
>>
>> libcxx/trunk/test/std/input.output/filesystems/class.directory_entry/directory_entry.cons/copy.pass.cpp
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/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
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/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
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/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
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/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
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/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
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/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
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/class.directory_entry/directory_entry.cons/path.pass.cpp
>>
>> libcxx/trunk/test/std/input.output/filesystems/class.directory_entry/directory_entry.mods/
>>
>> libcxx/trunk/test/std/input.output/filesystems/class.directory_entry/directory_entry.mods/assign.pass.cpp
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/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
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/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
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/class.directory_entry/directory_entry.mods/replace_filename.pass.cpp
>>
>> libcxx/trunk/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/
>>
>> libcxx/trunk/test/std/input.output/filesystems/class.directory_entry/directory_entry.obs/comparisons.pass.cpp
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/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
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/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
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/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
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/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
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/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
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/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
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/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
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/class.directory_entry/directory_entry.obs/symlink_status.pass.cpp
>>
>> libcxx/trunk/test/std/input.output/filesystems/class.directory_iterator/
>>
>> libcxx/trunk/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/
>>
>> libcxx/trunk/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.members/copy.pass.cpp
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/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
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/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
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/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
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/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
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/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
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/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
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/class.directory_iterator/directory_iterator.members/move_assign.pass.cpp
>>
>> libcxx/trunk/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.nonmembers/
>>
>> libcxx/trunk/test/std/input.output/filesystems/class.directory_iterator/directory_iterator.nonmembers/begin_end.pass.cpp
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/class.directory_iterator/directory_iterator.nonmembers/begin_end.pass.cpp
>>
>> libcxx/trunk/test/std/input.output/filesystems/class.directory_iterator/types.pass.cpp
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/class.directory_iterator/types.pass.cpp
>>     libcxx/trunk/test/std/input.output/filesystems/class.file_status/
>>
>> libcxx/trunk/test/std/input.output/filesystems/class.file_status/file_status.cons.pass.cpp
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/class.file_status/file_status.cons.pass.cpp
>>
>> libcxx/trunk/test/std/input.output/filesystems/class.file_status/file_status.mods.pass.cpp
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/class.file_status/file_status.mods.pass.cpp
>>
>> libcxx/trunk/test/std/input.output/filesystems/class.file_status/file_status.obs.pass.cpp
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/class.file_status/file_status.obs.pass.cpp
>>     libcxx/trunk/test/std/input.output/filesystems/class.filesystem_error/
>>
>> libcxx/trunk/test/std/input.output/filesystems/class.filesystem_error/filesystem_error.members.pass.cpp
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/class.filesystem_error/filesystem_error.members.pass.cpp
>>     libcxx/trunk/test/std/input.output/filesystems/class.path/
>>     libcxx/trunk/test/std/input.output/filesystems/class.path/path.itr/
>>
>> libcxx/trunk/test/std/input.output/filesystems/class.path/path.itr/iterator.pass.cpp
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/class.path/path.itr/iterator.pass.cpp
>>     libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/
>>
>> libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.append.pass.cpp
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/class.path/path.member/path.append.pass.cpp
>>
>> libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.assign/
>>
>> libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.assign/braced_init.pass.cpp
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/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
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/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
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/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
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/class.path/path.member/path.assign/source.pass.cpp
>>
>> libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.compare.pass.cpp
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/class.path/path.member/path.compare.pass.cpp
>>
>> libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.concat.pass.cpp
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/class.path/path.member/path.concat.pass.cpp
>>
>> libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.construct/
>>
>> libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.construct/copy.pass.cpp
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/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
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/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
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/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
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/class.path/path.member/path.construct/source.pass.cpp
>>
>> libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.decompose/
>>
>> libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.decompose/empty.fail.cpp
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/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
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/class.path/path.member/path.decompose/path.decompose.pass.cpp
>>
>> libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.gen/
>>
>> libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.gen/lexically_normal.pass.cpp
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/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
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/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/
>>
>> libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.generic.obs/generic_string_alloc.pass.cpp
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/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
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/class.path/path.member/path.generic.obs/named_overloads.pass.cpp
>>
>> libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.modifiers/
>>
>> libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.modifiers/clear.pass.cpp
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/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
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/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
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/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
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/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
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/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
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/class.path/path.member/path.modifiers/swap.pass.cpp
>>
>> libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.native.obs/
>>
>> libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.native.obs/c_str.pass.cpp
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/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
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/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
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/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
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/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
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/class.path/path.member/path.native.obs/string_alloc.pass.cpp
>>
>> libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.query/
>>
>> libcxx/trunk/test/std/input.output/filesystems/class.path/path.member/path.query/tested_in_path_decompose.pass.cpp
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/class.path/path.member/path.query/tested_in_path_decompose.pass.cpp
>>
>> libcxx/trunk/test/std/input.output/filesystems/class.path/path.nonmember/
>>
>> libcxx/trunk/test/std/input.output/filesystems/class.path/path.nonmember/append_op.pass.cpp
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/class.path/path.nonmember/append_op.pass.cpp
>>
>> libcxx/trunk/test/std/input.output/filesystems/class.path/path.nonmember/comparison_ops_tested_elsewhere.pass.cpp
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/class.path/path.nonmember/comparison_ops_tested_elsewhere.pass.cpp
>>
>> libcxx/trunk/test/std/input.output/filesystems/class.path/path.nonmember/hash_value_tested_elswhere.pass.cpp
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/class.path/path.nonmember/hash_value_tested_elswhere.pass.cpp
>>
>> libcxx/trunk/test/std/input.output/filesystems/class.path/path.nonmember/path.factory.pass.cpp
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/class.path/path.nonmember/path.factory.pass.cpp
>>
>> libcxx/trunk/test/std/input.output/filesystems/class.path/path.nonmember/path.io.pass.cpp
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/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
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/class.path/path.nonmember/
>> path.io.unicode_bug.pass.cpp
>>
>> libcxx/trunk/test/std/input.output/filesystems/class.path/path.nonmember/swap.pass.cpp
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/class.path/path.nonmember/swap.pass.cpp
>>
>> libcxx/trunk/test/std/input.output/filesystems/class.path/synop.pass.cpp
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/class.path/synop.pass.cpp
>>     libcxx/trunk/test/std/input.output/filesystems/class.rec.dir.itr/
>>
>> libcxx/trunk/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/
>>
>> libcxx/trunk/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.members/copy.pass.cpp
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/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
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/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
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/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
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/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
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/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
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/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
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/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
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/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
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/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
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/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/
>>
>> libcxx/trunk/test/std/input.output/filesystems/class.rec.dir.itr/rec.dir.itr.nonmembers/begin_end.pass.cpp
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/class.rec.dir.itr/rec.dir.itr.nonmembers/begin_end.pass.cpp
>>     libcxx/trunk/test/std/input.output/filesystems/fs.enum/
>>
>> libcxx/trunk/test/std/input.output/filesystems/fs.enum/check_bitmask_types.hpp
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/fs.enum/check_bitmask_types.hpp
>>
>> libcxx/trunk/test/std/input.output/filesystems/fs.enum/enum.copy_options.pass.cpp
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/fs.enum/enum.copy_options.pass.cpp
>>
>> libcxx/trunk/test/std/input.output/filesystems/fs.enum/enum.directory_options.pass.cpp
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/fs.enum/enum.directory_options.pass.cpp
>>
>> libcxx/trunk/test/std/input.output/filesystems/fs.enum/enum.file_type.pass.cpp
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/fs.enum/enum.file_type.pass.cpp
>>
>> libcxx/trunk/test/std/input.output/filesystems/fs.enum/enum.path.format.pass.cpp
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/fs.enum/enum.path.format.pass.cpp
>>
>> libcxx/trunk/test/std/input.output/filesystems/fs.enum/enum.perm_options.pass.cpp
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/fs.enum/enum.perm_options.pass.cpp
>>
>> libcxx/trunk/test/std/input.output/filesystems/fs.enum/enum.perms.pass.cpp
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/fs.enum/enum.perms.pass.cpp
>>     libcxx/trunk/test/std/input.output/filesystems/fs.error.report/
>>
>> libcxx/trunk/test/std/input.output/filesystems/fs.error.report/tested_elsewhere.pass.cpp
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/fs.error.report/tested_elsewhere.pass.cpp
>>     libcxx/trunk/test/std/input.output/filesystems/fs.filesystem.synopsis/
>>
>> libcxx/trunk/test/std/input.output/filesystems/fs.filesystem.synopsis/file_time_type.pass.cpp
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/fs.filesystem.synopsis/file_time_type.pass.cpp
>>     libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/
>>
>> libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.absolute/
>>
>> libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.absolute/absolute.pass.cpp
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/fs.op.funcs/fs.op.absolute/absolute.pass.cpp
>>
>> libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.canonical/
>>
>> libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.canonical/canonical.pass.cpp
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/fs.op.funcs/fs.op.canonical/canonical.pass.cpp
>>     libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.copy/
>>
>> libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.copy/copy.pass.cpp
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/fs.op.funcs/fs.op.copy/copy.pass.cpp
>>
>> libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.copy_file/
>>
>> libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.copy_file/copy_file.pass.cpp
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/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
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/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/
>>
>> libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.copy_symlink/copy_symlink.pass.cpp
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/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/
>>
>> libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_directories/create_directories.pass.cpp
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/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/
>>
>> libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_directory/create_directory.pass.cpp
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/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
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/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/
>>
>> libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_directory_symlink/create_directory_symlink.pass.cpp
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/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/
>>
>> libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_hard_link/create_hard_link.pass.cpp
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/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/
>>
>> libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.create_symlink/create_symlink.pass.cpp
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/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/
>>
>> libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.current_path/current_path.pass.cpp
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/fs.op.funcs/fs.op.current_path/current_path.pass.cpp
>>
>> libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.equivalent/
>>
>> libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.equivalent/equivalent.pass.cpp
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/fs.op.funcs/fs.op.equivalent/equivalent.pass.cpp
>>
>> libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.exists/
>>
>> libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.exists/exists.pass.cpp
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/fs.op.funcs/fs.op.exists/exists.pass.cpp
>>
>> libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.file_size/
>>
>> libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.file_size/file_size.pass.cpp
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/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/
>>
>> libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.hard_lk_ct/hard_link_count.pass.cpp
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/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/
>>
>> libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_block_file/is_block_file.pass.cpp
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/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/
>>
>> libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_char_file/is_character_file.pass.cpp
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/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/
>>
>> libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_directory/is_directory.pass.cpp
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/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/
>>
>> libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_empty/is_empty.pass.cpp
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/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/
>>
>> libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_fifo/is_fifo.pass.cpp
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/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/
>>
>> libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_other/is_other.pass.cpp
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/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/
>>
>> libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_regular_file/is_regular_file.pass.cpp
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/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/
>>
>> libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_socket/is_socket.pass.cpp
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/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/
>>
>> libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.is_symlink/is_symlink.pass.cpp
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/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/
>>
>> libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.last_write_time/last_write_time.pass.cpp
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/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/
>>
>> libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.permissions/permissions.pass.cpp
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/fs.op.funcs/fs.op.permissions/permissions.pass.cpp
>>
>> libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.proximate/
>>
>> libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.proximate/proximate.pass.cpp
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/fs.op.funcs/fs.op.proximate/proximate.pass.cpp
>>
>> libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.read_symlink/
>>
>> libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.read_symlink/read_symlink.pass.cpp
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/fs.op.funcs/fs.op.read_symlink/read_symlink.pass.cpp
>>
>> libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.relative/
>>
>> libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.relative/relative.pass.cpp
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/fs.op.funcs/fs.op.relative/relative.pass.cpp
>>
>> libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.remove/
>>
>> libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.remove/remove.pass.cpp
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/fs.op.funcs/fs.op.remove/remove.pass.cpp
>>
>> libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.remove_all/
>>
>> libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.remove_all/remove_all.pass.cpp
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/fs.op.funcs/fs.op.remove_all/remove_all.pass.cpp
>>
>> libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.rename/
>>
>> libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.rename/rename.pass.cpp
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/fs.op.funcs/fs.op.rename/rename.pass.cpp
>>
>> libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.resize_file/
>>
>> libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.resize_file/resize_file.pass.cpp
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/fs.op.funcs/fs.op.resize_file/resize_file.pass.cpp
>>
>> libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.space/
>>
>> libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.space/space.pass.cpp
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/fs.op.funcs/fs.op.space/space.pass.cpp
>>
>> libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.status/
>>
>> libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.status/status.pass.cpp
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/fs.op.funcs/fs.op.status/status.pass.cpp
>>
>> libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.status_known/
>>
>> libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.status_known/status_known.pass.cpp
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/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/
>>
>> libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.symlink_status/symlink_status.pass.cpp
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/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/
>>
>> libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.temp_dir_path/temp_directory_path.pass.cpp
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/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/
>>
>> libcxx/trunk/test/std/input.output/filesystems/fs.op.funcs/fs.op.weakly_canonical/weakly_canonical.pass.cpp
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/fs.op.funcs/fs.op.weakly_canonical/weakly_canonical.pass.cpp
>>     libcxx/trunk/test/std/input.output/filesystems/fs.req.macros/
>>
>> libcxx/trunk/test/std/input.output/filesystems/fs.req.macros/feature_macro.pass.cpp
>>     libcxx/trunk/test/std/input.output/filesystems/fs.req.namespace/
>>
>> libcxx/trunk/test/std/input.output/filesystems/fs.req.namespace/namespace.fail.cpp
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/class.path/path.member/path.assign/braced_init.pass.cpp
>>
>> libcxx/trunk/test/std/input.output/filesystems/fs.req.namespace/namespace.pass.cpp
>>       - copied, changed from r338006,
>> libcxx/trunk/test/std/experimental/filesystem/class.path/path.member/path.assign/braced_init.pass.cpp
>>     libcxx/trunk/test/std/input.output/filesystems/lit.local.cfg
>>       - copied, changed from r338006,
>> libcxx/trunk/test/libcxx/experimental/filesystem/lit.local.cfg
>> Removed:
>>     libcxx/trunk/src/experimental/filesystem/directory_iterator.cpp
>>     libcxx/trunk/src/experimental/filesystem/filesystem_common.h
>>     libcxx/trunk/src/experimental/filesystem/int128_builtins.cpp
>>     libcxx/trunk/src/experimental/filesystem/operations.cpp
>>
>> libcxx/trunk/test/libcxx/experimental/filesystem/class.directory_entry/directory_entry.mods/last_write_time.sh.cpp
>>
>> libcxx/trunk/test/libcxx/experimental/filesystem/class.path/path.itr/iterator_db.pass.cpp
>>
>> libcxx/trunk/test/libcxx/experimental/filesystem/class.path/path.itr/reverse_iterator_produces_diagnostic.fail.cpp
>>
>> libcxx/trunk/test/libcxx/experimental/filesystem/class.path/path.req/is_pathable.pass.cpp
>>
>> libcxx/trunk/test/libcxx/experimental/filesystem/convert_file_time.sh.cpp
>>     libcxx/trunk/test/libcxx/experimental/filesystem/lit.local.cfg
>>
>> libcxx/trunk/test/std/experimental/filesystem/Inputs/static_test_env/bad_symlink
>>
>> libcxx/trunk/test/std/experimental/filesystem/Inputs/static_test_env/dir1/dir2/afile3
>>
>> libcxx/trunk/test/std/experimental/filesystem/Inputs/static_test_env/dir1/dir2/dir3/file5
>>
>> libcxx/trunk/test/std/experimental/filesystem/Inputs/static_test_env/dir1/dir2/file4
>>
>> libcxx/trunk/test/std/experimental/filesystem/Inputs/static_test_env/dir1/dir2/symlink_to_dir3
>>
>> libcxx/trunk/test/std/experimental/filesystem/Inputs/static_test_env/dir1/file1
>>
>> libcxx/trunk/test/std/experimental/filesystem/Inputs/static_test_env/dir1/file2
>>
>> libcxx/trunk/test/std/experimental/filesystem/Inputs/static_test_env/empty_file
>>
>> libcxx/trunk/test/std/experimental/filesystem/Inputs/static_test_env/non_empty_file
>>
>> libcxx/trunk/test/std/experimental/filesystem/Inputs/static_test_env/symlink_to_dir
>>
>> libcxx/trunk/test/std/experimental/filesystem/Inputs/static_test_env/symlink_to_empty_file
>>
>> libcxx/trunk/test/std/experimental/filesystem/class.directory_entry/directory_entry.cons/copy.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/class.directory_entry/directory_entry.cons/copy_assign.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/class.directory_entry/directory_entry.cons/default.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/class.directory_entry/directory_entry.cons/default_const.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/class.directory_entry/directory_entry.cons/move.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/class.directory_entry/directory_entry.cons/move_assign.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/class.directory_entry/directory_entry.cons/path.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/class.directory_entry/directory_entry.mods/assign.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/class.directory_entry/directory_entry.mods/refresh.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/class.directory_entry/directory_entry.mods/replace_filename.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/class.directory_entry/directory_entry.obs/comparisons.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/class.directory_entry/directory_entry.obs/file_size.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/class.directory_entry/directory_entry.obs/file_type_obs.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/class.directory_entry/directory_entry.obs/hard_link_count.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/class.directory_entry/directory_entry.obs/last_write_time.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/class.directory_entry/directory_entry.obs/path.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/class.directory_entry/directory_entry.obs/status.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/class.directory_entry/directory_entry.obs/symlink_status.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/class.directory_iterator/directory_iterator.members/copy.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/class.directory_iterator/directory_iterator.members/copy_assign.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/class.directory_iterator/directory_iterator.members/ctor.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/class.directory_iterator/directory_iterator.members/default_ctor.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/class.directory_iterator/directory_iterator.members/increment.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/class.directory_iterator/directory_iterator.members/move.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/class.directory_iterator/directory_iterator.members/move_assign.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/class.directory_iterator/directory_iterator.nonmembers/begin_end.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/class.directory_iterator/types.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/class.file_status/file_status.cons.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/class.file_status/file_status.mods.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/class.file_status/file_status.obs.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/class.filesystem_error/filesystem_error.members.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/class.path/path.itr/iterator.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/class.path/path.member/path.append.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/class.path/path.member/path.assign/braced_init.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/class.path/path.member/path.assign/copy.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/class.path/path.member/path.assign/move.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/class.path/path.member/path.assign/source.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/class.path/path.member/path.compare.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/class.path/path.member/path.concat.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/class.path/path.member/path.construct/copy.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/class.path/path.member/path.construct/default.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/class.path/path.member/path.construct/move.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/class.path/path.member/path.construct/source.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/class.path/path.member/path.decompose/empty.fail.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/class.path/path.member/path.decompose/path.decompose.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/class.path/path.member/path.gen/lexically_normal.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/class.path/path.member/path.gen/lexically_relative_and_proximate.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/class.path/path.member/path.generic.obs/generic_string_alloc.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/class.path/path.member/path.generic.obs/named_overloads.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/class.path/path.member/path.modifiers/clear.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/class.path/path.member/path.modifiers/make_preferred.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/class.path/path.member/path.modifiers/remove_filename.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/class.path/path.member/path.modifiers/replace_extension.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/class.path/path.member/path.modifiers/replace_filename.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/class.path/path.member/path.modifiers/swap.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/class.path/path.member/path.native.obs/c_str.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/class.path/path.member/path.native.obs/named_overloads.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/class.path/path.member/path.native.obs/native.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/class.path/path.member/path.native.obs/operator_string.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/class.path/path.member/path.native.obs/string_alloc.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/class.path/path.member/path.query/tested_in_path_decompose.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/class.path/path.nonmember/append_op.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/class.path/path.nonmember/comparison_ops_tested_elsewhere.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/class.path/path.nonmember/hash_value_tested_elswhere.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/class.path/path.nonmember/path.factory.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/class.path/path.nonmember/
>> path.io.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/class.path/path.nonmember/
>> path.io.unicode_bug.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/class.path/path.nonmember/swap.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/class.path/synop.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/class.rec.dir.itr/rec.dir.itr.members/copy.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/class.rec.dir.itr/rec.dir.itr.members/copy_assign.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/class.rec.dir.itr/rec.dir.itr.members/ctor.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/class.rec.dir.itr/rec.dir.itr.members/depth.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/class.rec.dir.itr/rec.dir.itr.members/disable_recursion_pending.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/class.rec.dir.itr/rec.dir.itr.members/increment.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/class.rec.dir.itr/rec.dir.itr.members/move.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/class.rec.dir.itr/rec.dir.itr.members/move_assign.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/class.rec.dir.itr/rec.dir.itr.members/pop.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/class.rec.dir.itr/rec.dir.itr.members/recursion_pending.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/class.rec.dir.itr/rec.dir.itr.nonmembers/begin_end.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/fs.enum/check_bitmask_types.hpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/fs.enum/enum.copy_options.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/fs.enum/enum.directory_options.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/fs.enum/enum.file_type.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/fs.enum/enum.path.format.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/fs.enum/enum.perm_options.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/fs.enum/enum.perms.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/fs.error.report/tested_elsewhere.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/fs.filesystem.synopsis/file_time_type.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/fs.op.funcs/fs.op.absolute/absolute.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/fs.op.funcs/fs.op.canonical/canonical.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/fs.op.funcs/fs.op.copy/copy.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/fs.op.funcs/fs.op.copy_file/copy_file.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/fs.op.funcs/fs.op.copy_file/copy_file_large.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/fs.op.funcs/fs.op.copy_symlink/copy_symlink.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/fs.op.funcs/fs.op.create_directories/create_directories.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/fs.op.funcs/fs.op.create_directory/create_directory.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/fs.op.funcs/fs.op.create_directory/create_directory_with_attributes.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/fs.op.funcs/fs.op.create_directory_symlink/create_directory_symlink.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/fs.op.funcs/fs.op.create_hard_link/create_hard_link.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/fs.op.funcs/fs.op.create_symlink/create_symlink.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/fs.op.funcs/fs.op.current_path/current_path.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/fs.op.funcs/fs.op.equivalent/equivalent.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/fs.op.funcs/fs.op.exists/exists.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/fs.op.funcs/fs.op.file_size/file_size.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/fs.op.funcs/fs.op.hard_lk_ct/hard_link_count.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/fs.op.funcs/fs.op.is_block_file/is_block_file.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/fs.op.funcs/fs.op.is_char_file/is_character_file.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/fs.op.funcs/fs.op.is_directory/is_directory.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/fs.op.funcs/fs.op.is_empty/is_empty.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/fs.op.funcs/fs.op.is_fifo/is_fifo.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/fs.op.funcs/fs.op.is_other/is_other.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/fs.op.funcs/fs.op.is_regular_file/is_regular_file.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/fs.op.funcs/fs.op.is_socket/is_socket.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/fs.op.funcs/fs.op.is_symlink/is_symlink.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/fs.op.funcs/fs.op.last_write_time/last_write_time.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/fs.op.funcs/fs.op.permissions/permissions.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/fs.op.funcs/fs.op.proximate/proximate.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/fs.op.funcs/fs.op.read_symlink/read_symlink.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/fs.op.funcs/fs.op.relative/relative.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/fs.op.funcs/fs.op.remove/remove.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/fs.op.funcs/fs.op.remove_all/remove_all.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/fs.op.funcs/fs.op.rename/rename.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/fs.op.funcs/fs.op.resize_file/resize_file.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/fs.op.funcs/fs.op.space/space.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/fs.op.funcs/fs.op.status/status.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/fs.op.funcs/fs.op.status_known/status_known.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/fs.op.funcs/fs.op.symlink_status/symlink_status.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/fs.op.funcs/fs.op.temp_dir_path/temp_directory_path.pass.cpp
>>
>> libcxx/trunk/test/std/experimental/filesystem/fs.op.funcs/fs.op.weakly_canonical/weakly_canonical.pass.cpp
>>     libcxx/trunk/test/std/experimental/filesystem/lit.local.cfg
>> Modified:
>>     libcxx/trunk/CMakeLists.txt
>>     libcxx/trunk/docs/BuildingLibcxx.rst
>>     libcxx/trunk/docs/UsingLibcxx.rst
>>     libcxx/trunk/include/__config
>>     libcxx/trunk/include/experimental/__config
>>     libcxx/trunk/include/experimental/filesystem
>>     libcxx/trunk/include/fstream
>>     libcxx/trunk/include/module.modulemap
>>     libcxx/trunk/lib/CMakeLists.txt
>>     libcxx/trunk/test/libcxx/double_include.sh.cpp
>>     libcxx/trunk/test/libcxx/experimental/filesystem/version.pass.cpp
>>     libcxx/trunk/test/support/filesystem_include.hpp
>>     libcxx/trunk/utils/libcxx/test/config.py
>>     libcxx/trunk/www/cxx1z_status.html
>>
>> Modified: libcxx/trunk/CMakeLists.txt
>> URL:
>> http://llvm.org/viewvc/llvm-project/libcxx/trunk/CMakeLists.txt?rev=338093&r1=338092&r2=338093&view=diff
>>
>> ==============================================================================
>> --- libcxx/trunk/CMakeLists.txt (original)
>> +++ libcxx/trunk/CMakeLists.txt Thu Jul 26 20:07:09 2018
>> @@ -107,6 +107,10 @@ option(LIBCXX_INSTALL_SUPPORT_HEADERS "I
>>  cmake_dependent_option(LIBCXX_INSTALL_EXPERIMENTAL_LIBRARY
>>          "Install libc++experimental.a" ON
>>          "LIBCXX_ENABLE_EXPERIMENTAL_LIBRARY;LIBCXX_INSTALL_LIBRARY" OFF)
>> +cmake_dependent_option(LIBCXX_INSTALL_FILESYSTEM_LIBRARY
>> +        "Install libc++fs.a" ON
>> +        "LIBCXX_ENABLE_FILESYSTEM_LIBRARY;LIBCXX_INSTALL_LIBRARY" OFF)
>> +
>>  if (FUCHSIA)
>>    set(DEFAULT_ABI_VERSION 2)
>>  else()
>>
>> Modified: libcxx/trunk/docs/BuildingLibcxx.rst
>> URL:
>> http://llvm.org/viewvc/llvm-project/libcxx/trunk/docs/BuildingLibcxx.rst?rev=338093&r1=338092&r2=338093&view=diff
>>
>> ==============================================================================
>> --- libcxx/trunk/docs/BuildingLibcxx.rst (original)
>> +++ libcxx/trunk/docs/BuildingLibcxx.rst Thu Jul 26 20:07:09 2018
>> @@ -242,11 +242,15 @@ libc++experimental Specific Options
>>
>>  .. option:: LIBCXX_ENABLE_FILESYSTEM:BOOL
>>
>> -  **Default**: ``LIBCXX_ENABLE_EXPERIMENTAL_LIBRARY``
>> +  **Default**: ``ON``
>>
>> -  Build filesystem as part of libc++experimental.a. This allows
>> filesystem
>> -  to be disabled without turning off the entire experimental library.
>> +  Build filesystem as a standalone library libc++fs.a.
>>
>> +.. option:: LIBCXX_INSTALL_FILESYSTEM_LIBRARY:BOOL
>> +
>> +  **Default**: ``LIBCXX_ENABLE_FILESYSTEM AND LIBCXX_INSTALL_LIBRARY``
>> +
>> +  Install libc++fs.a alongside libc++.
>>
>>  .. _ABI Library Specific Options:
>>
>>
>> Modified: libcxx/trunk/docs/UsingLibcxx.rst
>> URL:
>> http://llvm.org/viewvc/llvm-project/libcxx/trunk/docs/UsingLibcxx.rst?rev=338093&r1=338092&r2=338093&view=diff
>>
>> ==============================================================================
>> --- libcxx/trunk/docs/UsingLibcxx.rst (original)
>> +++ libcxx/trunk/docs/UsingLibcxx.rst Thu Jul 26 20:07:09 2018
>> @@ -49,6 +49,24 @@ An example of using ``LD_LIBRARY_PATH``:
>>    $ export LD_LIBRARY_PATH=<libcxx-install-prefix>/lib
>>    $ ./a.out # Searches for libc++ along LD_LIBRARY_PATH
>>
>> +
>> +Using ``<filesystem>`` and libc++fs
>> +====================================
>> +
>> +Libc++ provides the implementation of the filesystem library in a
>> separate
>> +library. Users of ``<filesystem>`` and ``<experimental/filesystem>`` are
>> +required to link ``-lc++fs``.
>> +
>> +.. note::
>> +  Prior to libc++ 7.0, users of ``<experimental/filesystem>`` were
>> required
>> +  to link libc++experimental.
>> +
>> +.. warning::
>> +  The Filesystem library is still experimental in nature. As such normal
>> +  guarantees about ABI stability and backwards compatibility do not yet
>> apply
>> +  to it. In the future, this restriction will be removed.
>> +
>> +
>>  Using libc++experimental and ``<experimental/...>``
>>  =====================================================
>>
>> @@ -65,6 +83,9 @@ installed. For information on building l
>>  :ref:`Building Libc++ <build instructions>` and
>>  :ref:`libc++experimental CMake Options <libc++experimental options>`.
>>
>> +Note that as of libc++ 7.0 using the ``<experimental/filesystem>``
>> requires linking
>> +libc++fs instead of libc++experimental.
>> +
>>  Also see the `Experimental Library Implementation Status <
>> http://libcxx.llvm.org/ts1z_status.html>`__
>>  page.
>>
>>
>> Modified: libcxx/trunk/include/__config
>> URL:
>> http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/__config?rev=338093&r1=338092&r2=338093&view=diff
>>
>> ==============================================================================
>> --- libcxx/trunk/include/__config (original)
>> +++ libcxx/trunk/include/__config Thu Jul 26 20:07:09 2018
>> @@ -43,6 +43,18 @@
>>  #  endif
>>  #endif
>>
>> +#ifndef _LIBCPP_STD_VER
>> +#  if  __cplusplus <= 201103L
>> +#    define _LIBCPP_STD_VER 11
>> +#  elif __cplusplus <= 201402L
>> +#    define _LIBCPP_STD_VER 14
>> +#  elif __cplusplus <= 201703L
>> +#    define _LIBCPP_STD_VER 17
>> +#  else
>> +#    define _LIBCPP_STD_VER 18  // current year, or date of c++2a
>> ratification
>> +#  endif
>> +#endif  // _LIBCPP_STD_VER
>> +
>>  #if defined(__ELF__)
>>  #  define _LIBCPP_OBJECT_FORMAT_ELF   1
>>  #elif defined(__MACH__)
>> @@ -462,6 +474,19 @@ namespace std {
>>    }
>>  }
>>
>> +#if _LIBCPP_STD_VER >= 17
>> +#define _LIBCPP_BEGIN_NAMESPACE_FILESYSTEM \
>> +  _LIBCPP_BEGIN_NAMESPACE_STD inline namespace __fs { namespace
>> filesystem {
>> +#else
>> +#define _LIBCPP_BEGIN_NAMESPACE_FILESYSTEM \
>> +  _LIBCPP_BEGIN_NAMESPACE_STD namespace __fs { namespace filesystem {
>> +#endif
>> +
>> +#define _LIBCPP_END_NAMESPACE_FILESYSTEM \
>> +  _LIBCPP_END_NAMESPACE_STD } }
>> +
>> +#define _VSTD_FS _VSTD::__fs::filesystem
>> +
>>  #if !defined(_LIBCPP_HAS_NO_ASAN) && !__has_feature(address_sanitizer)
>>  #define _LIBCPP_HAS_NO_ASAN
>>  #endif
>> @@ -959,18 +984,6 @@ template <unsigned> struct __static_asse
>>  #define _LIBCPP_WCTYPE_IS_MASK
>>  #endif
>>
>> -#ifndef _LIBCPP_STD_VER
>> -#  if  __cplusplus <= 201103L
>> -#    define _LIBCPP_STD_VER 11
>> -#  elif __cplusplus <= 201402L
>> -#    define _LIBCPP_STD_VER 14
>> -#  elif __cplusplus <= 201703L
>> -#    define _LIBCPP_STD_VER 17
>> -#  else
>> -#    define _LIBCPP_STD_VER 18  // current year, or date of c++2a
>> ratification
>> -#  endif
>> -#endif  // _LIBCPP_STD_VER
>> -
>>  #if _LIBCPP_STD_VER > 11
>>  #  define _LIBCPP_DEPRECATED [[deprecated]]
>>  #else
>>
>> Modified: libcxx/trunk/include/experimental/__config
>> URL:
>> http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/experimental/__config?rev=338093&r1=338092&r2=338093&view=diff
>>
>> ==============================================================================
>> --- libcxx/trunk/include/experimental/__config (original)
>> +++ libcxx/trunk/include/experimental/__config Thu Jul 26 20:07:09 2018
>> @@ -52,8 +52,6 @@
>>
>>  #define _VSTD_CORO _VSTD_EXPERIMENTAL::coroutines_v1
>>
>> -#define _VSTD_FS ::std::experimental::filesystem::v1
>> -
>>  #define _LIBCPP_BEGIN_NAMESPACE_EXPERIMENTAL_SIMD \
>>      _LIBCPP_BEGIN_NAMESPACE_EXPERIMENTAL inline namespace parallelism_v2
>> {
>>
>>
>> Modified: libcxx/trunk/include/experimental/filesystem
>> URL:
>> http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/experimental/filesystem?rev=338093&r1=338092&r2=338093&view=diff
>>
>> ==============================================================================
>> --- libcxx/trunk/include/experimental/filesystem (original)
>> +++ libcxx/trunk/include/experimental/filesystem Thu Jul 26 20:07:09 2018
>> @@ -231,21 +231,7 @@
>>  */
>>
>>  #include <experimental/__config>
>> -#include <cstddef>
>> -#include <cstdlib>
>> -#include <chrono>
>> -#include <iterator>
>> -#include <iosfwd>
>> -#include <locale>
>> -#include <memory>
>> -#include <stack>
>> -#include <string>
>> -#include <system_error>
>> -#include <utility>
>> -#include <iomanip> // for quoted
>> -#include <string_view>
>> -
>> -#include <__debug>
>> +#include <filesystem>
>>
>>  #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
>>  #pragma GCC system_header
>> @@ -260,2453 +246,7 @@ _LIBCPP_PUSH_MACROS
>>
>>  _LIBCPP_BEGIN_NAMESPACE_EXPERIMENTAL_FILESYSTEM
>>
>> -struct _FilesystemClock {
>> -#if !defined(_LIBCPP_HAS_NO_INT128)
>> -  typedef __int128_t rep;
>> -  typedef nano period;
>> -#else
>> -  typedef long long rep;
>> -  typedef nano period;
>> -#endif
>> -
>> -  typedef chrono::duration<rep, period> duration;
>> -  typedef chrono::time_point<_FilesystemClock> time_point;
>> -
>> -  static _LIBCPP_CONSTEXPR_AFTER_CXX11 const bool is_steady = false;
>> -
>> -  _LIBCPP_FUNC_VIS static time_point now() noexcept;
>> -
>> -  _LIBCPP_INLINE_VISIBILITY
>> -  static time_t to_time_t(const time_point& __t) noexcept {
>> -    typedef chrono::duration<rep> __secs;
>> -    return time_t(
>> -        chrono::duration_cast<__secs>(__t.time_since_epoch()).count());
>> -  }
>> -
>> -  _LIBCPP_INLINE_VISIBILITY
>> -  static time_point from_time_t(time_t __t) noexcept {
>> -    typedef chrono::duration<rep> __secs;
>> -    return time_point(__secs(__t));
>> -  }
>> -};
>> -
>> -typedef chrono::time_point<_FilesystemClock> file_time_type;
>> -
>> -struct _LIBCPP_TYPE_VIS space_info
>> -{
>> -  uintmax_t capacity;
>> -  uintmax_t free;
>> -  uintmax_t available;
>> -};
>> -
>> -enum class _LIBCPP_ENUM_VIS file_type : signed char
>> -{
>> -    none       = 0,
>> -    not_found  = -1,
>> -    regular    = 1,
>> -    directory  = 2,
>> -    symlink    = 3,
>> -    block      = 4,
>> -    character  = 5,
>> -    fifo       = 6,
>> -    socket     = 7,
>> -    unknown    = 8
>> -};
>> -
>> -enum class _LIBCPP_ENUM_VIS perms : unsigned
>> -{
>> -    none         = 0,
>> -
>> -    owner_read   = 0400,
>> -    owner_write  = 0200,
>> -    owner_exec   = 0100,
>> -    owner_all    = 0700,
>> -
>> -    group_read   = 040,
>> -    group_write  = 020,
>> -    group_exec   = 010,
>> -    group_all    = 070,
>> -
>> -    others_read  = 04,
>> -    others_write = 02,
>> -    others_exec  = 01,
>> -    others_all   = 07,
>> -
>> -    all          = 0777,
>> -
>> -    set_uid      = 04000,
>> -    set_gid      = 02000,
>> -    sticky_bit   = 01000,
>> -    mask         = 07777,
>> -    unknown      = 0xFFFF,
>> -};
>> -
>> -_LIBCPP_INLINE_VISIBILITY
>> -inline constexpr perms operator&(perms _LHS, perms _RHS)
>> -{ return static_cast<perms>(static_cast<unsigned>(_LHS) &
>> static_cast<unsigned>(_RHS)); }
>> -
>> -_LIBCPP_INLINE_VISIBILITY
>> -inline constexpr perms operator|(perms _LHS, perms _RHS)
>> -{ return static_cast<perms>(static_cast<unsigned>(_LHS) |
>> static_cast<unsigned>(_RHS)); }
>> -
>> -_LIBCPP_INLINE_VISIBILITY
>> -inline constexpr perms operator^(perms _LHS, perms _RHS)
>> -{ return static_cast<perms>(static_cast<unsigned>(_LHS) ^
>> static_cast<unsigned>(_RHS)); }
>> -
>> -_LIBCPP_INLINE_VISIBILITY
>> -inline constexpr perms operator~(perms _LHS)
>> -{ return static_cast<perms>(~static_cast<unsigned>(_LHS)); }
>> -
>> -_LIBCPP_INLINE_VISIBILITY
>> -inline perms& operator&=(perms& _LHS, perms _RHS)
>> -{ return _LHS = _LHS & _RHS; }
>> -
>> -_LIBCPP_INLINE_VISIBILITY
>> -inline perms& operator|=(perms& _LHS, perms _RHS)
>> -{ return _LHS = _LHS | _RHS; }
>> -
>> -_LIBCPP_INLINE_VISIBILITY
>> -inline perms& operator^=(perms& _LHS, perms _RHS)
>> -{ return _LHS = _LHS ^ _RHS; }
>> -
>> -enum class _LIBCPP_ENUM_VIS perm_options : unsigned char {
>> -  replace  = 1,
>> -  add      = 2,
>> -  remove   = 4,
>> -  nofollow = 8
>> -};
>> -
>> -_LIBCPP_INLINE_VISIBILITY
>> -inline constexpr perm_options operator&(perm_options _LHS, perm_options
>> _RHS)
>> -{ return static_cast<perm_options>(static_cast<unsigned>(_LHS) &
>> static_cast<unsigned>(_RHS)); }
>> -
>> -_LIBCPP_INLINE_VISIBILITY
>> -inline constexpr perm_options operator|(perm_options _LHS, perm_options
>> _RHS)
>> -{ return static_cast<perm_options>(static_cast<unsigned>(_LHS) |
>> static_cast<unsigned>(_RHS)); }
>> -
>> -_LIBCPP_INLINE_VISIBILITY
>> -inline constexpr perm_options operator^(perm_options _LHS, perm_options
>> _RHS)
>> -{ return static_cast<perm_options>(static_cast<unsigned>(_LHS) ^
>> static_cast<unsigned>(_RHS)); }
>> -
>> -_LIBCPP_INLINE_VISIBILITY
>> -inline constexpr perm_options operator~(perm_options _LHS)
>> -{ return static_cast<perm_options>(~static_cast<unsigned>(_LHS)); }
>> -
>> -_LIBCPP_INLINE_VISIBILITY
>> -inline perm_options& operator&=(perm_options& _LHS, perm_options _RHS)
>> -{ return _LHS = _LHS & _RHS; }
>> -
>> -_LIBCPP_INLINE_VISIBILITY
>> -inline perm_options& operator|=(perm_options& _LHS, perm_options _RHS)
>> -{ return _LHS = _LHS | _RHS; }
>> -
>> -_LIBCPP_INLINE_VISIBILITY
>> -inline perm_options& operator^=(perm_options& _LHS, perm_options _RHS)
>> -{ return _LHS = _LHS ^ _RHS; }
>> -
>> -enum class _LIBCPP_ENUM_VIS copy_options : unsigned short
>> -{
>> -    none               = 0,
>> -    skip_existing      = 1,
>> -    overwrite_existing = 2,
>> -    update_existing    = 4,
>> -    recursive          = 8,
>> -    copy_symlinks      = 16,
>> -    skip_symlinks      = 32,
>> -    directories_only   = 64,
>> -    create_symlinks    = 128,
>> -    create_hard_links  = 256,
>> -    __in_recursive_copy = 512,
>> -};
>> -
>> -_LIBCPP_INLINE_VISIBILITY
>> -inline constexpr copy_options operator&(copy_options _LHS, copy_options
>> _RHS)
>> -{ return static_cast<copy_options>(static_cast<unsigned short>(_LHS) &
>> static_cast<unsigned short>(_RHS)); }
>> -
>> -_LIBCPP_INLINE_VISIBILITY
>> -inline constexpr copy_options operator|(copy_options _LHS, copy_options
>> _RHS)
>> -{ return static_cast<copy_options>(static_cast<unsigned short>(_LHS) |
>> static_cast<unsigned short>(_RHS)); }
>> -
>> -_LIBCPP_INLINE_VISIBILITY
>> -inline constexpr copy_options operator^(copy_options _LHS, copy_options
>> _RHS)
>> -{ return static_cast<copy_options>(static_cast<unsigned short>(_LHS) ^
>> static_cast<unsigned short>(_RHS)); }
>> -
>> -_LIBCPP_INLINE_VISIBILITY
>> -inline constexpr copy_options operator~(copy_options _LHS)
>> -{ return static_cast<copy_options>(~static_cast<unsigned short>(_LHS)); }
>> -
>> -_LIBCPP_INLINE_VISIBILITY
>> -inline copy_options& operator&=(copy_options& _LHS, copy_options _RHS)
>> -{ return _LHS = _LHS & _RHS; }
>> -
>> -_LIBCPP_INLINE_VISIBILITY
>> -inline copy_options& operator|=(copy_options& _LHS, copy_options _RHS)
>> -{ return _LHS = _LHS | _RHS; }
>> -
>> -_LIBCPP_INLINE_VISIBILITY
>> -inline copy_options& operator^=(copy_options& _LHS, copy_options _RHS)
>> -{ return _LHS = _LHS ^ _RHS; }
>> -
>> -
>> -enum class _LIBCPP_ENUM_VIS directory_options : unsigned char
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20180726/9a065b8f/attachment-0001.html>


More information about the cfe-commits mailing list