https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82243
--- Comment #4 from anlauf at gcc dot gnu.org --- I don't think that it has to do with kinds. Currently there simply seems to be no code being emitted for array constructors. Example: program p implicit none integer :: i, n = 40 real :: a(40), b(40) a(1:n-1) = [ (b(i), i=1,n) ] ! no bounds check generated a(1:n-1) = b(1:n) ! bounds check generated end program p Compile with -fdump-tree-original and look at the resulting code. An alternative way to find issues with the posted code is compiling with -fsanitize=address.