http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46262
janus at gcc dot gnu.org changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |ice-on-valid-code --- Comment #1 from janus at gcc dot gnu.org 2010-11-01 19:43:41 UTC --- -fdump-tree-original shows wrong code being generated: struct class$integrable_model_a <T3f8> (struct class$integrable_model & restrict) D.1529; static real(kind=4) C.1528 = 2.0e+0; struct class$integrable_model_a D.1527; D.1527 = d_dt ((struct class$integrable_model *) model); D.1529 = d_dt (&D.1527, &C.1528); _gfortran_transfer_real_write (&dt_parm.0, &D.1529, 4); The second call to "d_dt" should actually be a call to "D.1527->$vptr->multiply".