Web lists-archives.com

Re: Pthreads: Prototypes missing if -std=c11




On 7/13/2017 11:36 AM, bz0815@xxxxxxxxx wrote:
>> On 2017-07-12 11:15, bz0815@xxxxxxxxx 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