!sample for storage association
PROGRAM F
!equivalence association must not cause a common block storage sequence to be
!extended by adding storage units preceding the first storage unit of the first
!object specified in a COMMON statement for the common block
	COMMON /X/A
	REAL B(2)
	EQUIVALENCE (A,B(2))
!an equivalence statement must not cause the storage sequences of two different
!common block to be associated
	COMMON /Y/C,D
	COMMON /Z/E,G
	REAL B1(2)
	EQUIVALENCE (D,B1(2))
	EQUIVALENCE (G,B1(1))
!only one appearance of a given variable name is permitted in all common block
!object lists within a scoping unit
	COMMON A
!a common block object must not be an allocatable array
	ALLOCATABLE X1(:,:)
	COMMON X1
!if a common block object is of a derived type, it must be a sequence type
	TYPE SS
		INTEGER I
	END TYPE
	TYPE (SS) X2,X5
	COMMON X2
!if a variable name appears with an explicit_shape_spec_list, it must not have
!POINTER attribute
	POINTER X3
	COMMON X3(3,4)
!each bound in the explicit_shape_spec must be a constant specification expression
	COMMON X4(3,R)

!an equivalence object must not be an object of a nonsequence derived type
	EQUIVALENCE (X5,J)
!each subscript or substring range expression in an equivalence_object must be
!an integer initialization expression
	REAL X6(3,4)
	EQUIVALENCE (X6(1,R),X7)
END
