delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp-workers/2003/10/25/17:44:38

X-Authentication-Warning: delorie.com: mail set sender to djgpp-workers-bounces using -f
Date: Sat, 25 Oct 2003 23:39:22 +0200
From: "Eli Zaretskii" <eliz AT elta DOT co DOT il>
Sender: halo1 AT zahav DOT net DOT il
To: "Richard Dawe" <rich AT phekda DOT freeserve DOT co DOT uk>
Message-Id: <9743-Sat25Oct2003233921+0200-eliz@elta.co.il>
X-Mailer: emacs 21.3.50 (via feedmail 8 I) and Blat ver 1.8.9
CC: djgpp-workers AT delorie DOT com
In-reply-to: <E1ADTj5-0001KS-00@phekda.freeserve.co.uk>
(rich AT phekda DOT freeserve DOT co DOT uk)
Subject: Re: Clash between math.h and ieeefp.h [PATCH]
References: <E1ADTj5-0001KS-00 AT phekda DOT freeserve DOT co DOT uk>
Reply-To: djgpp-workers AT delorie DOT com
Errors-To: nobody AT delorie DOT com
X-Mailing-List: djgpp-workers AT delorie DOT com
X-Unsubscribes-To: listserv AT delorie DOT com

> Date: Sat, 25 Oct 2003 20:16:28 +0100
> From: "Richard Dawe" <rich AT phekda DOT freeserve DOT co DOT uk>
> 
> libstdc++ from gcc 3.2.1 fails to build, because there are clashes
> between math.h and ieeefp.h. The culprits are the macros
> isnan and isinf defined in <math.h>. ieeefp.h  declares functions
> called isnan and isinf. If <math.h> is included before ieeefp.h,
> a parse error will occur, because of the macro expansion
> of isnan and ininf.
> 
> Below is a patch to fix this. Since isnan and isinf are now macros,
> I've removed the declaration of their functions.

I'm probably missing something here: why does ieeefp.h declare those
functions, and where/when is ieeefp.h supposed to be used?

> Perhaps it would be better to protect them with #ifdef isnan/#endif,
> etc. sections?

Isn't the following trick enough to solve the problem?

  extern int (isnan)(double);

That is, surround the function's name with parens.

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019