glsl: Define isnormal and copysign for MSVC to fix build.
[mesa.git] / src / glsl / ir_constant_expression.cpp
index 4579ef209dae87891d5f4a6b452856418a8ec9d0..12641e5df10936e6e23364f0c2699bd20b4bcd2a 100644 (file)
 #include "glsl_types.h"
 #include "program/hash_table.h"
 
+#if defined(_MSC_VER) && (_MSC_VER < 1800)
+static int isnormal(double x)
+{
+   return _fpclass(x) == _FPCLASS_NN || _fpclass(x) == _FPCLASS_PN;
+}
+#endif
+
+#if defined(_MSC_VER)
+static double copysign(double x, double y)
+{
+   return _copysign(x, y);
+}
+#endif
+
 static float
 dot(ir_constant *op0, ir_constant *op1)
 {