From edd5dfcd890dad921bb0c0edb1551597bd6124d7 Mon Sep 17 00:00:00 2001 From: Ilya Biryukov Date: Wed, 18 Sep 2019 08:31:28 +0000 Subject: [PATCH] [Support] Replace function with function_ref in writeFileAtomically. NFC Summary: The latter is slightly more efficient and communicates the intent of the API: writeFileAtomically does not own or copy the callback, it merely calls it at some point. Reviewers: jkorous Reviewed By: jkorous Subscribers: hiraditya, dexonsmith, jfb, llvm-commits, cfe-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D67584 llvm-svn: 372201 --- llvm/include/llvm/Support/FileUtilities.h | 7 ++++--- llvm/lib/Support/FileUtilities.cpp | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/llvm/include/llvm/Support/FileUtilities.h b/llvm/include/llvm/Support/FileUtilities.h index 04efdce..d661c5c 100644 --- a/llvm/include/llvm/Support/FileUtilities.h +++ b/llvm/include/llvm/Support/FileUtilities.h @@ -14,6 +14,7 @@ #ifndef LLVM_SUPPORT_FILEUTILITIES_H #define LLVM_SUPPORT_FILEUTILITIES_H +#include "llvm/ADT/STLExtras.h" #include "llvm/ADT/StringRef.h" #include "llvm/Support/Errc.h" #include "llvm/Support/ErrorHandling.h" @@ -107,9 +108,9 @@ namespace llvm { llvm::Error writeFileAtomically(StringRef TempPathModel, StringRef FinalPath, StringRef Buffer); - llvm::Error - writeFileAtomically(StringRef TempPathModel, StringRef FinalPath, - std::function Writer); + llvm::Error writeFileAtomically( + StringRef TempPathModel, StringRef FinalPath, + llvm::function_ref Writer); } // End llvm namespace #endif diff --git a/llvm/lib/Support/FileUtilities.cpp b/llvm/lib/Support/FileUtilities.cpp index d11fbb5..3d862f5 100644 --- a/llvm/lib/Support/FileUtilities.cpp +++ b/llvm/lib/Support/FileUtilities.cpp @@ -296,7 +296,7 @@ llvm::Error llvm::writeFileAtomically(StringRef TempPathModel, llvm::Error llvm::writeFileAtomically( StringRef TempPathModel, StringRef FinalPath, - std::function Writer) { + llvm::function_ref Writer) { SmallString<128> GeneratedUniqPath; int TempFD; if (sys::fs::createUniqueFile(TempPathModel.str(), TempFD, -- 2.7.4