https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91039
--- Comment #1 from urbanjost at comcast dot net --- implicit none integer :: fx1(10)=1 integer :: fx2(20)=2 integer,allocatable :: a(:) a=-fx1 ! I would expect errors like "different shape for array assignment" where indicated? a(:)=[fx2+1]; call show('B') !! NO ERROR? a=-1 a(:10)=[fx2*2,fx1]; call show('C') !! NO ERROR? a=-2 a(:)=[fx2,fx1]; call show('D') !! NO ERROR? contains subroutine show(prefix) character(len=*),intent(in) :: prefix write(*,'(a,":",*(i0,1x))')prefix,size(a),a end subroutine show end B:10 3 3 3 3 3 3 3 3 3 3 C:10 4 4 4 4 4 4 4 4 4 4 D:10 2 2 2 2 2 2 2 2 2 2