Index: include/llvm/Bitcode/NaCl/NaClBitcodeMungeUtils.h |
diff --git a/include/llvm/Bitcode/NaCl/NaClBitcodeMungeUtils.h b/include/llvm/Bitcode/NaCl/NaClBitcodeMungeUtils.h |
index c5cc31187be3765ea56081598cf9ccf83e8fb62b..6d3481a2df59fdbc9822eaef6a4858d389bf5793 100644 |
--- a/include/llvm/Bitcode/NaCl/NaClBitcodeMungeUtils.h |
+++ b/include/llvm/Bitcode/NaCl/NaClBitcodeMungeUtils.h |
@@ -238,7 +238,9 @@ public: |
bool write(SmallVectorImpl<char> &Buffer, bool AddHeader, |
const WriteFlags &Flags) const { |
- return writeMaybeRepair(Buffer, AddHeader, Flags).NumErrors == 0; |
+ WriteResults Results = writeMaybeRepair(Buffer, AddHeader, Flags); |
+ return Results.NumErrors == 0 |
+ || (Flags.getTryToRecover() && Results.NumErrors == Results.NumRepairs); |
} |
bool write(SmallVectorImpl<char> &Buffer, bool AddHeader) const { |