------- 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

Reply via email to