[Mesa-dev] [PATCH] mesa: do not define NDEBUG to make sure assert work
Kenneth Graunke
kenneth at whitecape.org
Sat Oct 8 02:17:29 PDT 2011
On 10/08/2011 02:08 AM, Yuanhan Liu wrote:
> If you include "mtypes.h", which would define macro NDEBUG, before
> including "compiler.h", you would find that the assert macro will no
> longer work; it just make it slient by replacing it with ((void) (0));
>
> Signed-off-by: Yuanhan Liu <yuanhan.liu at linux.intel.com>
> ---
> src/mesa/main/mtypes.h | 3 ---
> 1 files changed, 0 insertions(+), 3 deletions(-)
>
> diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h
> index 749324d..5edecf2 100644
> --- a/src/mesa/main/mtypes.h
> +++ b/src/mesa/main/mtypes.h
> @@ -3336,9 +3336,6 @@ extern int MESA_DEBUG_FLAGS;
Isn't this intentional? To give some context to the patch:
#ifdef DEBUG
extern int MESA_VERBOSE;
extern int MESA_DEBUG_FLAGS;
# define MESA_FUNCTION __FUNCTION__
#else
> # define MESA_VERBOSE 0
> # define MESA_DEBUG_FLAGS 0
> # define MESA_FUNCTION "a function"
> -# ifndef NDEBUG
> -# define NDEBUG
> -# endif
> #endif
So NDEBUG only gets defined if !DEBUG. In other words, assertions
happen if you build with --enable-debug, but not in release mode (since
it's extra overhead).
More information about the mesa-dev
mailing list