[Bug 255374] C++20 features (headers) std::concepts, std::format, std::numbers, std::source_location, etc. are missing
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sun, 17 Jul 2022 18:30:39 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=255374 --- 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 after they have been tested with an exp-run. While I don't merge *everything* under 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 some improvements, but it is not finished: "There’s support for the C++20 header <format>. Some parts are still 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’t API- or ABI-stable and therefore considered experimental. (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=ON when configuring their build." I'm unsure if there are any promises to have these features completely finished for libc++ 15.0. -- You are receiving this mail because: You are on the CC list for the bug.