The following code does not contain a component initialization, nonetheless, gfortran emits the following error: type(myT) :: t 1 Error: Module variable 't' at (1) with a default initialization must have the SAVE attribute This constrain is checked in result.c, excerpt from that file: /* 4th constraint in section 11.3: "If an object of a type for which component-initialization is specified (R429) appears in the specification-part of a module and does not have the ALLOCATABLE or POINTER attribute, the object shall have the SAVE attribute." */ module good2 implicit none type myT integer :: j ! = 5.5 integer, pointer :: p ! => null() end type myT type(myT) :: t end module good2 program main use good2 implicit none t%j = 15 nullify(t%p) end program main (Interestingly, only g95 (and gfortran) give an error if one uses component initialization, NAG f95, sunf95 and ifort don't.)
Bootstapped & re-tested => Works now.