summaryrefslogtreecommitdiffstats
path: root/clang/lib/Basic/Targets/AArch64.cpp
diff options
context:
space:
mode:
authorErich Keane <erich.keane@intel.com>2017-07-27 16:28:20 +0000
committerErich Keane <erich.keane@intel.com>2017-07-27 16:28:20 +0000
commit0026ed2f9cc73e60bbfb1d84b8906a8d4ffb8e96 (patch)
treed0c28a5e6e51daa65494856608b91d0f0573b71c /clang/lib/Basic/Targets/AArch64.cpp
parent67ddd1d08f3d3e702ac41b34f91d3047eee4460a (diff)
downloadbcm5719-llvm-0026ed2f9cc73e60bbfb1d84b8906a8d4ffb8e96.tar.gz
bcm5719-llvm-0026ed2f9cc73e60bbfb1d84b8906a8d4ffb8e96.zip
Fix double destruction of objects when OpenMP construct is canceled
When an omp for loop is canceled the constructed objects are being destructed twice. It looks like the desired code is: { Obj o; If (cancelled) branch-through-cleanups to cancel.exit. } [cleanups] cancel.exit: __kmpc_for_static_fini br cancel.cont (*) cancel.cont: __kmpc_barrier return The problem seems to be the branch to cancel.cont is currently also going through the cleanups calling them again. This change just does a direct branch instead. Patch By: michael.p.rice@intel.com Differential Revision: https://reviews.llvm.org/D35854 llvm-svn: 309288
Diffstat (limited to 'clang/lib/Basic/Targets/AArch64.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud