Hi,
this little program cause compiler error when it is compiled with -fopenmp switch.
MODULE aM
IMPLICIT NONE
CONTAINS
SUBROUTINE a1(tab1, tab2)
REAL, INTENT(IN), DIMENSION(:) :: tab1
REAL, INTENT(OUT), DIMENSION(:) :: tab2
REAL, DIMENSION(10) :: t1
!$OMP PARALLEL
!$OMP SINGLE
!error1 !$OMP TASK DEPEND(IN: tab1) !<= unmarked lines causes internal compiler error
!$OMP TASK DEPEND(OUT: tab2) !<= unmarked lines causes internal compiler error
!OK $OMP TASK DEPEND(OUT: t1) !<= this is OK
tab2(:)=2.8*tab1(:)
t1(:)=tab1(:)
!$OMP END TASK
!$OMP END SINGLE
!$OMP END PARALLEL
END SUBROUTINE a1
END MODULE aM
Program aa
USE aM
IMPLICIT NONE
REAL, DIMENSION(10) :: tab1, tab2
tab1=1.0
CALL a1(tab1, tab2)
END
I tested this program on ifort 15.0.5 and 16.0.1 on Debian
Best regards
Janusz Andrzejewski