summaryrefslogtreecommitdiffstats
path: root/clang/lib/Tooling/Tooling.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'clang/lib/Tooling/Tooling.cpp')
-rw-r--r--clang/lib/Tooling/Tooling.cpp37
1 files changed, 17 insertions, 20 deletions
diff --git a/clang/lib/Tooling/Tooling.cpp b/clang/lib/Tooling/Tooling.cpp
index 82abede8031..7ae2950037b 100644
--- a/clang/lib/Tooling/Tooling.cpp
+++ b/clang/lib/Tooling/Tooling.cpp
@@ -104,12 +104,12 @@ clang::CompilerInvocation *newInvocation(
return Invocation;
}
-bool runToolOnCode(std::unique_ptr<FrontendAction> ToolAction,
- const Twine &Code, const Twine &FileName,
+bool runToolOnCode(clang::FrontendAction *ToolAction, const Twine &Code,
+ const Twine &FileName,
std::shared_ptr<PCHContainerOperations> PCHContainerOps) {
- return runToolOnCodeWithArgs(std::move(ToolAction), Code,
- std::vector<std::string>(), FileName,
- "clang-tool", std::move(PCHContainerOps));
+ return runToolOnCodeWithArgs(ToolAction, Code, std::vector<std::string>(),
+ FileName, "clang-tool",
+ std::move(PCHContainerOps));
}
static std::vector<std::string>
@@ -125,7 +125,7 @@ getSyntaxOnlyToolArgs(const Twine &ToolName,
}
bool runToolOnCodeWithArgs(
- std::unique_ptr<FrontendAction> ToolAction, const Twine &Code,
+ clang::FrontendAction *ToolAction, const Twine &Code,
const std::vector<std::string> &Args, const Twine &FileName,
const Twine &ToolName,
std::shared_ptr<PCHContainerOperations> PCHContainerOps,
@@ -143,7 +143,8 @@ bool runToolOnCodeWithArgs(
ArgumentsAdjuster Adjuster = getClangStripDependencyFileAdjuster();
ToolInvocation Invocation(
getSyntaxOnlyToolArgs(ToolName, Adjuster(Args, FileNameRef), FileNameRef),
- std::move(ToolAction), Files.get(), std::move(PCHContainerOps));
+ ToolAction, Files.get(),
+ std::move(PCHContainerOps));
SmallString<1024> CodeStorage;
InMemoryFileSystem->addFile(FileNameRef, 0,
@@ -203,18 +204,15 @@ void addTargetAndModeForProgramName(std::vector<std::string> &CommandLine,
namespace {
class SingleFrontendActionFactory : public FrontendActionFactory {
- std::unique_ptr<clang::FrontendAction> Action;
+ FrontendAction *Action;
public:
- SingleFrontendActionFactory(std::unique_ptr<clang::FrontendAction> Action)
- : Action(std::move(Action)) {}
+ SingleFrontendActionFactory(FrontendAction *Action) : Action(Action) {}
- std::unique_ptr<clang::FrontendAction> create() override {
- return std::move(Action);
- }
+ FrontendAction *create() override { return Action; }
};
-} // namespace
+}
ToolInvocation::ToolInvocation(
std::vector<std::string> CommandLine, ToolAction *Action,
@@ -224,13 +222,12 @@ ToolInvocation::ToolInvocation(
DiagConsumer(nullptr) {}
ToolInvocation::ToolInvocation(
- std::vector<std::string> CommandLine,
- std::unique_ptr<FrontendAction> FAction, FileManager *Files,
- std::shared_ptr<PCHContainerOperations> PCHContainerOps)
+ std::vector<std::string> CommandLine, FrontendAction *FAction,
+ FileManager *Files, std::shared_ptr<PCHContainerOperations> PCHContainerOps)
: CommandLine(std::move(CommandLine)),
- Action(new SingleFrontendActionFactory(std::move(FAction))),
- OwnsAction(true), Files(Files),
- PCHContainerOps(std::move(PCHContainerOps)), DiagConsumer(nullptr) {}
+ Action(new SingleFrontendActionFactory(FAction)), OwnsAction(true),
+ Files(Files), PCHContainerOps(std::move(PCHContainerOps)),
+ DiagConsumer(nullptr) {}
ToolInvocation::~ToolInvocation() {
if (OwnsAction)
OpenPOWER on IntegriCloud