diff --git a/openmp/libomptarget/include/SourceInfo.h b/openmp/libomptarget/include/SourceInfo.h --- a/openmp/libomptarget/include/SourceInfo.h +++ b/openmp/libomptarget/include/SourceInfo.h @@ -50,15 +50,17 @@ std::string initStr(const void *Name) { if (!Name) return ";unknown;unknown;0;0;;"; - else - return std::string(reinterpret_cast(Name)); + + std::string Str = std::string(reinterpret_cast(Name)); + if (Str.find(';') == std::string::npos) + return ";" + Str + ";unknown;0;0;;"; + return Str; } std::string initStr(const ident_t *Loc) { if (!Loc) return ";unknown;unknown;0;0;;"; - else - return std::string(reinterpret_cast(Loc->psource)); + return std::string(reinterpret_cast(Loc->psource)); } /// Get n-th substring in an expression separated by ;. diff --git a/openmp/libomptarget/src/omptarget.cpp b/openmp/libomptarget/src/omptarget.cpp --- a/openmp/libomptarget/src/omptarget.cpp +++ b/openmp/libomptarget/src/omptarget.cpp @@ -168,7 +168,7 @@ (uintptr_t)CurrHostEntry->addr + CurrHostEntry->size /*HstPtrEnd*/, (uintptr_t)CurrDeviceEntry->addr /*TgtPtrBegin*/, - false /*UseHoldRefCount*/, nullptr /*Name*/, + false /*UseHoldRefCount*/, CurrHostEntry->name, true /*IsRefCountINF*/)); } } diff --git a/openmp/libomptarget/test/offloading/info.c b/openmp/libomptarget/test/offloading/info.c --- a/openmp/libomptarget/test/offloading/info.c +++ b/openmp/libomptarget/test/offloading/info.c @@ -54,7 +54,7 @@ // INFO: Libomptarget device 0 info: Removing map entry with HstPtrBegin={{.*}}, TgtPtrBegin={{.*}}, Size=256, Name=A[0:64] // INFO: Libomptarget device 0 info: OpenMP Host-Device pointer mappings after block at info.c:[[#%u,]]:[[#%u,]]: // INFO: Libomptarget device 0 info: Host Ptr Target Ptr Size (B) DynRefCount HoldRefCount Declaration -// INFO: Libomptarget device 0 info: [[#%#x,]] [[#%#x,]] 4 INF 0 unknown at unknown:0:0 +// INFO: Libomptarget device 0 info: [[#%#x,]] [[#%#x,]] 4 INF 0 global at unknown:0:0 #pragma omp target data map(alloc:A[0:N]) map(ompx_hold,tofrom:B[0:N]) map(to:C[0:N]) #pragma omp target firstprivate(val) { val = 1; }