[Bug 271931] The C++20 feature 'std::ranges::copy' is missing

[email protected]
Newsgroups gmane.os.freebsd.devel.standards
Message-ID <[email protected]/bugzilla/>
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=271931

--- Comment #7 from Dimitry Andric <[email protected]> ---
Upstream implemented std::ranges::for_each here:
https://github.com/llvm/llvm-project/commit/80045e9afa2f3545d3b1f2d06090a9a053a90307

However, the feature is gated behind a `_LIBCPP_HAS_NO_INCOMPLETE_RANGES`
define, currently enabled by default in /usr/include/c++/v1/__config:

// Incomplete features get their own specific disabling flags. This makes it
// easier to grep for target specific flags once the feature is complete.
#  if !defined(_LIBCPP_ENABLE_EXPERIMENTAL) &&
!defined(_LIBCPP_BUILDING_LIBRARY)
#    define _LIBCPP_HAS_NO_INCOMPLETE_FORMAT
#    define _LIBCPP_HAS_NO_INCOMPLETE_RANGES
#  endif

In
https://github.com/llvm/llvm-project/commit/b8cb1dc9ea87faa8e8e9ab7a31710a8c0bb8b084
this was removed, so it shipped in libc++ 16.0.0.

Unfortunately, if you install the llvm port, you only get the compiler, linker
etc, but the C++ library from the base system is still used, so on 13.2 that be
libc++ 15.0.

-- 
You are receiving this mail because:
You are the assignee for the bug.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.