diff options
author | Alexey Bataev <a.bataev@hotmail.com> | 2019-12-11 12:59:01 -0500 |
---|---|---|
committer | Alexey Bataev <a.bataev@hotmail.com> | 2019-12-11 13:18:39 -0500 |
commit | d8c31d41989b0748e2e5b8d7fa9cf7e7023bcbff (patch) | |
tree | 13167936fd4f68d6c93c538b2880ceb90e5c571c /clang/lib | |
parent | 5a486e0f156ce62b445ccf7b3ea15dd45394ea1c (diff) | |
download | bcm5719-llvm-d8c31d41989b0748e2e5b8d7fa9cf7e7023bcbff.tar.gz bcm5719-llvm-d8c31d41989b0748e2e5b8d7fa9cf7e7023bcbff.zip |
[OPENMP50]Fix capturing of if condition in target parallel for simd
directive.
Fixed capturing of the if condition if no modifer was specified in this
condition. Previously could capture it only in outer region and it could
lead to a compiler crash.
Diffstat (limited to 'clang/lib')
-rw-r--r-- | clang/lib/Sema/SemaOpenMP.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/clang/lib/Sema/SemaOpenMP.cpp b/clang/lib/Sema/SemaOpenMP.cpp index 4f4c4d2e887..91d76e64861 100644 --- a/clang/lib/Sema/SemaOpenMP.cpp +++ b/clang/lib/Sema/SemaOpenMP.cpp @@ -10705,8 +10705,10 @@ static OpenMPDirectiveKind getOpenMPCaptureRegionForClause( switch (DKind) { case OMPD_target_parallel_for_simd: if (OpenMPVersion >= 50 && - (NameModifier == OMPD_unknown || NameModifier == OMPD_simd)) + (NameModifier == OMPD_unknown || NameModifier == OMPD_simd)) { CaptureRegion = OMPD_parallel; + break; + } LLVM_FALLTHROUGH; case OMPD_target_parallel: case OMPD_target_parallel_for: |