http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51816
--- Comment #4 from Tobias Burnus <burnus at gcc dot gnu.org> 2012-01-10 22:52:53 UTC --- (In reply to comment #2) > No error with r183001 (likely r183010, CCed Tobias). It's actually only revealed by my patch - the bug is older. Try: use foo, only : t, operator(*), t, operator(*) implicit none type(t) :: i = t(1), j = t(2) print *, i*j end That gives exactly the same error (with GCC 4.1, 4.2-4.7).