This is the mail archive of the
cygwin
mailing list for the Cygwin project.
RE: gcc-3.4.4-1: c++: cmath: calling std::isnan results in endless loop
- From: "Dave Korn" <dave dot korn at artimi dot com>
- To: <gdr at integrable-solutions dot net>
- Cc: <cygwin at cygwin dot com>, <libstdc++ at gcc dot gnu dot org>, <newlib at sources dot redhat dot com>
- Date: Mon, 27 Feb 2006 17:18:26 -0000
- Subject: RE: gcc-3.4.4-1: c++: cmath: calling std::isnan results in endless loop
- Reply-to: <cygwin at cygwin dot com>, <newlib at sources dot redhat dot com>
On 27 February 2006 17:00, gdr@integrable-solutions.net wrote:
> "Dave Korn" <dave.korn@artimi.com> 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/