http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46897
janus at gcc dot gnu.org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2010.12.13 09:28:27 Summary|defined ASSIGNMENT(=) not |[OOP] type-bound defined |used for derived type |ASSIGNMENT(=) not used for |component |derived type component in | |intrinsic assign Ever Confirmed|0 |1 --- Comment #5 from janus at gcc dot gnu.org 2010-12-13 09:28:27 UTC --- (In reply to comment #4) > (In reply to comment #3) > > Actually, I am less and less sure that this is a wrong-code issue. > > I'm also a bit skeptical that this really is a bug. One should check the > standard. Ok, I think the relevant part is the following quote from chapter 7.2.1.3 of the F08 standard (line 13): "An intrinsic assignment where the variable is of derived type is performed as if each component of the variable were assigned from the corresponding component of expr using pointer assignment (7.2.2) for each pointer component, defined assignment for each nonpointer nonallocatable component of a type that has a type-bound defined assignment consistent with the component, intrinsic assignment for each other nonpointer nonallocatable component, ..." Note that this mentions only *type-bound* defined assignment, which means in fact that the defined assignment should only be used in comment #0 and #1, but not in comment #2 (since it is not type-bound there).