------- Comment #2 from janus at gcc dot gnu dot org 2010-08-13 08:22 ------- Confirmed.
-fdump-tree-original shows only one difference when exchanging the use statements: --- c1.f90.003t.original 2010-08-13 10:05:17.720283742 +0200 +++ c1.f90.003t.original.bug 2010-08-13 10:04:53.912784753 +0200 @@ -215,7 +215,7 @@ MAIN__ () if (vtab$trivial_gradient_type.assign == 0B) { - vtab$trivial_gradient_type.assign = my_assign; + vtab$trivial_gradient_type.assign = (void (*<T4a1>) (struct class$trivial_gradient_type & restrict, struct class$vector_class & restrict)) my_assign; } class.8.$vptr = (struct vtype$gradient_class * {ref-all}) &vtab$trivial_gradient_type; class.8.$data = (struct gradient_class *) &g_initial; -- janus at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |janus at gcc dot gnu dot org Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Keywords| |wrong-code Last reconfirmed|0000-00-00 00:00:00 |2010-08-13 08:22:22 date| | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45271