[webkit-dev] use of isnan with integers (QNX gcc)
Shkrablyuk, Pavel
PShkrablyuk at luxoft.com
Fri Jul 22 02:16:59 PDT 2011
Here's code from 'WebCore/html/canvas/WebGLRenderingContext.cpp'
WebGLRenderingContext::viewport(GC3Dint x, GC3Dint y, GC3Dsizei width, GC3Dsizei height)
{
if (isContextLost())
return;
if (isnan(x))
x = 0;
if (isnan(y))
y = 0;
if (isnan(width))
width = 100;
if (isnan(height))
height = 100;
...
}
In 'WebCore/platform/graphics/GraphicsTypes3D.h' 'GC3Dint' and 'GC3Dsizei' are defined as follows:
typedef int GC3Dint;
typedef int GC3Dsizei;
This can't be compiled, in QNX gcc implementation (gcc version 4.4.2).
C:/QNX650/target/qnx6/usr/include/math.h: In function 'bool std::isnan(_Ty) [with _Ty = int]':
D:/wkt/Source/WebCore/html/canvas/WebGLRenderingContext.cpp:3925: instantiated from here
C:/QNX650/target/qnx6/usr/include/math.h:212: error: call of overloaded 'fpclassify(int&)' is ambiguous
C:/QNX650/target/qnx6/usr/include/math.h:166: note: candidates are: int std::fpclassify(float)
C:/QNX650/target/qnx6/usr/include/math.h:171: note: int std::fpclassify(double)
C:/QNX650/target/qnx6/usr/include/math.h:176: note: int std::fpclassify(long double)
Maybe I don't understand something. Is there really a reason to check for 'isnan' of integer values in WebGLRenderingContext::viewport?
If this code is really necessary, then I'll add explicit cast to floating value, if not then I'll remove it entirely.
Best Regards,
Pavel Shkrablyuk
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-dev/attachments/20110722/58905731/attachment.html>
More information about the webkit-dev
mailing list