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