public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug libstdc++/100285] New: experimental/net/socket/socket_base.cc fails on arm-eabi (r12-137)
@ 2021-04-27  9:53 clyon at gcc dot gnu.org
  2021-04-27 13:09 ` [Bug libstdc++/100285] " cvs-commit at gcc dot gnu.org
                   ` (16 more replies)
  0 siblings, 17 replies; 18+ messages in thread
From: clyon at gcc dot gnu.org @ 2021-04-27  9:53 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 100285
           Summary: experimental/net/socket/socket_base.cc fails on
                    arm-eabi (r12-137)
           Product: gcc
           Version: 9.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: libstdc++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: clyon at gcc dot gnu.org
  Target Milestone: ---

As of r12-137 (g:c0fa3f2fb365144b3a059920aeaf6ff37db1177d),
experimental/net/socket/socket_base.cc still fails on arm-eabi:

/aci-gcc-fsf/builds/gcc-fsf-gccsrc/obj-arm-none-eabi/gcc3/arm-none-eabi/libstdc++-v3/include/experimental/socket:387:
error: 'message_flags' in 'class std::experimental::net::v1::socket_base' does
not name a type
[...]

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

* [Bug libstdc++/100285] experimental/net/socket/socket_base.cc fails on arm-eabi (r12-137)
  2021-04-27  9:53 [Bug libstdc++/100285] New: experimental/net/socket/socket_base.cc fails on arm-eabi (r12-137) clyon at gcc dot gnu.org
@ 2021-04-27 13:09 ` cvs-commit at gcc dot gnu.org
  2021-04-27 13:11 ` redi at gcc dot gnu.org
                   ` (15 subsequent siblings)
  16 siblings, 0 replies; 18+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2021-04-27 13:09 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #1 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:8aadb4fedb17e7a44583a7a5a4e96b1874e1ce98

commit r12-152-g8aadb4fedb17e7a44583a7a5a4e96b1874e1ce98
Author: Jonathan Wakely <jwakely@redhat.com>
Date:   Tue Apr 27 11:07:47 2021 +0100

    libstdc++: Define net::socket_base::message_flags operators as friends [PR
100285]

    The overloaded operators for socket_base::message_flags should only be
    defined when the message_flags type itself is defined. Rather than
    duplicate the preprocessor conditional, this moves the operators into
    the same scope as the type, defining them as hidden friends.

    As well as fixing the bug, this has all the usual advantages of hidden
    friends (they are not visible to normal name lookup for unrelated
    types).

    For consistency, do the same for the resolver_base::flags bitmask
    operators too.

    libstdc++-v3/ChangeLog:

            PR libstdc++/100285
            * include/experimental/internet (resolver_base::flags):
            Define overloaded operators as hidden friends.
            * include/experimental/socket (socket_base::message_flags):
            Likewise.

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

* [Bug libstdc++/100285] experimental/net/socket/socket_base.cc fails on arm-eabi (r12-137)
  2021-04-27  9:53 [Bug libstdc++/100285] New: experimental/net/socket/socket_base.cc fails on arm-eabi (r12-137) clyon at gcc dot gnu.org
  2021-04-27 13:09 ` [Bug libstdc++/100285] " cvs-commit at gcc dot gnu.org
@ 2021-04-27 13:11 ` redi at gcc dot gnu.org
  2021-04-30 12:23 ` clyon at gcc dot gnu.org
                   ` (14 subsequent siblings)
  16 siblings, 0 replies; 18+ messages in thread
From: redi at gcc dot gnu.org @ 2021-04-27 13:11 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #2 from Jonathan Wakely <redi at gcc dot gnu.org> ---
This should be fixed on trunk now.

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

* [Bug libstdc++/100285] experimental/net/socket/socket_base.cc fails on arm-eabi (r12-137)
  2021-04-27  9:53 [Bug libstdc++/100285] New: experimental/net/socket/socket_base.cc fails on arm-eabi (r12-137) clyon at gcc dot gnu.org
  2021-04-27 13:09 ` [Bug libstdc++/100285] " cvs-commit at gcc dot gnu.org
  2021-04-27 13:11 ` redi at gcc dot gnu.org
@ 2021-04-30 12:23 ` clyon at gcc dot gnu.org
  2021-04-30 13:47 ` cvs-commit at gcc dot gnu.org
                   ` (13 subsequent siblings)
  16 siblings, 0 replies; 18+ messages in thread
From: clyon at gcc dot gnu.org @ 2021-04-30 12:23 UTC (permalink / raw)
  To: gcc-bugs

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

Christophe Lyon <clyon at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
     Ever confirmed|0                           |1
   Last reconfirmed|                            |2021-04-30
             Status|UNCONFIRMED                 |NEW

--- Comment #3 from Christophe Lyon <clyon at gcc dot gnu.org> ---
Not quite, I'm now seeing:
In file included from
/libstdc++-v3/testsuite/experimental/net/socket/socket_base.cc:20:
/aci-gcc-fsf/builds/gcc-fsf-gccsrc/obj-arm-none-eabi/gcc3/arm-none-eabi/libstdc++-v3/include/experimental/socket:
In member function 'void
std::experimental::net::v1::__basic_socket_impl<_Protocol>::set_option(const
_SettableSocketOption&, std::error_code&)':
/aci-gcc-fsf/builds/gcc-fsf-gccsrc/obj-arm-none-eabi/gcc3/arm-none-eabi/libstdc++-v3/include/experimental/socket:625:
error: '::setsockopt' has not been declared
/aci-gcc-fsf/builds/gcc-fsf-gccsrc/obj-arm-none-eabi/gcc3/arm-none-eabi/libstdc++-v3/include/experimental/socket:
In member function 'void
std::experimental::net::v1::__basic_socket_impl<_Protocol>::get_option(_GettableSocketOption&,
std::error_code&) const':
/aci-gcc-fsf/builds/gcc-fsf-gccsrc/obj-arm-none-eabi/gcc3/arm-none-eabi/libstdc++-v3/include/experimental/socket:639:
error: '::getsockopt' has not been declared; did you mean 'getsubopt'?
/aci-gcc-fsf/builds/gcc-fsf-gccsrc/obj-arm-none-eabi/gcc3/arm-none-eabi/libstdc++-v3/include/experimental/socket:
In member function 'void
std::experimental::net::v1::__basic_socket_impl<_Protocol>::_M_close()':
/aci-gcc-fsf/builds/gcc-fsf-gccsrc/obj-arm-none-eabi/gcc3/arm-none-eabi/libstdc++-v3/include/experimental/socket:709:
error: 'linger' is not a member of 'std::experimental::net::v1::socket_base'
[....]

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

* [Bug libstdc++/100285] experimental/net/socket/socket_base.cc fails on arm-eabi (r12-137)
  2021-04-27  9:53 [Bug libstdc++/100285] New: experimental/net/socket/socket_base.cc fails on arm-eabi (r12-137) clyon at gcc dot gnu.org
                   ` (2 preceding siblings ...)
  2021-04-30 12:23 ` clyon at gcc dot gnu.org
@ 2021-04-30 13:47 ` cvs-commit at gcc dot gnu.org
  2021-08-24 14:21 ` redi at gcc dot gnu.org
                   ` (12 subsequent siblings)
  16 siblings, 0 replies; 18+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2021-04-30 13:47 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #4 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:0d501c338548152f9d2728d383eec3e9cef16784

commit r12-318-g0d501c338548152f9d2728d383eec3e9cef16784
Author: Jonathan Wakely <jwakely@redhat.com>
Date:   Fri Apr 30 14:25:25 2021 +0100

    libstdc++: Use <sys/socket.h> features conditionally [PR 100285]

    This makes the uses of getsockopt and setsockopt in
    <experimental/socket> conditional on the availability of <sys/socket.h>.

    It also fixes a test to check for <sys/socket.h> instead of <socket.h>.

    libstdc++-v3/ChangeLog:

            PR libstdc++/100285
            * include/experimental/socket (__basic_socket_impl::set_option)
            (__basic_socket_impl::get_option) [!_GLIBCXX_HAVE_SYS_SOCKET_H]:
            Just set error code.
            * testsuite/experimental/net/socket/socket_base.cc: CHeck
            for <sys/socket.h> not <socket.h>.

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

* [Bug libstdc++/100285] experimental/net/socket/socket_base.cc fails on arm-eabi (r12-137)
  2021-04-27  9:53 [Bug libstdc++/100285] New: experimental/net/socket/socket_base.cc fails on arm-eabi (r12-137) clyon at gcc dot gnu.org
                   ` (3 preceding siblings ...)
  2021-04-30 13:47 ` cvs-commit at gcc dot gnu.org
@ 2021-08-24 14:21 ` redi at gcc dot gnu.org
  2021-08-24 16:00 ` cvs-commit at gcc dot gnu.org
                   ` (11 subsequent siblings)
  16 siblings, 0 replies; 18+ messages in thread
