Subject: RE: gcc-3.4.4-1: c++: cmath: calling std::isnan results in endless loop
From: "Dave Korn" <[email-masked]>
To: <[email-masked]>
Cc: <[email-masked]>, <[email-masked]>, <[email-masked]>
Date: Mon, 27 Feb 2006 17:18:26 -0000

On 27 February 2006 17:00, [email-masked] wrote:

> "Dave Korn" <[email-masked]> writes:
> 
> [...]
> 
>>   It looks to me like the cygwin/newlib combination is not being compliant
>> if it implements isnan as a function rather than a macro.  I couldn't see
>> anything in the standard that says it can be a function, and every
>> reference to it describes it as a macro, not a function.  It may be the
>> case that libstdc++ is within its rights to assume that isnan is a macro
>> after all. 
> 
> yes, isnan and friends are supposed to be macros only, not functions.

  Thanks for the confirmation.  I have yet to figure out whether this is
specific to newlib-on-cygwin, or applies to other newlib configurations as
well, but that rules out libstdc++ from being the underlying cause of the
problem here.

>>   OTOH it may be that libstdc++ was only supposed to be shadowing those
>> ctype macros that are guaranteed to have underlying function
>> implementations; I don't know what the shadowing is for, so I can't
>> comment. 
> 
> libstdc++ is supposed to shadow ctype macros -- and it also expect
> them to have a function implementation.

  Ah, does that imply it is also /supposed/ to shadow math.h macros, but it
does /not/ expect them to have a function implementation?  Or that it is /not/
supposed to shadow math macros, only ctype ones, /because/ only they are
guaranteed to have a function implementation as well/

    cheers,
      DaveK
-- 
Can't think of a witty .sigline today....

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/