mirror of git://gcc.gnu.org/git/gcc.git
				
				
				
			
		
			
				
	
	
		
			254 lines
		
	
	
		
			5.9 KiB
		
	
	
	
		
			C
		
	
	
	
			
		
		
	
	
			254 lines
		
	
	
		
			5.9 KiB
		
	
	
	
		
			C
		
	
	
	
| /* { dg-do run } */
 | |
| 
 | |
| volatile int ji = 100, ki = 2;
 | |
| volatile unsigned int ju = 100, ku = 2;
 | |
| volatile long long int jll = 100, kll = 2;
 | |
| volatile unsigned long long int jull = 100, kull = 2;
 | |
| unsigned long long l;
 | |
| 
 | |
| void
 | |
| f0 (void)
 | |
| {
 | |
|   int i, j, k;
 | |
|   unsigned int j2, k2;
 | |
|   #pragma omp for reduction(+: l)
 | |
|   for (i = ji; i < ki; i++)
 | |
|     l++;
 | |
|   if (l != 0)
 | |
|     __builtin_abort ();
 | |
|   #pragma omp parallel for reduction(+: l)
 | |
|   for (i = ji; i < ki; i++)
 | |
|     l++;
 | |
|   if (l != 0)
 | |
|     __builtin_abort ();
 | |
|   #pragma omp for reduction(+: l) collapse(3)
 | |
|   for (j = 0; j < 4; j++)
 | |
|     for (i = ji; i < ki; i++)
 | |
|       for (k = 0; k < 5; k += 2)
 | |
| 	l++;
 | |
|   if (l != 0)
 | |
|     __builtin_abort ();
 | |
|   #pragma omp parallel for reduction(+: l) collapse(3)
 | |
|   for (j = 0; j < 4; j++)
 | |
|     for (i = ji; i < ki; i++)
 | |
|       for (k = 0; k < 5; k += 2)
 | |
| 	l++;
 | |
|   if (l != 0)
 | |
|     __builtin_abort ();
 | |
|   #pragma omp for reduction(+: l) collapse(3)
 | |
|   for (j2 = 0; j2 < 4; j2++)
 | |
|     for (i = ji; i < ki; i++)
 | |
|       for (k2 = 0; k2 < 5; k2 += 2)
 | |
| 	l++;
 | |
|   if (l != 0)
 | |
|     __builtin_abort ();
 | |
|   #pragma omp parallel for reduction(+: l) collapse(3)
 | |
|   for (j2 = 0; j2 < 4; j2++)
 | |
|     for (i = ji; i < ki; i++)
 | |
|       for (k2 = 0; k2 < 5; k2 += 2)
 | |
| 	l++;
 | |
|   if (l != 0)
 | |
|     __builtin_abort ();
 | |
|   #pragma omp parallel for reduction(+: l) collapse(3)
 | |
|   for (j = 0; j < 4; j++)
 | |
|     for (i = ji; i < ki; i++)
 | |
|       for (k = ki + 10; k < ji - 10; k += 2)
 | |
| 	l++;
 | |
|   if (l != 0)
 | |
|     __builtin_abort ();
 | |
|   #pragma omp parallel for reduction(+: l) collapse(3)
 | |
|   for (j = ki + 10; j < ji - 10; j++)
 | |
|     for (i = ji; i < ki; i++)
 | |
|       for (k = 0; k < 5; k += 2)
 | |
| 	l++;
 | |
|   if (l != 0)
 | |
|     __builtin_abort ();
 | |
| }
 | |
| 
 | |
| void
 | |
| f1 (void)
 | |
