On 01/06/15 14:20, Brian Paul wrote:
---
src/gallium/auxiliary/draw/draw_llvm.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/src/gallium/auxiliary/draw/draw_llvm.c
b/src/gallium/auxiliary/draw/draw_llvm.c
index b9e55af..885c27c 100644
--- a/src/gallium/auxiliary/draw/draw_llvm.c
+++ b/src/gallium/auxiliary/draw/draw_llvm.c
@@ -97,6 +97,7 @@ create_jit_dvbuffer_type(struct gallivm_state *gallivm,
dvbuffer_type = LLVMStructTypeInContext(gallivm->context, elem_types,
Elements(elem_types), 0);
+ (void) target; /* silence unused var warning for non-debug build */
LP_CHECK_MEMBER_OFFSET(struct draw_vertex_buffer, map,
target, dvbuffer_type,
DRAW_JIT_DVBUFFER_MAP);
@@ -133,6 +134,7 @@ create_jit_texture_type(struct gallivm_state *gallivm,
const char *struct_name)
texture_type = LLVMStructTypeInContext(gallivm->context, elem_types,
Elements(elem_types), 0);
+ (void) target; /* silence unused var warning for non-debug build */
LP_CHECK_MEMBER_OFFSET(struct draw_jit_texture, width,
target, texture_type,
DRAW_JIT_TEXTURE_WIDTH);
@@ -290,6 +292,7 @@ create_gs_jit_context_type(struct gallivm_state *gallivm,
context_type = LLVMStructTypeInContext(gallivm->context, elem_types,
Elements(elem_types), 0);
+ (void) target; /* silence unused var warning for non-debug build */
LP_CHECK_MEMBER_OFFSET(struct draw_gs_jit_context, constants,
target, context_type, DRAW_GS_JIT_CTX_CONSTANTS);
LP_CHECK_MEMBER_OFFSET(struct draw_gs_jit_context, num_constants,
@@ -353,6 +356,7 @@ create_jit_vertex_buffer_type(struct gallivm_state *gallivm,
vb_type = LLVMStructTypeInContext(gallivm->context, elem_types,
Elements(elem_types), 0);
+ (void) target; /* silence unused var warning for non-debug build */
LP_CHECK_MEMBER_OFFSET(struct pipe_vertex_buffer, stride,
target, vb_type, 0);
LP_CHECK_MEMBER_OFFSET(struct pipe_vertex_buffer, buffer_offset,
Series LGTM.
Reviewed-by: Jose Fonseca <jfons...@vmware.com>
The reasons these warnings are popping up is because we're using
system's assert macro, instead of src/gallium/auxiliary/util/u_debug.h
src/gallium/auxiliary/util/u_debug.h have two advantages over system's
assert macro:
1. it avoids these unused variable warnings because the non-debug
version includes the expression:
#define debug_assert(expr) (void)(0 && (expr))
2. On windows it will dump the assert failure message as
stderr/OutputDebugMessage (instead of a MessageBox.)
That said, I agree that trying to override system's assert is unsustainable.
Your series addresses issue 1. For issue 2, it might be worthwhile to
override the _assert/_wassert built-in implementations instead. This is
the approach I recently did on Apitrace and it seems to work just as well:
https://github.com/apitrace/apitrace/blob/master/wrappers/assert.cpp
This is not urgent. But if you find yourself wondering why assertion
failure messages don't appear on logs, it might be worth doing it.
Jose
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev