diff options
author | Eric Fiselier <eric@efcs.ca> | 2016-10-16 00:29:22 +0000 |
---|---|---|
committer | Eric Fiselier <eric@efcs.ca> | 2016-10-16 00:29:22 +0000 |
commit | ae4c3e16999b9f5ae1932df7df188cd8b1e970fb (patch) | |
tree | d6bb5eae22bb2963a6d4a213e52ac6279ad4fa66 /libcxx/src/experimental/filesystem/operations.cpp | |
parent | 736538b0fc719f0b2db249e4d007598e13b9dbcf (diff) | |
download | bcm5719-llvm-ae4c3e16999b9f5ae1932df7df188cd8b1e970fb.tar.gz bcm5719-llvm-ae4c3e16999b9f5ae1932df7df188cd8b1e970fb.zip |
Implement LWG 2681 and 2682
llvm-svn: 284316
Diffstat (limited to 'libcxx/src/experimental/filesystem/operations.cpp')
-rw-r--r-- | libcxx/src/experimental/filesystem/operations.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/libcxx/src/experimental/filesystem/operations.cpp b/libcxx/src/experimental/filesystem/operations.cpp index eba7ae368e2..4c60a17e976 100644 --- a/libcxx/src/experimental/filesystem/operations.cpp +++ b/libcxx/src/experimental/filesystem/operations.cpp @@ -236,6 +236,9 @@ void __copy(const path& from, const path& to, copy_options options, } return; } + else if (is_directory(f) && bool(copy_options::create_symlinks & options)) { + return set_or_throw(make_error_code(errc::is_a_directory), ec, "copy"); + } else if (is_directory(f) && (bool(copy_options::recursive & options) || copy_options::none == options)) { |