mirror of git://gcc.gnu.org/git/gcc.git
				
				
				
			
		
			
				
	
	
		
			32 lines
		
	
	
		
			663 B
		
	
	
	
		
			Fortran
		
	
	
	
			
		
		
	
	
			32 lines
		
	
	
		
			663 B
		
	
	
	
		
			Fortran
		
	
	
	
| ! { dg-do compile }
 | |
|       SUBROUTINE WORK(N)
 | |
|         INTEGER N
 | |
|       END SUBROUTINE WORK
 | |
|       SUBROUTINE SUB3(N)
 | |
|       INTEGER N
 | |
|         CALL WORK(N)
 | |
| !$OMP BARRIER
 | |
|         CALL WORK(N)
 | |
|       END SUBROUTINE SUB3
 | |
|       SUBROUTINE SUB2(K)
 | |
|       INTEGER K
 | |
| !$OMP PARALLEL SHARED(K)
 | |
|           CALL SUB3(K)
 | |
| !$OMP END PARALLEL
 | |
|       END SUBROUTINE SUB2
 | |
|       SUBROUTINE SUB1(N)
 | |
|       INTEGER N
 | |
|         INTEGER I
 | |
| !$OMP PARALLEL PRIVATE(I) SHARED(N)
 | |
| !$OMP DO
 | |
|           DO I = 1, N
 | |
|              CALL SUB2(I)
 | |
|           END DO
 | |
| !$OMP END PARALLEL
 | |
|       END SUBROUTINE SUB1
 | |
|       PROGRAM A15
 | |
|         CALL SUB1(2)
 | |
|         CALL SUB2(2)
 | |
|         CALL SUB3(2)
 | |
|       END PROGRAM A15
 |