!PR fortran/32238 ! { dg-do compile } module bug_test contains subroutine bug(c) implicit none integer, parameter :: fp = selected_real_kind(13) complex(kind=fp) :: c(:,:) where( abs( aimag( c ) ) < 1.e-10_fp ) & & c = cmplx( real( c , fp ) , 0._fp , fp ) where( abs( real( c , fp ) ) < 1.e-10_fp ) & & c = cmplx( 0._fp , aimag( c ) , fp ) return end subroutine bug end module bug_test