llvmbot wrote:

<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-clang-static-analyzer-1

Author: Victor Chernyakin (localspook)

<details>
<summary>Changes</summary>

This is a followup to #<!-- -->173131. `llvm/include/llvm/ADT/ScopeExit.h` has 
a nontrivial change (the deprecation message), everything else is a mechanical 
replacement.

---

Patch is 135.92 KiB, truncated to 20.00 KiB below, full version: 
https://github.com/llvm/llvm-project/pull/174030.diff


160 Files Affected:

- (modified) bolt/lib/Profile/DataAggregator.cpp (+1-1) 
- (modified) clang-tools-extra/clangd/ClangdLSPServer.cpp (+1-1) 
- (modified) clang-tools-extra/clangd/Diagnostics.cpp (+1-1) 
- (modified) clang-tools-extra/clangd/GlobalCompilationDatabase.cpp (+1-1) 
- (modified) clang-tools-extra/clangd/SystemIncludeExtractor.cpp (+1-1) 
- (modified) clang-tools-extra/clangd/TUScheduler.cpp (+2-3) 
- (modified) clang-tools-extra/clangd/XRefs.cpp (+1-1) 
- (modified) clang-tools-extra/clangd/index/dex/dexp/Dexp.cpp (+1-1) 
- (modified) clang-tools-extra/clangd/support/FileCache.cpp (+2-2) 
- (modified) clang-tools-extra/clangd/support/Threading.cpp (+1-1) 
- (modified) clang-tools-extra/clangd/support/Trace.cpp (+1-1) 
- (modified) clang-tools-extra/clangd/unittests/CompileCommandsTests.cpp (+4-5) 
- (modified) clang-tools-extra/clangd/unittests/TUSchedulerTests.cpp (+1-1) 
- (modified) clang-tools-extra/clangd/unittests/TestTU.cpp (+2-2) 
- (modified) clang/lib/AST/ASTImporter.cpp (+3-5) 
- (modified) clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp (+1-1) 
- (modified) clang/lib/Analysis/FlowSensitive/HTMLLogger.cpp (+2-4) 
- (modified) clang/lib/Analysis/ThreadSafety.cpp (+1-1) 
- (modified) clang/lib/Analysis/ThreadSafetyCommon.cpp (+7-7) 
- (modified) clang/lib/CodeGen/CGCoroutine.cpp (+2-4) 
- (modified) clang/lib/CodeGen/CGExpr.cpp (+2-3) 
- (modified) clang/lib/CodeGen/CGExprScalar.cpp (+2-2) 
- (modified) clang/lib/CodeGen/CGHLSLRuntime.cpp (+1-1) 
- (modified) clang/lib/CodeGen/CodeGenFunction.cpp (+1-1) 
- (modified) clang/lib/DependencyScanning/DependencyScannerImpl.cpp (+1-1) 
- (modified) clang/lib/DirectoryWatcher/linux/DirectoryWatcher-linux.cpp (+1-1) 
- (modified) clang/lib/Driver/ToolChains/Clang.cpp (+2-2) 
- (modified) clang/lib/Frontend/ASTUnit.cpp (+1-1) 
- (modified) clang/lib/Frontend/CompilerInstance.cpp (+1-1) 
- (modified) clang/lib/Frontend/FrontendAction.cpp (+1-1) 
- (modified) clang/lib/Index/IndexTypeSourceInfo.cpp (+2-2) 
- (modified) clang/lib/Lex/DependencyDirectivesScanner.cpp (+2-2) 
- (modified) clang/lib/Lex/LiteralSupport.cpp (+1-1) 
- (modified) clang/lib/Lex/PPDirectives.cpp (+1-1) 
- (modified) clang/lib/Parse/ParseCXXInlineMethods.cpp (+1-1) 
- (modified) clang/lib/Parse/ParseStmt.cpp (+1-2) 
- (modified) clang/lib/Sema/SemaDecl.cpp (+1-1) 
- (modified) clang/lib/Sema/SemaOverload.cpp (+1-1) 
- (modified) clang/lib/Serialization/ASTReader.cpp (+1-1) 
- (modified) clang/lib/Serialization/ASTWriter.cpp (+1-1) 
- (modified) clang/lib/StaticAnalyzer/Core/ConstraintManager.cpp (+1-2) 
- (modified) clang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp (+1-2) 
- (modified) clang/lib/Testing/TestAST.cpp (+2-2) 
- (modified) clang/unittests/StaticAnalyzer/UnsignedStatDemo.cpp (+1-1) 
- (modified) flang/lib/Lower/Bridge.cpp (+1-2) 
- (modified) flang/lib/Optimizer/CodeGen/TypeConverter.cpp (+2-2) 
- (modified) lldb/source/Commands/CommandObjectTarget.cpp (+1-1) 
- (modified) lldb/source/Host/common/MemoryMonitor.cpp (+1-1) 
- (modified) lldb/source/Host/macosx/objcxx/Host.mm (+3-4) 
- (modified) lldb/source/Host/macosx/objcxx/HostInfoMacOSX.mm (+4-4) 
- (modified) lldb/source/Host/windows/ProcessLauncherWindows.cpp (+4-4) 
- (modified) lldb/source/Interpreter/CommandInterpreter.cpp (+1-1) 
- (modified) lldb/source/Interpreter/CommandObject.cpp (+1-1) 
- (modified) 
lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionSourceCode.cpp (+2-3) 
- (modified) lldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.cpp 
(+2-2) 
- (modified) 
lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp
 (+2-2) 
