[Bug 271931] The C++20 feature 'std::ranges::copy' is missing
- In reply to: bugzilla-noreply_a_freebsd.org: "[Bug 271931] The C++20 feature 'std::ranges::copy' is missing"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 14 Jul 2023 19:56:20 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=271931 --- Comment #7 from Dimitry Andric <dim@FreeBSD.org> --- 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.