C++11 and C99 colision return (isnan(v) != 0); cmath.i

In cmath.i i get the following compile errors when trying to build the roaming_ralph C++ example

From reading up on this, Many open source projects have had to rewrite isnan() to std:isnan() due to a collision between C++11 and C99.

Google (C++11 C99 isnan)

NOT WORKING
////////////////////////////////////////////////////////////////////
// Function: cnan
// Description:
////////////////////////////////////////////////////////////////////
INLINE bool
cnan(double v) {
#ifndef _WIN32
return (isnan(v) != 0);
#else
return (_isnan(v) != 0);
#endif
}

COMPILER ERROR
/usr/include/panda3d/cmath.I:346:18: error: call of overloaded ‘isnan(double&)’ is ambiguous

ALTERED AND WORKING
////////////////////////////////////////////////////////////////////
// Function: cnan
// Description:
////////////////////////////////////////////////////////////////////
INLINE bool
cnan(double v) {
#ifndef _WIN32
return (std::isnan(v) != 0);
#else
return (_isnan(v) != 0);
#endif
}

Panda3D 1.8.1 SDK built to RPM

TOOL CHAIN
OpenSuSe Linux 12.3 X86_64
Eclipse 4.3 Kepler
gcc version 4.7.2 20130108 [gcc-4_7-branch revision 195012] (SUSE Linux)
GNU Make 3.82

How should this best be handled ? Bug report?

I already checked in a fix to the latest CVS version of Panda3D.

Can anyone fix that error?? I am stuck there too

It’s already been fixed in CVS.