------- Comment #1 from dominiq at lps dot ens dot fr 2010-06-07 13:49 ------- Useless temporaries are also emitted for PAD and ORDER optional arguments:
program main integer :: i, k, l, m, n real :: e1, e2 real, dimension(4,5) :: b real, dimension(5,4) :: c b = reshape([(i, i=1,20)],[4,5]) m = 5 n = 4 c = reshape(b, [m,n]) e1 = 1.0 e2 = 2.0 k = 2 l = 1 c = reshape(b, [m,n], [e1,e2], [k,l]) end program main pr36928_red.f90:17.24: c = reshape(b, [m,n], [e1,e2], [k,l]) 1 Warning: Creating array temporary at (1) pr36928_red.f90:17.24: c = reshape(b, [m,n], [e1,e2], [k,l]) 1 Warning: Creating array temporary at (1) pr36928_red.f90:17.33: c = reshape(b, [m,n], [e1,e2], [k,l]) 1 Warning: Creating array temporary at (1) pr36928_red.f90:17.33: c = reshape(b, [m,n], [e1,e2], [k,l]) 1 Warning: Creating array temporary at (1) -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44442