| ! { dg-do compile } |
| ! { dg-options "-Waliasing" } |
| ! PR fortran/91296 |
| ! Code contributed by Chinoune Mehdi <chinoune dot medhi at hotmail dot com> |
| 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 |