[Openmp-commits] [PATCH] D23259: kmp_gsupport: Fix library initialization with taskgroup

Jonas Hahnfeld via Openmp-commits openmp-commits at lists.llvm.org
Mon Aug 8 05:22:57 PDT 2016


Hahnfeld created this revision.
Hahnfeld added reviewers: AndreyChurbanov, jlpeyton.
Hahnfeld added a subscriber: openmp-commits.

https://reviews.llvm.org/D23259

Files:
  runtime/src/kmp_gsupport.c
  runtime/test/tasking/bug_serial_taskgroup.c

Index: runtime/test/tasking/bug_serial_taskgroup.c
===================================================================
--- /dev/null
+++ runtime/test/tasking/bug_serial_taskgroup.c
@@ -0,0 +1,16 @@
+// RUN: %libomp-compile-and-run
+
+/*
+ GCC failed this test because __kmp_get_gtid() instead of __kmp_entry_gtid()
+ was called in xexpand(KMP_API_NAME_GOMP_TASKGROUP_START)(void).
+ __kmp_entry_gtid() will initialize the runtime of not yet done which does not
+ happen with __kmp_get_gtid().
+ */
+
+int main()
+{
+    #pragma omp taskgroup
+    { }
+
+    return 0;
+}
Index: runtime/src/kmp_gsupport.c
===================================================================
--- runtime/src/kmp_gsupport.c
+++ runtime/src/kmp_gsupport.c
@@ -1259,7 +1259,7 @@
 void
 xexpand(KMP_API_NAME_GOMP_TASKGROUP_START)(void)
 {
-    int gtid = __kmp_get_gtid();
+    int gtid = __kmp_entry_gtid();
     MKLOC(loc, "GOMP_taskgroup_start");
     KA_TRACE(20, ("GOMP_taskgroup_start: T#%d\n", gtid));
 


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D23259.67146.patch
Type: text/x-patch
Size: 988 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/openmp-commits/attachments/20160808/90afbda4/attachment.bin>


More information about the Openmp-commits mailing list