From 86f80604361ef12ecbe2d749fcb5f08ec7f71bfc Mon Sep 17 00:00:00 2001 From: Arnaud Charlet Date: Sun, 19 Apr 2020 05:44:10 -0400 Subject: [PATCH] [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. --- gcc/ada/sem_ch10.adb | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/gcc/ada/sem_ch10.adb b/gcc/ada/sem_ch10.adb index 28f4674..f439382 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; -- 2.7.4