Add test case for nested creation of tasks
authorJonas Hahnfeld <Hahnfeld@itc.rwth-aachen.de>
Thu, 4 Aug 2016 14:55:56 +0000 (14:55 +0000)
committerJonas Hahnfeld <Hahnfeld@itc.rwth-aachen.de>
Thu, 4 Aug 2016 14:55:56 +0000 (14:55 +0000)
For discussion in D23115

llvm-svn: 277730

openmp/runtime/test/tasking/nested_task_creation.c [new file with mode: 0644]

diff --git a/openmp/runtime/test/tasking/nested_task_creation.c b/openmp/runtime/test/tasking/nested_task_creation.c
new file mode 100644 (file)
index 0000000..c7c25fc
--- /dev/null
@@ -0,0 +1,35 @@
+// RUN: %libomp-compile-and-run
+#include <stdio.h>
+#include <omp.h>
+#include "omp_my_sleep.h"
+
+/*
+ * This test creates tasks that themselves create a new task.
+ * The runtime has to take care that they are correctly freed.
+ */
+
+int main()
+{
+  #pragma omp task
+  {
+    #pragma omp task
+    {
+      my_sleep( 0.1 );
+    }
+  }
+
+  #pragma omp parallel num_threads(2)
+  {
+    #pragma omp single
+    #pragma omp task
+    {
+      #pragma omp task
+      {
+        my_sleep( 0.1 );
+      }
+    }
+  }
+
+  printf("pass\n");
+  return 0;
+}