I 've found that gfortran 4.6 (mingw-gfortran 4.6 from www.equation.com) does not support polymorphism of overloaded operators type-bounded with GENERIC instructions. There was no such problem in mingw-gfortran 4.5.2.