mirror of git://gcc.gnu.org/git/gcc.git
				
				
				
			
		
			
				
	
	
		
			27 lines
		
	
	
		
			565 B
		
	
	
	
		
			Fortran
		
	
	
	
			
		
		
	
	
			27 lines
		
	
	
		
			565 B
		
	
	
	
		
			Fortran
		
	
	
	
| ! { dg-do run }
 | |
| 
 | |
| program collapse1
 | |
|   integer :: i, j, k, a(1:3, 4:6, 5:7)
 | |
|   logical :: l
 | |
|   l = .false.
 | |
|   a(:, :, :) = 0
 | |
|   !$omp parallel do collapse(4 - 1) schedule(static, 4)
 | |
|     do i = 1, 3
 | |
|       do j = 4, 6
 | |
|         do k = 5, 7
 | |
|           a(i, j, k) = i + j + k
 | |
|         end do
 | |
|       end do
 | |
|     end do
 | |
|   !$omp parallel do collapse(2) reduction(.or.:l)
 | |
|     do i = 1, 3
 | |
|       do j = 4, 6
 | |
|         do k = 5, 7
 | |
|           if (a(i, j, k) .ne. (i + j + k)) l = .true.
 | |
|         end do
 | |
|       end do
 | |
|     end do
 | |
|   !$omp end parallel do
 | |
|   if (l) call abort
 | |
| end program collapse1
 |