43 lines
		
	
	
		
			537 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			43 lines
		
	
	
		
			537 B
		
	
	
	
		
			C
		
	
	
	
	
	
| #include "compat.h"
 | |
| #include <stdio.h>
 | |
| 
 | |
| int main(void)
 | |
| {
 | |
| 	#pragma omp parallel
 | |
| 	#pragma omp single
 | |
| 	{
 | |
| 		#pragma omp task label("A")
 | |
| 		{
 | |
| 			sleep_us(5000);
 | |
| 			printf("A\n");
 | |
| 		}
 | |
| 
 | |
| 		#pragma omp task label("B")
 | |
| 		{
 | |
| 			#pragma omp task label("B1")
 | |
| 			{
 | |
| 				sleep_us(2000);
 | |
| 				printf("B1\n");
 | |
| 			}
 | |
| 
 | |
| 			/* Shouldn't wait for task A */
 | |
| 			#pragma omp taskwait
 | |
| 
 | |
| 			#pragma omp task
 | |
| 			{
 | |
| 				sleep_us(1000);
 | |
| 				printf("B2\n");
 | |
| 			}
 | |
| 		}
 | |
| 
 | |
| 		#pragma omp task label("C")
 | |
| 		{
 | |
| 			printf("C\n");
 | |
| 		}
 | |
| 	}
 | |
| 
 | |
| 	/* Expected output C B1 B2 A */
 | |
| 
 | |
| 	return 0;
 | |
| }
 |