Mercurial > vim
diff src/macros.h @ 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 | 6ae3fb4fe7c1 |
children | 2230c0da23bd |
line wrap: on
line diff
--- 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