[glib/266.c89] gdatetime.c: Fix MSVC builds for lack of NAN items




commit d6e5db6ed8411b7b09c87d4393ac8f1fd83871fc
Author: Chun-wei Fan <fanchunwei src gnome org>
Date:   Wed Dec 30 18:46:33 2020 +0800

    gdatetime.c: Fix MSVC builds for lack of NAN items
    
    Use a fallback for isnan() on Visual Studio 2012 or earlier, and define
    NAN if it does not exist.

 glib/gdatetime.c       | 5 +++++
 glib/tests/gdatetime.c | 4 ++++
 2 files changed, 9 insertions(+)
---
diff --git a/glib/gdatetime.c b/glib/gdatetime.c
index 02cc3bd01..a43efab0b 100644
--- a/glib/gdatetime.c
+++ b/glib/gdatetime.c
@@ -80,6 +80,11 @@
 #ifndef G_OS_WIN32
 #include <sys/time.h>
 #include <time.h>
+#else
+#if defined (_MSC_VER) && (_MSC_VER < 1800)
+/* fallback implementation for isnan() on VS2012 and earlier */
+#define isnan _isnan
+#endif
 #endif /* !G_OS_WIN32 */
 
 /**
diff --git a/glib/tests/gdatetime.c b/glib/tests/gdatetime.c
index 0203dd0c2..3b1d9cf7d 100644
--- a/glib/tests/gdatetime.c
+++ b/glib/tests/gdatetime.c
@@ -29,6 +29,10 @@
 #ifdef G_OS_WIN32
 #define WIN32_LEAN_AND_MEAN
 #include <windows.h>
+
+#ifndef NAN
+#define NAN HUGE_VAL * 0.0f
+#endif
 #endif
 
 #define ASSERT_DATE(dt,y,m,d) G_STMT_START { \


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]