From: Arnaud Charlet Date: Sun, 19 Apr 2020 09:44:10 +0000 (-0400) Subject: [Ada] ACATS 4.1H - BA12018 - Missed errors for private with X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=86f80604361ef12ecbe2d749fcb5f08ec7f71bfc;p=gcc.git [Ada] ACATS 4.1H - BA12018 - Missed errors for private with 2020-06-17 Arnaud Charlet gcc/ada/ * sem_ch10.adb (Expand_With_Clause): Add missing handling of N_Generic_Subprogram_Declaration, N_Subprogram_Declaration, N_Subprogram_Body. --- diff --git a/gcc/ada/sem_ch10.adb b/gcc/ada/sem_ch10.adb index 28f4674ceeb..f439382fdec 100644 --- a/gcc/ada/sem_ch10.adb +++ b/gcc/ada/sem_ch10.adb @@ -3197,12 +3197,16 @@ package body Sem_Ch10 is Set_Library_Unit (Withn, Parent (Unit_Declaration_Node (Ent))); Set_Parent_With (Withn); - -- If the unit is a package or generic package declaration, a private_ - -- with_clause on a child unit implies that the implicit with on the - -- parent is also private. + -- If the unit is a [generic] package or subprogram declaration + -- (including a subprogram body acting as spec), a private_with_clause + -- on a child unit implies that the implicit with on the parent is also + -- private. if Nkind_In (Unit (N), N_Generic_Package_Declaration, - N_Package_Declaration) + N_Package_Declaration, + N_Generic_Subprogram_Declaration, + N_Subprogram_Declaration, + N_Subprogram_Body) then Set_Private_Present (Withn, Private_Present (Item)); end if;