[OPENMP] Generalize capturing of clauses expressions.
The handling and capturing of the non-constant expressions of some of
the capturable clauses in combined directives is generalized.
llvm-svn: 319227
diff --git a/clang/lib/Basic/OpenMPKinds.cpp b/clang/lib/Basic/OpenMPKinds.cpp
index 4197862..65ac797 100644
--- a/clang/lib/Basic/OpenMPKinds.cpp
+++ b/clang/lib/Basic/OpenMPKinds.cpp
@@ -892,9 +892,12 @@
CaptureRegions.push_back(OMPD_target);
CaptureRegions.push_back(OMPD_teams);
break;
+ case OMPD_teams:
case OMPD_teams_distribute:
+ case OMPD_teams_distribute_simd:
CaptureRegions.push_back(OMPD_teams);
break;
+ case OMPD_target:
case OMPD_target_simd:
CaptureRegions.push_back(OMPD_target);
break;
@@ -908,12 +911,16 @@
CaptureRegions.push_back(OMPD_target);
CaptureRegions.push_back(OMPD_parallel);
break;
+ case OMPD_task:
case OMPD_target_enter_data:
case OMPD_target_exit_data:
case OMPD_target_update:
CaptureRegions.push_back(OMPD_task);
break;
- case OMPD_teams:
+ case OMPD_taskloop:
+ case OMPD_taskloop_simd:
+ CaptureRegions.push_back(OMPD_taskloop);
+ break;
case OMPD_simd:
case OMPD_for:
case OMPD_for_simd:
@@ -927,18 +934,13 @@
case OMPD_ordered:
case OMPD_atomic:
case OMPD_target_data:
- case OMPD_target:
- case OMPD_task:
- case OMPD_taskloop:
- case OMPD_taskloop_simd:
case OMPD_distribute_simd:
- case OMPD_teams_distribute_simd:
case OMPD_teams_distribute_parallel_for_simd:
case OMPD_target_teams_distribute:
case OMPD_target_teams_distribute_parallel_for:
case OMPD_target_teams_distribute_parallel_for_simd:
case OMPD_target_teams_distribute_simd:
- CaptureRegions.push_back(DKind);
+ CaptureRegions.push_back(OMPD_unknown);
break;
case OMPD_threadprivate:
case OMPD_taskyield: