In Fortran, an assumed-size array is an array with a last upper bound of *. This is required to be a dummy argument to a procedure and it means that the last upper bound is unknown. If an array is declared as assumed-size but is not a dummy argument, the compiler will give error 6221. For example:
subroutine sub integer a(*) end
In this example, array a is not a dummy argument, and thus may not be declared as assumed size.
There is an exception to this rule: if the array is the "pointee" in an integer POINTER statement (an extension to the standard), then it is allowed to be assumed-size. For example:
subroutine sub integer a(*) pointer (p,a) end