r279355 - in /trunk/gcc/ada: ChangeLog einfo.ad...

pmderodat@gcc.gnu.org pmderodat@gcc.gnu.org
Fri Dec 13 09:04:00 GMT 2019


Author: pmderodat
Date: Fri Dec 13 09:04:38 2019
New Revision: 279355

URL: https://gcc.gnu.org/viewcvs?rev=279355&root=gcc&view=rev
Log:
[Ada] Implement AI12-0109 (prohibit some "early" derivations)

2019-12-13  Steve Baird  <baird@adacore.com>

gcc/ada/

	* einfo.ads: Correct comment for Derived_Type_Link to reflect
	that fact that this function is now used for more than just
	generation of warnings.
	* sem_ch3.adb (Build_Derived_Type): Do not call
	Set_Derived_Type_Link if the derived type and the parent type
	are in different compilation units. Such a derivation cannot be
	a problematic "early" derivation (identifying these is what the
	Derived_Type_Link attribute is used for) and we don't like
	inter-unit references that go in the opposite direction of
	semantic dependencies.
	* sem_ch13.adb (Is_Type_Related_Rep_Item): A new function,
	analogous to the existing function Is_Operational_Item.
	(Rep_Item_Too_Late): Generate a hard error (with same text as
	the warning that was previously being generated) if the
	AI12-0109 legality rule is violated.

Modified:
    trunk/gcc/ada/ChangeLog
    trunk/gcc/ada/einfo.ads
    trunk/gcc/ada/sem_ch13.adb
    trunk/gcc/ada/sem_ch3.adb



More information about the Gcc-cvs mailing list