We were trying to print the error message after disposing the message object. --- src/gallium/drivers/radeon/radeon_llvm_emit.c | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-)
diff --git a/src/gallium/drivers/radeon/radeon_llvm_emit.c b/src/gallium/drivers/radeon/radeon_llvm_emit.c index 6a394b2..1b17dd4 100644 --- a/src/gallium/drivers/radeon/radeon_llvm_emit.c +++ b/src/gallium/drivers/radeon/radeon_llvm_emit.c @@ -83,16 +83,13 @@ static LLVMTargetRef get_r600_target() { #if HAVE_LLVM >= 0x0305 static void radeonDiagnosticHandler(LLVMDiagnosticInfoRef di, void *context) { - unsigned int *diagnosticflag; - char *diaginfo_message; - - diaginfo_message = LLVMGetDiagInfoDescription(di); - LLVMDisposeMessage(diaginfo_message); - - diagnosticflag = (unsigned int *)context; if (LLVMGetDiagInfoSeverity(di) == LLVMDSError) { + unsigned int *diagnosticflag = (unsigned int *)context; + char *diaginfo_message = LLVMGetDiagInfoDescription(di); + *diagnosticflag = 1; fprintf(stderr,"LLVM triggered Diagnostic Handler: %s\n", diaginfo_message); + LLVMDisposeMessage(diaginfo_message); } } -- 1.8.1.5 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev