• Michael Winterberg's avatar
    Fixed issues with MSVC emulations of clz and clzll. · 7185e96d
    Michael Winterberg authored
    Both clang-cl and Clang/C2 #define _MSC_VER but also have support for __builtin_clz and __builtin_clzll, leading to duplicate macro definition warnings. Emulation of clz using _BitScanReverse is suppressed if the builtins are already available.
    
    Additionally, the value of the output parameter of _BitScanReverse is undefined if the input value is 0, which is avoided by construction, so the code analysis warning for using uninitialized data is now suppressed.
    7185e96d
format.h 110 KB