summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChun-wei Fan <fanchunwei@src.gnome.org>2020-12-30 18:46:33 +0800
committerChun-wei Fan <fanchunwei@src.gnome.org>2020-12-30 19:40:03 +0800
commitd6e5db6ed8411b7b09c87d4393ac8f1fd83871fc (patch)
tree5b01ee087253758e5b121e8907af21037edb986e
parentb20a8b5a5a5ab9001c1306dc840781050e2e51f9 (diff)
downloadglib-266.c89.tar.gz
gdatetime.c: Fix MSVC builds for lack of NAN items266.c89
Use a fallback for isnan() on Visual Studio 2012 or earlier, and define NAN if it does not exist.
-rw-r--r--glib/gdatetime.c5
-rw-r--r--glib/tests/gdatetime.c4
2 files changed, 9 insertions, 0 deletions
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 { \