[PATCH] libstdc++: Add C++2a synchronization support

Jonathan Wakely jwakely@redhat.com
Mon Nov 23 18:31:20 GMT 2020


On 22/11/20 13:37 +0000, Jonathan Wakely via Libstdc++ wrote:
>On Sun, 22 Nov 2020, 12:29 Iain Sandoe, <idsandoe@googlemail.com> wrote:
>
>> thanks for looking at this over the weekend.
>>
>> Jonathan Wakely via Gcc-patches <gcc-patches@gcc.gnu.org> wrote:
>>
>> > On Sat, 21 Nov 2020 at 23:55, David Edelsohn via Libstdc++
>> > <libstdc++@gcc.gnu.org> wrote:
>> >> I am seeing 93 new libstdc++ failures on AIX, even after Jonathan's
>> >> fixes.  And a few c++ failures with similar symptoms.  I'm not certain
>> >> that it is due to this patch, but it's the likely suspect.
>> > Yes, it's that patch.
>> >
>> > This should fix most of those errors, but I haven't finished testing
>> > it, and can't commit it now anyway.
>> > <patch.txt>
>>
>> with r11-5235 + this patch there are still quite a few fails on Darwin -
>> but
>> all seem to be the same ( so maybe only problem ;) ):
>>   “sem_timedwait was not declared in this scope”.
>>
>> It looks like the semaphore header is optional in SUSv3 (AFAIK that’s still
>> the claimed edition for Darwin) - and although Darwin has the semaphore
>> header, it doesn’t seem to have an impl. of sem_timedwait.
>>
>> just:
>> int sem_trywait(sem_t *);
>> int sem_wait(sem_t *) ;
>>
>
>
>It probably depends on the _POSIX_TIMEOUTS option which MacOS doesn't
>support (optional in POSIX 2001, but not 2008).

Hopefully this fixes it, but I haven't tested it on darwin, only
linux, aix and solaris.

Committed.




More information about the Libstdc++ mailing list