1! PR fortran/77665 2! { dg-do compile } 3! { dg-additional-options "-O2" } 4 5program pr77665 6 type t 7 integer :: a = 0 8 end type 9 type(t) :: x 10 integer :: i 11 !$omp declare reduction (+:t: omp_out%a = omp_out%a + omp_in%a) 12 !$omp simd reduction(+:x) 13 do i = 1, 8 14 if (abs(i) < 5) STOP 1 15 x%a = x%a + 1 16 end do 17 print *, x%a 18end 19