This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: What does it mean to include pthread.h with -std=c11?
- From: Florian Weimer <fw at deneb dot enyo dot de>
- To: Carlos O'Donell <carlos at redhat dot com>
- Cc: Joseph Myers <joseph at codesourcery dot com>, Adhemerval Zanella <adhemerval dot zanella at linaro dot org>, Andreas Schwab <schwab at suse dot de>, libc-alpha <libc-alpha at sourceware dot org>
- Date: Fri, 20 Dec 2019 21:07:49 +0100
- Subject: Re: What does it mean to include pthread.h with -std=c11?
- References: <bdbc364a-0dde-fc11-dde5-0df89bdb0abd@redhat.com>
* Carlos O'Donell:
> I'm on the fence here because it _used_ to work, and so it seems like at
> some point we might have gone from (1) -> (2) without a deeper discussion
> about exactly what kind of behaviour and maintenance responsibility we want
> for these headers.
>
> Thoughts?
We have a test for this, see scripts/check-installed-headers.sh. It
just fails to catch cases such as this because it cannot test that all
the defined macros can be expanded.
I think there are no two sides here. #include <pthread.h> must work
in ISO C mode. Everything else is just very wrong.
(We even sprinkle __extension across the headers to suppress pedantic
warnings.)