diff options
author | Steve Naroff <snaroff@apple.com> | 2009-10-15 22:23:48 +0000 |
---|---|---|
committer | Steve Naroff <snaroff@apple.com> | 2009-10-15 22:23:48 +0000 |
commit | e19944c93961b7618f4f3f3185f698f46369ea54 (patch) | |
tree | a7341a06516c4e9d218ac2ed9a0452afed31d237 /lib/Frontend/ASTUnit.cpp | |
parent | 8c4195eefb90e7d6c06af57f5c845601d91a749a (diff) |
Make sure temporary files get unlinked.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@84208 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Frontend/ASTUnit.cpp')
-rw-r--r-- | lib/Frontend/ASTUnit.cpp | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/lib/Frontend/ASTUnit.cpp b/lib/Frontend/ASTUnit.cpp index d3475b5236..3b2aa75008 100644 --- a/lib/Frontend/ASTUnit.cpp +++ b/lib/Frontend/ASTUnit.cpp @@ -24,8 +24,11 @@ using namespace clang; -ASTUnit::ASTUnit(Diagnostic &_Diags) : Diags(_Diags) { } -ASTUnit::~ASTUnit() { } +ASTUnit::ASTUnit(Diagnostic &_Diags) : Diags(_Diags), tempFile(false) { } +ASTUnit::~ASTUnit() { + if (tempFile) + unlink(getPCHFileName().c_str()); +} namespace { @@ -80,6 +83,10 @@ const std::string &ASTUnit::getOriginalSourceFileName() { return dyn_cast<PCHReader>(Ctx->getExternalSource())->getOriginalSourceFile(); } +const std::string &ASTUnit::getPCHFileName() { + return dyn_cast<PCHReader>(Ctx->getExternalSource())->getFileName(); +} + FileManager &ASTUnit::getFileManager() { return HeaderInfo->getFileMgr(); } |