On Fri, 26 Jul 2013 11:51:43 +0100 David Chisnall wrote:
> On 26 Jul 2013, at 11:26, Tijl Coosemans <t...@coosemans.org> wrote:
>> On Fri, 26 Jul 2013 10:43:07 +0100 David Chisnall wrote:
>>> On 25 Jul 2013, at 19:19, Tijl Coosemans <t...@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.

Attachment: signature.asc
Description: PGP signature

Reply via email to