clang 4.0 double promotion warnings in clamp_double_to_int64()

Just upgraded to clang 4.0, and I'm seeing this:

  CC       src/common/util.o
src/common/util.c:5612:13: error: implicit conversion increases floating-point
      precision: 'double' to 'long double' [-Werror,-Wdouble-promotion]
  if (isnan(number)) {
      ~~~~~~^~~~~~~
/usr/include/math.h:385:46: note: expanded from macro 'isnan'
#  define isnan(x) __MATH_TG ((x), __isnan, (x))
                   ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
/usr/include/math.h:320:16: note: expanded from macro '__MATH_TG'
   : FUNC ## l ARGS)
     ~~~~~~~~~ ^~~~
src/common/util.c:5630:16: error: implicit conversion increases floating-point
      precision: 'double' to 'long double' [-Werror,-Wdouble-promotion]
  if (isfinite(number) && exponent <= 63) {
      ~~~~~~~~~^~~~~~~
/usr/include/math.h:370:50: note: expanded from macro 'isfinite'
#  define isfinite(x) __MATH_TG ((x), __finite, (x))
                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
/usr/include/math.h:320:16: note: expanded from macro '__MATH_TG'
   : FUNC ## l ARGS)
     ~~~~~~~~~ ^~~~
src/common/util.c:5635:18: error: implicit conversion increases floating-point
      precision: 'double' to 'long double' [-Werror,-Wdouble-promotion]
  return signbit(number) ? INT64_MIN : INT64_MAX;
         ~~~~~~~~^~~~~~~
/usr/include/math.h:361:58: note: expanded from macro 'signbit'
#  define signbit(x) __MATH_TG ((x), __builtin_signbit, (x))
                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
/usr/include/math.h:320:16: note: expanded from macro '__MATH_TG'
   : FUNC ## l ARGS)
     ~~~~~~~~~ ^~~~
3 errors generated.
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information