6.6.3.2 It is an error if the value of each corresponding actual value parameter is not assignment-compatible with the type possessed by the formal-parameter.
In other words, when you pass values into formal parameters, during a function or procedure call, the values must be assignment compatible with the type of the formal parameters into which they are passed. If you think about it, this makes sense since passing a value into a formal parameter is very much like assigning the value to the formal parameter.
This error is reported if range checking is enabled.