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

kargl at gcc dot gnu.org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Priority|P3                          |P4

--- Comment #4 from kargl at gcc dot gnu.org ---
(In reply to Valery Weber from comment #0)
> hi all
> 
> the following code is ICEing with gcc 7.2.0
> 
> thanks
> 
> v
> 
> cat sparse_matrix_csx_benchmark_utils.F90
> MODULE sparse_matrix_csx_benchmark_utils
>   IMPLICIT NONE
> CONTAINS  
>   SUBROUTINE sparse_matrix_csr_benchmark ( )
>     WRITE(*,*) 'At*x: t'
>     block
>       integer, dimension(1), parameter :: idxs=[1]
>       integer :: i, idx
>       do i = 1, size(idxs)
>          idx = idxs(i)
>       enddo
>     end block
>   END SUBROUTINE sparse_matrix_csr_benchmark
>   SUBROUTINE sparse_matrix_csc_benchmark ( )
>     WRITE(*,*) 'An*x: t'
>     block
>       integer, dimension(1), parameter :: idxs=[1]
>       integer :: i, idx
>       do i = 1, size(idxs)
>          idx = idxs(i)
>       enddo
>     end block
>   END SUBROUTINE sparse_matrix_csc_benchmark
> END MODULE sparse_matrix_csx_benchmark_utils

This one is weird.  If I move the 2nd WRITE in sparse_matrix_csr_benchmark
to after the BLOCK constructor, the code compiles.  If I leave the 2nd
WRITE in its current location, and comment out the 1st WRITE statement
in sparse_matrix_csr_benchmark, I still get the ICE.  I'm perplexed!

Reply via email to