r274650 - in /trunk/gcc/ada: ChangeLog exp_dist...

pmderodat@gcc.gnu.org pmderodat@gcc.gnu.org
Mon Aug 19 08:36:00 GMT 2019


Author: pmderodat
Date: Mon Aug 19 08:36:21 2019
New Revision: 274650

URL: https://gcc.gnu.org/viewcvs?rev=274650&root=gcc&view=rev
Log:
[Ada] Fix incorrect stub generation for types in instances

This fixes a fallout of a recent change clearing the
Is_Generic_Actual_Type on the implicit full view of a private actual
type in an instance.  This flag is used to help disambiguating formal
types instantiated on the same actual type within an instance, but it
should be cleared outside the instance to let the usual disambiguation
rules apply again to these types outside the instance.

This in particular means that Exp_Dist cannot rely on it to detect
subtypes representing generic actual types, hence the need for the new
predicate.

2019-08-19  Eric Botcazou  <ebotcazou@adacore.com>

gcc/ada/

	* exp_dist.adb (Is_Generic_Actual_Subtype): New predicate.
	(Build_From_Any_Call, Build_To_Any_Call, Build_TypeCode_Call):
	Use it instead of Is_Generic_Actual_Type flag to detect subtypes
	representing generic actual types.

Modified:
    trunk/gcc/ada/ChangeLog
    trunk/gcc/ada/exp_dist.adb



More information about the Gcc-cvs mailing list