diff options
| author | Dmitri Gribenko <gribozavr@gmail.com> | 2019-08-29 16:38:36 +0000 |
|---|---|---|
| committer | Dmitri Gribenko <gribozavr@gmail.com> | 2019-08-29 16:38:36 +0000 |
| commit | 907452107dfb1e7ffdc2e8e70eecdeb95ca7ef2f (patch) | |
| tree | 5e7ac2f87be2d204fde9762ebf7282171d9fb0c9 /clang/lib | |
| parent | 87720ac8c8d3263b9ff97d9f46e2b83ed66a9750 (diff) | |
| download | bcm5719-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.cpp | 15 |
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) |

