------- Comment #1 from burnus at gcc dot gnu dot org 2007-08-04 13:17 ------- Interestingly, the following gives an error:
type a integer :: i end type a type(a) :: t common /c/ t end Related, the following is accepted but invalid (for different reasons): "C588 (R558) A common-block-object shall not be a dummy argument, an allocatable variable, a derived-type object with an ultimate component that is allocatable, an automatic object, a function name, an entry name, a variable with the BIND attribute, or a result name." type a sequence integer,allocatable :: i(:) end type a type(a) :: t common /c/ t end NAG f95 writes: T has an allocatable component - cannot occur in COMMON ifort: Error: Variables containing ultimate allocatable array components cannot appear in COMMON or EQUIVALENCE statements. [T] openf95/sunf95: "T" is of a derived type that has an ultimate component that is allocatable, therefore it must not be a named constant or a variable in common. -- burnus at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |rejects-valid Summary|Derived type variables need |COMMON checking: TYPE |SEQUENCE attribute to be in |with(out) SEQUENCE/bind(C), |a COMMON |ALLOCATABLE http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32985