Merge pull request #4807 from RicoP/RicoP/sinfl_bsr
[rcore] sinfl_bsr fix for TCC
This commit is contained in:
commit
b80250bee4
1 changed files with 5 additions and 4 deletions
9
src/external/sinfl.h
vendored
9
src/external/sinfl.h
vendored
|
@ -171,10 +171,11 @@ extern int zsinflate(void *out, int cap, const void *in, int size);
|
||||||
|
|
||||||
static int
|
static int
|
||||||
sinfl_bsr(unsigned n) {
|
sinfl_bsr(unsigned n) {
|
||||||
#if defined(_MSC_VER) && !defined(__clang__)
|
#ifdef _MSC_VER
|
||||||
_BitScanReverse(&n, n);
|
unsigned long uln = 0;
|
||||||
return n;
|
_BitScanReverse(&uln, n);
|
||||||
#elif defined(__GNUC__) || defined(__clang__)
|
return (int)(uln);
|
||||||
|
#else // defined(__GNUC__) || defined(__clang__) || defined(__TINYC__)
|
||||||
return 31 - __builtin_clz(n);
|
return 31 - __builtin_clz(n);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue