From: Piotr Trojanek Date: Tue, 17 Sep 2019 08:01:23 +0000 (+0000) Subject: [Ada] A new utility routine for detecting attribute 'Old X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=ee7c961db9da34d3e437eba0088f7291a7a5dfb4;p=gcc.git [Ada] A new utility routine for detecting attribute 'Old Add a utility routine for detecting attribute 'Old. It will be immediately reused in the GNATprove backend. 2019-09-17 Piotr Trojanek gcc/ada/ * sem_util.ads, sem_util.adb (Is_Attribute_Old): New utility routine. From-SVN: r275780 --- diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index a2f7e276334..705756d0625 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,8 @@ +2019-09-17 Piotr Trojanek + + * sem_util.ads, sem_util.adb (Is_Attribute_Old): New utility + routine. + 2019-09-17 Yannick Moy * inline.adb (Can_Be_Inlined_In_GNATprove_Mode): Add handling diff --git a/gcc/ada/sem_util.adb b/gcc/ada/sem_util.adb index 86ae740b686..b7d28953267 100644 --- a/gcc/ada/sem_util.adb +++ b/gcc/ada/sem_util.adb @@ -13559,6 +13559,16 @@ package body Sem_Util is Is_Volatile_Full_Access (Etype (Entity (N))))); end Is_Atomic_Or_VFA_Object; + ---------------------- + -- Is_Attribute_Old -- + ---------------------- + + function Is_Attribute_Old (N : Node_Id) return Boolean is + begin + return Nkind (N) = N_Attribute_Reference + and then Attribute_Name (N) = Name_Old; + end Is_Attribute_Old; + ------------------------- -- Is_Attribute_Result -- ------------------------- diff --git a/gcc/ada/sem_util.ads b/gcc/ada/sem_util.ads index c9065e54eea..2d1bcf05194 100644 --- a/gcc/ada/sem_util.ads +++ b/gcc/ada/sem_util.ads @@ -1549,6 +1549,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_Old (N : Node_Id) return Boolean; + -- Determine whether node N denotes attribute 'Old + function Is_Attribute_Result (N : Node_Id) return Boolean; -- Determine whether node N denotes attribute 'Result