summaryrefslogtreecommitdiffstats
path: root/clang/unittests/Tooling
diff options
context:
space:
mode:
authorAlexander Kornienko <alexfh@google.com>2014-12-03 17:53:02 +0000
committerAlexander Kornienko <alexfh@google.com>2014-12-03 17:53:02 +0000
commit74e1c46a50d9a5f240c6dc7b0a5a33642d0a30a8 (patch)
tree104cf90ef01ed7a6c92c967fab5a751bffd56298 /clang/unittests/Tooling
parent293d414380579a21fb58fa2894ec297e43f7f6f8 (diff)
downloadbcm5719-llvm-74e1c46a50d9a5f240c6dc7b0a5a33642d0a30a8.tar.gz
bcm5719-llvm-74e1c46a50d9a5f240c6dc7b0a5a33642d0a30a8.zip
Make ArgumentsAdjuster an std::function.
Reviewers: klimek Reviewed By: klimek Subscribers: klimek, cfe-commits Differential Revision: http://reviews.llvm.org/D6505 llvm-svn: 223248
Diffstat (limited to 'clang/unittests/Tooling')
-rw-r--r--clang/unittests/Tooling/ToolingTest.cpp33
1 files changed, 11 insertions, 22 deletions
diff --git a/clang/unittests/Tooling/ToolingTest.cpp b/clang/unittests/Tooling/ToolingTest.cpp
index 98b70081b91..5a93e38c80c 100644
--- a/clang/unittests/Tooling/ToolingTest.cpp
+++ b/clang/unittests/Tooling/ToolingTest.cpp
@@ -19,6 +19,7 @@
#include "llvm/ADT/STLExtras.h"
#include "llvm/Config/llvm-config.h"
#include "gtest/gtest.h"
+#include <algorithm>
#include <string>
namespace clang {
@@ -260,25 +261,6 @@ TEST(runToolOnCodeWithArgs, TestNoDepFile) {
EXPECT_FALSE(llvm::sys::fs::remove(DepFilePath.str()));
}
-struct CheckSyntaxOnlyAdjuster: public ArgumentsAdjuster {
- bool &Found;
- bool &Ran;
-
- CheckSyntaxOnlyAdjuster(bool &Found, bool &Ran) : Found(Found), Ran(Ran) { }
-
- virtual CommandLineArguments
- Adjust(const CommandLineArguments &Args) override {
- Ran = true;
- for (unsigned I = 0, E = Args.size(); I != E; ++I) {
- if (Args[I] == "-fsyntax-only") {
- Found = true;
- break;
- }
- }
- return Args;
- }
-};
-
TEST(ClangToolTest, ArgumentAdjusters) {
FixedCompilationDatabase Compilations("/", std::vector<std::string>());
@@ -290,15 +272,22 @@ TEST(ClangToolTest, ArgumentAdjusters) {
bool Found = false;
bool Ran = false;
- Tool.appendArgumentsAdjuster(new CheckSyntaxOnlyAdjuster(Found, Ran));
+ ArgumentsAdjuster CheckSyntaxOnlyAdjuster =
+ [&Found, &Ran](const CommandLineArguments &Args) {
+ Ran = true;
+ if (std::find(Args.begin(), Args.end(), "-fsyntax-only") != Args.end())
+ Found = true;
+ return Args;
+ };
+ Tool.appendArgumentsAdjuster(CheckSyntaxOnlyAdjuster);
Tool.run(Action.get());
EXPECT_TRUE(Ran);
EXPECT_TRUE(Found);
Ran = Found = false;
Tool.clearArgumentsAdjusters();
- Tool.appendArgumentsAdjuster(new CheckSyntaxOnlyAdjuster(Found, Ran));
- Tool.appendArgumentsAdjuster(new ClangSyntaxOnlyAdjuster());
+ Tool.appendArgumentsAdjuster(CheckSyntaxOnlyAdjuster);
+ Tool.appendArgumentsAdjuster(getClangSyntaxOnlyAdjuster());
Tool.run(Action.get());
EXPECT_TRUE(Ran);
EXPECT_FALSE(Found);
OpenPOWER on IntegriCloud