mirror of git://gcc.gnu.org/git/gcc.git
				
				
				
			
		
			
				
	
	
		
			33 lines
		
	
	
		
			516 B
		
	
	
	
		
			C
		
	
	
	
			
		
		
	
	
			33 lines
		
	
	
		
			516 B
		
	
	
	
		
			C
		
	
	
	
| /* PR other/39591 */
 | |
| /* { dg-do run } */
 | |
| 
 | |
| extern void abort (void);
 | |
| 
 | |
| int err;
 | |
| 
 | |
| int
 | |
| main (void)
 | |
| {
 | |
| #pragma omp parallel
 | |
|   {
 | |
|     int array[40];
 | |
|     int i;
 | |
|     for (i = 0; i < sizeof array / sizeof array[0]; i++)
 | |
|       array[i] = 0x55555555;
 | |
| 
 | |
| #pragma omp for schedule(dynamic)
 | |
|     for (i = 0; i < 50; i++)
 | |
| #pragma omp task shared(array)
 | |
|       {
 | |
| 	int j;
 | |
| 	for (j = 0; j < sizeof array / sizeof array[0]; j++)
 | |
| 	  if (array[j] != 0x55555555)
 | |
| #pragma omp atomic
 | |
| 	    err++;
 | |
|       }
 | |
|   }
 | |
|   if (err)
 | |
|     abort ();
 | |
|   return 0;
 | |
| }
 |