svn commit: r253563 - head/contrib/libstdc++/include/c_std

Tijl Coosemans tijl at coosemans.org
Sun Jul 28 12:45:12 UTC 2013


On Fri, 26 Jul 2013 11:51:43 +0100 David Chisnall wrote:
> On 26 Jul 2013, at 11:26, Tijl Coosemans <tijl at coosemans.org> wrote:
>> On Fri, 26 Jul 2013 10:43:07 +0100 David Chisnall wrote:
>>> On 25 Jul 2013, at 19:19, Tijl Coosemans <tijl at coosemans.org> wrote:
>>>> This also
>>>> broke compilation of C code with -D_XOPEN_SOURCE=500.
>>> 
>>> Do you have a test case for this?
>> 
>> % cc -c test.c -D_XOPEN_SOURCE=500 -Wall -std=gnu89
>> test.c:5:10: warning: implicit declaration of function 'isnan'
>>      [-Wimplicit-function-declaration]
>>        return( isnan( d ));
>>                ^
>> 1 warning generated.
>> 
>> The isnan function is part of SUSv2:
>> http://pubs.opengroup.org/onlinepubs/7990989775/xsh/isnan.html
>> 
>> _XOPEN_SOURCE is handled in sys/cdefs.h. It sets the following macros:
>> #define __XSI_VISIBLE           500
>> #define __POSIX_VISIBLE         199506
>> #define __ISO_C_VISIBLE         1990
> 
> So, isnan and isinf should be visible in functions when in
> __ISO_C_VISIBLE < 1999 and __XSI_VISIBLE < 600, and __XSI_VISIBLE  >= 500?

Is it possible to put them back where they were but behind
#if __cplusplus < 201103L ? That would be the least disruptive.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 228 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/svn-src-all/attachments/20130728/59309797/attachment.sig>


More information about the svn-src-all mailing list