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".

Reply via email to