http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46328
janus at gcc dot gnu.org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2011-10-30 Ever Confirmed|0 |1 --- Comment #3 from janus at gcc dot gnu.org 2011-10-30 11:38:28 UTC --- Note that the segfault on the code in comment #0 is gone by now. With 4.6 and trunk one currently gets: u = (u)*2. 1 Error: Operands of binary numeric operator '*' at (1) are CLASS(field)/REAL(4) (which is the same error as on comment #2.) This error is due to the fact that the operator is not replaced by a TBP call (which in turn is due to the parenthesis, which is not optimized away). Also note that comment #0 is invalid (since it is missing a defined assignment for type 'field'), as 4.5 reports: u = (u)*2. 1 Error: Variable must not be polymorphic in assignment at (1)