https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64869
--- Comment #6 from Eric Botcazou <ebotcazou at gcc dot gnu.org> ---
In fact this should be dealt with in Uninstall_Declarations:
-- On exit from the package scope, we must preserve the visibility
-- established by use clauses in the current scope. Two cases:
-- a) If the entity is an operator, it may be a primitive operator of
-- a type for which there is a visible use-type clause.
-- b) For other entities, their use-visibility is determined by a
-- visible use clause for the package itself or a use-all-type clause
-- applied directly to the entity's type. For a generic instance,
-- the instantiation of the formals appears in the visible part,
-- but the formals are private and remain so.