From: Roland Scheidegger Date: Wed, 14 May 2014 01:23:09 +0000 (+0200) Subject: gallivm: fix output stream flushing in error case for disassembly. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=18c6454ad19d5d323af7b3318f18c409b84c7a12;p=mesa.git gallivm: fix output stream flushing in error case for disassembly. 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). --- diff --git a/src/gallium/auxiliary/gallivm/lp_bld_debug.cpp b/src/gallium/auxiliary/gallivm/lp_bld_debug.cpp index 85953a225b9..5d6d45d61ec 100644 --- a/src/gallium/auxiliary/gallivm/lp_bld_debug.cpp +++ b/src/gallium/auxiliary/gallivm/lp_bld_debug.cpp @@ -201,6 +201,7 @@ disassemble(const void* func, llvm::raw_ostream & Out) if (!AsmInfo) { Out << "error: no assembly info for target " << Triple << "\n"; + Out.flush(); return 0; } @@ -209,12 +210,14 @@ disassemble(const void* func, llvm::raw_ostream & Out) OwningPtr MRI(T->createMCRegInfo(Triple)); if (!MRI) { Out << "error: no register info for target " << Triple.c_str() << "\n"; + Out.flush(); return 0; } OwningPtr MII(T->createMCInstrInfo()); if (!MII) { Out << "error: no instruction info for target " << Triple.c_str() << "\n"; + Out.flush(); return 0; } @@ -228,6 +231,7 @@ disassemble(const void* func, llvm::raw_ostream & Out) #endif if (!DisAsm) { Out << "error: no disassembler for target " << Triple << "\n"; + Out.flush(); return 0; } @@ -236,6 +240,7 @@ disassemble(const void* func, llvm::raw_ostream & Out) T->createMCInstPrinter(AsmPrinterVariant, *AsmInfo, *MII, *MRI, *STI)); if (!Printer) { Out << "error: no instruction printer for target " << Triple.c_str() << "\n"; + Out.flush(); return 0; }