Subject: Re: XOPEN_SOURCE and string.h
From: Denis Excoffier <[email-masked]>
To: marco atzeri <[email-masked]>
Cc: [email-masked]
Date: Sat, 12 Jan 2013 00:50:05 +0100
List-Id: <cygwin.cygwin.com>

On 2013-01-11 23:00, marco atzeri wrote:
> On 1/11/2013 10:47 PM, Denis Excoffier wrote:
>> Hello,
>> 
>> In order to compile some packages (including slang-2.2.4 and ccrypt-1.9)
>> with GCC-4.7.2, i had to patch /usr/include/string.h iaw the following:
>> 
>> 
>> diff -uNr x-o/usr/include/string.h x-p/usr/include/string.h
>> --- x-o/usr/include/string.h	2012-11-23 14:40:09.000000000 +0100
>> +++ x-p/usr/include/string.h	2013-01-11 22:29:39.000000000 +0100
>> @@ -64,13 +64,13 @@
>>  char	*_EXFUN(strcasestr,(const char *, const char *));
>>  char 	*_EXFUN(strchrnul,(const char *, int));
>>  #endif
>> -#if !defined(__STRICT_ANSI__) || (_XOPEN_SOURCE >= 500)
>> +#if !defined(__STRICT_ANSI__) || ((_XOPEN_SOURCE - 0) >= 500)
>>  char 	*_EXFUN(strdup,(const char *));
>>  #endif
>>  #ifndef __STRICT_ANSI__
>>  char 	*_EXFUN(_strdup_r,(struct _reent *, const char *));
>>  #endif
>> -#if !defined(__STRICT_ANSI__) || (_XOPEN_SOURCE >= 700)
>> +#if !defined(__STRICT_ANSI__) || ((_XOPEN_SOURCE - 0) >= 700)
>>  char 	*_EXFUN(strndup,(const char *, size_t));
>>  #endif
>>  #ifndef __STRICT_ANSI__
>> 
>> 
>> 
>> See also /usr/include/sys/features.h.
>> 
>> Otherwise i obtain the message:
>> 
>> /usr/include/string.h:67:49: error: operator '>=' has no left operand
>> /usr/include/string.h:73:49: error: operator '>=' has no left operand
>> 
>> Hope this helps,
>> 
>> Regards,
>> 
>> Denis Excoffier.
>> 
>> 
> 
> are you sure about that file ?
Sure yes. It has been inside Cygwin snapshots since end of last December. It was
introduced in newlib near the 22nd October 2012. I suppose that other occurrences of
_XOPEN_SOURCE have to be checked.

% cygcheck -f /usr/include/string.h
cygwin-1.7.17-1
% uname -a
CYGWIN_NT-5.1 jupiter 1.7.18s(0.263/5/3) 20130111 15:37:20 i686 Cygwin
%

See http://cygwin.com/ml/cygwin/2011-02/msg00534.html (and many others).

Denis Excoffier.

--
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