SQLite Forum

Bug: MSVC uses intrinsic versions of ceil and floor for floating-point modes precise and fast (diagnosed)
Login
Try compiling with SQLITE_DISABLE_INTRINSIC defined.

SqliteInt.h yanks in intrinsics which includes the __ceil / __floor / __trunc functions.  Though I cannot see how this works differently for me vs you.

```
/*
** Make sure that the compiler intrinsics we desire are enabled when
** compiling with an appropriate version of MSVC unless prevented by
** the SQLITE_DISABLE_INTRINSIC define.
*/
#if !defined(SQLITE_DISABLE_INTRINSIC)
#  if defined(_MSC_VER) && _MSC_VER>=1400
#    if !defined(_WIN32_WCE)
#      include <intrin.h>
#      pragma intrinsic(_byteswap_ushort)
#      pragma intrinsic(_byteswap_ulong)
#      pragma intrinsic(_byteswap_uint64)
#      pragma intrinsic(_ReadWriteBarrier)
#    else
#      include <cmnintrin.h>
#    endif
#  endif
#endif
```

Especially as I modified func.c to add either #pragma function(ceil, floor, trunc) or #pragma intrinsic(ceil, floor, trunc), neither of which made a whit of difference and did not seems to make MSVC cry.