summaryrefslogtreecommitdiffstats
path: root/clang/lib
diff options
context:
space:
mode:
authorDmitri Gribenko <gribozavr@gmail.com>2019-08-29 16:38:36 +0000
committerDmitri Gribenko <gribozavr@gmail.com>2019-08-29 16:38:36 +0000
commit907452107dfb1e7ffdc2e8e70eecdeb95ca7ef2f (patch)
tree5e7ac2f87be2d204fde9762ebf7282171d9fb0c9 /clang/lib
parent87720ac8c8d3263b9ff97d9f46e2b83ed66a9750 (diff)
downloadbcm5719-llvm-907452107dfb1e7ffdc2e8e70eecdeb95ca7ef2f.tar.gz
bcm5719-llvm-907452107dfb1e7ffdc2e8e70eecdeb95ca7ef2f.zip
Changed FrontendActionFactory::create to return a std::unique_ptr
Subscribers: jkorous, arphaman, kadircet, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D66947 llvm-svn: 370379
Diffstat (limited to 'clang/lib')
-rw-r--r--clang/lib/Tooling/Tooling.cpp15
1 files changed, 10 insertions, 5 deletions
diff --git a/clang/lib/Tooling/Tooling.cpp b/clang/lib/Tooling/Tooling.cpp
index b21fc33ac39..8c0d13d243d 100644
--- a/clang/lib/Tooling/Tooling.cpp
+++ b/clang/lib/Tooling/Tooling.cpp
@@ -247,12 +247,15 @@ void addTargetAndModeForProgramName(std::vector<std::string> &CommandLine,
namespace {
class SingleFrontendActionFactory : public FrontendActionFactory {
- FrontendAction *Action;
+ std::unique_ptr<FrontendAction> Action;
public:
- SingleFrontendActionFactory(FrontendAction *Action) : Action(Action) {}
+ SingleFrontendActionFactory(std::unique_ptr<FrontendAction> Action)
+ : Action(std::move(Action)) {}
- FrontendAction *create() override { return Action; }
+ std::unique_ptr<FrontendAction> create() override {
+ return std::move(Action);
+ }
};
} // namespace
@@ -267,8 +270,10 @@ ToolInvocation::ToolInvocation(
std::vector<std::string> CommandLine, FrontendAction *FAction,
FileManager *Files, std::shared_ptr<PCHContainerOperations> PCHContainerOps)
: CommandLine(std::move(CommandLine)),
- Action(new SingleFrontendActionFactory(FAction)), OwnsAction(true),
- Files(Files), PCHContainerOps(std::move(PCHContainerOps)) {}
+ Action(new SingleFrontendActionFactory(
+ std::unique_ptr<FrontendAction>(FAction))),
+ OwnsAction(true), Files(Files),
+ PCHContainerOps(std::move(PCHContainerOps)) {}
ToolInvocation::~ToolInvocation() {
if (OwnsAction)
OpenPOWER on IntegriCloud