https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91296
Bug ID: 91296 Summary: ICE when passing complex number %re/%im as a procedure argument with -Waliasing. Product: gcc Version: 9.1.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: fortran Assignee: unassigned at gcc dot gnu.org Reporter: chinoune.mehdi at hotmail dot com Target Milestone: --- This code throw an ICE 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) print*,a end program test $ gfortran-9 -Waliasing -c test.f90 f951: internal compiler error: compare_actual_expr(): Bad component code Please submit a full bug report, with preprocessed source if appropriate. See <file:///usr/share/doc/gcc-9/README.Bugs> for instructions.