[libcxx] r338093 - Implement <filesystem>
Eric Fiselier via cfe-commits
cfe-commits at lists.llvm.org
Thu Jul 26 20:27:18 PDT 2018
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/3c3bd2ad/attachment-0001.html>
More information about the cfe-commits
mailing list