http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47082
janus at gcc dot gnu.org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2010.12.29 15:58:51 Ever Confirmed|0 |1 --- Comment #2 from janus at gcc dot gnu.org 2010-12-29 15:58:51 UTC --- I have stared at this problem for a while now, but I'm still puzzled about its origin. All I could come up with is this ad-hoc patch: Index: gcc/fortran/trans-expr.c =================================================================== --- gcc/fortran/trans-expr.c (revision 168301) +++ gcc/fortran/trans-expr.c (working copy) @@ -6085,6 +6085,7 @@ gfc_trans_class_init_assign (gfc_code *code) rhs = gfc_copy_expr (code->expr1); gfc_add_vptr_component (rhs); + gfc_get_derived_type (rhs->ts.u.derived); gfc_add_def_init_component (rhs); sz = gfc_copy_expr (code->expr1); This does not solve the problem fully, but it reduces it to PR46448: /tmp/cc9UG1CN.s: Assembler messages: /tmp/cc9UG1CN.s:65: Error: symbol `__copy_m0_t0_' is already defined