Topic arose during analyzing/fixing PR 42736. For the Table%RealData(:,1) = Table%RealData(:,1) * CENTIMETER user-defined operation(*)/assignment an unnecessary temporary is produced. (The "atmp" in the dump is not needed.)
An initial patch can be found at http://gcc.gnu.org/ml/fortran/2010-01/msg00100.html (Read complete thread.) which needs some checking for correctness. -- Summary: Unneccessary array temporary produced Product: gcc Version: 4.5.0 Status: UNCONFIRMED Keywords: missed-optimization Severity: normal Priority: P3 Component: fortran AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: burnus at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42831