Refactor a bit & -M bug fixed.
1. Use llvm::tool_output_file instead of llvm::raw_stream. The former
can automatically deleted itself from filesystem once the compilation failed.
2. Fix -M bug which causes segfault previously.
diff --git a/slang.h b/slang.h
index 67f8560..a614135 100644
--- a/slang.h
+++ b/slang.h
@@ -15,7 +15,7 @@
#include "slang_diagnostic_buffer.h"
namespace llvm {
- class raw_ostream;
+ class tool_output_file;
}
namespace clang {
@@ -100,9 +100,9 @@
OutputType mOT;
// Output stream
- llvm::OwningPtr<llvm::raw_ostream> mOS;
+ llvm::OwningPtr<llvm::tool_output_file> mOS;
// Dependency output stream
- llvm::OwningPtr<llvm::raw_ostream> mDOS;
+ llvm::OwningPtr<llvm::tool_output_file> mDOS;
std::vector<std::string> mIncludePaths;