diff options
| author | 2017-01-14 19:55:43 +0000 | |
|---|---|---|
| committer | 2017-01-14 19:55:43 +0000 | |
| commit | bd3306aecb3a15e8967143b8cdbbccf2b1b19b74 (patch) | |
| tree | 309a8132b44564b9e634c0da6815187ce8eab27c /gnu/llvm/tools/clang/unittests/Tooling/RecursiveASTVisitorTest.cpp | |
| parent | killp -a should not kill the window if only one pane. (diff) | |
| download | wireguard-openbsd-bd3306aecb3a15e8967143b8cdbbccf2b1b19b74.tar.xz wireguard-openbsd-bd3306aecb3a15e8967143b8cdbbccf2b1b19b74.zip | |
Import LLVM 3.9.1 including clang and lld.
Diffstat (limited to 'gnu/llvm/tools/clang/unittests/Tooling/RecursiveASTVisitorTest.cpp')
| -rw-r--r-- | gnu/llvm/tools/clang/unittests/Tooling/RecursiveASTVisitorTest.cpp | 26 |
1 files changed, 22 insertions, 4 deletions
diff --git a/gnu/llvm/tools/clang/unittests/Tooling/RecursiveASTVisitorTest.cpp b/gnu/llvm/tools/clang/unittests/Tooling/RecursiveASTVisitorTest.cpp index c28704532a6..991ae8bb7f3 100644 --- a/gnu/llvm/tools/clang/unittests/Tooling/RecursiveASTVisitorTest.cpp +++ b/gnu/llvm/tools/clang/unittests/Tooling/RecursiveASTVisitorTest.cpp @@ -42,13 +42,13 @@ TEST(RecursiveASTVisitor, VisitsLambdaExpr) { LambdaExprVisitor Visitor; Visitor.ExpectMatch("", 1, 12); EXPECT_TRUE(Visitor.runOver("void f() { []{ return; }(); }", - LambdaExprVisitor::Lang_CXX11)); + LambdaExprVisitor::Lang_CXX11)); } TEST(RecursiveASTVisitor, TraverseLambdaBodyCanBeOverridden) { LambdaExprVisitor Visitor; EXPECT_TRUE(Visitor.runOver("void f() { []{ return; }(); }", - LambdaExprVisitor::Lang_CXX11)); + LambdaExprVisitor::Lang_CXX11)); EXPECT_TRUE(Visitor.allBodiesHaveBeenTraversed()); } @@ -92,8 +92,7 @@ private: TEST(RecursiveASTVisitor, LambdaClosureTypesAreImplicit) { ClassVisitor Visitor; - EXPECT_TRUE(Visitor.runOver("auto lambda = []{};", - ClassVisitor::Lang_CXX11)); + EXPECT_TRUE(Visitor.runOver("auto lambda = []{};", ClassVisitor::Lang_CXX11)); EXPECT_TRUE(Visitor.sawOnlyImplicitLambdaClasses()); } @@ -134,4 +133,23 @@ TEST(RecursiveASTVisitor, AttributesAreVisited) { "};\n")); } +// Check to ensure that VarDecls are visited. +class VarDeclVisitor : public ExpectedLocationVisitor<VarDeclVisitor> { +public: + bool VisitVarDecl(VarDecl *VD) { + Match(VD->getNameAsString(), VD->getLocStart()); + return true; + } +}; + +TEST(RecursiveASTVisitor, ArrayInitializersAreVisited) { + VarDeclVisitor Visitor; + Visitor.ExpectMatch("__i0", 1, 8); + EXPECT_TRUE( + Visitor.runOver("struct MyClass {\n" + " int c[1];\n" + " static MyClass Create() { return MyClass(); }\n" + "};\n")); +} + } // end anonymous namespace |
