diff --git a/sdefl.h b/sdefl.h index 5d5bcd0..1aa8d18 100644 --- a/sdefl.h +++ b/sdefl.h @@ -202,7 +202,7 @@ extern "C" { static int sdefl_ilog2(int n) { if (!n) return 0; -#ifdef _MSC_VER +#if defined(_MSC_VER) && !defined(__clang__) unsigned long msbp = 0; _BitScanReverse(&msbp, (unsigned long)n); return (int)msbp; diff --git a/sinfl.h b/sinfl.h index 3f60e88..9885baf 100644 --- a/sinfl.h +++ b/sinfl.h @@ -174,7 +174,7 @@ extern "C" { static int sinfl_bsr(unsigned long n) { -#ifdef _MSC_VER +#if defined(_MSC_VER) && !defined(__clang__) unsigned long r = 0; _BitScanReverse(&r, n); return (int)(r);