[Ada] A new utility routine for detecting attribute 'Old
authorPiotr Trojanek <trojanek@adacore.com>
Tue, 17 Sep 2019 08:01:23 +0000 (08:01 +0000)
committerPierre-Marie de Rodat <pmderodat@gcc.gnu.org>
Tue, 17 Sep 2019 08:01:23 +0000 (08:01 +0000)
Add a utility routine for detecting attribute 'Old. It will be
immediately reused in the GNATprove backend.

2019-09-17  Piotr Trojanek  <trojanek@adacore.com>

gcc/ada/

* sem_util.ads, sem_util.adb (Is_Attribute_Old): New utility
routine.

From-SVN: r275780

gcc/ada/ChangeLog
gcc/ada/sem_util.adb
gcc/ada/sem_util.ads

index a2f7e27633497ade628a0eba1860750264ff9b63..705756d06254be8ddc995a1467d6b10585280088 100644 (file)
@@ -1,3 +1,8 @@
+2019-09-17  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem_util.ads, sem_util.adb (Is_Attribute_Old): New utility
+       routine.
+
 2019-09-17  Yannick Moy  <moy@adacore.com>
 
        * inline.adb (Can_Be_Inlined_In_GNATprove_Mode): Add handling
index 86ae740b686a464ed81992764b93527b7f587f4c..b7d28953267c36909061d06c120ded75f4934944 100644 (file)
@@ -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 --
    -------------------------
index c9065e54eea83f1e763048a66c59bf1815ce19de..2d1bcf0519445a192e485d975b9c34dc9a43903d 100644 (file)
@@ -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