http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46344
--- Comment #11 from janus at gcc dot gnu.org 2010-11-08 09:20:48 UTC --- r166430 fixes the test cases in comment #0 and #4 and the one in PR 46345. However, the problem in comment #5 persists. Reduced test case: module m type t1 end type type t2 class(t1), allocatable :: c end type type(t1) :: w end module m end module m 1 Internal Error at (1): write_symbol(): bad module symbol 'w' The error seems to be sensitive to the first letter of the type(t1) variable. All names starting with 'w'-'z' fail, others seem to work. Also the error disappears when adding "implicit none", so it seems to be connected to implicit typing.