Make sure to delete the output file if there is an error


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7481 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/utils/TableGen/TableGen.cpp b/utils/TableGen/TableGen.cpp
index 4b0cd9d..088dcbe 100644
--- a/utils/TableGen/TableGen.cpp
+++ b/utils/TableGen/TableGen.cpp
@@ -431,7 +431,10 @@
     }
   } catch (const std::string &Error) {
     std::cerr << Error << "\n";
-    if (Out != &std::cout) delete Out;
+    if (Out != &std::cout) {
+      delete Out;                             // Close the file
+      std::remove(OutputFilename.c_str());    // Remove the file, it's broken
+    }
     return 1;
   }