summaryrefslogtreecommitdiffstats
path: root/clang/lib/Frontend
diff options
context:
space:
mode:
authorSteve Naroff <snaroff@apple.com>2009-10-15 22:23:48 +0000
committerSteve Naroff <snaroff@apple.com>2009-10-15 22:23:48 +0000
commit44cd60eebec2f4c8152f58c4b16eb20c9e265119 (patch)
tree5fe7624af9090f3c87e26f4d0762499facb0bb88 /clang/lib/Frontend
parentfb8e47323f54b6cdf037a20c005bc56b9b3d92a2 (diff)
downloadbcm5719-llvm-44cd60eebec2f4c8152f58c4b16eb20c9e265119.tar.gz
bcm5719-llvm-44cd60eebec2f4c8152f58c4b16eb20c9e265119.zip
Make sure temporary files get unlinked.
llvm-svn: 84208
Diffstat (limited to 'clang/lib/Frontend')
-rw-r--r--clang/lib/Frontend/ASTUnit.cpp11
1 files changed, 9 insertions, 2 deletions
diff --git a/clang/lib/Frontend/ASTUnit.cpp b/clang/lib/Frontend/ASTUnit.cpp
index d3475b5236d..3b2aa75008e 100644
--- a/clang/lib/Frontend/ASTUnit.cpp
+++ b/clang/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();
}
OpenPOWER on IntegriCloud