[gtk/isnanf-cleanup] fallback-c89: Try to make isnanf work
- From: Christoph Reiter <creiter src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk/isnanf-cleanup] fallback-c89: Try to make isnanf work
- Date: Sun, 31 May 2020 13:51:23 +0000 (UTC)
commit c5829bd0e2134ed9f05fe9d6fbe1f3156a00352e
Author: Christoph Reiter <reiter christoph gmail com>
Date: Sun May 31 15:09:31 2020 +0200
fallback-c89: Try to make isnanf work
gtk/fallback-c89.c | 26 +++++++++++---------------
1 file changed, 11 insertions(+), 15 deletions(-)
---
diff --git a/gtk/fallback-c89.c b/gtk/fallback-c89.c
index 505d52e13a..65cb53589e 100644
--- a/gtk/fallback-c89.c
+++ b/gtk/fallback-c89.c
@@ -20,6 +20,7 @@
#include "config.h"
#include <math.h>
+#include <float.h>
/* Workaround for round() for non-GCC/non-C99 compilers */
#ifndef HAVE_ROUND
@@ -93,26 +94,21 @@ isnan (double x)
#endif
#ifndef HAVE_DECL_ISNANF
-#if 1
-#define isnanf(x) isnan(x)
-#else
-/* it seems of the supported compilers only
- * MSVC does not have isnanf(), but it does
- * have _isnanf() which does the same as isnanf()
- */
-#ifdef _MSC_VER
-static inline gboolean
-isnanf (float x)
-{
- return _isnanf (x);
-}
-#elif defined (__GNUC__)
+#if defined (__GNUC__)
/* gcc has an intern function that it warns about when
* using -Wshadow but no header properly declares it,
* so we do it instead.
*/
extern int isnanf (float x);
-#endif
+#else
+static inline int
+isnanf (float x)
+{
+ /* Either use the C99 type infering macro, or the fallback from above.
+ * MSVC has _isnanf, but only on x64
+ */
+ return isnan (x);
+}
#endif
#endif
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]