1! { dg-do compile { target { i?86-*-* x86_64-*-* } } } 2! { dg-options "-O3 -mavx" } 3! 4! PR fortran/50875.f90 5 6module test 7 8 implicit none 9 10 integer, parameter :: dp=kind(1.d0) 11 12 integer :: P = 2 13 14 real(kind=dp), allocatable :: real_array_A(:),real_array_B(:,:) 15 complex(kind=dp), allocatable :: cmplx_array_A(:) 16 17contains 18 19 subroutine routine_A 20 21 integer :: i 22 23 allocate(cmplx_array_A(P),real_array_B(P,P),real_array_A(P)) 24 25 real_array_A = 1 26 real_array_B = 1 27 28 do i = 1, p 29 cmplx_array_A = cmplx(real_array_B(:,i),0.0_dp,dp) 30 cmplx_array_A = cmplx_array_A * exp(cmplx(0.0_dp,real_array_A+1)) 31 end do 32 33 deallocate(cmplx_array_A,real_array_B,real_array_A) 34 35 end subroutine routine_A 36 37end module test 38