http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43829
--- Comment #33 from Dominique d'Humieres <dominiq at lps dot ens.fr> 2011-03-01 15:41:36 UTC --- (In reply to comment #32) > Created attachment 23268 [details] > More up-to-date patch Although this patch is probably not suitable for stage 4, I have it in my tree for some time without any problem. It would be interesting to know if it still improves 465.tonto. My only remark is about the test in comment #31 for which the dg-warning in if (any(1+eid(sum(a,2))+ay+neid2 & (sum(a,2) & ! { dg-warning "Creating array temporary" } )+1 /= 3*ay+2)) call abort should be moved to the line above: Warning: Creating array temporary at (1) pr43829_7.f90:116.34: if (any(1+eid(sum(a,2))+ay+neid2 & 1 Warning: Creating array temporary at (1) and the block if (any(sum( & a(sum(onesx(:,:),1), & sum(onesy(:,:),1), & sum(onesz(:,:),1)), & 1) /= ax)) call abort that generates pr43829_7.f90:94.10: a(sum(onesx(:,:),1), & 1 Warning: Creating array temporary at (1) pr43829_7.f90:94.28: a(sum(onesx(:,:),1), & 1 Warning: Creating array temporary at (1) pr43829_7.f90:95.28: sum(onesy(:,:),1), & 1 Warning: Creating array temporary at (1) Also "reshape((/ (i*i,i=1,size(a)) /), shape(a)), &" generates a warning: pr43829_7.f90:82.8: reshape((/ (i*i,i=1,size(a)) /), shape(a)), & 1 Warning: Creating array temporary at (1)