X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=bertos%2Fcfg%2Fdebug.h;h=4aa33639d5765d3cf4c87461bf41aecb826d563c;hb=f6ea622f4d360194bbd4d0953f18271cbcfcd69e;hp=907610c75a9d7b92138e0a40d84d6ada59eb8539;hpb=6eb6ebb5ae5953a27977f0ef66a36344462b949a;p=bertos.git diff --git a/bertos/cfg/debug.h b/bertos/cfg/debug.h index 907610c7..4aa33639 100644 --- a/bertos/cfg/debug.h +++ b/bertos/cfg/debug.h @@ -168,16 +168,23 @@ * The assumption here is that valid pointers never point to low * memory regions. This helps catching pointers taken from * struct/class memebers when the struct pointer was NULL. + * + * \see ASSERT_VALID_PTR_OR_NULL() */ - #define ASSERT_VALID_PTR(p) ((void)(LIKELY((p) >= (void *)CPU_RAM_START) \ + #define ASSERT_VALID_PTR(p) ((void)(LIKELY((void *)(p) >= (void *)CPU_RAM_START) \ ? 0 : __invalid_ptr(p, #p, THIS_FILE, __LINE__))) /** * Check that the given pointer is not pointing to invalid memory. * + * \note The check for invalid memory is architecture specific and + * conservative. The current implementation only checks against + * a lower bound. + * * \see ASSERT_VALID_PTR() */ - #define ASSERT_VALID_PTR_OR_NULL(p) ((void)(LIKELY((p == NULL) || ((p) >= (void *)CPU_RAM_START)) \ + #define ASSERT_VALID_PTR_OR_NULL(p) ((void)(LIKELY((p == NULL) \ + || ((void *)(p) >= (void *)CPU_RAM_START)) \ ? 0 : __invalid_ptr((p), #p, THIS_FILE, __LINE__))) #if !CONFIG_KDEBUG_DISABLE_TRACE