| {
 | |
|   unsigned int i, j, k;
 | |
|   int j2, k2;
 | |
|   #pragma omp for reduction(+: l)
 | |
|   for (i = ju; i < ku; i++)
 | |
|     l++;
 | |
|   if (l != 0)
 | |
|     __builtin_abort ();
 | |
|   #pragma omp parallel for reduction(+: l)
 | |
|   for (i = ju; i < ku; i++)
 | |
|     l++;
 | |
|   if (l != 0)
 | |
|     __builtin_abort ();
 | |
|   #pragma omp for reduction(+: l) collapse(3)
 | |
|   for (j = 0; j < 4; j++)
 | |
|     for (i = ju; i < ku; i++)
 | |
|       for (k = 0; k < 5; k += 2)
 | |
| 	l++;
 | |
|   if (l != 0)
 | |
|     __builtin_abort ();
 | |
|   #pragma omp parallel for reduction(+: l) collapse(3)
 | |
|   for (j = 0; j < 4; j++)
 | |
|     for (i = ju; i < ku; i++)
 | |
|       for (k = 0; k < 5; k += 2)
 | |
| 	l++;
 | |
|   if (l != 0)
 | |
|     __builtin_abort ();
 | |
|   #pragma omp for reduction(+: l) collapse(3)
 | |
|   for (j2 = 0; j2 < 4; j2++)
 | |
|     for (i = ju; i < ku; i++)
 | |
|       for (k2 = 0; k2 < 5; k2 += 2)
 | |
| 	l++;
 | |
|   if (l != 0)
 | |
|     __builtin_abort ();
 | |
|   #pragma omp parallel for reduction(+: l) collapse(3)
 | |
|   for (j2 = 0; j2 < 4; j2++)
 | |
|     for (i = ju; i < ku; i++)
 | |
|       for (k2 = 0; k2 < 5; k2 += 2)
 | |
| 	l++;
 | |
|   if (l != 0)
 | |
|     __builtin_abort ();
 | |
|   #pragma omp parallel for reduction(+: l) collapse(3)
 | |
|   for (j = 0; j < 4; j++)
 | |
|     for (i = ju; i < ku; i++)
 | |
|       for (k = ku; k < ju; k += 2)
 | |
| 	l++;
 | |
|   if (l != 0)
 | |
|     __builtin_abort ();
 | |
|   #pragma omp parallel for reduction(+: l) collapse(3)
 | |
|   for (j = ku; j < ju; j++)
 | |
|     for (i = ju; i < ku; i++)
 | |
|       for (k = 0; k < 5; k += 2)
 | |
| 	l++;
 | |
|   if (l != 0)
 | |
|     __builtin_abort ();
 | |
| }
 | |
| 
 | |
| void
 | |
| f2 (void)
 | |
| {
 | |
|   long long int i, j, k;
 | |
|   unsigned long long int j2, k2;
 | |
|   #pragma omp for reduction(+: l)
 | |
|   for (i = jll; i < kll; i++)
 | |
|     l++;
 | |
|   if (l != 0)
 | |
|     __builtin_abort ();
 | |
|   #pragma omp parallel for reduction(+: l)
 | |
|   for (i = jll; i < kll; i++)
 | |
|     l++;
 | |
|   if (l != 0)
 | |
|     __builtin_abort ();
 | |
|   #pragma omp for reduction(+: l) collapse(3)
 | |
|   for (j = 0; j < 4; j++)
 | |
|     for (i = jll; i < kll; i++)
 | |
|       for (k = 0; k < 5; k += 2)
 | |
| 	l++;
 | |
|   if (l != 0)
 | |
|     __builtin_abort ();
 | |
|   #pragma omp parallel for reduction(+: l) collapse(3)
 | |
|   for (j = 0; j < 4; j++)
 | |
|     for (i = jll; i < kll; i++)
 | |
|       for (k = 0; k < 5; k += 2)
 | |
| 	l++;
 | |
|   if (l != 0)
 | |
|     __builtin_abort ();
 | |
|   #pragma omp for reduction(+: l) collapse(3)
 | |
|   for (j2 = 0; j2 < 4; j2++)
 | |
|     for (i = jll; i < kll; i++)
 | |
|       for (k2 = 0; k2 < 5; k2 += 2)
 | |
| 	l++;
 | |
|   if (l != 0)
 | |
|     __builtin_abort ();
 | |
|   #pragma omp parallel for reduction(+: l) collapse(3)
 | |
|   for (j2 = 0; j2 < 4; j2++)
 | |
|     for (i = jll; i < kll; i++)
 | |
|       for (k2 = 0; k2 < 5; k2 += 2)
 | |
| 	l++;
 | |
|   if (l != 0)
 | |
|     __builtin_abort ();
 | |
|   #pragma omp parallel for reduction(+: l) collapse(3)
 | |
|   for (j = 0; j < 4; j++)
 | |
|     for (i = jll; i < kll; i++)
 | |
|       for (k = kll; k < jll; k += 2)
 | |
| 	l++;
 | |
|   if (l != 0)
 | |
|     __builtin_abort ();
 | |
|   #pragma omp parallel for reduction(+: l) collapse(3)
 | |
|   for (j = kll; j < jll; j++)
 | |
|     for (i = jll; i < kll; i++)
 | |
|       for (k = 0; k < 5; k += 2)
 | |
| 	l++;
 | |
|   if (l != 0)
 | |
|     __builtin_abort ();
 | |
| }
 | |
