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.

Reply via email to