gallium/radeon: Only print a message for LLVM diagnostic errors
authorTom Stellard <thomas.stellard@amd.com>
Wed, 18 Jun 2014 20:58:33 +0000 (16:58 -0400)
committerTom Stellard <thomas.stellard@amd.com>
Wed, 2 Jul 2014 19:15:13 +0000 (15:15 -0400)
We were printing messages for all diagnostic types, which was
spamming the console for some OpenCL programs.

src/gallium/drivers/radeon/radeon_llvm_emit.c

index 891781f6c831f3520b99e1020157a6dac16cb99a..6a394b265e441ce00382fa5da02654884d442cfa 100644 (file)
@@ -87,11 +87,13 @@ static void radeonDiagnosticHandler(LLVMDiagnosticInfoRef di, void *context) {
        char *diaginfo_message;
 
        diaginfo_message = LLVMGetDiagInfoDescription(di);
-       fprintf(stderr,"LLVM triggered Diagnostic Handler: %s\n", diaginfo_message);
        LLVMDisposeMessage(diaginfo_message);
 
        diagnosticflag = (unsigned int *)context;
-       *diagnosticflag = ((LLVMDSError == LLVMGetDiagInfoSeverity(di)) ? 1 : 0);
+       if (LLVMGetDiagInfoSeverity(di) == LLVMDSError) {
+               *diagnosticflag = 1;
+               fprintf(stderr,"LLVM triggered Diagnostic Handler: %s\n", diaginfo_message);
+       }
 }
 
 #endif