! PR fortran/77665 | |
! { dg-do compile } | |
! { dg-additional-options "-O2" } | |
program pr77665 | |
type t | |
integer :: a = 0 | |
end type | |
type(t) :: x | |
integer :: i | |
!$omp declare reduction (+:t: omp_out%a = omp_out%a + omp_in%a) | |
!$omp simd reduction(+:x) | |
do i = 1, 8 | |
if (abs(i) < 5) STOP 1 | |
x%a = x%a + 1 | |
end do | |
print *, x%a | |
end |