See https://en.cppreference.com/w/cpp/utility/format/format
The llvm repository has many c++20 features: * format: https://github.com/llvm/llvm-project/blob/main/libcxx/include/format * ranges: https://github.com/llvm/llvm-project/blob/main/libcxx/include/ranges Should it just be merged?
Both format and ranges are still being worked on upstream, and have not yet been merged to the 12.0 branch, likely because they are not yet ready for public consumption. I would rather wait until upstream officially puts these in the 12.0 branch, or until 13.0 comes out.
Created attachment 225518 [details] Install new C++ header files We added barrier, concepts, execution, latch, numbers, and semaphore with r363742 but they were never installed properly. https://cgit.freebsd.org/src/commit/contrib/llvm-project/libcxx/include?id=5ffd83dbcc34f10e07f6d3e968ae6365869615f4 I don't know about format, etc. but we should install what we have, IMHO.
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=95aa617e4bf09fcc813b1bab3d0dbf4b606807b1 commit 95aa617e4bf09fcc813b1bab3d0dbf4b606807b1 Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2021-06-03 18:53:18 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2021-06-03 18:53:18 +0000 Add C++ headers <barrier> <concepts> <execution> <latch> <numbers> <semaphore> I missed adding these to the libc++ Makefile, when importing llvm-project 11.0.0-rc1, even though they were supplied by upstream. While here, update OptionalObsoleteFiles.inc to add these new headers, and cleanup old cruft. Reported by: yuri Submitted by: jkim (Makefile diff) PR: 255374 MFC after: 3 days lib/libc++/Makefile | 6 +++++ tools/build/mk/OptionalObsoleteFiles.inc | 43 ++++++++++++++++++++------------ 2 files changed, 33 insertions(+), 16 deletions(-)
A commit in branch stable/13 references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=70e13c4cffd5ff7a70296bc5c4c3b7525c278b1d commit 70e13c4cffd5ff7a70296bc5c4c3b7525c278b1d Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2021-06-03 18:53:18 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2021-06-06 11:41:34 +0000 Add C++ headers <barrier> <concepts> <execution> <latch> <numbers> <semaphore> I missed adding these to the libc++ Makefile, when importing llvm-project 11.0.0-rc1, even though they were supplied by upstream. While here, update OptionalObsoleteFiles.inc to add these new headers, and cleanup old cruft. Reported by: yuri Submitted by: jkim (Makefile diff) PR: 255374 MFC after: 3 days (cherry picked from commit 95aa617e4bf09fcc813b1bab3d0dbf4b606807b1) lib/libc++/Makefile | 6 +++++ tools/build/mk/OptionalObsoleteFiles.inc | 43 ++++++++++++++++++++------------ 2 files changed, 33 insertions(+), 16 deletions(-)
Fixes committed to main and stable/13. Does anybody feel that these are important enough to warrant an Errata Notice, so it can end up in the next 13.0-pX drop?
(In reply to Dimitry Andric from comment #6) Yes, I think it is an errata candidate.
I've submitted a request for an EN, with the template mostly filled in, and a diff. markj@ said it was queued for the next patch run.
A commit in branch releng/13.0 references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=dac086497e50619b26d227de02b602f5350d7366 commit dac086497e50619b26d227de02b602f5350d7366 Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2021-06-03 18:53:18 +0000 Commit: Mark Johnston <markj@FreeBSD.org> CommitDate: 2021-06-29 17:08:58 +0000 Add C++ headers <barrier> <concepts> <execution> <latch> <numbers> <semaphore> I missed adding these to the libc++ Makefile, when importing llvm-project 11.0.0-rc1, even though they were supplied by upstream. While here, update OptionalObsoleteFiles.inc to add these new headers, and cleanup old cruft. Approved by: so Security: EN-21:18.libc++ Reported by: yuri Submitted by: jkim (Makefile diff) PR: 255374 MFC after: 3 days (cherry picked from commit 95aa617e4bf09fcc813b1bab3d0dbf4b606807b1) (cherry picked from commit 70e13c4cffd5ff7a70296bc5c4c3b7525c278b1d) lib/libc++/Makefile | 6 +++++ tools/build/mk/OptionalObsoleteFiles.inc | 43 ++++++++++++++++++++------------ 2 files changed, 33 insertions(+), 16 deletions(-)
This will be in 13.0-p3, should be out in the next few hours.
*** Bug 259220 has been marked as a duplicate of this bug. ***
^Triage: - Re-open pending question about what to do re stable/12, reported as bug 259220 (duped to this issue) - Set mfc-* flags to current state (stable/11 is EoL and will not receive an MFC) - Assign to committer that resolved, pending feedback on stable/12
A commit in branch stable/12 references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=761122c601e849229191a097a5741eda3ab1edb4 commit 761122c601e849229191a097a5741eda3ab1edb4 Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2021-06-03 18:53:18 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2021-12-25 11:51:01 +0000 Add C++ headers <barrier> <concepts> <execution> <latch> <numbers> <semaphore> I missed adding these to the libc++ Makefile, when importing llvm-project 11.0.0-rc1, even though they were supplied by upstream. While here, update OptionalObsoleteFiles.inc to add these new headers, and cleanup old cruft. Reported by: yuri Submitted by: jkim (Makefile diff) PR: 255374 MFC after: 3 days (cherry picked from commit 95aa617e4bf09fcc813b1bab3d0dbf4b606807b1) lib/libc++/Makefile | 6 +++++ tools/build/mk/OptionalObsoleteFiles.inc | 43 ++++++++++++++++++++------------ 2 files changed, 33 insertions(+), 16 deletions(-)