This patch implements OpenMP runtime support for an original OpenMP
extension we have developed to support OpenACC: the ompx_hold map
type modifier. The previous patch in this series, D106509, implements
Clang support and documents the new functionality in detail.
Details
Diff Detail
Event Timeline
Updated for changes in D106509:
- Renamed hold to ompx_hold.
- Added -fopenmp-extensions to tests. Without it, Clang doesn't recognize ompx_hold.
Thanks for reviewing.
openmp/libomptarget/src/device.cpp | ||
---|---|---|
200–203 | I'll remove it. | |
343 | Without this patch, the only way I know of that ForceDelete=true but IsLast=false is if the reference count is infinite. Decrementing the reference count would have no effect then (and neither did resetting), so I don't think there's an existing bug. With this patch, a new possibility is that the hold reference count is non-zero. Because, as a result, IsLast=false, we're not to ready to unmap, so the final decrement of the dynamic reference counter after its reset needs to happen here. |
IsNew is already false at this point, no need to reassign.