http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55763
--- Comment #14 from Tobias Burnus <burnus at gcc dot gnu.org> 2013-01-03 15:44:24 UTC --- (In reply to comment #12) > + c->ts.type = ts->type = BT_VOID; Ups. The "ts->type =" has to be deleted to fix the failure of comment 13. * * * The following valid code gives an ICE: type t end type t type(t), target :: x class(*), pointer :: ptr2 => x if (same_type_as (ptr2, x) .neqv. .TRUE.) call abort() end * * * The following (currently used in gfortran.dg/unlimited_polymorphic_3.f03) is invalid: class(*), pointer :: ptr2 => null(x) C512 (R506) The function-reference shall be a reference to the intrinsic function NULL with no arguments.