|  |  | @ -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 defined(__has_feature) && defined(__has_attribute) | 
			
		
	
		
		
			
				
					
					|  |  |  |   #if __has_feature(address_sanitizer) |  |  |  |   #if __has_feature(address_sanitizer) | 
			
		
	
		
		
			
				
					
					|  |  |  |       #define STBI__ASAN __attribute__((no_sanitize("address"))) |  |  |  |    #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 | 
			
		
	
		
		
			
				
					
					|  |  |  | #ifndef STBI__ASAN |  |  |  |  #endif | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  | #define STBI__ASAN |  |  |  | #elif __GNUC__ >= 5 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8) | 
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |  #if __SANITIZE_ADDRESS__ | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |   #define STBSP__ASAN __attribute__((__no_sanitize_address__)) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |  #endif | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | #endif | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  | #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 | 
			
		
	
		
		
			
				
					
					|  |  |  | 
 |  |  |  | 
 | 
			
		
	
	
		
		
			
				
					|  |  | 
 |