]> granicus.if.org Git - clang/commit
[OpenMP] Prevent nesting of target constructs within target code execution regions.
authorArpith Chacko Jacob <acjacob@us.ibm.com>
Mon, 1 Feb 2016 16:32:47 +0000 (16:32 +0000)
committerArpith Chacko Jacob <acjacob@us.ibm.com>
Mon, 1 Feb 2016 16:32:47 +0000 (16:32 +0000)
commit3568e530bf06790b2d8e79cec3bfd46811699693
treea242de07e29eb0dbcb8200d5fd5da2375c777a00
parent31c95759cb46dbff448da69f95a1a4ea4471d52c
[OpenMP] Prevent nesting of target constructs within target code execution regions.

Summary:
This patch enhances Sema to check for the following restriction:

OpenMP 4.5 [2.17 Nesting of Regions]
If a target, target update, target data, target enter data, or
target exit data construct is encountered during execution of a
target region, the behavior is unspecified.

Reviewers: ABataev

Differential Revision: http://reviews.llvm.org/D16758

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@259366 91177308-0d34-0410-b5e6-96231b3b80d8
22 files changed:
include/clang/Basic/OpenMPKinds.h
lib/Basic/OpenMPKinds.cpp
lib/Sema/SemaOpenMP.cpp
test/OpenMP/distribute_private_messages.cpp
test/OpenMP/nesting_of_regions.cpp
test/OpenMP/target_data_device_messages.cpp
test/OpenMP/target_device_messages.cpp
test/OpenMP/target_if_messages.cpp
test/OpenMP/target_messages.cpp
test/OpenMP/target_parallel_default_messages.cpp
test/OpenMP/target_parallel_device_messages.cpp
test/OpenMP/target_parallel_firstprivate_messages.cpp
test/OpenMP/target_parallel_if_messages.cpp
test/OpenMP/target_parallel_map_messages.cpp
test/OpenMP/target_parallel_messages.cpp
test/OpenMP/target_parallel_num_threads_messages.cpp
test/OpenMP/target_parallel_private_messages.cpp
test/OpenMP/target_parallel_proc_bind_messages.cpp
test/OpenMP/target_parallel_reduction_messages.cpp
test/OpenMP/target_parallel_shared_messages.cpp
test/OpenMP/target_private_messages.cpp
test/OpenMP/teams_reduction_messages.cpp