https://gcc.gnu.org/g:4b5eeb74a20028e493b520887cc9fd97d6fc0f3d
commit r15-594-g4b5eeb74a20028e493b520887cc9fd97d6fc0f3d Author: Piotr Trojanek <troja...@adacore.com> Date: Tue Mar 5 13:03:18 2024 +0100 ada: Allow private items with unknown discriminants as Depends inputs Objects of private types with unknown discriminants are now allowed as inputs in the Depends contracts. gcc/ada/ * sem_prag.adb (Is_Unconstrained_Or_Tagged_Item): Allow objects of private types with unknown discriminants. Diff: --- gcc/ada/sem_prag.adb | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/gcc/ada/sem_prag.adb b/gcc/ada/sem_prag.adb index 9dc22e3edc17..0302cdb00ba5 100644 --- a/gcc/ada/sem_prag.adb +++ b/gcc/ada/sem_prag.adb @@ -283,7 +283,8 @@ package body Sem_Prag is function Is_Unconstrained_Or_Tagged_Item (Item : Entity_Id) return Boolean; -- Subsidiary to Collect_Subprogram_Inputs_Outputs and the analysis of -- pragma Depends. Determine whether the type of dependency item Item is - -- tagged, unconstrained array or unconstrained record. + -- tagged, unconstrained array, unconstrained private or unconstrained + -- record. procedure Record_Possible_Body_Reference (State_Id : Entity_Id; @@ -32977,7 +32978,8 @@ package body Sem_Prag is return Has_Discriminants (Typ) and then not Is_Constrained (Typ); elsif Is_Private_Type (Typ) then - return Has_Discriminants (Typ); + return Has_Discriminants (Typ) + or else Has_Unknown_Discriminants (Typ); else return False;