Also mark LWG2935 and LWG3079 as complete.
Applied retroactively to previous standards too, as it's a DR.
Differential D92769
[libc++] [P1164] [C++20] Make fs::create_directory() error if there is already a non-directory. curdeius on Dec 7 2020, 8:37 AM. Authored by
Details
Also mark LWG2935 and LWG3079 as complete. Applied retroactively to previous standards too, as it's a DR.
Diff Detail
Event TimelineComment Actions
Yes, we apply LWG resolutions retroactively to all standards. Also, you'll need markup for some Apple system libraries that shipped Filesystem but don't contain that fix. They are not covered by CI right now but they will once I land https://reviews.llvm.org/D92794. I'll let you know and you can rebase on top of it -- it should be trivial to add the UNSUPPORTED annotations.
Comment Actions @ldionne, I was expecting tests to fail, but somehow they are already listed as unsupported on macOS 10.14... https://buildkite.com/llvm-project/libcxx-ci/builds/671#028852c7-7ffc-4d95-8455-62d0d4c6c05e/6-545 libc++ :: std/input.output/filesystems/fs.op.funcs/fs.op.create_directory/create_directory.pass.cpp libc++ :: std/input.output/filesystems/fs.op.funcs/fs.op.create_directory/create_directory_with_attributes.pass.cpp How is that? Comment Actions Oh, I got my answer... if 'c++filesystem-disabled' in config.available_features: config.unsupported = True But... haven't you said that filesystem landed in macOS 10.14? And I see this in 10.14 build log: llvm-lit: /tmp/buildkite-builds/mbp-2-local-1/llvm-project/libcxx-ci/libcxx/utils/libcxx/test/config.py:146: note: All available features: {'locale.fr_CA.ISO8859-1', 'modules-support', 'with_system_cxx_lib=macosx', 'libc++', 'apple-clang-12.0', 'thread-safety', 'long_tests', 'locale.fr_FR.UTF-8', 'fcoroutines-ts', '-faligned-allocation', 'locale.zh_CN.UTF-8', '-fsized-deallocation', 'libcxx-no-debug-mode', 'fdelayed-template-parsing', 'apple-clang-12.0.0', 'x86_64-apple', 'c++filesystem-disabled', '__dummy_use_system_cxx_lib', 'libcpp-no-concepts', 'locale.ru_RU.UTF-8', 'apple-clang', 'has-fobjc-arc', 'libcpp-abi-version=1', 'apple-clang-12', 'with_system_cxx_lib=x86_64-apple-macosx10.14', 'use_system_cxx_lib', 'target-x86_64', 'locale.en_US.UTF-8', 'with_system_cxx_lib=macosx10.14', 'locale.cs_CZ.ISO8859-2', 'objective-c++', 'diagnose-if-support', 'darwin', 'libcpp-has-thread-api-pthread', 'c++2a', 'has-fblocks'} so, there is 'c++filesystem-disabled'. Comment Actions I apologize for the confusion, I made a mistake: filesystem was introduced in macOS 10.15, not 10.14. Fixing in https://reviews.llvm.org/D92937. Comment Actions Note that P1164 talks about both create_directory and create_directories, while this fix only covers create_directory. Comment Actions Indeed, but it doesn't change the behaviour of create_directories per se because it calls create_directory for every part of the path. Anyway, I'll add a test for create_directories in a follow-up patch. Comment Actions Ah, right. After revisiting the issue I was, it was that while create_directories does report failures, it reports a different error code than expected - at least with the windows filesystem APIs. (But maybe the testcase I'm running, one picked from MS STL's testsuite, is overly strict on checking the specific error codes?) I'll comment inline to point out and explain the issue.
|
Isn't that "Nothing to do"?