Re: Port breakage (isnan undeclared)

2003-03-27 Thread Kris Kennaway
On Thu, Mar 20, 2003 at 08:27:06PM +1100, Tim Robbins wrote:
 On Thu, Mar 20, 2003 at 12:55:22AM -0800, Kris Kennaway wrote:
 
  Several ports have become broken recently with the following error:
  
  ../../../include/osg/Math:149: `isnan' undeclared (first use this function)
  
  http://bento.freebsd.org/errorlogs/i386-5-latest/osg-0.9.3.log
  http://bento.freebsd.org/errorlogs/i386-5-latest/gnucap-0.31.log
  http://bento.freebsd.org/errorlogs/i386-5-latest/fractorama-1.6.4.log
  
  Can someone please investigate?
 
 The prototypes for isnan() c. need to be put back into math.h, and their
 source files need to be un-deprecated.

Any progress on this?

Kris


pgp0.pgp
Description: PGP signature
___
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: Port breakage (isnan undeclared)

2003-03-21 Thread David Schultz
Thus spake Tim Robbins [EMAIL PROTECTED]:
 On Thu, Mar 20, 2003 at 12:55:22AM -0800, Kris Kennaway wrote:
 
  Several ports have become broken recently with the following error:
  
  ../../../include/osg/Math:149: `isnan' undeclared (first use this function)
  
  http://bento.freebsd.org/errorlogs/i386-5-latest/osg-0.9.3.log
  http://bento.freebsd.org/errorlogs/i386-5-latest/gnucap-0.31.log
  http://bento.freebsd.org/errorlogs/i386-5-latest/fractorama-1.6.4.log
  
  Can someone please investigate?
 
 The prototypes for isnan() c. need to be put back into math.h, and their
 source files need to be un-deprecated.

C99 requires that isnan() be a macro, since it can take arguments
of multiple types and C doesn't support templates or overloading.
Technically, redundant function and macro implementations can
coexist, but that's gross.

A better solution may be to define _GLIBCPP_USE_C99 to 1 in
libstdc++.  Among other things, this tells the C++ library to
capture standard C99 macros such as isnan() in a wrapper in the
std namespace before undefing them as it does now.  The
appropriate configure option is --enable-c99, BTW.  If a real C++
guru could make sure this doesn't break anything else I would be
grateful.  What I don't understand is why the libstdc++
all-your-macros-are-belong-to-us magic gets pulled in when you say
'#include math.h' instead of cmath.  That's going to break
programs (such as fractorama) that expect isnan() and friends to
be in the global namespace.  Again, comments from someone with C++
fu would be appreciated.

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message


Port breakage (isnan undeclared)

2003-03-20 Thread Kris Kennaway
Several ports have become broken recently with the following error:

../../../include/osg/Math:149: `isnan' undeclared (first use this function)

http://bento.freebsd.org/errorlogs/i386-5-latest/osg-0.9.3.log
http://bento.freebsd.org/errorlogs/i386-5-latest/gnucap-0.31.log
http://bento.freebsd.org/errorlogs/i386-5-latest/fractorama-1.6.4.log

Can someone please investigate?

Kris


pgp0.pgp
Description: PGP signature


Re: Port breakage (isnan undeclared)

2003-03-20 Thread Tim Robbins
On Thu, Mar 20, 2003 at 12:55:22AM -0800, Kris Kennaway wrote:

 Several ports have become broken recently with the following error:
 
 ../../../include/osg/Math:149: `isnan' undeclared (first use this function)
 
 http://bento.freebsd.org/errorlogs/i386-5-latest/osg-0.9.3.log
 http://bento.freebsd.org/errorlogs/i386-5-latest/gnucap-0.31.log
 http://bento.freebsd.org/errorlogs/i386-5-latest/fractorama-1.6.4.log
 
 Can someone please investigate?

The prototypes for isnan() c. need to be put back into math.h, and their
source files need to be un-deprecated.


Tim

To Unsubscribe: send mail to [EMAIL PROTECTED]
with unsubscribe freebsd-current in the body of the message