This is the mail archive of the
cygwin
mailing list for the Cygwin project.
Re: Pthreads: Prototypes missing if -std=c11
- From: cyg Simple <cygsimple at gmail dot com>
- To: cygwin at cygwin dot com
- Date: Thu, 13 Jul 2017 13:38:18 -0400
- Subject: Re: Pthreads: Prototypes missing if -std=c11
- Authentication-results: sourceware.org; auth=none
- References: <mtranet.20170713173633.1507674902@a1.net>
On 7/13/2017 11:36 AM, bz0815@tirol.com wrote:
>> On 2017-07-12 11:15, bz0815@tirol.com wrote:
>>> gcc does not recognize some functions from pthread.h if option -std=c11 is used:
>>
>> Exactly, and the same happens with glibc. When you use -std=c*, that means you are declaring strict ISO C, and all extensions are disabled by > default unless explicitly enabled (e.g. with -D_POSIX_C_SOURCE=200112L).
>
>> If you are not compatible with ISO C, then you should be using
>> -std=gnu* instead.
>>
>> --
>> Yaakov
>>
>> --
>
> Many thanks for the info, Yaakov. Accoring to the manual -std determines the language standard and c11 means ISO C11, the 2011 revision of the ISO C standard. Howevery, I find no restriction on POSIX in ISO/IEC 9899:2011. So why should -std=c11 have an influence on Pthreads? Am I missing something?
The option means explicit standard C without extensions or additions.
POSIX is atop of the C standard and requires specific definition by the
user if it's required.
--
cyg Simple
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple