Author: Fazlay Rabbi Date: 2022-06-22T17:45:43-07:00 New Revision: a35141d395019c837d16419c6ef57662a6efefc5
URL: https://github.com/llvm/llvm-project/commit/a35141d395019c837d16419c6ef57662a6efefc5 DIFF: https://github.com/llvm/llvm-project/commit/a35141d395019c837d16419c6ef57662a6efefc5.diff LOG: [OpenMP] Add handling cases when filter(tid) appears with default(none) Differential Revision: https://reviews.llvm.org/D128397 Added: Modified: clang/lib/Sema/SemaOpenMP.cpp clang/test/OpenMP/parallel_masked_ast_print.cpp Removed: ################################################################################ diff --git a/clang/lib/Sema/SemaOpenMP.cpp b/clang/lib/Sema/SemaOpenMP.cpp index 84848c7be858d..e65f5a236a1ff 100644 --- a/clang/lib/Sema/SemaOpenMP.cpp +++ b/clang/lib/Sema/SemaOpenMP.cpp @@ -6502,6 +6502,7 @@ StmtResult Sema::ActOnOpenMPExecutableDirective( case OMPC_uses_allocators: case OMPC_affinity: case OMPC_bind: + case OMPC_filter: continue; case OMPC_allocator: case OMPC_flush: diff --git a/clang/test/OpenMP/parallel_masked_ast_print.cpp b/clang/test/OpenMP/parallel_masked_ast_print.cpp index 3532cf61ec25f..ce1552ff5bcf1 100644 --- a/clang/test/OpenMP/parallel_masked_ast_print.cpp +++ b/clang/test/OpenMP/parallel_masked_ast_print.cpp @@ -198,6 +198,7 @@ enum Enum { }; int main (int argc, char **argv) { long x; int b = argc, c, d, e, f, g; + int tid = 0; static int a; #pragma omp threadprivate(a) int arr[10][argc], arr1[2]; @@ -207,8 +208,8 @@ int main (int argc, char **argv) { // CHECK-NEXT: #pragma omp parallel masked a=2; // CHECK-NEXT: a = 2; -#pragma omp parallel masked default(none), private(argc,b) firstprivate(argv) if (parallel: argc > 0) num_threads(ee) copyin(a) proc_bind(spread) reduction(| : c, d, arr1[argc]) reduction(* : e, arr[:10][0:argc]) allocate(e) -// CHECK-NEXT: #pragma omp parallel masked default(none) private(argc,b) firstprivate(argv) if(parallel: argc > 0) num_threads(ee) copyin(a) proc_bind(spread) reduction(|: c,d,arr1[argc]) reduction(*: e,arr[:10][0:argc]) allocate(e) +#pragma omp parallel masked default(none), private(argc,b) firstprivate(argv) if (parallel: argc > 0) num_threads(ee) copyin(a) proc_bind(spread) reduction(| : c, d, arr1[argc]) reduction(* : e, arr[:10][0:argc]) allocate(e) filter(tid) +// CHECK-NEXT: #pragma omp parallel masked default(none) private(argc,b) firstprivate(argv) if(parallel: argc > 0) num_threads(ee) copyin(a) proc_bind(spread) reduction(|: c,d,arr1[argc]) reduction(*: e,arr[:10][0:argc]) allocate(e) filter(tid) foo(); // CHECK-NEXT: foo(); // CHECK-NEXT: #pragma omp parallel masked allocate(e) if(b) num_threads(c) proc_bind(close) reduction(^: e,f) reduction(&&: g,arr[0:argc][:10]) _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits