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