From: redi at gcc dot gnu.org @ 2021-08-24 14:21 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #5 from Jonathan Wakely <redi at gcc dot gnu.org> ---
Could you let me know the remaining errors for the experimental/net/* tests
please? (No rush, whenever it's convenient)

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

* [Bug libstdc++/100285] experimental/net/socket/socket_base.cc fails on arm-eabi (r12-137)
  2021-04-27  9:53 [Bug libstdc++/100285] New: experimental/net/socket/socket_base.cc fails on arm-eabi (r12-137) clyon at gcc dot gnu.org
                   ` (4 preceding siblings ...)
  2021-08-24 14:21 ` redi at gcc dot gnu.org
@ 2021-08-24 16:00 ` cvs-commit at gcc dot gnu.org
  2021-08-24 16:01 ` cvs-commit at gcc dot gnu.org
                   ` (10 subsequent siblings)
  16 siblings, 0 replies; 18+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2021-08-24 16:00 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #6 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-11 branch has been updated by Jonathan Wakely
<redi@gcc.gnu.org>:

https://gcc.gnu.org/g:fb7ca13de4b6d267960fb2c51092343a9e731f66

commit r11-8912-gfb7ca13de4b6d267960fb2c51092343a9e731f66
Author: Jonathan Wakely <jwakely@redhat.com>
Date:   Tue Apr 27 11:07:47 2021 +0100

    libstdc++: Define net::socket_base::message_flags operators as friends [PR
100285]

    The overloaded operators for socket_base::message_flags should only be
    defined when the message_flags type itself is defined. Rather than
    duplicate the preprocessor conditional, this moves the operators into
    the same scope as the type, defining them as hidden friends.

    As well as fixing the bug, this has all the usual advantages of hidden
    friends (they are not visible to normal name lookup for unrelated
    types).

    For consistency, do the same for the resolver_base::flags bitmask
    operators too.

    libstdc++-v3/ChangeLog:

            PR libstdc++/100285
            * include/experimental/internet (resolver_base::flags):
            Define overloaded operators as hidden friends.
            * include/experimental/socket (socket_base::message_flags):
            Likewise.

    (cherry picked from commit 8aadb4fedb17e7a44583a7a5a4e96b1874e1ce98)

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

* [Bug libstdc++/100285] experimental/net/socket/socket_base.cc fails on arm-eabi (r12-137)
  2021-04-27  9:53 [Bug libstdc++/100285] New: experimental/net/socket/socket_base.cc fails on arm-eabi (r12-137) clyon at gcc dot gnu.org
                   ` (5 preceding siblings ...)
  2021-08-24 16:00 ` cvs-commit at gcc dot gnu.org
@ 2021-08-24 16:01 ` cvs-commit at gcc dot gnu.org
  2021-08-25 16:20 ` clyon at gcc dot gnu.org
                   ` (9 subsequent siblings)
  16 siblings, 0 replies; 18+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2021-08-24 16:01 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #7 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-11 branch has been updated by Jonathan Wakely
<redi@gcc.gnu.org>:

https://gcc.gnu.org/g:f9325e99bbc83f975ce423efaaaded73400b08e3

commit r11-8916-gf9325e99bbc83f975ce423efaaaded73400b08e3
Author: Jonathan Wakely <jwakely@redhat.com>
Date:   Fri Apr 30 14:25:25 2021 +0100

    libstdc++: Use <sys/socket.h> features conditionally [PR 100285]

    This makes the uses of getsockopt and setsockopt in
    <experimental/socket> conditional on the availability of <sys/socket.h>.

    It also fixes a test to check for <sys/socket.h> instead of <socket.h>.

    libstdc++-v3/ChangeLog:

            PR libstdc++/100285
            * include/experimental/socket (__basic_socket_impl::set_option)
            (__basic_socket_impl::get_option) [!_GLIBCXX_HAVE_SYS_SOCKET_H]:
            Just set error code.
            * testsuite/experimental/net/socket/socket_base.cc: CHeck
            for <sys/socket.h> not <socket.h>.

    (cherry picked from commit 0d501c338548152f9d2728d383eec3e9cef16784)

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

* [Bug libstdc++/100285] experimental/net/socket/socket_base.cc fails on arm-eabi (r12-137)
  2021-04-27  9:53 [Bug libstdc++/100285] New: experimental/net/socket/socket_base.cc fails on arm-eabi (r12-137) clyon at gcc dot gnu.org
                   ` (6 preceding siblings ...)
  2021-08-24 16:01 ` cvs-commit at gcc dot gnu.org
@ 2021-08-25 16:20 ` clyon at gcc dot gnu.org
  2021-08-26 11:44 ` cvs-commit at gcc dot gnu.org
                   ` (8 subsequent siblings)
  16 siblings, 0 replies; 18+ messages in thread
From: clyon at gcc dot gnu.org @ 2021-08-25 16:20 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #8 from Christophe Lyon <clyon at gcc dot gnu.org> ---
Sorry I am still seeing errors on trunk and gcc-11:
FAIL: experimental/net/socket/socket_base.cc (test for excess errors)
Excess errors:
/aci-gcc-fsf/builds/gcc-fsf-gccsrc/obj-arm-none-eabi/gcc3/arm-none-eabi/thumb/v8-m.main/nofp/libstdc++-v3/include/experimental/socket:717:
error: 'linger' is not a member of 'std::experimental::net::v1::socket_base'
/aci-gcc-fsf/builds/gcc-fsf-gccsrc/obj-arm-none-eabi/gcc3/arm-none-eabi/thumb/v8-m.main/nofp/libstdc++-v3/include/experimental/socket:898:
error: 'shutdown_type' has not been declared
[...]


FAIL: experimental/net/headers.cc (test for excess errors)
Excess errors:
/aci-gcc-fsf/builds/gcc-fsf-gccsrc/obj-arm-none-eabi/gcc3/arm-none-eabi/thumb/v8-m.main/nofp/libstdc++-v3/include/experimental/socket:717:
error: 'linger' is not a member of 'std::experimental::net::v1::socket_base'
/aci-gcc-fsf/builds/gcc-fsf-gccsrc/obj-arm-none-eabi/gcc3/arm-none-eabi/thumb/v8-m.main/nofp/libstdc++-v3/include/experimental/socket:898:
error: 'shutdown_type' has not been declared
[...]

FAIL: experimental/net/socket/basic_socket.cc (test for excess errors)
Excess errors:
/aci-gcc-fsf/builds/gcc-fsf-gccsrc/obj-arm-none-eabi/gcc3/arm-none-eabi/thumb/v8-m.main/nofp/libstdc++-v3/include/experimental/socket:717:
error: 'linger' is not a member of 'std::experimental::net::v1::socket_base'
/aci-gcc-fsf/builds/gcc-fsf-gccsrc/obj-arm-none-eabi/gcc3/arm-none-eabi/thumb/v8-m.main/nofp/libstdc++-v3/include/experimental/socket:898:
error: 'shutdown_type' has not been declared



On some configs (low end CPU), I get in addition:
FAIL: experimental/net/timer/waitable/cons.cc (test for excess errors)
Excess errors:
/aci-gcc-fsf/builds/gcc-fsf-gccsrc/tools/arm-none-eabi/bin/ld: /cc6v7KWK.o: in
function `_ZNSt13__atomic_baseIjEmmEv':
/aci-gcc-fsf/builds/gcc-fsf-gccsrc/obj-arm-none-eabi/gcc3/arm-none-eabi/thumb/v6-m/nofp/libstdc++-v3/include/bits/atomic_base.h:386:
undefined reference to `__atomic_fetch_sub_4'
collect2: error: ld returned 1 exit status

FAIL: experimental/net/timer/waitable/dest.cc (test for excess errors)
Excess errors:
/aci-gcc-fsf/builds/gcc-fsf-gccsrc/tools/arm-none-eabi/bin/ld: /ccKgSt10.o: in
function `_ZNSt13__atomic_baseIjEppEv':
/aci-gcc-fsf/builds/gcc-fsf-gccsrc/obj-arm-none-eabi/gcc3/arm-none-eabi/thumb/v6-m/nofp/libstdc++-v3/include/bits/atomic_base.h:378:
undefined reference to `__atomic_fetch_add_4'
/aci-gcc-fsf/builds/gcc-fsf-gccsrc/tools/arm-none-eabi/bin/ld: /ccKgSt10.o: in
function `_ZNSt13__atomic_baseIjEmmEv':
/aci-gcc-fsf/builds/gcc-fsf-gccsrc/obj-arm-none-eabi/gcc3/arm-none-eabi/thumb/v6-m/nofp/libstdc++-v3/include/bits/atomic_base.h:386:
undefined reference to `__atomic_fetch_sub_4'
collect2: error: ld returned 1 exit status

FAIL: experimental/net/timer/waitable/ops.cc (test for excess errors)
Excess errors:
/aci-gcc-fsf/builds/gcc-fsf-gccsrc/tools/arm-none-eabi/bin/ld: /cc5uZ7RA.o: in
function `_ZNSt13__atomic_baseIjEppEv':
/aci-gcc-fsf/builds/gcc-fsf-gccsrc/obj-arm-none-eabi/gcc3/arm-none-eabi/thumb/v6-m/nofp/libstdc++-v3/include/bits/atomic_base.h:378:
undefined reference to `__atomic_fetch_add_4'
/aci-gcc-fsf/builds/gcc-fsf-gccsrc/tools/arm-none-eabi/bin/ld: /cc5uZ7RA.o: in
function `_ZNSt13__atomic_baseIjEmmEv':
/aci-gcc-fsf/builds/gcc-fsf-gccsrc/obj-arm-none-eabi/gcc3/arm-none-eabi/thumb/v6-m/nofp/libstdc++-v3/include/bits/atomic_base.h:386:
undefined reference to `__atomic_fetch_sub_4'
collect2: error: ld returned 1 exit status

but that's a different problem

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

* [Bug libstdc++/100285] experimental/net/socket/socket_base.cc fails on arm-eabi (r12-137)
  2021-04-27  9:53 [Bug libstdc++/100285] New: experimental/net/socket/socket_base.cc fails on arm-eabi (r12-137) clyon at gcc dot gnu.org
                   ` (7 preceding siblings ...)
  2021-08-25 16:20 ` clyon at gcc dot gnu.org
@ 2021-08-26 11:44 ` cvs-commit at gcc dot gnu.org
  2021-08-26 11:46 ` redi at gcc dot gnu.org
                   ` (7 subsequent siblings)
  16 siblings, 0 replies; 18+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2021-08-26 11:44 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #9 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:cd67d138ec6006d650d1ba96c8a1322b285723cd

commit r12-3158-gcd67d138ec6006d650d1ba96c8a1322b285723cd
Author: Jonathan Wakely <jwakely@redhat.com>
Date:   Thu Aug 26 12:06:55 2021 +0100

    libstdc++: Make Networking TS headers more portable [PR100285]

    Add more preprocessor conditions to check for constants being defined
    before using them, so that the Networking TS headers can be compiled on
    a wider range of platforms.

    Signed-off-by: Jonathan Wakely <jwakely@redhat.com>

    libstdc++-v3/ChangeLog:

            PR libstdc++/100285
            * configure.ac: Check for O_NONBLOCK.
            * configure: Regenerate.
            * include/experimental/internet: Include <ws2tcpip.h> for
            Windows.  Use preprocessor conditions around more constants.
            * include/experimental/socket: Use preprocessor conditions
            around more constants.
            * testsuite/experimental/net/internet/resolver/base.cc: Only use
            constants when the corresponding C macro is defined.
            * testsuite/experimental/net/socket/basic_socket.cc: Likewise.
            * testsuite/experimental/net/socket/socket_base.cc: Likewise.
            Make preprocessor checks more fine-grained.

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

* [Bug libstdc++/100285] experimental/net/socket/socket_base.cc fails on arm-eabi (r12-137)
  2021-04-27  9:53 [Bug libstdc++/100285] New: experimental/net/socket/socket_base.cc fails on arm-eabi (r12-137) clyon at gcc dot gnu.org
                   ` (8 preceding siblings ...)
  2021-08-26 11:44 ` cvs-commit at gcc dot gnu.org
@ 2021-08-26 11:46 ` redi at gcc dot gnu.org
  2021-10-12 19:41 ` cvs-commit at gcc dot gnu.org
                   ` (6 subsequent siblings)
  16 siblings, 0 replies; 18+ messages in thread
From: redi at gcc dot gnu.org @ 2021-08-26 11:46 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #10 from Jonathan Wakely <redi at gcc dot gnu.org> ---
It should look a bit better after r12-3158.

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

* [Bug libstdc++/100285] experimental/net/socket/socket_base.cc fails on arm-eabi (r12-137)
  2021-04-27  9:53 [Bug libstdc++/100285] New: experimental/net/socket/socket_base.cc fails on arm-eabi (r12-137) clyon at gcc dot gnu.org
                   ` (9 preceding siblings ...)
  2021-08-26 11:46 ` redi at gcc dot gnu.org
@ 2021-10-12 19:41 ` cvs-commit at gcc dot gnu.org
  2021-10-12 20:09 ` redi at gcc dot gnu.org
                   ` (5 subsequent siblings)
  16 siblings, 0 replies; 18+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2021-10-12 19:41 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #11 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-11 branch has been updated by Jonathan Wakely
<redi@gcc.gnu.org>:

https://gcc.gnu.org/g:b7e73951fd15f07946ff0c56f4e31b0006c621f9

commit r11-9141-gb7e73951fd15f07946ff0c56f4e31b0006c621f9
Author: Jonathan Wakely <jwakely@redhat.com>
Date:   Thu Aug 26 12:06:55 2021 +0100

    libstdc++: Make Networking TS headers more portable [PR100285]

    Add more preprocessor conditions to check for constants being defined
    before using them, so that the Networking TS headers can be compiled on
    a wider range of platforms.

    Signed-off-by: Jonathan Wakely <jwakely@redhat.com>

    libstdc++-v3/ChangeLog:

            PR libstdc++/100285
            * configure.ac: Check for O_NONBLOCK.
            * configure: Regenerate.
            * include/experimental/internet: Include <ws2tcpip.h> for
            Windows.  Use preprocessor conditions around more constants.
            * include/experimental/socket: Use preprocessor conditions
            around more constants.
            * testsuite/experimental/net/internet/resolver/base.cc: Only use
            constants when the corresponding C macro is defined.
            * testsuite/experimental/net/socket/basic_socket.cc: Likewise.
            * testsuite/experimental/net/socket/socket_base.cc: Likewise.
            Make preprocessor checks more fine-grained.

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

* [Bug libstdc++/100285] experimental/net/socket/socket_base.cc fails on arm-eabi (r12-137)
  2021-04-27  9:53 [Bug libstdc++/100285] New: experimental/net/socket/socket_base.cc fails on arm-eabi (r12-137) clyon at gcc dot gnu.org
                   ` (10 preceding siblings ...)
  2021-10-12 19:41 ` cvs-commit at gcc dot gnu.org
@ 2021-10-12 20:09 ` redi at gcc dot gnu.org
  2021-10-13  8:17 ` clyon at gcc dot gnu.org
                   ` (4 subsequent siblings)
  16 siblings, 0 replies; 18+ messages in thread
From: redi at gcc dot gnu.org @ 2021-10-12 20:09 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #12 from Jonathan Wakely <redi at gcc dot gnu.org> ---
This is failing for aarch64-none-elf:

FAIL: experimental/net/headers.cc (test for excess errors)

Could you let me know what the error is please?

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

* [Bug libstdc++/100285] experimental/net/socket/socket_base.cc fails on arm-eabi (r12-137)
  2021-04-27  9:53 [Bug libstdc++/100285] New: experimental/net/socket/socket_base.cc fails on arm-eabi (r12-137) clyon at gcc dot gnu.org
                   ` (11 preceding siblings ...)
  2021-10-12 20:09 ` redi at gcc dot gnu.org
@ 2021-10-13  8:17 ` clyon at gcc dot gnu.org
  2023-06-09 12:18 ` cvs-commit at gcc dot gnu.org
                   ` (3 subsequent siblings)
  16 siblings, 0 replies; 18+ messages in thread
From: clyon at gcc dot gnu.org @ 2021-10-13  8:17 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #13 from Christophe Lyon <clyon at gcc dot gnu.org> ---
Sure, here is what I have in libstdc++.log:

In file included from
/aci-gcc-fsf/builds/gcc-fsf-gccsrc/obj-aarch64-none-elf/gcc3/aarch64-none-elf/libstdc++-v3/include/experimental/net:42,
                                                                               
      from /libstdc++-v3/testsuite/experimental/net/headers.cc:20:             
                                                                               
                                       
/aci-gcc-fsf/builds/gcc-fsf-gccsrc/obj-aarch64-none-elf/gcc3/aarch64-none-elf/libstdc++-v3/include/experimental/internet:1575:
error: 'sockaddr_in' does not name a type                                      
   
/aci-gcc-fsf/builds/gcc-fsf-gccsrc/obj-aarch64-none-elf/gcc3/aarch64-none-elf/libstdc++-v3/include/experimental/internet:1576:
error: 'sockaddr_in6' does not name a type                                     
   
/aci-gcc-fsf/builds/gcc-fsf-gccsrc/obj-aarch64-none-elf/gcc3/aarch64-none-elf/libstdc++-v3/include/experimental/internet:
In member function 'constexpr std::size_t
std::experimental::net::v1::ip::basic_endpoint<_InternetProtocol>::size()
const':                                                                        
                                                                               
                       
/aci-gcc-fsf/builds/gcc-fsf-gccsrc/obj-aarch64-none-elf/gcc3/aarch64-none-elf/libstdc++-v3/include/experimental/internet:1561:
error: 'sockaddr_in6' was not declared in this scope                           
   
/aci-gcc-fsf/builds/gcc-fsf-gccsrc/obj-aarch64-none-elf/gcc3/aarch64-none-elf/libstdc++-v3/include/experimental/internet:1561:
error: 'sockaddr_in' was not declared in this scope                            
   
/aci-gcc-fsf/builds/gcc-fsf-gccsrc/obj-aarch64-none-elf/gcc3/aarch64-none-elf/libstdc++-v3/include/experimental/internet:
In member function 'constexpr bool
std::experimental::net::v1::ip::basic_endpoint<_InternetProtocol>::_M_is_v6()
const':                                                                        
                                                                               
                          
/aci-gcc-fsf/builds/gcc-fsf-gccsrc/obj-aarch64-none-elf/gcc3/aarch64-none-elf/libstdc++-v3/include/experimental/internet:1580:
error: 'AF_INET6' was not declared in this scope                               
   
/aci-gcc-fsf/builds/gcc-fsf-gccsrc/obj-aarch64-none-elf/gcc3/aarch64-none-elf/libstdc++-v3/include/experimental/internet:
At global scope:                                                               
        
/aci-gcc-fsf/builds/gcc-fsf-gccsrc/obj-aarch64-none-elf/gcc3/aarch64-none-elf/libstdc++-v3/include/experimental/internet:1710:
error: 'AI_PASSIVE' was not declared in this scope                             
   
/aci-gcc-fsf/builds/gcc-fsf-gccsrc/obj-aarch64-none-elf/gcc3/aarch64-none-elf/libstdc++-v3/include/experimental/internet:1711:
error: 'AI_CANONNAME' was not declared in this scope                           
   
/aci-gcc-fsf/builds/gcc-fsf-gccsrc/obj-aarch64-none-elf/gcc3/aarch64-none-elf/libstdc++-v3/include/experimental/internet:1712:
error: 'AI_NUMERICHOST' was not declared in this scope                         
    compiler exited with status 1                                              
                                                                               
                                                       FAIL:
experimental/net/headers.cc (test for excess errors)
Excess errors:
/aci-gcc-fsf/builds/gcc-fsf-gccsrc/obj-aarch64-none-elf/gcc3/aarch64-none-elf/libstdc++-v3/include/experimental/internet:1575:
error: 'sockaddr_in' does not name a type
/aci-gcc-fsf/builds/gcc-fsf-gccsrc/obj-aarch64-none-elf/gcc3/aarch64-none-elf/libstdc++-v3/include/experimental/internet:1576:
error: 'sockaddr_in6' does not name a type
/aci-gcc-fsf/builds/gcc-fsf-gccsrc/obj-aarch64-none-elf/gcc3/aarch64-none-elf/libstdc++-v3/include/experimental/internet:1561:
error: 'sockaddr_in6' was not declared in this scope
/aci-gcc-fsf/builds/gcc-fsf-gccsrc/obj-aarch64-none-elf/gcc3/aarch64-none-elf/libstdc++-v3/include/experimental/internet:1561:
error: 'sockaddr_in' was not declared in this scope
/aci-gcc-fsf/builds/gcc-fsf-gccsrc/obj-aarch64-none-elf/gcc3/aarch64-none-elf/libstdc++-v3/include/experimental/internet:1580:
error: 'AF_INET6' was not declared in this scope
/aci-gcc-fsf/builds/gcc-fsf-gccsrc/obj-aarch64-none-elf/gcc3/aarch64-none-elf/libstdc++-v3/include/experimental/internet:1710:
error: 'AI_PASSIVE' was not declared in this scope
/aci-gcc-fsf/builds/gcc-fsf-gccsrc/obj-aarch64-none-elf/gcc3/aarch64-none-elf/libstdc++-v3/include/experimental/internet:1711:
error: 'AI_CANONNAME' was not declared in this scope
/aci-gcc-fsf/builds/gcc-fsf-gccsrc/obj-aarch64-none-elf/gcc3/aarch64-none-elf/libstdc++-v3/include/experimental/internet:1712:
error: 'AI_NUMERICHOST' was not declared in this scope

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

* [Bug libstdc++/100285] experimental/net/socket/socket_base.cc fails on arm-eabi (r12-137)
  2021-04-27  9:53 [Bug libstdc++/100285] New: experimental/net/socket/socket_base.cc fails on arm-eabi (r12-137) clyon at gcc dot gnu.org
                   ` (12 preceding siblings ...)
  2021-10-13  8:17 ` clyon at gcc dot gnu.org
@ 2023-06-09 12:18 ` cvs-commit at gcc dot gnu.org
  2023-06-09 12:19 ` redi at gcc dot gnu.org
                   ` (2 subsequent siblings)
  16 siblings, 0 replies; 18+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2023-06-09 12:18 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #14 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:793ed718b522b15e2d758eca953feeec1979fe2c

commit r14-1650-g793ed718b522b15e2d758eca953feeec1979fe2c
Author: Jonathan Wakely <jwakely@redhat.com>
Date:   Fri Jun 9 12:15:21 2023 +0100

    libstdc++: Add preprocessor checks to <experimental/internet> [PR100285]

    We can't define endpoints and resolvers without the relevant OS support.
    If IPPROTO_TCP and IPPROTO_UDP are both udnefined then we won't need
    basic_endpoint and basic_resovler anyway, so make them depend on those
    macros.

    libstdc++-v3/ChangeLog:

            PR libstdc++/100285
            * include/experimental/internet [IPPROTO_TCP || IPPROTO_UDP]
            (basic_endpoint, basic_resolver_entry, resolver_base)
            (basic_resolver_results, basic_resolver): Only define if the tcp
            or udp protocols will be defined.

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

* [Bug libstdc++/100285] experimental/net/socket/socket_base.cc fails on arm-eabi (r12-137)
  2021-04-27  9:53 [Bug libstdc++/100285] New: experimental/net/socket/socket_base.cc fails on arm-eabi (r12-137) clyon at gcc dot gnu.org
                   ` (13 preceding siblings ...)
  2023-06-09 12:18 ` cvs-commit at gcc dot gnu.org
@ 2023-06-09 12:19 ` redi at gcc dot gnu.org
  2023-06-29 23:01 ` cvs-commit at gcc dot gnu.org
  2024-03-15 14:36 ` redi at gcc dot gnu.org
  16 siblings, 0 replies; 18+ messages in thread
From: redi at gcc dot gnu.org @ 2023-06-09 12:19 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #15 from Jonathan Wakely <redi at gcc dot gnu.org> ---
(In reply to Jonathan Wakely from comment #12)
> This is failing for aarch64-none-elf:
> 
> FAIL: experimental/net/headers.cc (test for excess errors)

I hope this one is fixed on trunk now.

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

* [Bug libstdc++/100285] experimental/net/socket/socket_base.cc fails on arm-eabi (r12-137)
  2021-04-27  9:53 [Bug libstdc++/100285] New: experimental/net/socket/socket_base.cc fails on arm-eabi (r12-137) clyon at gcc dot gnu.org
                   ` (14 preceding siblings ...)
  2023-06-09 12:19 ` redi at gcc dot gnu.org
@ 2023-06-29 23:01 ` cvs-commit at gcc dot gnu.org
  2024-03-15 14:36 ` redi at gcc dot gnu.org
  16 siblings, 0 replies; 18+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2023-06-29 23:01 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #16 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-13 branch has been updated by Jonathan Wakely
<redi@gcc.gnu.org>:

https://gcc.gnu.org/g:132015b9c6c9f9156ff31f7d66ba92cf01d0bc90

commit r13-7508-g132015b9c6c9f9156ff31f7d66ba92cf01d0bc90
Author: Jonathan Wakely <jwakely@redhat.com>
Date:   Fri Jun 9 12:15:21 2023 +0100

    libstdc++: Add preprocessor checks to <experimental/internet> [PR100285]

    We can't define endpoints and resolvers without the relevant OS support.
    If IPPROTO_TCP and IPPROTO_UDP are both undefined then we won't need
    basic_endpoint and basic_resolver anyway, so make them depend on those
    macros.

    libstdc++-v3/ChangeLog:

            PR libstdc++/100285
            * include/experimental/internet [IPPROTO_TCP || IPPROTO_UDP]
            (basic_endpoint, basic_resolver_entry, resolver_base)
            (basic_resolver_results, basic_resolver): Only define if the tcp
            or udp protocols will be defined.

    (cherry picked from commit 793ed718b522b15e2d758eca953feeec1979fe2c)

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

* [Bug libstdc++/100285] experimental/net/socket/socket_base.cc fails on arm-eabi (r12-137)
  2021-04-27  9:53 [Bug libstdc++/100285] New: experimental/net/socket/socket_base.cc fails on arm-eabi (r12-137) clyon at gcc dot gnu.org
                   ` (15 preceding siblings ...)
  2023-06-29 23:01 ` cvs-commit at gcc dot gnu.org
@ 2024-03-15 14:36 ` redi at gcc dot gnu.org
  16 siblings, 0 replies; 18+ messages in thread
From: redi at gcc dot gnu.org @ 2024-03-15 14:36 UTC (permalink / raw)
  To: gcc-bugs

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

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

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

--- Comment #17 from Jonathan Wakely <redi at gcc dot gnu.org> ---
Fixed for 13.3

I doubt anybody is trying to use this code on arm-eabi with gcc-12 or gcc-11,
so not important to backport.

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

end of thread, other threads:[~2024-03-15 14:36 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-04-27  9:53 [Bug libstdc++/100285] New: experimental/net/socket/socket_base.cc fails on arm-eabi (r12-137) clyon at gcc dot gnu.org
2021-04-27 13:09 ` [Bug libstdc++/100285] " cvs-commit at gcc dot gnu.org
2021-04-27 13:11 ` redi at gcc dot gnu.org
2021-04-30 12:23 ` clyon at gcc dot gnu.org
2021-04-30 13:47 ` cvs-commit at gcc dot gnu.org
2021-08-24 14:21 ` redi at gcc dot gnu.org
2021-08-24 16:00 ` cvs-commit at gcc dot gnu.org
2021-08-24 16:01 ` cvs-commit at gcc dot gnu.org
2021-08-25 16:20 ` clyon at gcc dot gnu.org
2021-08-26 11:44 ` cvs-commit at gcc dot gnu.org
2021-08-26 11:46 ` redi at gcc dot gnu.org
2021-10-12 19:41 ` cvs-commit at gcc dot gnu.org
2021-10-12 20:09 ` redi at gcc dot gnu.org
2021-10-13  8:17 ` clyon at gcc dot gnu.org
2023-06-09 12:18 ` cvs-commit at gcc dot gnu.org
2023-06-09 12:19 ` redi at gcc dot gnu.org
2023-06-29 23:01 ` cvs-commit at gcc dot gnu.org
2024-03-15 14:36 ` redi 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).