http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59720
--- Comment #5 from janus at gcc dot gnu.org --- In our case here, the two corresponding arguments are polymorphic, with the type of the second one being an extension of the type of the first. Therefore the second one is type-compatible with the first (but not vice versa), which means that they are *not* distinguishable, i.e. the two procedures *are* ambiguous. Following this argumentation, gfortran is indeed correct to reject the test cases in comment 0 and 1 (as well as typebound_operator_14.f90), and my patch in comment 2 is wrong! However, the question then is why Intel (and NAG?) seem to accept those test cases? Is this a bug in those compilers or do they just allow it as an extension?