Explorar o código

Merge pull request #4807 from RicoP/RicoP/sinfl_bsr

[rcore] sinfl_bsr fix for TCC
Ray hai 6 meses
pai
achega
b80250bee4
Modificáronse 1 ficheiros con 5 adicións e 4 borrados
  1. 5 4
      src/external/sinfl.h

+ 5 - 4
src/external/sinfl.h

@@ -171,10 +171,11 @@ extern int zsinflate(void *out, int cap, const void *in, int size);
 
 static int
 sinfl_bsr(unsigned n) {
-#if defined(_MSC_VER) && !defined(__clang__)
-  _BitScanReverse(&n, n);
-  return n;
-#elif defined(__GNUC__) || defined(__clang__)
+#ifdef _MSC_VER
+  unsigned long uln = 0;
+  _BitScanReverse(&uln, n);
+  return (int)(uln);
+#else // defined(__GNUC__) || defined(__clang__) || defined(__TINYC__)
   return 31 - __builtin_clz(n);
 #endif
 }