Mercurial > vim
changeset 8295:18fd94bd4eb8 v7.4.1440
commit https://github.com/vim/vim/commit/fefecb0fbe14c44d46f91036d76bbb6c28162da8
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat Feb 27 21:27:20 2016 +0100
patch 7.4.1440
Problem: Can't build on Windows.
Solution: Change #ifdefs. Only define isnan when used.
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sat, 27 Feb 2016 21:30:05 +0100 |
parents | 7d7476de1d7b |
children | 76924fadd96f |
files | src/eval.c src/json.c src/macros.h src/version.c |
diffstat | 4 files changed, 26 insertions(+), 18 deletions(-) [+] |
line wrap: on
line diff
--- a/src/eval.c +++ b/src/eval.c @@ -10,6 +10,7 @@ /* * eval.c: Expression evaluation. */ +#define USING_FLOAT_STUFF #include "vim.h"
--- a/src/json.c +++ b/src/json.c @@ -12,6 +12,7 @@ * * Follows this standard: https://tools.ietf.org/html/rfc7159.html */ +#define USING_FLOAT_STUFF #include "vim.h"
--- a/src/macros.h +++ b/src/macros.h @@ -327,25 +327,29 @@ /* for isnan() and isinf() */ # include <math.h> # endif -# if defined(WIN32) && !defined(isnan) -# define isnan(x) _isnan(x) -# define isinf(x) (!_finite(x) && !_isnan(x)) -# else -# ifndef HAVE_ISNAN - static inline int isnan(double x) { return x != x; } +# ifdef USING_FLOAT_STUFF +# if defined(WIN32) +# ifndef isnan +# define isnan(x) _isnan(x) +# define isinf(x) (!_finite(x) && !_isnan(x)) +# endif +# else +# ifndef HAVE_ISNAN + static inline int isnan(double x) { return x != x; } +# endif +# ifndef HAVE_ISINF + static inline int isinf(double x) { return !isnan(x) && isnan(x - x); } +# endif # endif -# ifndef HAVE_ISINF - static inline int isinf(double x) { return !isnan(x) && isnan(x - x); } +# if !defined(INFINITY) +# if defined(DBL_MAX) +# define INFINITY (DBL_MAX+DBL_MAX) +# else +# define INFINITY (1.0 / 0.0) +# endif +# endif +# if !defined(NAN) +# define NAN (INFINITY-INFINITY) # endif # endif -# if !defined(INFINITY) -# if defined(DBL_MAX) -# define INFINITY (DBL_MAX+DBL_MAX) -# else -# define INFINITY (1.0 / 0.0) -# endif -# endif -# if !defined(NAN) -# define NAN (INFINITY-INFINITY) -# endif #endif