gcc/ada/
* exp_ch3.adb (Expand_Record_Extension): Set Parent_Subtype on
the type extension when within a generic unit, even though
expansion is disabled, to allow for proper resolution of
selected components inherited from an ancestor.
-- Expand_Record_Extension is called directly from the semantics, so
-- we must check to see whether expansion is active before proceeding,
-- because this affects the visibility of selected components in bodies
- -- of instances.
+ -- of instances. Within a generic we still need to set Parent_Subtype
+ -- link because the visibility of inherited components will have to be
+ -- verified in subsequent instances.
if not Expander_Active then
+ if Inside_A_Generic and then Ekind (T) = E_Record_Type then
+ Set_Parent_Subtype (T, Etype (T));
+ end if;
return;
end if;