diff options
-rw-r--r-- | src/nvim/eval.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/nvim/eval.c b/src/nvim/eval.c index b45428e7e7..0e0ccc67de 100644 --- a/src/nvim/eval.c +++ b/src/nvim/eval.c @@ -7102,8 +7102,15 @@ static inline int get_float_arg(typval_T *argvars, float_T *f) } // Apply a floating point C function on a typval with one float_T. -static inline void float_op_wrapper(typval_T *argvars, typval_T *rettv, - float_T (*function)(float_T)) +// +// Some versions of glibc on i386 have an optimization that makes it harder to +// call math functions indirectly from inside an inlined function, causing +// compile-time errors. Avoid `inline` in that case. #3072 +#ifndef ARCH_32 +inline +#endif +static void float_op_wrapper(typval_T *argvars, typval_T *rettv, + float_T (*function)(float_T)) { float_T f; |