[PATCH] Initial commit of Networking TS implementation

Renlin Li renlin.li@foss.arm.com
Thu Oct 18 11:06:00 GMT 2018


Hi Jonathan,

I saw those tests failed to compile on baremetal targets with the following error:
```
libstdc++-v3/include/experimental/io_context:45: fatal error: poll.h: No such file or directory
```

Should we add a check to prevent it from running on unsupported platforms?

Thanks!
Renlin

On 10/16/2018 05:15 PM, Jonathan Wakely wrote:
> On 16/10/18 17:12 +0100, Jonathan Wakely wrote:
>> On 16/10/18 16:36 +0100, Jonathan Wakely wrote:
>>> On 16/10/18 16:24 +0100, Jonathan Wakely wrote:
>>>> On 12/10/18 11:50 +0100, Jonathan Wakely wrote:
>>>>> This implementation is very incomplete (see the various TODO comments
>>>>> in the code) but rather than keeping it out of tree any longer I'm
>>>>> committing it to trunk. This will allow others to experiment with it
>>>>> and (I hope) work on finishing it. Either way we'll ship somehing for
>>>>> gcc 9. It works OK for some synchronous operations, but most of the
>>>>> async ops are not done yet.
>>>>>
>>>>>     * include/Makefile.am: Add new headers.
>>>>>     * include/Makefile.in: Regenerate.
>>>>>     * include/experimental/bits/net.h: New header for common
>>>>>     implementation details of Networking TS.
>>>>>     * include/experimental/buffer: New header.
>>>>>     * include/experimental/executor: New header.
>>>>>     * include/experimental/internet: New header.
>>>>>     * include/experimental/io_context: New header.
>>>>>     * include/experimental/net: New header.
>>>>>     * include/experimental/netfwd: New header.
>>>>>     * include/experimental/socket: New header.
>>>>>     * include/experimental/timer: New header.
>>>>>     * testsuite/experimental/net/buffer/arithmetic.cc: New test.
>>>>>     * testsuite/experimental/net/buffer/const.cc: New test.
>>>>>     * testsuite/experimental/net/buffer/creation.cc: New test.
>>>>>     * testsuite/experimental/net/buffer/mutable.cc: New test.
>>>>>     * testsuite/experimental/net/buffer/size.cc: New test.
>>>>>     * testsuite/experimental/net/buffer/traits.cc: New test.
>>>>>     * testsuite/experimental/net/execution_context/use_service.cc: New
>>>>>     test.
>>>>>     * testsuite/experimental/net/headers.cc: New test.
>>>>>     * testsuite/experimental/net/internet/address/v4/comparisons.cc: New
>>>>>     test.
>>>>>     * testsuite/experimental/net/internet/address/v4/cons.cc: New test.
>>>>>     * testsuite/experimental/net/internet/address/v4/creation.cc: New
>>>>>     test.
>>>>>     * testsuite/experimental/net/internet/address/v4/members.cc: New
>>>>>     test.
>>>>>     * testsuite/experimental/net/internet/resolver/base.cc: New test.
>>>>>     * testsuite/experimental/net/internet/resolver/ops/lookup.cc: New
>>>>>     test.
>>>>>     * testsuite/experimental/net/internet/resolver/ops/reverse.cc: New
>>>>>     test.
>>>>>     * testsuite/experimental/net/timer/waitable/cons.cc: New test.
>>>>>     * testsuite/experimental/net/timer/waitable/dest.cc: New test.
>>>>>     * testsuite/experimental/net/timer/waitable/ops.cc: New test.
>>>>
>>>> A minor correction. Committed to trunk.
>>>
>>> The tests were written three years ago, before we used effective
>>> targets to control the C++14 dialect used for tests. This fixes them
>>> to use the modern style.
>>
>> And this makes it a bit more portable (but still a long way from
>> compiling for mingw).
> 
> This fixes a name collision in a test, because various systems (at
> least GNU and AIX) define struct ip in <netinet/ip.h>.
> 
> Tested x86_64-linux and powerpc-aix, committed to trunk.
> 



More information about the Libstdc++ mailing list