sem_ch3.adb
820 KB
-
[Ada] Only allow Has_Discriminants on type entities · 689751d2
This patch enforces what the comment for Has_Discriminant says: -- Has_Discriminants (Flag5) -- Defined in all types and subtypes. to avoid semantically undefined calls on non-type entities. It also adapts other routines to respect this comment. No user-visible impact. 2018-05-21 Piotr Trojanek <trojanek@adacore.com> gcc/ada/ * einfo.adb (Has_Discriminants): Stronger assertion. (Set_Has_Discriminants): Stronger assertion. * sem_ch13.adb (Push_Scope_And_Install_Discriminants): Adapt to respect the stronger assertion on Has_Discriminant. (Uninstall_Discriminants_And_Pop_Scope): Same as above. * sem_util.adb (New_Copy_Tree): Same as above. * sem_ch7.adb (Generate_Parent_References): Prevent calls to Has_Discriminant on non-type entities that might happen when the compiled code has errors. * sem_ch3.adb (Derived_Type_Declaration): Only call Set_Has_Discriminant on type entities. From-SVN: r260447
Piotr Trojanek committed