diff options
author | Roman Lebedev <lebedev.ri@gmail.com> | 2019-03-21 15:33:10 +0000 |
---|---|---|
committer | Roman Lebedev <lebedev.ri@gmail.com> | 2019-03-21 15:33:10 +0000 |
commit | de0e4ae024eced8fa952c4b8d9e0f0a607a0a86b (patch) | |
tree | 6b94b11c5cdc913c659b02ecb329e47ec1245b9c /clang/unittests/ASTMatchers/ASTMatchersNodeTest.cpp | |
parent | ce54fa1855befe5c1d0ac86fc361b848a487b0fb (diff) | |
download | bcm5719-llvm-de0e4ae024eced8fa952c4b8d9e0f0a607a0a86b.tar.gz bcm5719-llvm-de0e4ae024eced8fa952c4b8d9e0f0a607a0a86b.zip |
[ASTMatchers][OpenMP] Add base ompExecutableDirective() matcher.
Summary:
A simple matcher for `OMPExecutableDirective` Stmt type.
Split off from D57113.
Reviewers: gribozavr, aaron.ballman, JonasToth, george.karpenkov
Reviewed By: gribozavr, aaron.ballman
Subscribers: guansong, jdoerfert, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D59453
llvm-svn: 356674
Diffstat (limited to 'clang/unittests/ASTMatchers/ASTMatchersNodeTest.cpp')
-rw-r--r-- | clang/unittests/ASTMatchers/ASTMatchersNodeTest.cpp | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/clang/unittests/ASTMatchers/ASTMatchersNodeTest.cpp b/clang/unittests/ASTMatchers/ASTMatchersNodeTest.cpp index 3f9981cd6db..4bce409cab4 100644 --- a/clang/unittests/ASTMatchers/ASTMatchersNodeTest.cpp +++ b/clang/unittests/ASTMatchers/ASTMatchersNodeTest.cpp @@ -1765,5 +1765,29 @@ TEST(ObjCAutoreleaseMatcher, AutoreleasePool) { EXPECT_FALSE(matchesObjC(ObjCStringNoPool, autoreleasePoolStmt())); } +TEST(OMPExecutableDirective, Matches) { + auto Matcher = stmt(ompExecutableDirective()); + + const std::string Source0 = R"( +void x() { +#pragma omp parallel +; +})"; + EXPECT_TRUE(matchesWithOpenMP(Source0, Matcher)); + + const std::string Source1 = R"( +void x() { +#pragma omp taskyield +; +})"; + EXPECT_TRUE(matchesWithOpenMP(Source1, Matcher)); + + const std::string Source2 = R"( +void x() { +; +})"; + EXPECT_TRUE(notMatchesWithOpenMP(Source2, Matcher)); +} + } // namespace ast_matchers } // namespace clang |