This is the mail archive of the
cygwin
mailing list for the Cygwin project.
Re: XOPEN_SOURCE and string.h
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