Bug 255374 - C++20 features (headers) std::concepts, std::format, std::numbers, std::source_location, etc. are missing
Summary: C++20 features (headers) std::concepts, std::format, std::numbers, std::sourc...
Status: In Progress
Alias: None
Product: Base System
Classification: Unclassified
Component: standards (show other bugs)
Version: 13.0-RELEASE
Hardware: Any Any
: --- Affects Only Me
Assignee: freebsd-standards (Nobody)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-04-24 20:39 UTC by Yuri Victorovich
Modified: 2021-06-13 19:16 UTC (History)
4 users (show)

See Also:


Attachments
Install new C++ header files (1.34 KB, patch)
2021-06-03 06:05 UTC, Jung-uk Kim
jkim: maintainer-approval? (dim)
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Yuri Victorovich freebsd_committer 2021-04-24 20:39:43 UTC
See https://en.cppreference.com/w/cpp/utility/format/format
Comment 1 Yuri Victorovich freebsd_committer 2021-05-13 01:10:28 UTC
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?
Comment 2 Dimitry Andric freebsd_committer 2021-05-19 17:16:07 UTC
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.
Comment 3 Jung-uk Kim freebsd_committer 2021-06-03 06:05:33 UTC
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.
Comment 4 commit-hook freebsd_committer 2021-06-03 18:54:08 UTC
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(-)
Comment 5 commit-hook freebsd_committer 2021-06-06 11:51:23 UTC
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(-)
Comment 6 Dimitry Andric freebsd_committer 2021-06-06 11:59:08 UTC
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?
Comment 7 Jung-uk Kim freebsd_committer 2021-06-07 13:34:14 UTC
(In reply to Dimitry Andric from comment #6)
Yes, I think it is an errata candidate.
Comment 8 Dimitry Andric freebsd_committer 2021-06-13 19:12:21 UTC
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.