From c1fece377a93b1809243280fcbe01b143f105c9c Mon Sep 17 00:00:00 2001 From: Yannick Moy Date: Tue, 19 May 2020 16:11:28 +0200 Subject: [PATCH] [Ada] Add utility function to recognize attribute 'Loop_Entry gcc/ada/ * sem_util.ads, sem_util.adb (Is_Attribute_Loop_Entry): New function for GNATProve. --- gcc/ada/sem_util.adb | 10 ++++++++++ gcc/ada/sem_util.ads | 3 +++ 2 files changed, 13 insertions(+) diff --git a/gcc/ada/sem_util.adb b/gcc/ada/sem_util.adb index 96563cbee3a..8dd9e180936 100644 --- a/gcc/ada/sem_util.adb +++ b/gcc/ada/sem_util.adb @@ -14456,6 +14456,16 @@ package body Sem_Util is return Is_Atomic_Object (N) or else Is_Volatile_Full_Access_Object (N); end Is_Atomic_Or_VFA_Object; + ----------------------------- + -- Is_Attribute_Loop_Entry -- + ----------------------------- + + function Is_Attribute_Loop_Entry (N : Node_Id) return Boolean is + begin + return Nkind (N) = N_Attribute_Reference + and then Attribute_Name (N) = Name_Loop_Entry; + end Is_Attribute_Loop_Entry; + ---------------------- -- Is_Attribute_Old -- ---------------------- diff --git a/gcc/ada/sem_util.ads b/gcc/ada/sem_util.ads index 2c6259b0e25..b467e26a212 100644 --- a/gcc/ada/sem_util.ads +++ b/gcc/ada/sem_util.ads @@ -1621,6 +1621,9 @@ package Sem_Util is -- Determine whether arbitrary node N denotes a reference to an object -- which is either atomic or Volatile_Full_Access. + function Is_Attribute_Loop_Entry (N : Node_Id) return Boolean; + -- Determine whether node N denotes attribute 'Loop_Entry + function Is_Attribute_Old (N : Node_Id) return Boolean; -- Determine whether node N denotes attribute 'Old -- 2.30.2