summaryrefslogtreecommitdiffstats
path: root/libcxx/include/experimental
diff options
context:
space:
mode:
Diffstat (limited to 'libcxx/include/experimental')
-rw-r--r--libcxx/include/experimental/filesystem12
1 files changed, 10 insertions, 2 deletions
diff --git a/libcxx/include/experimental/filesystem b/libcxx/include/experimental/filesystem
index 2ed3eecffea..9699699c718 100644
--- a/libcxx/include/experimental/filesystem
+++ b/libcxx/include/experimental/filesystem
@@ -2200,8 +2200,16 @@ private:
static __cached_data __create_iter_result(file_type __ft) {
__cached_data __data;
__data.__type_ = __ft;
- __data.__cache_type_ =
- __ft == file_type::symlink ? _IterSymlink : _IterNonSymlink;
+ __data.__cache_type_ = [&]() {
+ switch (__ft) {
+ case file_type::none:
+ return _Empty;
+ case file_type::symlink:
+ return _IterSymlink;
+ default:
+ return _IterNonSymlink;
+ }
+ }();
return __data;
}
OpenPOWER on IntegriCloud