------- Comment #7 from pault at gcc dot gnu dot org 2010-02-24 06:46 ------- (In reply to comment #6) > Just to make sure it won't get forgotten: REOPEN. > > (In reply to comment #4) > > Paul, for the test case in comment 0 we still create a temporary: > > > > b(a)=1 > >
Tobias, Not if 'a' has the right KIND. Try SUBROUTINE S(a, b) INTEGER(8), POINTER, DIMENSION(:) :: a INTEGER, DIMENSION(:) :: b b(a)=1 END SUBROUTINE S See trans-array.c:5099 - that's where the temporary is generated, when a is default kind. This could be fixed but, right now, I am not sure how :-( Paul -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38112