aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Dunbar <daniel@zuster.org>2009-05-26 16:15:44 +0000
committerDaniel Dunbar <daniel@zuster.org>2009-05-26 16:15:44 +0000
commit8e6e70928adebea871389febd9b54ca82821dc87 (patch)
tree48159e2a3456c7539945ae8e23d6fc0f757560ef
parent187ba159b04d8cc760daeee5cfbbc69450b2d50d (diff)
The driver/diagnostic client don't need to be on the heap.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72418 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--tools/driver/driver.cpp22
1 files changed, 10 insertions, 12 deletions
diff --git a/tools/driver/driver.cpp b/tools/driver/driver.cpp
index e0f2826428..804bef4058 100644
--- a/tools/driver/driver.cpp
+++ b/tools/driver/driver.cpp
@@ -169,15 +169,13 @@ int main(int argc, const char **argv) {
llvm::PrettyStackTraceProgram X(argc, argv);
llvm::sys::Path Path = GetExecutablePath(argv[0]);
- llvm::OwningPtr<DiagnosticClient>
- DiagClient(new DriverDiagnosticPrinter(Path.getBasename(), llvm::errs()));
+ DriverDiagnosticPrinter DiagClient(Path.getBasename(), llvm::errs());
- Diagnostic Diags(DiagClient.get());
+ Diagnostic Diags(&DiagClient);
- llvm::OwningPtr<Driver>
- TheDriver(new Driver(Path.getBasename().c_str(), Path.getDirname().c_str(),
- llvm::sys::getHostTriple().c_str(),
- "a.out", Diags));
+ Driver TheDriver(Path.getBasename().c_str(), Path.getDirname().c_str(),
+ llvm::sys::getHostTriple().c_str(),
+ "a.out", Diags);
llvm::OwningPtr<Compilation> C;
@@ -190,8 +188,8 @@ int main(int argc, const char **argv) {
ApplyQAOverride(StringPointers, OverrideStr, SavedStrings);
- C.reset(TheDriver->BuildCompilation(StringPointers.size(),
- &StringPointers[0]));
+ C.reset(TheDriver.BuildCompilation(StringPointers.size(),
+ &StringPointers[0]));
} else if (const char *Cur = ::getenv("CCC_ADD_ARGS")) {
std::vector<const char*> StringPointers;
@@ -214,10 +212,10 @@ int main(int argc, const char **argv) {
StringPointers.insert(StringPointers.end(), argv + 1, argv + argc);
- C.reset(TheDriver->BuildCompilation(StringPointers.size(),
- &StringPointers[0]));
+ C.reset(TheDriver.BuildCompilation(StringPointers.size(),
+ &StringPointers[0]));
} else
- C.reset(TheDriver->BuildCompilation(argc, argv));
+ C.reset(TheDriver.BuildCompilation(argc, argv));
int Res = 0;
if (C.get())