https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92537

anlauf at gcc dot gnu.org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Version|unknown                     |10.0

--- Comment #1 from anlauf at gcc dot gnu.org ---
The two module files can be combined into one when -fno-include is used:

% cat pr93527.f90
MODULE pr93527
  implicit none
  integer, parameter :: wp = kind (1.d0)
  interface p_min
     module procedure p_min_wp
  end interface
contains
  subroutine foo (pr)
    real(wp), pointer     :: pr(:)
    integer  ::  nzd
    real(wp) ::  pmin
    real(wp) ::  pmin_diag
    integer  ::  i
    nzd  = 15
    allocate (pr(nzd))
    pmin_diag = 4000._wp
    pmin = p_min(pmin_diag)
    pmin = min (pmin,pmin_diag)
    pr(1) = log(pmin)
    do i=1,nzd-1
       pr(i+1) = log(pmin) + i
    end do
  end subroutine foo
  function p_min_wp (x) result (p_min)
    real(wp), intent(in) :: x
    real(wp)             :: p_min
    p_min = x
  end function p_min_wp
end module pr93527

%  gfc-10 -O2 -march=skylake -ftree-vectorize -fno-inline -c pr93527.f90
during GIMPLE pass: slp
pr93527.f90:8:0:

    8 |   subroutine foo (pr)
      | 
internal compiler error: in vect_slp_analyze_node_operations, at
tree-vect-slp.c:2775
0xfc2c6b vect_slp_analyze_node_operations
        ../../trunk/gcc/tree-vect-slp.c:2775
0xfc341a vect_slp_analyze_operations(vec_info*)
        ../../trunk/gcc/tree-vect-slp.c:2862
0xfc902f vect_slp_analyze_bb_1
        ../../trunk/gcc/tree-vect-slp.c:3199
0xfc902f vect_slp_bb_region
        ../../trunk/gcc/tree-vect-slp.c:3260
0xfc902f vect_slp_bb(basic_block_def*)
        ../../trunk/gcc/tree-vect-slp.c:3395
0xfcbd7a execute
        ../../trunk/gcc/tree-vectorizer.c:1320

Reply via email to