* [Bug libstdc++/106953] C++23 add new headers for freestanding
2022-09-16 8:39 [Bug libstdc++/106953] New: C++23 add new headers for freestanding unlvsur at live dot com
@ 2022-09-16 8:53 ` redi at gcc dot gnu.org
2022-09-16 22:33 ` cvs-commit at gcc dot gnu.org
` (5 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: redi at gcc dot gnu.org @ 2022-09-16 8:53 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106953
Jonathan Wakely <redi at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Blocks| |106749
--- Comment #1 from Jonathan Wakely <redi at gcc dot gnu.org> ---
Yes, work has already started on this.
Referenced Bugs:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106749
[Bug 106749] Implement C++23 library features
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug libstdc++/106953] C++23 add new headers for freestanding
2022-09-16 8:39 [Bug libstdc++/106953] New: C++23 add new headers for freestanding unlvsur at live dot com
2022-09-16 8:53 ` [Bug libstdc++/106953] " redi at gcc dot gnu.org
@ 2022-09-16 22:33 ` cvs-commit at gcc dot gnu.org
2022-09-17 3:28 ` unlvsur at live dot com
` (4 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2022-09-16 22:33 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106953
--- Comment #2 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Jonathan Wakely <redi@gcc.gnu.org>:
https://gcc.gnu.org/g:cf0fded5d837bad590eb091d8a3dc4898872560f
commit r13-2705-gcf0fded5d837bad590eb091d8a3dc4898872560f
Author: Jonathan Wakely <jwakely@redhat.com>
Date: Thu Sep 15 21:02:32 2022 +0100
libstdc++: Add preprocessor conditions for freestanding [PR106953]
This adds checks for _GLIBCXX_HOSTED to a number of headers which are
not currently installed for freestanding, but need to be for P1642R11
support. For example, <iterator> needs to be installed for C++23
freestanding mode, but without stream iterators and streambuf iterators.
Similarly, <memory> needs to be installed, but without std::allocator
and std::shared_ptr. This change disables the non-freestanding parts of
those headers.
libstdc++-v3/ChangeLog:
PR libstdc++/106953
* include/backward/auto_ptr.h [!_GLIBCXX_HOSTED]: Do not define
shared_ptr members.
* include/bits/alloc_traits.h [!_GLIBCXX_HOSTED]: Do not declare
std::allocator_traits<std::allocator<T>> specializations for
freestanding.
* include/bits/memoryfwd.h [!_GLIBCXX_HOSTED] (allocator): Do
not declare for freestanding.
* include/bits/stl_algo.h [!_GLIBCXX_HOSTED] (stable_partition):
Do not define for freestanding.
[!_GLIBCXX_HOSTED] (merge, stable_sort): Do not use temporary
buffers for freestanding.
* include/bits/stl_algobase.h [!_GLIBCXX_HOSTED]: Do not declare
streambuf iterators and overloaded algorithms using them.
* include/bits/stl_uninitialized.h [!_GLIBCXX_HOSTED]: Do not
define specialized overloads for std::allocator.
* include/bits/unique_ptr.h [!_GLIBCXX_HOSTED] (make_unique)
(make_unique_for_overwrite, operator<<): Do not define for
freestanding.
* include/c_global/cstdlib [!_GLIBCXX_HOSTED] (_Exit): Declare.
Use _GLIBCXX_NOTHROW instead of throw().
* include/debug/assertions.h [!_GLIBCXX_HOSTED]: Ignore
_GLIBCXX_DEBUG for freestanding.
* include/debug/debug.h [!_GLIBCXX_DEBUG]: Likewise.
* include/std/bit [!_GLIBCXX_HOSTED]: Do not use the custom
__int_traits if <ext/numeric_traits.h> is available.
* include/std/functional [!_GLIBCXX_HOSTED]: Do not include
headers that aren't valid for freestanding.
(boyer_moore_searcher, boyer_moore_horspool_searcher): Do not
define for freestanding.
* include/std/iterator [!_GLIBCXX_HOSTED]: Do not include
headers that aren't valid for freestanding.
* include/std/memory [!_GLIBCXX_HOSTED]: Likewise.
* include/std/ranges [!_GLIBCXX_HOSTED] (istream_view): Do not
define for freestanding.
(views::__detail::__is_basic_string_view) [!_GLIBCXX_HOSTED]:
Do not define partial specialization for freestanding.
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug libstdc++/106953] C++23 add new headers for freestanding
2022-09-16 8:39 [Bug libstdc++/106953] New: C++23 add new headers for freestanding unlvsur at live dot com
2022-09-16 8:53 ` [Bug libstdc++/106953] " redi at gcc dot gnu.org
2022-09-16 22:33 ` cvs-commit at gcc dot gnu.org
@ 2022-09-17 3:28 ` unlvsur at live dot com
2022-09-17 3:29 ` unlvsur at live dot com
` (3 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: unlvsur at live dot com @ 2022-09-17 3:28 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106953
--- Comment #3 from cqwrteur <unlvsur at live dot com> ---
(In reply to Jonathan Wakely from comment #1)
> Yes, work has already started on this.
https://github.com/cplusplus/draft/releases/download/n4917/n4917.pdf
I've tried but those headers are not installed. no utility etc.
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug libstdc++/106953] C++23 add new headers for freestanding
2022-09-16 8:39 [Bug libstdc++/106953] New: C++23 add new headers for freestanding unlvsur at live dot com
` (2 preceding siblings ...)
2022-09-17 3:28 ` unlvsur at live dot com
@ 2022-09-17 3:29 ` unlvsur at live dot com
2022-09-20 9:54 ` redi at gcc dot gnu.org
` (2 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: unlvsur at live dot com @ 2022-09-17 3:29 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106953
--- Comment #4 from cqwrteur <unlvsur at live dot com> ---
(In reply to Jonathan Wakely from comment #1)
> Yes, work has already started on this.
BTW TR1_STDINT is still not defined for freestanding without libc. cstdint does
not import any types like std::uint_least64_t.
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug libstdc++/106953] C++23 add new headers for freestanding
2022-09-16 8:39 [Bug libstdc++/106953] New: C++23 add new headers for freestanding unlvsur at live dot com
` (3 preceding siblings ...)
2022-09-17 3:29 ` unlvsur at live dot com
@ 2022-09-20 9:54 ` redi at gcc dot gnu.org
2022-10-03 14:45 ` cvs-commit at gcc dot gnu.org
2022-10-03 14:51 ` redi at gcc dot gnu.org
6 siblings, 0 replies; 8+ messages in thread
From: redi at gcc dot gnu.org @ 2022-09-20 9:54 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106953
--- Comment #5 from Jonathan Wakely <redi at gcc dot gnu.org> ---
(In reply to cqwrteur from comment #3)
> I've tried but those headers are not installed. no utility etc.
I said work has started, not finished.
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug libstdc++/106953] C++23 add new headers for freestanding
2022-09-16 8:39 [Bug libstdc++/106953] New: C++23 add new headers for freestanding unlvsur at live dot com
` (4 preceding siblings ...)
2022-09-20 9:54 ` redi at gcc dot gnu.org
@ 2022-10-03 14:45 ` cvs-commit at gcc dot gnu.org
2022-10-03 14:51 ` redi at gcc dot gnu.org
6 siblings, 0 replies; 8+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2022-10-03 14:45 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106953
--- Comment #6 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Jonathan Wakely <redi@gcc.gnu.org>:
https://gcc.gnu.org/g:6885e7e4eef65c657cd8baa0f5e7ebe7231ac984
commit r13-3038-g6885e7e4eef65c657cd8baa0f5e7ebe7231ac984
Author: Arsen ArsenoviÄ <arsen@aarsen.me>
Date: Fri Sep 16 10:38:41 2022 +0200
libstdc++: Rework how freestanding install works [PR106953]
In light of there being far more freestanding headers now, ad-hoc
maintenance of a subset of the install implementation has become
unsustainable. Instead, we gate off a part of the normal install routine
so that it works without HOSTED enabled, as well as subdivide lists of
headers into freestanding and hosted components, according to the HOSTED
flag.
libstdc++-v3/ChangeLog:
PR libstdc++/106953
* include/Makefile.am [!_GLIBCXX_HOSTED]: Remove
install-freestanding-headers, unifying it with the usual
install-headers
* include/Makefile.in: Regenerate.
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug libstdc++/106953] C++23 add new headers for freestanding
2022-09-16 8:39 [Bug libstdc++/106953] New: C++23 add new headers for freestanding unlvsur at live dot com
` (5 preceding siblings ...)
2022-10-03 14:45 ` cvs-commit at gcc dot gnu.org
@ 2022-10-03 14:51 ` redi at gcc dot gnu.org
6 siblings, 0 replies; 8+ messages in thread
From: redi at gcc dot gnu.org @ 2022-10-03 14:51 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106953
Jonathan Wakely <redi at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Resolution|--- |FIXED
Target Milestone|--- |13.0
Status|UNCONFIRMED |RESOLVED
--- Comment #7 from Jonathan Wakely <redi at gcc dot gnu.org> ---
Done for GCC 13.
^ permalink raw reply [flat|nested] 8+ messages in thread