From: Florian Weimer <fweimer@redhat.com>
To: Adhemerval Zanella <adhemerval.zanella@linaro.org>,
libc-alpha@sourceware.org
Subject: Re: [PATCH v8 1/8] nptl: Add C11 threads thrd_* functions
Date: Thu, 12 Jul 2018 18:25:00 -0000 [thread overview]
Message-ID: <8c257a2d-60b4-e12d-28a5-d7a4fc4408de@redhat.com> (raw)
In-Reply-To: <c834f9a0-0441-35f4-abff-4a283a2baf25@linaro.org>
On 07/12/2018 07:52 PM, Adhemerval Zanella wrote:
>
>
> On 12/07/2018 13:46, Florian Weimer wrote:
>> On 02/02/2018 06:04 PM, Adhemerval Zanella wrote:
>>
>>> diff --git a/include/stdc-predef.h b/include/stdc-predef.h
>>> index c569759..c2ab78a 100644
>>> --- a/include/stdc-predef.h
>>> +++ b/include/stdc-predef.h
>>> @@ -57,7 +57,4 @@
>>> Â Â Â Â - 3 additional Zanabazar Square characters */
>>> Â #define __STDC_ISO_10646__Â Â Â Â Â Â Â 201706L
>>>  -/* We do not support C11 <threads.h>. */
>>> -#define __STDC_NO_THREADS__Â Â Â Â Â Â Â 1
>>
>> Should we do this only if we know that the compiler has _Thread_local support (based on a GCC and __cplusplus version check)?
>
> It seems reasonable, since its a installed header. Do we need to
> check for __cplusplus too? Shouldn't __GNUC_PREREQ (4.9) be suffice?
I think we can use __thread instead of _Thread_local with even older
compilers, and also factor in __cplusplus if it is recent enough
(essentially 2011 and later) for the !__GNUC__ case.
Maybe it's sufficient to say
#if !defined (__GNUC__) && !defined (__cpluscplus) \
&& __cplusplus < 201103L)
# define __STDC_NO_THREADS__ 1
#endif
On the other hand, maybe your original change is right because in C11,
_Thread_local support is not optional. Implementations are required to
recognize the keyword (and presumably ignore it) even if they define
__STDC_NO_THREADS__. And our <threads.h> will generally work fine even
if the compiler does not actually support _Thread_local. So I'd say go
with your original change.
(But I do think you need to do something about thread_local in the C++
case, independently of this discussion.)
Thanks,
Florian
next prev parent reply other threads:[~2018-07-12 18:25 UTC|newest]
Thread overview: 80+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-02-02 17:04 [PATCH v8 0/8] Add support for ISO C threads.h Adhemerval Zanella
2018-02-02 17:05 ` [PATCH v8 7/8] nptl: Add test cases for ISO C11 threads Adhemerval Zanella
2018-07-13 9:31 ` Florian Weimer
2018-07-13 13:10 ` Adhemerval Zanella
2018-07-13 13:11 ` Florian Weimer
2018-07-13 13:29 ` Adhemerval Zanella
2018-07-17 13:53 ` Adhemerval Zanella
2018-02-02 17:05 ` [PATCH v8 4/8] nptl: Add C11 threads cnd_* functions Adhemerval Zanella
2018-02-02 17:05 ` [PATCH v8 2/8] nptl: Add C11 threads mtx_* functions Adhemerval Zanella
2018-07-06 12:51 ` Florian Weimer
2018-07-10 12:35 ` Adhemerval Zanella
2018-07-12 18:39 ` Florian Weimer
2018-07-12 20:30 ` Adhemerval Zanella
2018-07-12 20:39 ` Florian Weimer
2018-07-13 13:08 ` Adhemerval Zanella
2018-07-13 13:10 ` Florian Weimer
2018-07-24 12:04 ` Adhemerval Zanella
2018-07-24 16:05 ` Carlos O'Donell
2018-02-02 17:05 ` [PATCH v8 5/8] nptl: Add C11 threads tss_* functions Adhemerval Zanella
2018-07-12 16:48 ` Florian Weimer
2018-07-12 20:32 ` Adhemerval Zanella
2018-07-12 20:38 ` Florian Weimer
2018-02-02 17:05 ` [PATCH v8 6/8] nptl: Add abilist symbols for C11 threads Adhemerval Zanella
2018-07-13 9:50 ` Florian Weimer
2018-07-13 15:49 ` Adhemerval Zanella
2018-07-13 17:49 ` Florian Weimer
2018-07-13 18:47 ` Adhemerval Zanella
2018-07-13 20:00 ` Florian Weimer
2018-07-13 21:09 ` Adhemerval Zanella
2018-07-14 13:50 ` Florian Weimer
2018-07-18 17:40 ` Joseph Myers
2018-07-18 20:02 ` Adhemerval Zanella
2018-07-18 21:50 ` Florian Weimer
2018-02-02 17:05 ` [PATCH v8 8/8] Add manual documentation for threads.h Adhemerval Zanella
2018-02-02 17:05 ` [PATCH v8 1/8] nptl: Add C11 threads thrd_* functions Adhemerval Zanella
2018-02-08 17:58 ` Gabriel F. T. Gomes
2018-02-09 12:11 ` Adhemerval Zanella
2018-02-26 13:43 ` Gabriel F. T. Gomes
2018-07-06 12:46 ` Florian Weimer
2018-07-10 19:26 ` Adhemerval Zanella
2018-07-11 15:49 ` Szabolcs Nagy
2018-07-11 16:24 ` Adhemerval Zanella
2018-07-12 12:19 ` Florian Weimer
2018-07-12 17:38 ` Adhemerval Zanella
2018-07-13 7:03 ` Florian Weimer
2018-07-12 16:46 ` Florian Weimer
2018-07-12 17:52 ` Adhemerval Zanella
2018-07-12 18:25 ` Florian Weimer [this message]
2018-07-12 19:19 ` Adhemerval Zanella
2018-07-12 19:26 ` Florian Weimer
2018-07-12 19:41 ` Adhemerval Zanella
2018-07-12 19:32 ` Adhemerval Zanella
2018-07-12 19:35 ` Florian Weimer
2018-07-12 19:43 ` Adhemerval Zanella
2018-07-13 9:45 ` Florian Weimer
2018-07-13 12:59 ` Adhemerval Zanella
2018-07-13 13:04 ` Florian Weimer
2018-07-13 13:18 ` Adhemerval Zanella
2018-07-13 13:22 ` Florian Weimer
2018-07-13 9:48 ` Florian Weimer
2018-07-25 7:20 ` Andreas Schwab
2018-07-25 7:38 ` Florian Weimer
2018-07-25 10:29 ` Joseph Myers
2018-02-02 17:05 ` [PATCH v8 3/8] nptl: Add C11 threads call_once functions Adhemerval Zanella
2018-07-13 9:32 ` Florian Weimer
2018-06-27 13:40 ` [PATCH v8 0/8] Add support for ISO C threads.h Adhemerval Zanella
2018-07-19 17:47 ` Adhemerval Zanella
2018-07-19 18:44 ` Carlos O'Donell
2018-07-19 19:12 ` Rical Jasan
2018-07-19 19:58 ` Adhemerval Zanella
2018-07-21 0:26 ` Rical Jasan
2018-07-21 2:12 ` Carlos O'Donell
2018-07-21 6:22 ` Rical Jasan
2018-07-21 13:40 ` Adhemerval Zanella
2018-07-19 21:26 ` Joseph Myers
2018-07-20 12:32 ` Adhemerval Zanella
2018-07-20 13:22 ` Rical Jasan
2018-07-20 13:54 ` Rical Jasan
2018-07-20 14:04 ` Carlos O'Donell
2018-07-20 15:02 ` [PATCH v8 0/8] Add support for ISO C threads.h [thrd_exit] Rical Jasan
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=8c257a2d-60b4-e12d-28a5-d7a4fc4408de@redhat.com \
--to=fweimer@redhat.com \
--cc=adhemerval.zanella@linaro.org \
--cc=libc-alpha@sourceware.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).