Author: gbiv Date: Sat Aug 4 18:37:07 2018 New Revision: 338962 URL: http://llvm.org/viewvc/llvm-project?rev=338962&view=rev Log: Use Optional instead of unique_ptr; NFC
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. Modified: cfe/trunk/lib/Sema/AnalysisBasedWarnings.cpp Modified: cfe/trunk/lib/Sema/AnalysisBasedWarnings.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/AnalysisBasedWarnings.cpp?rev=338962&r1=338961&r2=338962&view=diff ============================================================================== --- cfe/trunk/lib/Sema/AnalysisBasedWarnings.cpp (original) +++ cfe/trunk/lib/Sema/AnalysisBasedWarnings.cpp Sat Aug 4 18:37:07 2018 @@ -2068,11 +2068,11 @@ AnalysisBasedWarnings::IssueWarnings(sem } // 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. _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits