diff --git a/openmp/libomptarget/src/device.cpp b/openmp/libomptarget/src/device.cpp --- a/openmp/libomptarget/src/device.cpp +++ b/openmp/libomptarget/src/device.cpp @@ -76,17 +76,16 @@ } // Mapping does not exist, allocate it with refCount=INF - HostDataToTargetTy newEntry((uintptr_t)HstPtrBegin /*HstPtrBase*/, - (uintptr_t)HstPtrBegin /*HstPtrBegin*/, - (uintptr_t)HstPtrBegin + Size /*HstPtrEnd*/, - (uintptr_t)TgtPtrBegin /*TgtPtrBegin*/, nullptr, - true /*IsRefCountINF*/); - + auto Res = HostDataToTargetMap.emplace( + (uintptr_t)HstPtrBegin /*HstPtrBase*/, + (uintptr_t)HstPtrBegin /*HstPtrBegin*/, + (uintptr_t)HstPtrBegin + Size /*HstPtrEnd*/, + (uintptr_t)TgtPtrBegin /*TgtPtrBegin*/, nullptr, true /*IsRefCountINF*/); + auto NewEntry = Res.first; DP("Creating new map entry: HstBase=" DPxMOD ", HstBegin=" DPxMOD ", HstEnd=" DPxMOD ", TgtBegin=" DPxMOD "\n", - DPxPTR(newEntry.HstPtrBase), DPxPTR(newEntry.HstPtrBegin), - DPxPTR(newEntry.HstPtrEnd), DPxPTR(newEntry.TgtPtrBegin)); - HostDataToTargetMap.insert(newEntry); + DPxPTR(NewEntry->HstPtrBase), DPxPTR(NewEntry->HstPtrBegin), + DPxPTR(NewEntry->HstPtrEnd), DPxPTR(NewEntry->TgtPtrBegin)); DataMapMtx.unlock(); @@ -269,9 +268,8 @@ "HstPtrBegin=" DPxMOD ", TgtPtrBegin=" DPxMOD ", Size=%ld, Name=%s\n", DPxPTR(HstPtrBegin), DPxPTR(tp), Size, (HstPtrName) ? getNameFromMapping(HstPtrName).c_str() : "unknown"); - HostDataToTargetMap.emplace( - HostDataToTargetTy((uintptr_t)HstPtrBase, (uintptr_t)HstPtrBegin, - (uintptr_t)HstPtrBegin + Size, tp, HstPtrName)); + HostDataToTargetMap.emplace((uintptr_t)HstPtrBase, (uintptr_t)HstPtrBegin, + (uintptr_t)HstPtrBegin + Size, tp, HstPtrName); rc = (void *)tp; }