From: Roland Scheidegger <srol...@vmware.com>

When there's an error, also need to flush the stream, otherwise an assertion
is hit (meaning you don't actually see the error neither).
---
 src/gallium/auxiliary/gallivm/lp_bld_debug.cpp | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/src/gallium/auxiliary/gallivm/lp_bld_debug.cpp 
b/src/gallium/auxiliary/gallivm/lp_bld_debug.cpp
index 7e43b51..e0e40e7 100644
--- a/src/gallium/auxiliary/gallivm/lp_bld_debug.cpp
+++ b/src/gallium/auxiliary/gallivm/lp_bld_debug.cpp
@@ -227,6 +227,7 @@ disassemble(const void* func, llvm::raw_ostream & Out)
 
    if (!AsmInfo) {
       Out << "error: no assembly info for target " << Triple << "\n";
+      Out.flush();
       return 0;
    }
 
@@ -240,12 +241,14 @@ disassemble(const void* func, llvm::raw_ostream & Out)
    OwningPtr<const MCRegisterInfo> MRI(T->createMCRegInfo(Triple));
    if (!MRI) {
       Out << "error: no register info for target " << Triple.c_str() << "\n";
+      Out.flush();
       return 0;
    }
 
    OwningPtr<const MCInstrInfo> MII(T->createMCInstrInfo());
    if (!MII) {
       Out << "error: no instruction info for target " << Triple.c_str() << 
"\n";
+      Out.flush();
       return 0;
    }
 #endif
@@ -262,6 +265,7 @@ disassemble(const void* func, llvm::raw_ostream & Out)
 #endif
    if (!DisAsm) {
       Out << "error: no disassembler for target " << Triple << "\n";
+      Out.flush();
       return 0;
    }
 
@@ -281,6 +285,7 @@ disassemble(const void* func, llvm::raw_ostream & Out)
 #endif
    if (!Printer) {
       Out << "error: no instruction printer for target " << Triple.c_str() << 
"\n";
+      Out.flush();
       return 0;
    }
 
-- 
1.9.1
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to