https://gcc.gnu.org/bugzilla/show_bug.cgi?id=25988
Eric Botcazou <ebotcazou at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Summary|visibility problem with |visibility problem for
|generic child package |implicit actual of formal
| |subprogram with generic
| |child package
--- Comment #6 from Eric Botcazou <ebotcazou at gcc dot gnu.org> ---
The problem comes from this code in Instantiate_Formal_Subprogram:
elsif Box_Present (Formal) then
-- Actual is resolved at the point of instantiation. Create an
-- identifier or operator with the same name as the formal.
if Nkind (Formal_Sub) = N_Defining_Operator_Symbol then
Nam :=
Make_Operator_Symbol (Loc,
Chars => Chars (Formal_Sub),
Strval => No_String);
else
Nam := Make_Identifier (Loc, Chars (Formal_Sub));
end if;
The resolution is not preserved when it is done inside a generic unit.