!sample for attribute specification statements
! R519 - R528

MODULE M1
!only one accessibility statement with an omitted access_id_list is permitted
!in the scoping unit of a module
	PUBLIC
	PUBLIC
	INTEGER I_M,J_M
END MODULE

PROGRAM F
!an intent statement may appear only in the specification part of a subprogram
!or an interface body
	INTENT (IN)::I
!an optional statement may occur only in the scoping unit of a subprogram or an
!interface body
	OPTIONAL I
!an access_stmt may appear only in the scoping unit of a module
	PRIVATE A
!an object name with save attribute must not be the name of an object with the 
!PARAMETER attribute
	INTEGER , PARAMETER :: J = 5
	SAVE J
!if the DIMENSION attribute for an array name is specified elsewhere in
!the scoping unit, the array_spec must be a deferred_shape_spec_list
	DIMENSION K(3,43)
	ALLOCATABLE K
END

FUNCTION FF(X,Y,Z)
!the INTENT attribute must not be specified for an object name in a POINTER
!statement
	INTENT (IN) :: X,Y,Z
	POINTER X
!the PARAMETER attribute must not be specified for an object name in a TARGET 
!statement 
	PARAMETER (I = 5)
	TARGET I
END
