On 03/11/2015 08:20 AM, Brian Paul wrote:
On 03/11/2015 01:23 AM, Jose Fonseca wrote:
On 11/03/15 01:41, Brian Paul wrote:
---
include/c99_math.h | 52
+++++++++++++++++++++++++++++++++++++++++++++
src/mesa/main/querymatrix.c | 51
+-------------------------------------------
2 files changed, 53 insertions(+), 50 deletions(-)
diff --git a/include/c99_math.h b/include/c99_math.h
index 0a49950..f1a6685 100644
--- a/include/c99_math.h
+++ b/include/c99_math.h
@@ -161,4 +161,56 @@ llrintf(float f)
#endif
+#if defined(fpclassify)
+/* ISO C99 says that fpclassify is a macro. Assume that any
implementation
+ * of fpclassify, whether it's in a C99 compiler or not, will be a
macro.
+ */
+#elif defined(__cplusplus)
+/* For C++, fpclassify() should be defined in <cmath> */
Does MSVC's cmath implement fpclassify? If not this #elif clause should
be moved after MSC_VER clause.
Looks like the answer is "no".
Actually, I take that back. This patch works as-is on MSVC. I also
added an fpclassify() test in a .cpp file and it builds too (both MSVC
and gcc).
The MSVC header #includes files are hard to follow, but somewhere,
fpclassify() and the FP_* tokens are getting defined when compiling C++
code.
If I move the #elif defined(__cplusplus) case after the #elif
defined(_MSC_VER) case then things blow up.
I'll repost the patch with just the #error change.
-Brian
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev