Is the following code fragment conforming Fortran 2008: MODULE M TYPE T REAL R END TYPE END BLOCK DATA USE M TYPE(T) :: X COMMON /ABC/ P CLASS(*), POINTER :: P => X END It seems to be, but I might have overlooked something. Bob Corbett