public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug libstdc++/103726] New: --disable-hosted-libstdcxx (freestanding C++) does not provide <coroutine> as what standard requires
@ 2021-12-15  4:23 unlvsur at live dot com
  2021-12-15  8:09 ` [Bug libstdc++/103726] " redi at gcc dot gnu.org
                   ` (19 more replies)
  0 siblings, 20 replies; 21+ messages in thread
From: unlvsur at live dot com @ 2021-12-15  4:23 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103726

            Bug ID: 103726
           Summary: --disable-hosted-libstdcxx (freestanding C++) does not
                    provide <coroutine> as what standard requires
           Product: gcc
           Version: 12.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: libstdc++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: unlvsur at live dot com
  Target Milestone: ---

https://en.cppreference.com/w/cpp/freestanding

Freestanding C++ requires to provide coroutine header. but libstdc++ does not
provide that with --disable-hosted-libstdcxx

^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug libstdc++/103726] --disable-hosted-libstdcxx (freestanding C++) does not provide <coroutine> as what standard requires
  2021-12-15  4:23 [Bug libstdc++/103726] New: --disable-hosted-libstdcxx (freestanding C++) does not provide <coroutine> as what standard requires unlvsur at live dot com
@ 2021-12-15  8:09 ` redi at gcc dot gnu.org
  2021-12-15 21:10 ` unlvsur at live dot com
                   ` (18 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: redi at gcc dot gnu.org @ 2021-12-15  8:09 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103726

Jonathan Wakely <redi at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever confirmed|0                           |1
   Last reconfirmed|                            |2021-12-15

^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug libstdc++/103726] --disable-hosted-libstdcxx (freestanding C++) does not provide <coroutine> as what standard requires
  2021-12-15  4:23 [Bug libstdc++/103726] New: --disable-hosted-libstdcxx (freestanding C++) does not provide <coroutine> as what standard requires unlvsur at live dot com
  2021-12-15  8:09 ` [Bug libstdc++/103726] " redi at gcc dot gnu.org
@ 2021-12-15 21:10 ` unlvsur at live dot com
  2021-12-15 21:36 ` redi at gcc dot gnu.org
                   ` (17 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: unlvsur at live dot com @ 2021-12-15 21:10 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103726

--- Comment #1 from cqwrteur <unlvsur at live dot com> ---
also here is a weird thing i find.

coroutine_handle has a template specification of std::hash, but std::hash is in
<functional> which is not freestanding.

What should standard library do? Should libstdc++ provide it or not?

^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug libstdc++/103726] --disable-hosted-libstdcxx (freestanding C++) does not provide <coroutine> as what standard requires
  2021-12-15  4:23 [Bug libstdc++/103726] New: --disable-hosted-libstdcxx (freestanding C++) does not provide <coroutine> as what standard requires unlvsur at live dot com
  2021-12-15  8:09 ` [Bug libstdc++/103726] " redi at gcc dot gnu.org
  2021-12-15 21:10 ` unlvsur at live dot com
@ 2021-12-15 21:36 ` redi at gcc dot gnu.org
  2021-12-15 21:36 ` unlvsur at live dot com
                   ` (16 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: redi at gcc dot gnu.org @ 2021-12-15 21:36 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103726

Jonathan Wakely <redi at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|---                         |INVALID

--- Comment #2 from Jonathan Wakely <redi at gcc dot gnu.org> ---
cppreference is wrong, <coroutine> is not freestanding.

^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug libstdc++/103726] --disable-hosted-libstdcxx (freestanding C++) does not provide <coroutine> as what standard requires
  2021-12-15  4:23 [Bug libstdc++/103726] New: --disable-hosted-libstdcxx (freestanding C++) does not provide <coroutine> as what standard requires unlvsur at live dot com
                   ` (2 preceding siblings ...)
  2021-12-15 21:36 ` redi at gcc dot gnu.org