- (modified) lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp (+1-1) 
- (modified) lldb/source/Plugins/Platform/POSIX/PlatformPOSIX.cpp (+5-6) 
- (modified) lldb/source/Plugins/Platform/Windows/PlatformWindows.cpp (+9-10) 
- (modified) lldb/source/Plugins/Process/Linux/NativeProcessLinux.cpp (+2-2) 
- (modified) lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp 
(+3-5) 
- (modified) lldb/source/Target/Process.cpp (+1-1) 
- (modified) lldb/source/Target/Target.cpp (+2-2) 
- (modified) lldb/tools/lldb-dap/DAP.cpp (+3-3) 
- (modified) lldb/tools/lldb-dap/tool/lldb-dap.cpp (+1-1) 
- (modified) lldb/tools/lldb-mcp/lldb-mcp.cpp (+1-1) 
- (modified) lldb/tools/lldb-test/lldb-test.cpp (+1-2) 
- (modified) lldb/unittests/Host/HostTest.cpp (+1-1) 
- (modified) llvm/include/llvm/ADT/ScopeExit.h (+8-1) 
- (modified) llvm/include/llvm/Transforms/Utils/SSAUpdaterImpl.h (+1-1) 
- (modified) llvm/lib/Analysis/BasicAliasAnalysis.cpp (+1-1) 
- (modified) llvm/lib/Analysis/LazyCallGraph.cpp (+11-11) 
- (modified) llvm/lib/Analysis/LoopInfo.cpp (+1-1) 
- (modified) llvm/lib/Analysis/ScalarEvolution.cpp (+3-3) 
- (modified) llvm/lib/Analysis/ValueTracking.cpp (+1-1) 
- (modified) llvm/lib/AsmParser/LLParser.cpp (+2-2) 
- (modified) llvm/lib/CAS/OnDiskGraphDB.cpp (+1-1) 
- (modified) llvm/lib/CAS/UnifiedOnDiskCache.cpp (+6-6) 
- (modified) llvm/lib/CodeGen/GlobalISel/GISelValueTracking.cpp (+2-2) 
- (modified) llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp (+1-1) 
- (modified) llvm/lib/CodeGen/GlobalISel/InstructionSelect.cpp (+1-1) 
- (modified) llvm/lib/CodeGen/IfConversion.cpp (+1-1) 
- (modified) llvm/lib/CodeGen/ResetMachineFunctionPass.cpp (+2-2) 
- (modified) llvm/lib/ExecutionEngine/Orc/LoadLinkableFile.cpp (+1-1) 
- (modified) llvm/lib/ExecutionEngine/Orc/MachO.cpp (+1-1) 
- (modified) 
llvm/lib/ExecutionEngine/Orc/TargetProcess/SimpleExecutorMemoryManager.cpp 
(+1-1) 
- (modified) llvm/lib/LTO/LTO.cpp (+3-3) 
- (modified) llvm/lib/LTO/ThinLTOCodeGenerator.cpp (+1-1) 
- (modified) llvm/lib/MC/MCExpr.cpp (+1-1) 
- (modified) llvm/lib/MC/MCParser/ELFAsmParser.cpp (+1-2) 
- (modified) llvm/lib/ObjectYAML/DXContainerYAML.cpp (+1-1) 
- (modified) llvm/lib/Remarks/BitstreamRemarkSerializer.cpp (+2-2) 
- (modified) llvm/lib/Support/Parallel.cpp (+1-1) 
- (modified) llvm/lib/Support/Path.cpp (+1-1) 
- (modified) llvm/lib/Support/ThreadPool.cpp (+2-2) 
- (modified) llvm/lib/Support/Unix/Threading.inc (+1-1) 
- (modified) llvm/lib/Support/VirtualOutputBackends.cpp (+1-1) 
- (modified) llvm/lib/Support/Windows/Path.inc (+4-4) 
- (modified) llvm/lib/Support/Z3Solver.cpp (+1-1) 
- (modified) llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp (+1-1) 
- (modified) llvm/lib/Target/AArch64/AArch64FrameLowering.cpp (+1-1) 
- (modified) llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp (+1-1) 
- (modified) llvm/lib/Target/M68k/M68kInstrInfo.cpp (+1-1) 
- (modified) llvm/lib/Target/X86/X86FlagsCopyLowering.cpp (+1-1) 
- (modified) llvm/lib/Transforms/Coroutines/CoroFrame.cpp (+1-1) 
- (modified) llvm/lib/Transforms/IPO/ArgumentPromotion.cpp (+1-1) 
- (modified) llvm/lib/Transforms/IPO/Inliner.cpp (+1-1) 
- (modified) llvm/lib/Transforms/IPO/ModuleInliner.cpp (+1-1) 
- (modified) llvm/lib/Transforms/Instrumentation/PGOCtxProfFlattening.cpp 
(+1-1) 
- (modified) llvm/lib/Transforms/Scalar/ConstraintElimination.cpp (+2-2) 
- (modified) llvm/lib/Transforms/Scalar/JumpThreading.cpp (+1-1) 
- (modified) llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp (+1-1) 
- (modified) llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp (+1-1) 
- (modified) llvm/lib/Transforms/Utils/LoopUtils.cpp (+1-1) 
- (modified) llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp (+1-2) 
- (modified) llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp (+3-3) 
- (modified) llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp (+1-1) 
- (modified) llvm/lib/Transforms/Vectorize/VectorCombine.cpp (+1-1) 
- (modified) llvm/tools/gold/gold-plugin.cpp (+1-1) 
- (modified) llvm/tools/llc/llc.cpp (+1-1) 
- (modified) llvm/tools/llvm-exegesis/lib/BenchmarkResult.cpp (+1-1) 
- (modified) llvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp (+1-1) 
- (modified) llvm/tools/llvm-exegesis/lib/SubprocessMemory.cpp (+4-4) 
- (modified) llvm/tools/llvm-lto2/llvm-lto2.cpp (+1-1) 
- (modified) llvm/tools/llvm-mc/llvm-mc.cpp (+1-1) 
- (modified) llvm/tools/llvm-profdata/llvm-profdata.cpp (+1-1) 
- (modified) llvm/unittests/ADT/ScopeExitTest.cpp (+3-3) 
- (modified) llvm/unittests/ExecutionEngine/Orc/CoreAPIsTest.cpp (+3-3) 
- (modified) llvm/unittests/Support/MemoryBufferTest.cpp (+7-8) 
- (modified) llvm/unittests/Support/Path.cpp (+4-4) 
- (modified) llvm/unittests/Support/SignalsTest.cpp (+2-3) 
- (modified) llvm/unittests/Support/ThreadPool.cpp (+1-1) 
- (modified) llvm/unittests/Support/VirtualFileSystemTest.cpp (+1-2) 
- (modified) mlir/lib/Analysis/DataFlow/DeadCodeAnalysis.cpp (+2-2) 
- (modified) mlir/lib/Analysis/DataFlowFramework.cpp (+2-2) 
- (modified) mlir/lib/AsmParser/Parser.cpp (+3-3) 
- (modified) mlir/lib/Bindings/Python/IRAttributes.cpp (+2-2) 
- (modified) mlir/lib/Bytecode/Reader/BytecodeReader.cpp (+5-6) 
- (modified) mlir/lib/CAPI/Interfaces/Interfaces.cpp (+1-1) 
- (modified) mlir/lib/Conversion/ArmSMEToLLVM/ArmSMEToLLVM.cpp (+1-1) 
- (modified) mlir/lib/Conversion/LLVMCommon/TypeConverter.cpp (+1-1) 
- (modified) mlir/lib/Debug/ExecutionContext.cpp (+1-1) 
- (modified) mlir/lib/Dialect/Bufferization/IR/BufferizableOpInterface.cpp 
(+1-2) 
- (modified) mlir/lib/Dialect/LLVMIR/Transforms/InlinerInterfaceImpl.cpp (+1-1) 
- (modified) mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp (+4-4) 
- (modified) mlir/lib/Dialect/Linalg/Transforms/Interchange.cpp (+1-2) 
- (modified) mlir/lib/Dialect/SCF/Transforms/TileUsingInterface.cpp (+2-2) 
- (modified) mlir/lib/Dialect/Transform/IR/TransformOps.cpp (+1-1) 
- (modified) mlir/lib/Dialect/Transform/Interfaces/TransformInterfaces.cpp 
(+1-1) 
- (modified) mlir/lib/Dialect/Transform/PDLExtension/PDLExtensionOps.cpp (+1-1) 
- (modified) mlir/lib/IR/AsmPrinter.cpp (+2-2) 
- (modified) mlir/lib/Pass/Pass.cpp (+1-1) 
- (modified) mlir/lib/Pass/PassRegistry.cpp (+1-1) 
- (modified) mlir/lib/Rewrite/PatternApplicator.cpp (+1-1) 
- (modified) mlir/lib/Target/LLVM/NVVM/Target.cpp (+1-1) 
- (modified) mlir/lib/Target/LLVMIR/Dialect/GPU/SelectObjectAttr.cpp (+1-1) 
- (modified) mlir/lib/Target/LLVMIR/ModuleImport.cpp (+1-1) 
- (modified) mlir/lib/Transforms/Utils/DialectConversion.cpp (+1-1) 
- (modified) mlir/lib/Transforms/Utils/GreedyPatternRewriteDriver.cpp (+1-2) 
- (modified) mlir/test/lib/Dialect/Test/TestPatterns.cpp (+1-1) 


