]> git.ipfire.org Git - thirdparty/vim.git/commitdiff
patch 7.4.1437 v7.4.1437
authorBram Moolenaar <Bram@vim.org>
Sat, 27 Feb 2016 19:14:15 +0000 (20:14 +0100)
committerBram Moolenaar <Bram@vim.org>
Sat, 27 Feb 2016 19:14:15 +0000 (20:14 +0100)
Problem:    Old system doesn't have isinf() and NAN. (Ben Fritz)
Solution:   Adjust #ifdefs.  Detect isnan() and isinf() functions with
            configure. Use a replacement when missing. (Kazunobu Kuriyama)

src/auto/configure
src/config.h.in
src/configure.in
src/eval.c
src/json.c
src/macros.h
src/message.c
src/version.c

index 861fe4d94750c1b992f017350c6e9c0f60e01f00..08af402b831eae2a9b1c8729667011ab24d341d1 100755 (executable)
@@ -10978,6 +10978,48 @@ $as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h
  presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;;
  esac
 
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for inline" >&5
+$as_echo_n "checking for inline... " >&6; }
+if ${ac_cv_c_inline+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_cv_c_inline=no
+for ac_kw in inline __inline__ __inline; do
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#ifndef __cplusplus
+typedef int foo_t;
+static $ac_kw foo_t static_foo () {return 0; }
+$ac_kw foo_t foo () {return 0; }
+#endif
+
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_c_inline=$ac_kw
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  test "$ac_cv_c_inline" != no && break
+done
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_inline" >&5
+$as_echo "$ac_cv_c_inline" >&6; }
+
+case $ac_cv_c_inline in
+  inline | yes) ;;
+  *)
+    case $ac_cv_c_inline in
+      no) ac_val=;;
+      *) ac_val=$ac_cv_c_inline;;
+    esac
+    cat >>confdefs.h <<_ACEOF
+#ifndef __cplusplus
+#define inline $ac_val
+#endif
+_ACEOF
+    ;;
+esac
+
 
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for rlim_t" >&5
 $as_echo_n "checking for rlim_t... " >&6; }
@@ -11816,7 +11858,7 @@ for ac_func in bcmp fchdir fchown fsync getcwd getpseudotty \
        setpgid setsid sigaltstack sigstack sigset sigsetjmp sigaction \
        sigvec strcasecmp strerror strftime stricmp strncasecmp \
        strnicmp strpbrk strtol tgetent towlower towupper iswupper \
-       usleep utime utimes
+       usleep utime utimes isnan isinf
 do :
   as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
 ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
index dc0e9b2adc2d8b97e18aa9f0ab6d5d6405213c83..f8475a14f81583a484a973f6428ab168889009ac 100644 (file)
 
 /* Define if GTK+ GUI is to be linked against GTK+ 3 */
 #undef USE_GTK3
+
+/* Define if we have isinf() */
+#undef HAVE_ISINF
+
+/* Define if we have isnan() */
+#undef HAVE_ISNAN
+
+/* Define to inline symbol or empty */
+#undef inline
index fbfa37fe6346978ff9fa2a1265d6e93c1bd894e0..c809427f9cf11e2c2de6612ea2782a03f283cedb 100644 (file)
@@ -3146,6 +3146,7 @@ AC_HEADER_TIME
 AC_CHECK_TYPE(ino_t, long)
 AC_CHECK_TYPE(dev_t, unsigned)
 AC_C_BIGENDIAN(,,,)
+AC_C_INLINE
 
 AC_MSG_CHECKING(for rlim_t)
 if eval "test \"`echo '$''{'ac_cv_type_rlim_t'+set}'`\" = set"; then
@@ -3564,7 +3565,7 @@ AC_CHECK_FUNCS(bcmp fchdir fchown fsync getcwd getpseudotty \
        setpgid setsid sigaltstack sigstack sigset sigsetjmp sigaction \
        sigvec strcasecmp strerror strftime stricmp strncasecmp \
        strnicmp strpbrk strtol tgetent towlower towupper iswupper \
-       usleep utime utimes)
+       usleep utime utimes isnan isinf)
 AC_FUNC_FSEEKO
 
 dnl define _LARGE_FILES, _FILE_OFFSET_BITS and _LARGEFILE_SOURCE when
index 323caf1e50af0cd3c5001b931d76499c19eef11d..6e018c404dde240df47186e434524bdae1e18869 100644 (file)
 # include <time.h>     /* for time_t */
 #endif
 
-#if defined(FEAT_FLOAT)
-# include <float.h>
-# if defined(HAVE_MATH_H)
-#  include <math.h>
-# endif
-# if defined(WIN32) && !defined(isnan)
-#  define isnan(x) _isnan(x)
-# endif
-#endif
-
 #define DICT_MAXNEST 100       /* maximum nesting of lists and dicts */
 
 #define DO_NOT_FREE_CNT 99999  /* refcount for dict or list that should not
index da585e306db90dbcec7d6501fd44dc17862bbeb6..a704fd5eb520c40109bfccde356dfab906ff72ca 100644 (file)
 
 #if defined(FEAT_EVAL) || defined(PROTO)
 
-#if defined(FEAT_FLOAT)
-# include <float.h>
-# if defined(HAVE_MATH_H)
-   /* 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))
-# endif
-# if !defined(INFINITY) && defined(DBL_MAX)
-#  define INFINITY (DBL_MAX+DBL_MAX)
-# endif
-# if !defined(NAN) && defined(INFINITY)
-#  define NAN (INFINITY-INFINITY)
-# endif
-#endif
-
 static int json_encode_item(garray_T *gap, typval_T *val, int copyID, int options);
 static int json_decode_item(js_read_T *reader, typval_T *res, int options);
 
index 6e2c94ff15e979603c968d7ed33722c2e7b1ac99..464eb66a10cdfc71f0504888445858bb69028717 100644 (file)
 #if defined(FEAT_CHANNEL) || defined(FEAT_JOB) || defined(FEAT_CLIENTSERVER)
 # define MESSAGE_QUEUE
 #endif
+
+#if defined(FEAT_EVAL) && defined(FEAT_FLOAT)
+# include <float.h>
+# if defined(HAVE_MATH_H)
+   /* 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; }
+#  endif
+#  ifndef HAVE_ISINF
+    static inline int isinf(double x) { return !isnan(x) && isnan(x - x); }
+#  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
index 6c9dd646cb526b8178cf8dfe4a789095a1babbb9..689a79cd497d5a89a365814014eb50ec153b6fe9 100644 (file)
 
 #include "vim.h"
 
-#if defined(FEAT_FLOAT) && defined(HAVE_MATH_H)
-# include <math.h>
-#endif
-
 static int other_sourcing_name(void);
 static char_u *get_emsg_source(void);
 static char_u *get_emsg_lnum(void);
index 60a6badd2d912aacaab5489a1bbdabe4290029e6..ab7cf743ce4d535ba9e8c403c6ff78eaa36a8282 100644 (file)
@@ -743,6 +743,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    1437,
 /**/
     1436,
 /**/