https://gcc.gnu.org/bugzilla/show_bug.cgi?id=122161
--- Comment #7 from GCC Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Marc Poulhies <[email protected]>: https://gcc.gnu.org/g:987d94ebf0b653707987bfe74e8fe4d3ff63d8ea commit r16-4982-g987d94ebf0b653707987bfe74e8fe4d3ff63d8ea Author: Eric Botcazou <[email protected]> Date: Thu Oct 9 09:41:54 2025 +0200 ada: Tidy up code dealing with visibility in instances of formal packages The actuals for parameters of formal packages are visible in the instance if the formal packages either are declared with a box or contain defaulted parameters. This is essentially implemented in Check_Generic_Actuals and Restore_Private_Views, with the help of the Is_Visible_Formal flag. This documents more prominently the processing and streamlines it, as well as removes a couple of questionable calls to Set_Is_Hidden, thus plugging a couple more loopholes in the implementation. gcc/ada/ChangeLog: PR ada/122161 * sem_ch12.adb: Improve the description of Check_Generic_Actuals, Restore_Private_Views and Switch_View, and alphabetize them. (Check_Generic_Actuals): Make actuals visible only if needed. (Install_Formal_Packages): Pass exact Is_Formal_Box parameter and remove call to Set_Is_Hidden. (Instantiate_Formal_Package): Use Next_Non_Pragma consistently in the loop computing the visibility of actuals. (Analyze_Package_Instantiation): Use named second parameter in the call to Restore_Private_Views. (Analyze_Subprogram_Instantiation): Likewise. (Instantiate_Package_Body): Likewise and for Check_Generic_Actuals. (Instantiate_Subprogram_Body): Likewise. (Restore_Env): Replace call to Restore_Private_Views. (Restore_Private_Views): Remove default value for second parameter and test of presence for first parameter. Consistently clear the Is_Potentially_Use_Visible flag when setting the Is_Hidden flag. Remove call to Set_Is_Hidden for a formal package of the enclosing generic unit, if any.
