From 96ece83775334d8125c16c4c3dcc607b511bc7b2 Mon Sep 17 00:00:00 2001 From: Arnaud Charlet Date: Mon, 22 Jun 2020 06:18:14 -0400 Subject: [PATCH] [Ada] Double evaluation of predicate gcc/ada/ * sem_ch13.adb (Add_Predicates): Prevent analyzing twice the same pragma in case an inner package references the type with a predicate (as opposed to defining the type). --- gcc/ada/sem_ch13.adb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gcc/ada/sem_ch13.adb b/gcc/ada/sem_ch13.adb index 28fd1ed..a322466f 100644 --- a/gcc/ada/sem_ch13.adb +++ b/gcc/ada/sem_ch13.adb @@ -9746,7 +9746,7 @@ package body Sem_Ch13 is elsif Nkind (Ritem) = N_Aspect_Specification and then Present (Aspect_Rep_Item (Ritem)) - and then Scope (Typ) /= Current_Scope + and then Scope_Depth (Scope (Typ)) > Scope_Depth (Current_Scope) then declare Prag : constant Node_Id := Aspect_Rep_Item (Ritem); -- 2.7.4