From 3b389cb31f77fb86dcab87f8ad979cd852908fba Mon Sep 17 00:00:00 2001
From: Stanislaw Halik <sthalik@misaki.pl>
Date: Mon, 5 Feb 2018 09:34:50 +0100
Subject: compat/nan: retire

It was broken for MSVC where isnan doesn't work with
fast math. Fall back to `fpclassify'.

Adjust usages.
---
 compat/nan.cpp | 35 -----------------------------------
 1 file changed, 35 deletions(-)
 delete mode 100644 compat/nan.cpp

(limited to 'compat/nan.cpp')

diff --git a/compat/nan.cpp b/compat/nan.cpp
deleted file mode 100644
index 037efbe1..00000000
--- a/compat/nan.cpp
+++ /dev/null
@@ -1,35 +0,0 @@
-#include "export.hpp"
-
-#include "compat/macros.hpp"
-
-#if defined(_MSC_VER)
-#   include <float.h>
-#   include <math.h>
-#   define my_isnan ::_isnan
-#   define my_isinf ::isinf
-#elif defined __MINGW32__
-
-static int __cdecl my_isnan(double)__asm__("__isnan");
-static int __cdecl my_fpclassify(double)__asm__("___fpclassify");
-
-#define FP_NAN          0x0100
-#define FP_NORMAL       0x0400
-#define FP_INFINITE     (FP_NAN | FP_NORMAL)
-#define FP_ZERO         0x4000
-#define FP_SUBNORMAL    (FP_NORMAL | FP_ZERO)
-
-#define my_isinf(x) (my_fpclassify(x) == FP_INFINITE)
-
-#elif defined __APPLE__
-#   include <math.h>
-#   define my_isnan(x) isnan(x)
-#   define my_isinf(x) isinf(x)
-#else
-int my_isnan(double)__asm__("isnan");
-int my_isinf(double)__asm__("isinf");
-
-#endif
-OTR_COMPAT_EXPORT never_inline bool nanp(double x)
-{
-    return my_isnan(x) || my_isinf(x);
-}
-- 
cgit v1.2.3