]> granicus.if.org Git - clang/commitdiff
Use Optional instead of unique_ptr; NFC
authorGeorge Burgess IV <george.burgess.iv@gmail.com>
Sun, 5 Aug 2018 01:37:07 +0000 (01:37 +0000)
committerGeorge Burgess IV <george.burgess.iv@gmail.com>
Sun, 5 Aug 2018 01:37:07 +0000 (01:37 +0000)
Looks like the only reason we use a unique_ptr here is so that we can
conditionally construct a LogicalErrorHandler. It's a small type, and
Optional can do the same thing with 100% fewer heap allocations.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@338962 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Sema/AnalysisBasedWarnings.cpp

index ed240f4ed292b28f2b2bf2ddae8d16f36640c5e7..15a0adb3cdebfdf97fa9f6f75db4a224ea2ad6f5 100644 (file)
@@ -2068,11 +2068,11 @@ AnalysisBasedWarnings::IssueWarnings(sema::AnalysisBasedWarnings::Policy P,
   }
 
   // Install the logical handler for -Wtautological-overlap-compare
-  std::unique_ptr<LogicalErrorHandler> LEH;
+  llvm::Optional<LogicalErrorHandler> LEH;
   if (!Diags.isIgnored(diag::warn_tautological_overlap_comparison,
                        D->getLocStart())) {
-    LEH.reset(new LogicalErrorHandler(S));
-    AC.getCFGBuildOptions().Observer = LEH.get();
+    LEH.emplace(S);
+    AC.getCFGBuildOptions().Observer = &*LEH;
   }
 
   // Emit delayed diagnostics.