aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/data.c20
1 files changed, 4 insertions, 16 deletions
diff --git a/src/data.c b/src/data.c
index 7a8179ed38d..5ef0ef85571 100644
--- a/src/data.c
+++ b/src/data.c
@@ -2966,26 +2966,14 @@ static Lisp_Object
2966float_arith_driver (double accum, ptrdiff_t argnum, enum arithop code, 2966float_arith_driver (double accum, ptrdiff_t argnum, enum arithop code,
2967 ptrdiff_t nargs, Lisp_Object *args) 2967 ptrdiff_t nargs, Lisp_Object *args)
2968{ 2968{
2969 register Lisp_Object val;
2970 double next;
2971
2972 for (; argnum < nargs; argnum++) 2969 for (; argnum < nargs; argnum++)
2973 { 2970 {
2974 /* using args[argnum] as argument to CHECK_NUMBER_... */ 2971 Lisp_Object val = args[argnum];
2975 val = args[argnum];
2976 CHECK_NUMBER_COERCE_MARKER (val); 2972 CHECK_NUMBER_COERCE_MARKER (val);
2973 double next = (FIXNUMP (val) ? XFIXNUM (val)
2974 : FLOATP (val) ? XFLOAT_DATA (val)
2975 : mpz_get_d (XBIGNUM (val)->value));
2977 2976
2978 if (FLOATP (val))
2979 {
2980 next = XFLOAT_DATA (val);
2981 }
2982 else if (BIGNUMP (val))
2983 next = mpz_get_d (XBIGNUM (val)->value);
2984 else
2985 {
2986 args[argnum] = val; /* runs into a compiler bug. */
2987 next = XFIXNUM (args[argnum]);
2988 }
2989 switch (code) 2977 switch (code)
2990 { 2978 {
2991 case Aadd: 2979 case Aadd: