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

Louis Dionne via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Mon Jan 31 08:48:11 PST 2022


ldionne accepted this revision.
ldionne added a comment.
This revision is now accepted and ready to land.

IMO this looks fine as-is. This is just removing an additional spelling of `_LIBCPP_HAS_NO_CONCEPTS` by folding it into `_LIBCPP_HAS_NO_CONCEPTS`. Furthermore, all of these `_LIBCPP_HAS_NO_CONCEPTS` will be changed to `_LIBCPP_STD_VER > 17` as soon as I manage to drop support for a slightly older AppleClang.

Yes, we do have places that are not guarded by `_LIBCPP_HAS_NO_INCOMPLETE_RANGES `, and we should fix those separately.

Also, personally, I would keep `_LIBCPP_HAS_NO_INCOMPLETE_RANGES` its own separate macro and use it directly, because we'll mass-remove it as soon as we are sufficiently confident about the stability of `<ranges>`.



================
Comment at: libcxx/include/__filesystem/directory_iterator.h:136
 
-#if !defined(_LIBCPP_HAS_NO_RANGES)
+#if !defined(_LIBCPP_HAS_NO_CONCEPTS)
 
----------------
jloser wrote:
> Quuxplusone wrote:
> > @ldionne: Here's an example of something that should probably be guarded under `_LIBCPP_HAS_NO_INCOMPLETE_RANGES` (instead of `_LIBCPP_HAS_NO_CONCEPTS`).
> Agreed. I added these IIRC, but copied the `#ifdef` check from somewhere else likely but never chased down the differences between concepts/ranges checks. I'd be fine if you change this to `_LIBCPP_HAS_NO_INCOMPLETE_RANGES`.
100% agreed, let's fix this.


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