------- Comment #2 from janus at gcc dot gnu dot org 2010-05-08 20:20 ------- Bonus feature #1:
Adding this to comment #0 ... select type ( y => fun(0) ) type is (t1) print *,"t1" type is (t2) print *,"t2" class default print *,"default" end select ... should give a runtime error, since fun(0) evaluates to NULL. F08 section 16.5.1.6 demands that, if the selector is a pointer, it should be associated. In the same way, having an allocatable selector which is not allocated, should also give a runtime error. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44044