diff --git a/clang/tools/driver/driver.cpp b/clang/tools/driver/driver.cpp index e0f282642876..804bef4058c9 100644 --- a/clang/tools/driver/driver.cpp +++ b/clang/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())