Add BROTLI_ENABLE_DUMP build option

PiperOrigin-RevId: 520047051
This commit is contained in:
Evgenii Kliuchnikov 2023-03-28 16:17:13 +00:00 committed by Evgenii Kliuchnikov
parent 745fd08ef2
commit e5dba91c38
1 changed files with 14 additions and 3 deletions

View File

@ -14,10 +14,11 @@
* BROTLI_BUILD_LITTLE_ENDIAN forces to use little-endian optimizations * BROTLI_BUILD_LITTLE_ENDIAN forces to use little-endian optimizations
* BROTLI_BUILD_NO_RBIT disables "rbit" optimization for ARM CPUs * BROTLI_BUILD_NO_RBIT disables "rbit" optimization for ARM CPUs
* BROTLI_BUILD_NO_UNALIGNED_READ_FAST forces off the fast-unaligned-read * BROTLI_BUILD_NO_UNALIGNED_READ_FAST forces off the fast-unaligned-read
optimizations (mainly for testing purposes). optimizations (mainly for testing purposes)
* BROTLI_DEBUG dumps file name and line number when decoder detects stream * BROTLI_DEBUG dumps file name and line number when decoder detects stream
or memory error or memory error
* BROTLI_ENABLE_LOG enables asserts and dumps various state information * BROTLI_ENABLE_LOG enables asserts and dumps various state information
* BROTLI_ENABLE_DUMP overrides default "dump" behaviour
*/ */
#ifndef BROTLI_COMMON_PLATFORM_H_ #ifndef BROTLI_COMMON_PLATFORM_H_
@ -402,14 +403,24 @@ static BROTLI_INLINE void BROTLI_UNALIGNED_STORE_PTR(void* p, const void* v) {
#endif #endif
#if defined(BROTLI_DEBUG) || defined(BROTLI_ENABLE_LOG) #if defined(BROTLI_DEBUG) || defined(BROTLI_ENABLE_LOG)
#define BROTLI_ENABLE_DUMP_DEFAULT 1
#define BROTLI_DCHECK(x) assert(x) #define BROTLI_DCHECK(x) assert(x)
#else
#define BROTLI_ENABLE_DUMP_DEFAULT 0
#define BROTLI_DCHECK(x)
#endif
#if !defined(BROTLI_ENABLE_DUMP)
#define BROTLI_ENABLE_DUMP BROTLI_ENABLE_DUMP_DEFAULT
#endif
#if BROTLI_ENABLE_DUMP
static BROTLI_INLINE void BrotliDump(const char* f, int l, const char* fn) { static BROTLI_INLINE void BrotliDump(const char* f, int l, const char* fn) {
fprintf(stderr, "%s:%d (%s)\n", f, l, fn); fprintf(stderr, "%s:%d (%s)\n", f, l, fn);
fflush(stderr); fflush(stderr);
} }
#define BROTLI_DUMP() BrotliDump(__FILE__, __LINE__, __FUNCTION__) #define BROTLI_DUMP() BrotliDump(__FILE__, __LINE__, __FUNCTION__)
#else #else
#define BROTLI_DCHECK(x)
#define BROTLI_DUMP() (void)(0) #define BROTLI_DUMP() (void)(0)
#endif #endif
@ -517,7 +528,7 @@ BROTLI_UNUSED_FUNCTION void BrotliSuppressUnusedFunctions(void) {
BROTLI_UNUSED(&brotli_max_uint8_t); BROTLI_UNUSED(&brotli_max_uint8_t);
BROTLI_UNUSED(&BrotliDefaultAllocFunc); BROTLI_UNUSED(&BrotliDefaultAllocFunc);
BROTLI_UNUSED(&BrotliDefaultFreeFunc); BROTLI_UNUSED(&BrotliDefaultFreeFunc);
#if defined(BROTLI_DEBUG) || defined(BROTLI_ENABLE_LOG) #if BROTLI_ENABLE_DUMP
BROTLI_UNUSED(&BrotliDump); BROTLI_UNUSED(&BrotliDump);
#endif #endif
} }