| 
 | |
| void
 | |
| f3 (void)
 | |
| {
 | |
|   unsigned long long int i, j, k;
 | |
|   long long int j2, k2;
 | |
|   #pragma omp for reduction(+: l)
 | |
|   for (i = jull; i < kull; i++)
 | |
|     l++;
 | |
|   if (l != 0)
 | |
|     __builtin_abort ();
 | |
|   #pragma omp parallel for reduction(+: l)
 | |
|   for (i = jull; i < kull; i++)
 | |
|     l++;
 | |
|   if (l != 0)
 | |
|     __builtin_abort ();
 | |
|   #pragma omp for reduction(+: l) collapse(3)
 | |
|   for (j = 0; j < 4; j++)
 | |
|     for (i = jull; i < kull; i++)
 | |
|       for (k = 0; k < 5; k += 2)
 | |
| 	l++;
 | |
|   if (l != 0)
 | |
|     __builtin_abort ();
 | |
|   #pragma omp parallel for reduction(+: l) collapse(3)
 | |
|   for (j = 0; j < 4; j++)
 | |
|     for (i = jull; i < kull; i++)
 | |
|       for (k = 0; k < 5; k += 2)
 | |
| 	l++;
 | |
|   if (l != 0)
 | |
|     __builtin_abort ();
 | |
|   #pragma omp for reduction(+: l) collapse(3)
 | |
|   for (j2 = 0; j2 < 4; j2++)
 | |
|     for (i = jull; i < kull; i++)
 | |
|       for (k2 = 0; k2 < 5; k2 += 2)
 | |
| 	l++;
 | |
|   if (l != 0)
 | |
|     __builtin_abort ();
 | |
|   #pragma omp parallel for reduction(+: l) collapse(3)
 | |
|   for (j2 = 0; j2 < 4; j2++)
 | |
|     for (i = jull; i < kull; i++)
 | |
|       for (k2 = 0; k2 < 5; k2 += 2)
 | |
| 	l++;
 | |
|   if (l != 0)
 | |
|     __builtin_abort ();
 | |
|   #pragma omp parallel for reduction(+: l) collapse(3)
 | |
|   for (j = 0; j < 4; j++)
 | |
|     for (i = jull; i < kull; i++)
 | |
|       for (k = kull; k < jull; k += 2)
 | |
| 	l++;
 | |
|   if (l != 0)
 | |
|     __builtin_abort ();
 | |
|   #pragma omp parallel for reduction(+: l) collapse(3)
 | |
|   for (j = kull; j < jull; j++)
 | |
|     for (i = jull; i < kull; i++)
 | |
|       for (k = 0; k < 5; k += 2)
 | |
| 	l++;
 | |
|   if (l != 0)
 | |
|     __builtin_abort ();
 | |
| }
 | |
| 
 | |
| int
 | |
| main ()
 | |
| {
 | |
|   f0 ();
 | |
|   f1 ();
 | |
|   f2 ();
 | |
|   f3 ();
 | |
|   return 0;
 | |
| }
 |