stb_sprintf: redo ASAN fixes after problematic merge
This commit is contained in:
parent
e802821e4d
commit
3f5db89baf
@ -140,25 +140,38 @@ PERFORMANCE vs MSVC 2008 32-/64-bit (GCC is even slower than MSVC):
|
|||||||
"...512 char string..." ( 35.0x/32.5x faster!)
|
"...512 char string..." ( 35.0x/32.5x faster!)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#if defined(__has_feature)
|
#if defined(__clang__)
|
||||||
#if __has_feature(address_sanitizer)
|
#if defined(__has_feature) && defined(__has_attribute)
|
||||||
#define STBI__ASAN __attribute__((no_sanitize("address")))
|
#if __has_feature(address_sanitizer)
|
||||||
|
#if __has_attribute(__no_sanitize__)
|
||||||
|
#define STBSP__ASAN __attribute__((__no_sanitize__("address")))
|
||||||
|
#elif __has_attribute(__no_sanitize_address__)
|
||||||
|
#define STBSP__ASAN __attribute__((__no_sanitize_address__))
|
||||||
|
#elif __has_attribute(__no_address_safety_analysis__)
|
||||||
|
#define STBSP__ASAN __attribute__((__no_address_safety_analysis__))
|
||||||
#endif
|
#endif
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
#elif __GNUC__ >= 5 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8)
|
||||||
|
#if __SANITIZE_ADDRESS__
|
||||||
|
#define STBSP__ASAN __attribute__((__no_sanitize_address__))
|
||||||
|
#endif
|
||||||
#endif
|
#endif
|
||||||
#ifndef STBI__ASAN
|
|
||||||
#define STBI__ASAN
|
#ifndef STBSP__ASAN
|
||||||
|
#define STBSP__ASAN
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef STB_SPRINTF_STATIC
|
#ifdef STB_SPRINTF_STATIC
|
||||||
#define STBSP__PUBLICDEC static
|
#define STBSP__PUBLICDEC static
|
||||||
#define STBSP__PUBLICDEF static STBI__ASAN
|
#define STBSP__PUBLICDEF static STBSP__ASAN
|
||||||
#else
|
#else
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
#define STBSP__PUBLICDEC extern "C"
|
#define STBSP__PUBLICDEC extern "C"
|
||||||
#define STBSP__PUBLICDEF extern "C" STBI__ASAN
|
#define STBSP__PUBLICDEF extern "C" STBSP__ASAN
|
||||||
#else
|
#else
|
||||||
#define STBSP__PUBLICDEC extern
|
#define STBSP__PUBLICDEC extern
|
||||||
#define STBSP__PUBLICDEF STBI__ASAN
|
#define STBSP__PUBLICDEF STBSP__ASAN
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user