``````````diff
diff --git a/bolt/lib/Profile/DataAggregator.cpp 
b/bolt/lib/Profile/DataAggregator.cpp
index ed20ff3941cee..cce08658fefb9 100644
--- a/bolt/lib/Profile/DataAggregator.cpp
+++ b/bolt/lib/Profile/DataAggregator.cpp
@@ -347,7 +347,7 @@ bool DataAggregator::checkPerfDataMagic(StringRef FileName) 
{
 
   char Buf[7] = {0, 0, 0, 0, 0, 0, 0};
 
-  auto Close = make_scope_exit([&] { sys::fs::closeFile(*FD); });
+  llvm::scope_exit Close([&] { sys::fs::closeFile(*FD); });
   Expected<size_t> BytesRead = sys::fs::readNativeFileSlice(
       *FD, MutableArrayRef(Buf, sizeof(Buf)), 0);
   if (!BytesRead) {
diff --git a/clang-tools-extra/clangd/ClangdLSPServer.cpp 
b/clang-tools-extra/clangd/ClangdLSPServer.cpp
index 1518f177b06a0..761b07eceec83 100644
--- a/clang-tools-extra/clangd/ClangdLSPServer.cpp
+++ b/clang-tools-extra/clangd/ClangdLSPServer.cpp
@@ -433,7 +433,7 @@ class ClangdLSPServer::MessageHandler : public 
Transport::MessageHandler {
     // When the request ends, we can clean up the entry we just added.
     // The cookie lets us check that it hasn't been overwritten due to ID
     // reuse.
-    return Task.first.derive(llvm::make_scope_exit([this, StrID, Cookie] {
+    return Task.first.derive(llvm::scope_exit([this, StrID, Cookie] {
       std::lock_guard<std::mutex> Lock(RequestCancelersMutex);
       auto It = RequestCancelers.find(StrID);
       if (It != RequestCancelers.end() && It->second.second == Cookie)
diff --git a/clang-tools-extra/clangd/Diagnostics.cpp 
b/clang-tools-extra/clangd/Diagnostics.cpp
index bc605fda5b0ce..e10960ca5850f 100644
--- a/clang-tools-extra/clangd/Diagnostics.cpp
+++ b/clang-tools-extra/clangd/Diagnostics.cpp
@@ -880,7 +880,7 @@ void StoreDiags::HandleDiagnostic(DiagnosticsEngine::Level 
DiagLevel,
 void StoreDiags::flushLastDiag() {
   if (!LastDiag)
     return;
-  auto Finish = llvm::make_scope_exit([&, NDiags(Output.size())] {
+  llvm::scope_exit Finish([&, NDiags(Output.size())] {
     if (Output.size() == NDiags) // No new diag emitted.
       vlog("Dropped diagnostic: {0}: {1}", LastDiag->File, LastDiag->Message);
     LastDiag.reset();
diff --git a/clang-tools-extra/clangd/GlobalCompilationDatabase.cpp 
b/clang-tools-extra/clangd/GlobalCompilationDatabase.cpp
index d229a71867558..a1d9135111ca8 100644
--- a/clang-tools-extra/clangd/GlobalCompilationDatabase.cpp
+++ b/clang-tools-extra/clangd/GlobalCompilationDatabase.cpp
@@ -174,7 +174,7 @@ class 
DirectoryBasedGlobalCompilationDatabase::DirectoryCache {
     }
 
     std::lock_guard<std::mutex> Lock(Mu);
-    auto RequestBroadcast = llvm::make_scope_exit([&, OldCDB(CDB.get())] {
+    llvm::scope_exit RequestBroadcast([&, OldCDB(CDB.get())] {
       // If we loaded a new CDB, it should be broadcast at some point.
       if (CDB != nullptr && CDB.get() != OldCDB)
         NeedsBroadcast = true;
diff --git a/clang-tools-extra/clangd/SystemIncludeExtractor.cpp 
b/clang-tools-extra/clangd/SystemIncludeExtractor.cpp
index 4a5cd3bb78b2f..e781f355aa3e1 100644
--- a/clang-tools-extra/clangd/SystemIncludeExtractor.cpp
+++ b/clang-tools-extra/clangd/SystemIncludeExtractor.cpp
@@ -332,7 +332,7 @@ std::optional<std::string> 
run(llvm::ArrayRef<llvm::StringRef> Argv,
          EC.message());
     return std::nullopt;
   }
-  auto CleanUp = llvm::make_scope_exit(
+  llvm::scope_exit CleanUp(
       [&OutputPath]() { llvm::sys::fs::remove(OutputPath); });
 
   std::optional<llvm::StringRef> Redirects[] = {{""}, {""}, {""}};
diff --git a/clang-tools-extra/clangd/TUScheduler.cpp 
b/clang-tools-extra/clangd/TUScheduler.cpp
index 035e5e63d8fbb..0661ecb58008e 100644
--- a/clang-tools-extra/clangd/TUScheduler.cpp
+++ b/clang-tools-extra/clangd/TUScheduler.cpp
@@ -1003,8 +1003,7 @@ void ASTWorker::runWithAST(
       AST = NewAST ? std::make_unique<ParsedAST>(std::move(*NewAST)) : nullptr;
     }
     // Make sure we put the AST back into the LRU cache.
-    auto _ = llvm::make_scope_exit(
-        [&AST, this]() { IdleASTs.put(this, std::move(*AST)); });
+    llvm::scope_exit _([&AST, this]() { IdleASTs.put(this, std::move(*AST)); 
});
     // Run the user-provided action.
     if (!*AST)
       return Action(error(llvm::errc::invalid_argument, "invalid AST"));
@@ -1057,7 +1056,7 @@ void PreambleThread::build(Request Req) {
   Status.update([&](TUStatus &Status) {
     Status.PreambleActivity = PreambleAction::Building;
   });
-  auto _ = llvm::make_scope_exit([this, &Req, &ReusedPreamble] {
+  llvm::scope_exit _([this, &Req, &ReusedPreamble] {
     ASTPeer.updatePreamble(std::move(Req.CI), std::move(Req.Inputs),
                            LatestBuild, std::move(Req.CIDiags),
                            std::move(Req.WantDiags));
diff --git a/clang-tools-extra/clangd/XRefs.cpp 
b/clang-tools-extra/clangd/XRefs.cpp
index 4e330bf769d20..8a24d19a7d129 100644
--- a/clang-tools-extra/clangd/XRefs.cpp
+++ b/clang-tools-extra/clangd/XRefs.cpp
@@ -1097,7 +1097,7 @@ class FindControlFlow : public 
RecursiveASTVisitor<FindControlFlow> {
   // Traverses the subtree using Delegate() if any targets remain.
   template <typename Func>
   bool filterAndTraverse(DynTypedNode D, const Func &Delegate) {
-    auto RestoreIgnore = llvm::make_scope_exit(
+    llvm::scope_exit RestoreIgnore(
         [OldIgnore(Ignore), this] { Ignore = OldIgnore; });
     if (getFunctionBody(D))
       Ignore = All;
diff --git a/clang-tools-extra/clangd/index/dex/dexp/Dexp.cpp 
b/clang-tools-extra/clangd/index/dex/dexp/Dexp.cpp
index fa451daf1bb52..d3eb0e152cd0d 100644
--- a/clang-tools-extra/clangd/index/dex/dexp/Dexp.cpp
+++ b/clang-tools-extra/clangd/index/dex/dexp/Dexp.cpp
@@ -107,7 +107,7 @@ class Command {
     bool Ok = llvm::cl::ParseCommandLineOptions(Argv.size(), Argv.data(),
                                                 Overview, &OS);
     // must do this before opts are destroyed
-    auto Cleanup = llvm::make_scope_exit(llvm::cl::ResetCommandLineParser);
+    llvm::scope_exit Cleanup(llvm::cl::ResetCommandLineParser);
     if (Help.getNumOccurrences() > 0) {
       // Avoid printing parse errors in this case.
       // (Well, in theory. A bunch get printed to llvm::errs() regardless!)
diff --git a/clang-tools-extra/clangd/support/FileCache.cpp 
b/clang-tools-extra/clangd/support/FileCache.cpp
index cc59c648b062a..25de5a77e5bec 100644
--- a/clang-tools-extra/clangd/support/FileCache.cpp
+++ b/clang-tools-extra/clangd/support/FileCache.cpp
@@ -35,7 +35,7 @@ void FileCache::read(
 
   std::lock_guard<std::mutex> Lock(Mu);
   // We're going to update the cache and return whatever's in it.
-  auto Return = llvm::make_scope_exit(Read);
+  llvm::scope_exit Return(Read);
 
   // Return any sufficiently recent result without doing any further work.
   if (ValidTime > FreshTime)
@@ -43,7 +43,7 @@ void FileCache::read(
 
   // Ensure we always bump ValidTime, so that FreshTime imposes a hard limit on
   // how often we do IO.
-  auto BumpValidTime = llvm::make_scope_exit(
+  llvm::scope_exit BumpValidTime(
       [&] { ValidTime = std::chrono::steady_clock::now(); });
 
   // stat is cheaper than opening the file. It's usually unchanged.
diff --git a/clang-tools-extra/clangd/support/Threading.cpp 
b/clang-tools-extra/clangd/support/Threading.cpp
index f42db89b483c0..7017201e3a225 100644
--- a/clang-tools-extra/clangd/support/Threading.cpp
+++ b/clang-tools-extra/clangd/support/Threading.cpp
@@ -85,7 +85,7 @@ void AsyncTaskRunner::runAsync(const llvm::Twine &Name,
     ++InFlightTasks;
   }
 
-  auto CleanupTask = llvm::make_scope_exit([this]() {
+  llvm::scope_exit CleanupTask([this]() {
     std::lock_guard<std::mutex> Lock(Mutex);
     int NewTasksCnt = --InFlightTasks;
     if (NewTasksCnt == 0) {
diff --git a/clang-tools-extra/clangd/support/Trace.cpp 
b/clang-tools-extra/clangd/support/Trace.cpp
index 7c6490f2e92fb..196611b9b76d1 100644
--- a/clang-tools-extra/clangd/support/Trace.cpp
+++ b/clang-tools-extra/clangd/support/Trace.cpp
@@ -289,7 +289,7 @@ makeSpanContext(llvm::Twine Name, const Metric 
&LatencyMetric) {
     return std::make_pair(Context::current().clone(), nullptr);
   std::optional<WithContextValue> WithLatency;
   using Clock = std::chrono::high_resolution_clock;
-  WithLatency.emplace(llvm::make_scope_exit(
+  WithLatency.emplace(llvm::scope_exit(
       [StartTime = Clock::now(), Name = Name.str(), &LatencyMetric] {
         LatencyMetric.record(
             std::chrono::duration_cast<std::chrono::milliseconds>(Clock::now() 
-
diff --git a/clang-tools-extra/clangd/unittests/CompileCommandsTests.cpp 
b/clang-tools-extra/clangd/unittests/CompileCommandsTests.cpp
index 660540afd2320..4d59a6151c167 100644
--- a/clang-tools-extra/clangd/unittests/CompileCommandsTests.cpp
+++ b/clang-tools-extra/clangd/unittests/CompileCommandsTests.cpp
@@ -140,7 +140,7 @@ TEST(CommandMangler, ClangPathResolve) {
               ok());
   // /var/tmp is a symlink on Mac. Resolve it so we're asserting the right 
path.
   ASSERT_THAT(llvm::sys::fs::real_path(TempDir.str(), TempDir), ok());
-  auto CleanDir = llvm::make_scope_exit(
+  llvm::scope_exit CleanDir(
       [&] { llvm::sys::fs::remove_directories(TempDir); });
   ASSERT_THAT(llvm::sys::fs::create_directory(TempDir + "/bin"), ok());
   ASSERT_THAT(llvm::sys::fs::create_directory(TempDir + "/lib"), ok());
@@ -163,10 +163,9 @@ TEST(CommandMangler, ClangPathResolve) {
 
   // Set PATH to point to temp/bin so we can find 'foo' on it.
   ASSERT_TRUE(::getenv("PATH"));
-  auto RestorePath =
-      llvm::make_scope_exit([OldPath = std::string(::getenv("PATH"))] {
-        ::setenv("PATH", OldPath.c_str(), 1);
-      });
+  llvm::scope_exit RestorePath([OldPath = std::string(::getenv("PATH"))] {
+    ::setenv("PATH", OldPath.c_str(), 1);
+  });
   ::setenv("PATH", (TempDir + "/bin").str().c_str(), /*overwrite=*/1);
 
   // Test the case where the driver is a $PATH-relative path to a symlink.
diff --git a/clang-tools-extra/clangd/unittests/TUSchedulerTests.cpp 
b/clang-tools-extra/clangd/unittests/TUSchedulerTests.cpp
index 43f38e39c8952..c6862b5eba6fa 100644
--- a/clang-tools-extra/clangd/unittests/TUSchedulerTests.cpp
+++ b/clang-tools-extra/clangd/unittests/TUSchedulerTests.cpp
@@ -113,7 +113,7 @@ class TUSchedulerTests : public ::testing::Test {
   void updateWithCallback(TUScheduler &S, PathRef File, ParseInputs Inputs,
                           WantDiagnostics WD,
                           llvm::unique_function<void()> CB) {
-    WithContextValue Ctx(llvm::make_scope_exit(std::move(CB)));
+    WithContextValue Ctx(llvm::scope_exit(std::move(CB)));
     S.update(File, Inputs, WD);
   }
 
diff --git a/clang-tools-extra/clangd/unittests/TestTU.cpp 
b/clang-tools-extra/clangd/unittests/TestTU.cpp
index a733fac932bf4..e2c2e3f000b66 100644
--- a/clang-tools-extra/clangd/unittests/TestTU.cpp
+++ b/clang-tools-extra/clangd/unittests/TestTU.cpp
@@ -106,7 +106,7 @@ TestTU::preamble(PreambleParsedCallback PreambleCallback) 
const {
   assert(CI && "Failed to build compilation invocation.");
   if (OverlayRealFileSystemForModules)
     initializeModuleCache(*CI);
-  auto ModuleCacheDeleter = llvm::make_scope_exit(
+  llvm::scope_exit ModuleCacheDeleter(
       std::bind(deleteModuleCache, CI->getHeaderSearchOpts().ModuleCachePath));
   return clang::clangd::buildPreamble(testPath(Filename), *CI, Inputs,
                                       /*StoreInMemory=*/true, 
PreambleCallback);
@@ -121,7 +121,7 @@ ParsedAST TestTU::build() const {
   assert(CI && "Failed to build compilation invocation.");
   if (OverlayRealFileSystemForModules)
     initializeModuleCache(*CI);
-  auto ModuleCacheDeleter = llvm::make_scope_exit(
+  llvm::scope_exit ModuleCacheDeleter(
       std::bind(deleteModuleCache, CI->getHeaderSearchOpts().ModuleCachePath));
 
   auto Preamble = clang::clangd::buildPreamble(testPath(Filename), *CI, Inputs,
diff --git a/clang/lib/AST/ASTImporter.cpp b/clang/lib/AST/ASTImporter.cpp
index c1441744c8578..101ab2c40973b 100644
--- a/clang/lib/AST/ASTImporter.cpp
+++ b/clang/lib/AST/ASTImporter.cpp
@@ -1298,7 +1298,7 @@ auto 
ASTImporter::FunctionDeclImportCycleDetector::makeScopedCycleDetection(
     FunctionDeclsWithImportInProgress.insert(D);
     LambdaD = D;
   }
-  return llvm::make_scope_exit([this, LambdaD]() {
+  return llvm::scope_exit([this, LambdaD]() {
     if (LambdaD) {
       FunctionDeclsWithImportInProgress.erase(LambdaD);
     }
@@ -2547,8 +2547,7 @@ Error ASTNodeImporter::ImportDefinition(
   // Complete the definition even if error is returned.
   // The RecordDecl may be already part of the AST so it is better to
   // have it in complete state even if something is wrong with it.
-  auto DefinitionCompleterScopeExit =
-      llvm::make_scope_exit(DefinitionCompleter);
+  llvm::scope_exit DefinitionCompleterScopeExit(DefinitionCompleter);
 
   if (Error Err = setTypedefNameForAnonDecl(From, To, Importer))
     return Err;
@@ -9799,8 +9798,7 @@ Expected<Decl *> ASTImporter::Import(Decl *FromD) {
 
   // Push FromD to the stack, and remove that when we return.
   ImportPath.push(FromD);
-  auto ImportPathBuilder =
-      llvm::make_scope_exit([this]() { ImportPath.pop(); });
+  llvm::scope_exit ImportPathBuilder([this]() { ImportPath.pop(); });
 
   // Check whether there was a previous failed import.
   // If yes return the existing error.
diff --git a/clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp 
b/clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
index f14cb43e47dd4..c5b1ed8cfabdc 100644
--- a/clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
+++ b/clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
@@ -1018,7 +1018,7 @@ Environment::createLocAndMaybeValue(QualType Ty,
                                     int Depth, int &CreatedValuesCount) {
   if (!Visited.insert(Ty.getCanonicalType()).second)
     return createStorageLocation(Ty.getNonReferenceType());
-  auto EraseVisited = llvm::make_scope_exit(
+  llvm::scope_exit EraseVisited(
       [&Visited, Ty] { Visited.erase(Ty.getCanonicalType()); });
 
   Ty = Ty.getNonReferenceType();
diff --git a/clang/lib/Analysis/FlowSensitive/HTMLLogger.cpp 
b/clang/lib/Analysis/FlowSensitive/HTMLLogger.cpp
index 557df21883794..a1469d690a3a8 100644
--- a/clang/lib/Analysis/FlowSensitive/HTMLLogger.cpp
+++ b/clang/lib/Analysis/FlowSensitive/HTMLLogger.cpp
@@ -539,12 +539,10 @@ llvm::Expected<std::string> renderSVG(llvm::StringRef 
DotGraph) {
                                                    Input))
     return llvm::createStringError(EC, "failed to create `dot` temp input");
   llvm::raw_fd_ostream(InputFD, /*shouldClose=*/true) << DotGraph;
-  auto DeleteInput =
-      llvm::make_scope_exit([&] { llvm::sys::fs::remove(Input); });
+  llvm::scope_exit DeleteInput([&] { llvm::sys::fs::remove(Input); });
   if (auto EC = llvm::sys::fs::createTemporaryFile("analysis", ".svg", Output))
     return llvm::createStringError(EC, "failed to create `dot` temp output");
-  auto DeleteOutput =
-      llvm::make_scope_exit([&] { llvm::sys::fs::remove(Output); });
+  llvm::scope_exit DeleteOutput([&] { llvm::sys::fs::remove(Output); });
 
   std::vector<std::optional<llvm::StringRef>> Redirects = {
       Input, Output,
diff --git a/clang/lib/Analysis/ThreadSafety.cpp 
b/clang/lib/Analysis/ThreadSafety.cpp
index 60d9c0f3b0ed2..df4bae89f62df 100644
--- a/clang/lib/Analysis/ThreadSafety.cpp
+++ b/clang/lib/Analysis/ThreadSafety.cpp
@@ -1682,7 +1682,7 @@ void ThreadSafetyAnalyzer::getEdgeLockset(FactSet& Result,
           return LocalVarMap.lookupExpr(D, Ctx);
         });
   }
-  auto Cleanup = llvm::make_scope_exit(
+  llvm::scope_exit Cleanup(
       [this] { SxBuilder.setLookupLocalVarExpr(nullptr); });
 
   const auto *Exp = getTrylockCallExpr(Cond, LVarCtx, Negate);
diff --git a/clang/lib/Analysis/ThreadSafetyCommon.cpp 
b/clang/lib/Analysis/ThreadSafetyCommon.cpp
index ef48ae439c5f3..5bee86470ed7f 100644
--- a/clang/lib/Analysis/ThreadSafetyCommon.cpp
+++ b/clang/lib/Analysis/ThreadSafetyCommon.cpp
@@ -251,13 +251,13 @@ til::SExpr *SExprBuilder::translateVariable(const VarDecl 
*VD,
 
   // The closure captures state that is updated to correctly translate chains 
of
   // aliases. Restore it when we are done with recursive translation.
-  auto Cleanup = llvm::make_scope_exit(
-      [&, RestoreClosure =
-              VarsBeingTranslated.empty() ? LookupLocalVarExpr : nullptr] {
-        VarsBeingTranslated.erase(VD->getCanonicalDecl());
-        if (VarsBeingTranslated.empty())
-          LookupLocalVarExpr = RestoreClosure;
-      });
+  llvm::scope_exit Cleanup([&, RestoreClosure = VarsBeingTranslated.empty()
+                                                    ? LookupLocalVarExpr
+                                                    : nullptr] {
+    VarsBeingTranslated.erase(VD->getCanonicalDecl());
+    if (VarsBeingTranslated.empty())
+      LookupLocalVarExpr = RestoreClosure;
+  });
   VarsBeingTranslated.insert(VD->getCanonicalDecl());
 
   QualType Ty = VD->getType();
diff --git a/clang/lib/CodeGen/CGCoroutine.cpp 
b/clang/lib/CodeGen/CGCoroutine.cpp
index f972f6a7e30b9..c80bb0e004367 100644
--- a/clang/lib/CodeGen/CGCoroutine.cpp
+++ b/clang/lib/CodeGen/CGCoroutine.cpp
@@ -230,8 +230,7 @@ static LValueOrRValue emitSuspendExpression(CodeGenFunction 
&CGF, CGCoroData &Co
 
   auto CommonBinder =
       CodeGenFunction::OpaqueValueMappingData::bind(CGF, S.getOpaqueValue(), 
E);
-  auto UnbindCommonOnExit =
-      llvm::make_scope_exit([&] { CommonBinder.unbind(CGF); });
+  llvm::scope_exit UnbindCommonOnExit([&] { CommonBinder.unbind(CGF); });
 
   auto Prefix = buildSuspendPrefixStr(Coro, Kind);
   BasicBlock *ReadyBlock = CGF.createBasicBlock(Prefix + Twine(".ready"));
@@ -464,8 +463,7 @@ CodeGenFunction::generateAwaitSuspendWrapper(Twine const 
&CoroName,
 
   auto *SuspendRet = EmitScalarExpr(S.getSuspendExpr());
 
-  auto UnbindCommonOnExit =
-      llvm::make_scope_exit([&] { AwaiterBinder.unbind(*this); });
+  llvm::scope_exit UnbindCommonOnExit([&] { AwaiterBinder.unbind(*this); });
   if (SuspendRet != nullptr) {
     Fn->addRetAttr(llvm::Attribute::AttrKind::NoUndef);
     Builder.CreateStore(SuspendRet, ReturnValue);
diff --git a/clang/lib/CodeGen/CGExpr.cpp b/clang/lib/CodeGen/CGExpr.cpp
index d784e1d6c68fe..ba2cdd3ea19dc 100644
--- a/clang/lib/CodeGen/CGExpr.cpp
+++ b/clang/lib/CodeGen/CGExpr.cpp
@@ -5874,8 +5874,7 @@ LValue CodeGenFunction::EmitConditionalOperatorLValue(
 /// are permitted with aggregate result, including noop aggregate casts, and
 /// cast from scalar to union.
 LValue CodeGenFunction::EmitCastLValue(const CastExpr *E) {
-  auto RestoreCurCast =
-      llvm::make_scope_exit([this, Prev = CurCast] { CurCast = Prev; });
+  llvm::scope_exit RestoreCurCast([this, Prev = CurCast] { CurCast = Prev; });
   CurCast = E;
   switch (E->getCastKind()) {
   case CK_ToVoid:
@@ -6172,7 +6171,7 @@ RValue CodeGenFunction::EmitCallExpr(const CallExpr *E,
     CallOrInvoke = &CallOrInvokeStorage;
   }
 
-  auto AddCoroElideSafeOnExit = llvm::make_scope_exit([&] {
+  llvm::scope_exit AddCoroElideSafeOnExit([&] {
     if (E->isCoroElideSafe()) {
       auto *I = *CallOrInvoke;
       if (I)
diff --git a/clang/lib/CodeGen/CGExprScalar.cpp 
b/clang/lib/CodeGen/CGExprScalar.cpp
index 7961aba7df52f..84421fef9f524 100644
--- a/clang/lib/CodeGen/CGExprScalar.cpp
+++ b/clang/lib/CodeGen/CGExprScalar.cpp
@@ -2503,8 +2503,8 @@ static Value *EmitHLSLElementwiseCast(CodeGenFunction 
&CGF, LValue SrcVal,
 // have to handle a more broad range of conversions than explicit casts, as 
they
 // handle things like function to ptr-to-function decay etc.
 Value *ScalarExprEmitter::VisitCastExpr(CastExpr *CE) {
-  auto RestoreCurCast =
-      llvm::make_scope_exit([this, Prev = CGF.CurCast] { CGF.CurCast = Prev; 
});
+  llvm::scope_exit RestoreCurCast(
+      [this, Prev = CGF.CurCast] { CGF.CurCast = Prev; });
   CGF.CurCast = CE;
 
   Expr *E = CE->getSubExpr();
diff --git a/clang/lib/CodeGen/CGHLSLRuntime.cpp 
b/clang/lib/CodeGen/CGHLSLRuntime.cpp
index 2e9602d1b3793..86e73fbad9ae5 100644
--- a/clang/lib/CodeGen/CGHLSLRuntime.cpp
+++ b/clang/lib/CodeGen/CGHLSLRuntime.cpp
@@ -1418,7 +1418,7 @@ class HLSLBufferCopyEmitter {
                          llvm::ConstantInt *LoadIndex) {
     CurStoreIndices.push_back(StoreIndex);
     CurLoadIndices.push_back(LoadIndex);
-    auto RestoreIndices = llvm::make_scope_exit([&]() {
+    llvm::scope_exit RestoreIndices([&]() {
       CurStoreIndices.pop_back();
       CurLoadIndices.pop_back();
     });
diff --gi...
[truncated]

``````````

</details>


https://github.com/llvm/llvm-project/pull/174030
_______________________________________________
lldb-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to