Date: Sun, 17 Jul 2022 18:30:39 +0000 From: bugzilla-noreply@freebsd.org To: standards@FreeBSD.org Subject: [Bug 255374] C++20 features (headers) std::concepts, std::format, std::numbers, std::source_location, etc. are missing Message-ID: <bug-255374-99-1zGHfDuEzn@https.bugs.freebsd.org/bugzilla/> In-Reply-To: <bug-255374-99@https.bugs.freebsd.org/bugzilla/> References: <bug-255374-99@https.bugs.freebsd.org/bugzilla/>
next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D255374 --- Comment #15 from Dimitry Andric <dim@FreeBSD.org> --- (In reply to Yuri Victorovich from comment #14) > Does LLVM maintain a list of missing C++ features? For libc++, there are these lists (from https://libcxx.llvm.org//index.html#c-dialect-support): * https://libcxx.llvm.org/Status/Cxx14.html (complete) * https://libcxx.llvm.org//Status/Cxx17.html (in progress) * https://libcxx.llvm.org//Status/Cxx20.html (in progress) * https://libcxx.llvm.org//Status/Cxx2b.html (in progress) Typically, libc++ requires the same llvm/clang version to build, but you can often get away with a one or two year old version. > Are all available features merged into the FreeBSD repository? I attempt to merge clang/libc++ (actually llvm-project) release versions af= ter they have been tested with an exp-run. While I don't merge *everything* und= er llvm-project, I always include complete copies of clang and libc++. > What about std::format and std::vformat? libc++ 13.0 started with some incomplete support, which had to be turned on= via LIBCXX_ENABLE_INCOMPLETE_FEATURES, but we didn't use it. libc++ 14.0 has so= me improvements, but it is not finished: "There=E2=80=99s support for the C++20 header <format>. Some parts are stil= l missing, most notably the compile-time format string validation. Some functions are known to be inefficient, both in memory usage and performance. The implementation isn=E2=80=99t API- or ABI-stable and therefore considered ex= perimental. (Some not-yet-implemented papers require an API-break.) As a result, it is disabled by default, however vendors can enable the header by using -DLIBCXX_ENABLE_INCOMPLETE_FEATURES=3DON when configuring their build." I'm unsure if there are any promises to have these features completely fini= shed for libc++ 15.0. --=20 You are receiving this mail because: You are on the CC list for the bug.=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-255374-99-1zGHfDuEzn>