They can have only one definition. All subroutine, function, program, and common-block names are global. Common-block names are a special case of global names. You can use the same name for a common block and a local name in the same program. This is permitted because common-block names are always enclosed in slashes.
Local names have meaning only in the program unit in which they are declared.
All variables, arrays, arguments, and statement functions have local names. A type statement can also dimension an array variable and initialize variables and arrays. A list of attributes for the variable, separated by commas. All operations that are permitted for scalars are permitted for arrays. Note that a scalar quantity conforms to any array.