From 218079efc59095aa07da7f4f2a7a50b07f35f66e Mon Sep 17 00:00:00 2001 From: Piotr Trojanek Date: Wed, 7 Oct 2020 23:19:28 +0200 Subject: [PATCH] [Ada] Accept local objects in the prefix of attribute Loop_Entry gcc/ada/ * sem_attr.adb (Declared_Within): Return True for objects declared within the attribute Loop_Entry prefix itself. --- gcc/ada/sem_attr.adb | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/gcc/ada/sem_attr.adb b/gcc/ada/sem_attr.adb index ee65185..0fdc830 100644 --- a/gcc/ada/sem_attr.adb +++ b/gcc/ada/sem_attr.adb @@ -4375,7 +4375,8 @@ package body Sem_Attr is -- within the related loop. function Declared_Within (Nod : Node_Id) return Boolean; - -- Determine whether Nod appears in the subtree of Loop_Decl + -- Determine whether Nod appears in the subtree of Loop_Decl but + -- not within the subtree of the prefix P itself. --------------------- -- Check_Reference -- @@ -4411,6 +4412,9 @@ package body Sem_Attr is if Stmt = Loop_Decl then return True; + elsif Stmt = P then + return False; + -- Prevent the search from going too far elsif Is_Body_Or_Package_Declaration (Stmt) then -- 2.7.4