aboutsummaryrefslogtreecommitdiff
path: root/final/runtime/test/tasking/nested_task_creation.c
diff options
context:
space:
mode:
Diffstat (limited to 'final/runtime/test/tasking/nested_task_creation.c')
-rw-r--r--final/runtime/test/tasking/nested_task_creation.c35
1 files changed, 35 insertions, 0 deletions
diff --git a/final/runtime/test/tasking/nested_task_creation.c b/final/runtime/test/tasking/nested_task_creation.c
new file mode 100644
index 0000000..c7c25fc
--- /dev/null
+++ b/final/runtime/test/tasking/nested_task_creation.c
@@ -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;
+}