[libcxx-commits] [PATCH] D118507: [libc++] Merge _LIBCPP_HAS_NO_RANGES into _LIBCPP_HAS_NO_CONCEPTS. NFC

Arthur O'Dwyer via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Fri Jan 28 13:07:33 PST 2022


Quuxplusone added inline comments.


================
Comment at: libcxx/include/__filesystem/directory_iterator.h:136
 
-#if !defined(_LIBCPP_HAS_NO_RANGES)
+#if !defined(_LIBCPP_HAS_NO_CONCEPTS)
 
----------------
@ldionne: Here's an example of something that should probably be guarded under `_LIBCPP_HAS_NO_INCOMPLETE_RANGES` (instead of `_LIBCPP_HAS_NO_CONCEPTS`).


================
Comment at: libcxx/include/string_view:726
 
-#if _LIBCPP_STD_VER > 20 && !defined(_LIBCPP_HAS_NO_RANGES)
+#if _LIBCPP_STD_VER > 20 && !defined(_LIBCPP_HAS_NO_CONCEPTS)
 template <ranges::contiguous_range _Range>
----------------
@ldionne: Some or all of these deduction guides should probably be guarded under `_LIBCPP_HAS_NO_INCOMPLETE_RANGES`, since `ranges::contiguous_range` (line 727) won't even exist if libc++ isn't providing Ranges facilities.


================
Comment at: libcxx/test/support/test_macros.h:246-248
+#if !defined(_LIBCPP_HAS_NO_CONCEPTS)
 #define TEST_SUPPORTS_RANGES
 #endif
----------------
The testing story is a little messed up, but //perhaps// this should be guarded under `#if TEST_STD_VER > 17 && !defined(_LIBCPP_HAS_NO_INCOMPLETE_RANGES)`. (It's unclear what the purpose of this macro is right now. Compare to the other places in `libcxx/test/` that have diffs in this PR.)


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D118507/new/

https://reviews.llvm.org/D118507



More information about the libcxx-commits mailing list