diff --git a/tools/llvm-mc/llvm-mc.cpp b/tools/llvm-mc/llvm-mc.cpp index 666f0babf32..66e126092db 100644 --- a/tools/llvm-mc/llvm-mc.cpp +++ b/tools/llvm-mc/llvm-mc.cpp @@ -311,6 +311,10 @@ static int AssembleInput(const char *ProgName) { if (Out != &fouts()) delete Out; + // Delete output on errors. + if (Res && OutputFilename != "-") + sys::Path(OutputFilename).eraseFromDisk(); + return Res; }