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.