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 Some People
Assignee: Dimitry Andric
URL:
Keywords:
: 259220 (view as bug list)
Depends on:
Blocks:
 
Reported: 2021-04-24 20:39 UTC by Yuri Victorovich
Modified: 2021-12-25 11:58 UTC (History)
6 users (show)

See Also:
koobs: maintainer-feedback? (dim)
koobs: mfc-stable13+
koobs: mfc-stable12?
koobs: mfc-stable11-


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.
Comment 9 commit-hook freebsd_committer 2021-06-29 20:24:24 UTC
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(-)
Comment 10 Mark Johnston freebsd_committer 2021-06-29 20:35:09 UTC
This will be in 13.0-p3, should be out in the next few hours.
Comment 11 Kubilay Kocak freebsd_committer freebsd_triage 2021-10-17 03:16:43 UTC
*** Bug 259220 has been marked as a duplicate of this bug. ***
Comment 12 Kubilay Kocak freebsd_committer freebsd_triage 2021-10-17 03:19:12 UTC
^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
Comment 13 commit-hook freebsd_committer 2021-12-25 11:58:34 UTC
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(-)