PROGRAM main

  IMPLICIT NONE
  REAL, DIMENSION(5) :: x

  x = [ 0.,2.,4.,8.,10.]
  PRINT *, 'original x = ',x
  CALL incb(x)
  PRINT *, 'modified x = ',x
      
END PROGRAM main
!===========================================
SUBROUTINE incb(a)

!-- this will NOT work because in this case incb is an EXTERNAL subroutine
  REAL, DIMENSION(:) :: a
      
  a = a + 1.

END SUBROUTINE incb
