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

--- Comment #8 from anlauf at gcc dot gnu.org ---
The elemental intrinsic MVBITS also works fine.  Sample testcase:

! { dg-do compile }
! { dg-additional-options "-O3 -fdump-tree-optimized" }
!
! PR fortran/119836 - elemental intrinsic within BLOCK within DO CONCURRENT

program p
  implicit none
  integer, parameter :: n = 4
  integer :: i
  integer :: y(n), x(n)
  do concurrent (i=1:n)
     x(i) = shiftl (i,1)
     call mvbits (42, i, 1, x(i), i+1)
     block
       y(i) = shiftl (i,1)
       call mvbits (42, i, 1, y(i), i+1)
     end block
  end do
  if (any (y /= x)) stop 1
end

! { dg-final { scan-tree-dump-not "_gfortran_stop_numeric" "optimized" } }


This tests fine with gcc-14.

Reply via email to