Re: [Mesa-dev] [PATCH] mesa: do not define NDEBUG to make sure assert work

2011-10-08 Thread Kenneth Graunke
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@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).
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev


Re: [Mesa-dev] [PATCH] mesa: do not define NDEBUG to make sure assert work

2011-10-08 Thread Yuanhan Liu
On Sat, Oct 08, 2011 at 02:17:29AM -0700, Kenneth Graunke wrote:
 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@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).

Thanks for the explanation. I thought assertion is a must. But from your
point, it's just for debug purpose.

Thanks,
Yuanhan Liu
___
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev