36 lines
		
	
	
		
			526 B
		
	
	
	
		
			C
		
	
	
	
			
		
		
	
	
			36 lines
		
	
	
		
			526 B
		
	
	
	
		
			C
		
	
	
	
// 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;
 | 
						|
}
 |