[OpenMP] Fix data sharing analysis in nested clause
Without this patch, clang doesn't complain that X needs explicit data
sharing attributes in the following:
```
#pragma omp target teams default(none)
{
#pragma omp parallel num_threads(X)
;
}
```
However, clang does produce that complaint after the braces are
removed. With this patch, clang complains in both cases.
Reviewed By: ABataev
Differential Revision: https://reviews.llvm.org/D55861
llvm-svn: 349635
diff --git a/clang/lib/Sema/SemaOpenMP.cpp b/clang/lib/Sema/SemaOpenMP.cpp
index 38a329a..c207ba9 100644
--- a/clang/lib/Sema/SemaOpenMP.cpp
+++ b/clang/lib/Sema/SemaOpenMP.cpp
@@ -2390,13 +2390,9 @@
void VisitStmt(Stmt *S) {
for (Stmt *C : S->children()) {
if (C) {
- if (auto *OED = dyn_cast<OMPExecutableDirective>(C)) {
- // Check implicitly captured variables in the task-based directives to
- // check if they must be firstprivatized.
- VisitSubCaptures(OED);
- } else {
- Visit(C);
- }
+ // Check implicitly captured variables in the task-based directives to
+ // check if they must be firstprivatized.
+ Visit(C);
}
}
}