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