ada: Crash on applying 'Pos to expression of a type derived from a formal type

The compiler crashes when trying to do a static check for a range violation
in a type conversion of a Pos attribute applied to a prefix of a type derived
from a generic formal discrete type. This optimization was suppressed in the
case of formal types, because the upper bound may not be known, but it also
needs to be suppressed for types derived from formal types.

gcc/ada/

	* checks.adb
	(Apply_Type_Conversion_Checks): Apply Root_Type to the type of the
	prefix of a Pos attribute when checking whether the type is a
	formal discrete type.
1 file changed