summaryrefslogtreecommitdiffstats
path: root/clang/lib/Frontend/CompilerInstance.cpp
diff options
context:
space:
mode:
authorAlexander Kornienko <alexfh@google.com>2014-11-17 23:46:02 +0000
committerAlexander Kornienko <alexfh@google.com>2014-11-17 23:46:02 +0000
commit41c247a677f0dafaa13fc05a028275334d5df779 (patch)
treeed924630113ca0750c462364131a85f1894d8bdf /clang/lib/Frontend/CompilerInstance.cpp
parentd60b82f93eee090650d848c45f34dcf9d3ffa0ea (diff)
downloadbcm5719-llvm-41c247a677f0dafaa13fc05a028275334d5df779.tar.gz
bcm5719-llvm-41c247a677f0dafaa13fc05a028275334d5df779.zip
Make DiagnosticsEngine::takeClient return std::unique_ptr<>
Summary: Make DiagnosticsEngine::takeClient return std::unique_ptr<>. Updated callers to store conditional ownership using a pair of pointer and unique_ptr instead of a pointer + bool. Updated code that temporarily registers clients to use the non-owning registration (+ removed extra calls to takeClient). Reviewers: dblaikie Reviewed By: dblaikie Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D6294 llvm-svn: 222193
Diffstat (limited to 'clang/lib/Frontend/CompilerInstance.cpp')
-rw-r--r--clang/lib/Frontend/CompilerInstance.cpp8
1 files changed, 3 insertions, 5 deletions
diff --git a/clang/lib/Frontend/CompilerInstance.cpp b/clang/lib/Frontend/CompilerInstance.cpp
index ac9de48ce3d..b059965f2f0 100644
--- a/clang/lib/Frontend/CompilerInstance.cpp
+++ b/clang/lib/Frontend/CompilerInstance.cpp
@@ -159,9 +159,8 @@ static void SetUpDiagnosticLog(DiagnosticOptions *DiagOpts,
if (CodeGenOpts)
Logger->setDwarfDebugFlags(CodeGenOpts->DwarfDebugFlags);
assert(Diags.ownsClient());
- Diags.setClient(new ChainedDiagnosticConsumer(
- std::unique_ptr<DiagnosticConsumer>(Diags.takeClient()),
- std::move(Logger)));
+ Diags.setClient(
+ new ChainedDiagnosticConsumer(Diags.takeClient(), std::move(Logger)));
}
static void SetupSerializedDiagnostics(DiagnosticOptions *DiagOpts,
@@ -172,8 +171,7 @@ static void SetupSerializedDiagnostics(DiagnosticOptions *DiagOpts,
if (Diags.ownsClient()) {
Diags.setClient(new ChainedDiagnosticConsumer(
- std::unique_ptr<DiagnosticConsumer>(Diags.takeClient()),
- std::move(SerializedConsumer)));
+ Diags.takeClient(), std::move(SerializedConsumer)));
} else {
Diags.setClient(new ChainedDiagnosticConsumer(
Diags.getClient(), std::move(SerializedConsumer)));
OpenPOWER on IntegriCloud