------- Comment #1 from burnus at gcc dot gnu dot org 2009-09-29 05:54 ------- gfortran 4.5 has: struct force_type D.1375; force_type.0.xext = 0.0; [...] D.1375 = force_type.0; (*(struct force_type[0:] * restrict) force.data)[(integer(kind=8)) i + force.offset] = D.1375;
gfortran 4.4 has: force_type.0.xext = 0.0; [...] (*(struct force_type[0:] *) force.data)[(integer(kind=8)) i * force.dim[0].stride + force.offset] = force_type.0; Thus the "restrict" (plus the additional assignment) makes the difference at front-end level. -- burnus at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |matz at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41494