@ 2021-12-15 21:36 ` unlvsur at live dot com
  2021-12-15 21:39 ` redi at gcc dot gnu.org
                   ` (15 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: unlvsur at live dot com @ 2021-12-15 21:36 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103726

--- Comment #3 from cqwrteur <unlvsur at live dot com> ---
(In reply to Jonathan Wakely from comment #2)
> cppreference is wrong, <coroutine> is not freestanding.

okay.

^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug libstdc++/103726] --disable-hosted-libstdcxx (freestanding C++) does not provide <coroutine> as what standard requires
  2021-12-15  4:23 [Bug libstdc++/103726] New: --disable-hosted-libstdcxx (freestanding C++) does not provide <coroutine> as what standard requires unlvsur at live dot com
                   ` (3 preceding siblings ...)
  2021-12-15 21:36 ` unlvsur at live dot com
@ 2021-12-15 21:39 ` redi at gcc dot gnu.org
  2021-12-15 21:39 ` unlvsur at live dot com
                   ` (14 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: redi at gcc dot gnu.org @ 2021-12-15 21:39 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103726

--- Comment #4 from Jonathan Wakely <redi at gcc dot gnu.org> ---
(In reply to Jonathan Wakely from comment #2)
> cppreference is wrong, <coroutine> is not freestanding.

I've fixed it now.

^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug libstdc++/103726] --disable-hosted-libstdcxx (freestanding C++) does not provide <coroutine> as what standard requires
  2021-12-15  4:23 [Bug libstdc++/103726] New: --disable-hosted-libstdcxx (freestanding C++) does not provide <coroutine> as what standard requires unlvsur at live dot com
                   ` (4 preceding siblings ...)
  2021-12-15 21:39 ` redi at gcc dot gnu.org
@ 2021-12-15 21:39 ` unlvsur at live dot com
  2021-12-15 23:42 ` de34 at live dot cn
                   ` (13 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: unlvsur at live dot com @ 2021-12-15 21:39 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103726

--- Comment #5 from cqwrteur <unlvsur at live dot com> ---
(In reply to Jonathan Wakely from comment #4)
> (In reply to Jonathan Wakely from comment #2)
> > cppreference is wrong, <coroutine> is not freestanding.
> 
> I've fixed it now.

thank you.

^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug libstdc++/103726] --disable-hosted-libstdcxx (freestanding C++) does not provide <coroutine> as what standard requires
  2021-12-15  4:23 [Bug libstdc++/103726] New: --disable-hosted-libstdcxx (freestanding C++) does not provide <coroutine> as what standard requires unlvsur at live dot com
                   ` (5 preceding siblings ...)
  2021-12-15 21:39 ` unlvsur at live dot com
@ 2021-12-15 23:42 ` de34 at live dot cn
  2021-12-15 23:46 ` redi at gcc dot gnu.org
                   ` (12 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: de34 at live dot cn @ 2021-12-15 23:42 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103726

Jiang An <de34 at live dot cn> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |de34 at live dot cn

--- Comment #6 from Jiang An <de34 at live dot cn> ---
(In reply to Jonathan Wakely from comment #2)
> cppreference is wrong, <coroutine> is not freestanding.

https://eel.is/c++draft/tab:headers.cpp.fs

<coroutine> is still listed as a freestanding header in the recent working
draft. Is there any changed made?

^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug libstdc++/103726] --disable-hosted-libstdcxx (freestanding C++) does not provide <coroutine> as what standard requires
  2021-12-15  4:23 [Bug libstdc++/103726] New: --disable-hosted-libstdcxx (freestanding C++) does not provide <coroutine> as what standard requires unlvsur at live dot com
                   ` (6 preceding siblings ...)
  2021-12-15 23:42 ` de34 at live dot cn
@ 2021-12-15 23:46 ` redi at gcc dot gnu.org
  2021-12-15 23:54 ` unlvsur at live dot com
                   ` (11 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: redi at gcc dot gnu.org @ 2021-12-15 23:46 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103726

Jonathan Wakely <redi at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|RESOLVED                    |NEW
         Resolution|INVALID                     |---

--- Comment #7 from Jonathan Wakely <redi at gcc dot gnu.org> ---
Huh, I must have checked in an old draft ... which is odd as I only have one
open on my desktop, and it's the current one.

Reopening then. And we need an LWG issue for the std::hash problem.

^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug libstdc++/103726] --disable-hosted-libstdcxx (freestanding C++) does not provide <coroutine> as what standard requires
  2021-12-15  4:23 [Bug libstdc++/103726] New: --disable-hosted-libstdcxx (freestanding C++) does not provide <coroutine> as what standard requires unlvsur at live dot com
                   ` (7 preceding siblings ...)
  2021-12-15 23:46 ` redi at gcc dot gnu.org
@ 2021-12-15 23:54 ` unlvsur at live dot com
  2022-01-10 21:14 ` redi at gcc dot gnu.org
                   ` (10 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: unlvsur at live dot com @ 2021-12-15 23:54 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103726

--- Comment #8 from cqwrteur <unlvsur at live dot com> ---
(In reply to Jonathan Wakely from comment #7)
> Huh, I must have checked in an old draft ... which is odd as I only have one
> open on my desktop, and it's the current one.
> 
> Reopening then. And we need an LWG issue for the std::hash problem.

WG21 is a joke. Forcing the standard library vendor to provide things like EH
and RTTI, but no std::array, std::move, std::addressof.

We need P0709 asap.

^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug libstdc++/103726] --disable-hosted-libstdcxx (freestanding C++) does not provide <coroutine> as what standard requires
  2021-12-15  4:23 [Bug libstdc++/103726] New: --disable-hosted-libstdcxx (freestanding C++) does not provide <coroutine> as what standard requires unlvsur at live dot com
                   ` (8 preceding siblings ...)
  2021-12-15 23:54 ` unlvsur at live dot com
@ 2022-01-10 21:14 ` redi at gcc dot gnu.org
  2022-01-11  4:13 ` unlvsur at live dot com
                   ` (9 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: redi at gcc dot gnu.org @ 2022-01-10 21:14 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103726

--- Comment #9 from Jonathan Wakely <redi at gcc dot gnu.org> ---
Ah it was left out of libstdc++'s freestanding builds intentionally:

> When the final <coroutines> header is added it will need to be in
> libsupc++ so that it's included for freestanding builds (and at that
> point it won't be able to use <bits/stl_function.h>, but that will be
> OK as the final header will be C++20-only and can rely on <compare>
> unconditionally, which is also freestanding).

The current experimental implementation supports C++14 and C++17, but to do
that it needs to include some non-freestanding stuff.

^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug libstdc++/103726] --disable-hosted-libstdcxx (freestanding C++) does not provide <coroutine> as what standard requires
  2021-12-15  4:23 [Bug libstdc++/103726] New: --disable-hosted-libstdcxx (freestanding C++) does not provide <coroutine> as what standard requires unlvsur at live dot com
                   ` (9 preceding siblings ...)
  2022-01-10 21:14 ` redi at gcc dot gnu.org
@ 2022-01-11  4:13 ` unlvsur at live dot com
  2022-01-11 11:26 ` redi at gcc dot gnu.org
                   ` (8 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: unlvsur at live dot com @ 2022-01-11  4:13 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103726

--- Comment #10 from cqwrteur <unlvsur at live dot com> ---
(In reply to Jonathan Wakely from comment #9)
> Ah it was left out of libstdc++'s freestanding builds intentionally:
> 
> > When the final <coroutines> header is added it will need to be in
> > libsupc++ so that it's included for freestanding builds (and at that
> > point it won't be able to use <bits/stl_function.h>, but that will be
> > OK as the final header will be C++20-only and can rely on <compare>
> > unconditionally, which is also freestanding).
> 
> The current experimental implementation supports C++14 and C++17, but to do
> that it needs to include some non-freestanding stuff.

then we need to report to wg21 as defects. Removing exception, typeinfo and
coroutines from freestanding for example.

^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug libstdc++/103726] --disable-hosted-libstdcxx (freestanding C++) does not provide <coroutine> as what standard requires
  2021-12-15  4:23 [Bug libstdc++/103726] New: --disable-hosted-libstdcxx (freestanding C++) does not provide <coroutine> as what standard requires unlvsur at live dot com
                   ` (10 preceding siblings ...)
  2022-01-11  4:13 ` unlvsur at live dot com
@ 2022-01-11 11:26 ` redi at gcc dot gnu.org
  2022-01-11 13:29 ` cvs-commit at gcc dot gnu.org
                   ` (7 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: redi at gcc dot gnu.org @ 2022-01-11 11:26 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103726

--- Comment #11 from Jonathan Wakely <redi at gcc dot gnu.org> ---
I already reported https://cplusplus.github.io/LWG/issue3653 for the std::hash
use in <coroutine>. Removing exceptions, typeinfo and coroutines is unnecessary
and irrelevant to this bug report. Stop using GCC bugzilla for your off-topic
rants about WG21.

You have been warned several times now.

^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug libstdc++/103726] --disable-hosted-libstdcxx (freestanding C++) does not provide <coroutine> as what standard requires
  2021-12-15  4:23 [Bug libstdc++/103726] New: --disable-hosted-libstdcxx (freestanding C++) does not provide <coroutine> as what standard requires unlvsur at live dot com
                   ` (11 preceding siblings ...)
  2022-01-11 11:26 ` redi at gcc dot gnu.org
@ 2022-01-11 13:29 ` cvs-commit at gcc dot gnu.org
  2022-01-11 13:31 ` redi at gcc dot gnu.org
                   ` (6 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2022-01-11 13:29 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103726

--- Comment #12 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:265d3e1a4e3d6c71d354f859302f023dc2d33f62

commit r12-6474-g265d3e1a4e3d6c71d354f859302f023dc2d33f62
Author: Jonathan Wakely <jwakely@redhat.com>
Date:   Mon Jan 10 20:48:53 2022 +0000

    libstdc++: Install <coroutine> header for freestanding [PR103726]

    The standard says that <coroutine> should be present for freestanding.
    That was intentionally left out of the initial implementation, but can
    be done without much trouble. The header should be moved to libsupc++ at
    some point in stage 1.

    The standard also says that <coroutine> defines a std::hash
    specialization, which was missing from our implementation. That's a
    problem for freestanding (see LWG 3653) so only do that for hosted.

    We can use concepts to constrain the __coroutine_traits_impl base class
    when compiled with concepts enabled. In a pure C++20 implementation we
    would not need that base class at all and could just use a constrained
    partial specialization of coroutine_traits. But the absence of the
    __coroutine_traits_impl<R, void> base would create an ABI difference
    between the non-standard C++14/C++17 support for coroutines and the same
    code compiled as C++20. If we drop support for <coroutine> pre-C++20 we
    should revisit this.

    libstdc++-v3/ChangeLog:

            PR libstdc++/103726
            * include/Makefile.am: Install <coroutine> for freestanding.
            * include/Makefile.in: Regenerate.
            * include/std/coroutine: Adjust headers and preprocessor
            conditions.
            (__coroutine_traits_impl): Use concepts when available.
            [_GLIBCXX_HOSTED] (hash<coroutine_handle>): Define.

^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug libstdc++/103726] --disable-hosted-libstdcxx (freestanding C++) does not provide <coroutine> as what standard requires
  2021-12-15  4:23 [Bug libstdc++/103726] New: --disable-hosted-libstdcxx (freestanding C++) does not provide <coroutine> as what standard requires unlvsur at live dot com
                   ` (12 preceding siblings ...)
  2022-01-11 13:29 ` cvs-commit at gcc dot gnu.org
@ 2022-01-11 13:31 ` redi at gcc dot gnu.org
  2022-01-11 17:16 ` unlvsur at live dot com
                   ` (5 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: redi at gcc dot gnu.org @ 2022-01-11 13:31 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103726

Jonathan Wakely <redi at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Resolution|---                         |FIXED
             Status|NEW                         |RESOLVED
   Target Milestone|---                         |12.0

--- Comment #13 from Jonathan Wakely <redi at gcc dot gnu.org> ---
Fixed on trunk.

^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug libstdc++/103726] --disable-hosted-libstdcxx (freestanding C++) does not provide <coroutine> as what standard requires
  2021-12-15  4:23 [Bug libstdc++/103726] New: --disable-hosted-libstdcxx (freestanding C++) does not provide <coroutine> as what standard requires unlvsur at live dot com
                   ` (14 preceding siblings ...)
  2022-01-11 17:16 ` unlvsur at live dot com
@ 2022-01-11 17:16 ` unlvsur at live dot com
  2022-01-11 17:31 ` redi at gcc dot gnu.org
                   ` (3 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: unlvsur at live dot com @ 2022-01-11 17:16 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103726

--- Comment #14 from cqwrteur <unlvsur at live dot com> ---
(In reply to Jonathan Wakely from comment #13)
> Fixed on trunk.

What about source_location?

^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug libstdc++/103726] --disable-hosted-libstdcxx (freestanding C++) does not provide <coroutine> as what standard requires
  2021-12-15  4:23 [Bug libstdc++/103726] New: --disable-hosted-libstdcxx (freestanding C++) does not provide <coroutine> as what standard requires unlvsur at live dot com
                   ` (13 preceding siblings ...)
  2022-01-11 13:31 ` redi at gcc dot gnu.org
@ 2022-01-11 17:16 ` unlvsur at live dot com
  2022-01-11 17:16 ` unlvsur at live dot com
                   ` (4 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: unlvsur at live dot com @ 2022-01-11 17:16 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103726

--- Comment #14 from cqwrteur <unlvsur at live dot com> ---
(In reply to Jonathan Wakely from comment #13)
> Fixed on trunk.

What about source_location?

--- Comment #15 from cqwrteur <unlvsur at live dot com> ---
(In reply to Jonathan Wakely from comment #13)
> Fixed on trunk.

What about source_location?

^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug libstdc++/103726] --disable-hosted-libstdcxx (freestanding C++) does not provide <coroutine> as what standard requires
  2021-12-15  4:23 [Bug libstdc++/103726] New: --disable-hosted-libstdcxx (freestanding C++) does not provide <coroutine> as what standard requires unlvsur at live dot com
                   ` (15 preceding siblings ...)
  2022-01-11 17:16 ` unlvsur at live dot com
@ 2022-01-11 17:31 ` redi at gcc dot gnu.org
  2022-01-11 17:37 ` unlvsur at live dot com
                   ` (2 subsequent siblings)
  19 siblings, 0 replies; 21+ messages in thread
From: redi at gcc dot gnu.org @ 2022-01-11 17:31 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103726

--- Comment #16 from Jonathan Wakely <redi at gcc dot gnu.org> ---
This is the first time anybody has pointed out it's missing, that's why it's
still missing.

^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug libstdc++/103726] --disable-hosted-libstdcxx (freestanding C++) does not provide <coroutine> as what standard requires
  2021-12-15  4:23 [Bug libstdc++/103726] New: --disable-hosted-libstdcxx (freestanding C++) does not provide <coroutine> as what standard requires unlvsur at live dot com
                   ` (16 preceding siblings ...)
  2022-01-11 17:31 ` redi at gcc dot gnu.org
@ 2022-01-11 17:37 ` unlvsur at live dot com
  2022-01-11 17:52 ` redi at gcc dot gnu.org
  2022-01-11 18:36 ` cvs-commit at gcc dot gnu.org
  19 siblings, 0 replies; 21+ messages in thread
From: unlvsur at live dot com @ 2022-01-11 17:37 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103726

--- Comment #17 from cqwrteur <unlvsur at live dot com> ---
(In reply to Jonathan Wakely from comment #16)
> This is the first time anybody has pointed out it's missing, that's why it's
> still missing.

https://en.cppreference.com/w/cpp/freestanding
Btw
ciso646, cstdalign and cstdbool have been removed since C++20.

These headers have no points due to features being builtin into the C++
language.
However, iso646.h stdalign.h and stdbool.h are still there for C compatibility.

I suggest we remove them from freestanding.
libstdc++'s freestanding were never truly available, removing them causing no
issues but conforming more standard I think.

^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug libstdc++/103726] --disable-hosted-libstdcxx (freestanding C++) does not provide <coroutine> as what standard requires
  2021-12-15  4:23 [Bug libstdc++/103726] New: --disable-hosted-libstdcxx (freestanding C++) does not provide <coroutine> as what standard requires unlvsur at live dot com
                   ` (17 preceding siblings ...)
  2022-01-11 17:37 ` unlvsur at live dot com
@ 2022-01-11 17:52 ` redi at gcc dot gnu.org
  2022-01-11 18:36 ` cvs-commit at gcc dot gnu.org
  19 siblings, 0 replies; 21+ messages in thread
From: redi at gcc dot gnu.org @ 2022-01-11 17:52 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103726

--- Comment #18 from Jonathan Wakely <redi at gcc dot gnu.org> ---
No, we can't remove them, because then they can't be used by C++17 code.

^ permalink raw reply	[flat|nested] 21+ messages in thread

* [Bug libstdc++/103726] --disable-hosted-libstdcxx (freestanding C++) does not provide <coroutine> as what standard requires
  2021-12-15  4:23 [Bug libstdc++/103726] New: --disable-hosted-libstdcxx (freestanding C++) does not provide <coroutine> as what standard requires unlvsur at live dot com
                   ` (18 preceding siblings ...)
  2022-01-11 17:52 ` redi at gcc dot gnu.org
@ 2022-01-11 18:36 ` cvs-commit at gcc dot gnu.org
  19 siblings, 0 replies; 21+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2022-01-11 18:36 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103726

--- Comment #19 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:8b35f02ed599a70cce752e3cb544a7c9f808fce8

commit r12-6489-g8b35f02ed599a70cce752e3cb544a7c9f808fce8
Author: Jonathan Wakely <jwakely@redhat.com>
Date:   Tue Jan 11 17:47:17 2022 +0000

    libstdc++: Install <source_location> header for freestanding [PR103726]

    This C++20 header is also supposed to be present for freestanding.

    libstdc++-v3/ChangeLog:

            PR libstdc++/103726
            * include/Makefile.am: Install <source_location> for
            freestanding.
            * include/Makefile.in: Regenerate.
            * include/std/version (__cpp_lib_source_location): Define for
            freestanding.

^ permalink raw reply	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2022-01-11 18:36 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-12-15  4:23 [Bug libstdc++/103726] New: --disable-hosted-libstdcxx (freestanding C++) does not provide <coroutine> as what standard requires unlvsur at live dot com
2021-12-15  8:09 ` [Bug libstdc++/103726] " redi at gcc dot gnu.org
2021-12-15 21:10 ` unlvsur at live dot com
2021-12-15 21:36 ` redi at gcc dot gnu.org
2021-12-15 21:36 ` unlvsur at live dot com
2021-12-15 21:39 ` redi at gcc dot gnu.org
2021-12-15 21:39 ` unlvsur at live dot com
2021-12-15 23:42 ` de34 at live dot cn
2021-12-15 23:46 ` redi at gcc dot gnu.org
2021-12-15 23:54 ` unlvsur at live dot com
2022-01-10 21:14 ` redi at gcc dot gnu.org
2022-01-11  4:13 ` unlvsur at live dot com
2022-01-11 11:26 ` redi at gcc dot gnu.org
2022-01-11 13:29 ` cvs-commit at gcc dot gnu.org
2022-01-11 13:31 ` redi at gcc dot gnu.org
2022-01-11 17:16 ` unlvsur at live dot com
2022-01-11 17:16 ` unlvsur at live dot com
2022-01-11 17:31 ` redi at gcc dot gnu.org
2022-01-11 17:37 ` unlvsur at live dot com
2022-01-11 17:52 ` redi at gcc dot gnu.org
2022-01-11 18:36 ` cvs-commit at gcc dot gnu.org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).