"Fossies" - the Fresh Open Source Software Archive

Member "redis-5.0.7/deps/jemalloc/include/jemalloc/internal/assert.h" (19 Nov 2019, 1330 Bytes) of package /linux/misc/redis-5.0.7.tar.gz:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) C and C++ source code syntax highlighting (style: standard) with prefixed line numbers and code folding option. Alternatively you can here view or download the uninterpreted source code file.

    1 #include "jemalloc/internal/malloc_io.h"
    2 #include "jemalloc/internal/util.h"
    3 
    4 /*
    5  * Define a custom assert() in order to reduce the chances of deadlock during
    6  * assertion failure.
    7  */
    8 #ifndef assert
    9 #define assert(e) do {                          \
   10     if (unlikely(config_debug && !(e))) {               \
   11         malloc_printf(                      \
   12             "<jemalloc>: %s:%d: Failed assertion: \"%s\"\n",    \
   13             __FILE__, __LINE__, #e);                \
   14         abort();                        \
   15     }                               \
   16 } while (0)
   17 #endif
   18 
   19 #ifndef not_reached
   20 #define not_reached() do {                      \
   21     if (config_debug) {                     \
   22         malloc_printf(                      \
   23             "<jemalloc>: %s:%d: Unreachable code reached\n",    \
   24             __FILE__, __LINE__);                \
   25         abort();                        \
   26     }                               \
   27     unreachable();                          \
   28 } while (0)
   29 #endif
   30 
   31 #ifndef not_implemented
   32 #define not_implemented() do {                      \
   33     if (config_debug) {                     \
   34         malloc_printf("<jemalloc>: %s:%d: Not implemented\n",   \
   35             __FILE__, __LINE__);                \
   36         abort();                        \
   37     }                               \
   38 } while (0)
   39 #endif
   40 
   41 #ifndef assert_not_implemented
   42 #define assert_not_implemented(e) do {                  \
   43     if (unlikely(config_debug && !(e))) {               \
   44         not_implemented();                  \
   45     }                               \
   46 } while (0)
   47 #endif
   48 
   49 /* Use to assert a particular configuration, e.g., cassert(config_debug). */
   50 #ifndef cassert
   51 #define cassert(c) do {                         \
   52     if (unlikely(!(c))) {                       \
   53         not_reached();                      \
   54     }                               \
   55 } while (0)
   56 #endif