! { dg-do compile } ! { dg-options "-Waliasing" } ! PR fortran/91296 ! Code contributed by Chinoune Mehdi module m implicit none integer, parameter :: sp = selected_real_kind(6) contains pure subroutine s(a,b,c) real(sp), intent(in) :: a, b real(sp), intent(out) :: c c = a + b end subroutine s end module m program test use m implicit none real(sp) :: a complex(sp) :: c c = (1._sp,1._sp) call s(c%re,c%im,a) ! *** This use to cause an ICE. *** print*,a end program test