[Ada] Add Depends contracts to Delete procedures of formal containers
authorClaire Dross <dross@adacore.com>
Mon, 10 Feb 2020 11:30:40 +0000 (12:30 +0100)
committerPierre-Marie de Rodat <derodat@adacore.com>
Mon, 8 Jun 2020 07:50:52 +0000 (03:50 -0400)
2020-06-08  Claire Dross  <dross@adacore.com>

gcc/ada/

* libgnat/a-cfdlli.ads, libgnat/a-cfhama.ads,
libgnat/a-cfhase.ads, libgnat/a-cforma.ads, libgnat/a-cforse.ads
(Delete): Add Depends contract.

gcc/ada/libgnat/a-cfdlli.ads
gcc/ada/libgnat/a-cfhama.ads
gcc/ada/libgnat/a-cfhase.ads
gcc/ada/libgnat/a-cforma.ads
gcc/ada/libgnat/a-cforse.ads

index 426a5848df42dbfdbcf691b33274e0565b401a28..61312396c6370dc10d79a4ed558b0eb44f6e0117 100644 (file)
@@ -789,9 +789,10 @@ is
                 Count => Count);
 
    procedure Delete (Container : in out List; Position : in out Cursor) with
-     Global => null,
-     Pre    => Has_Element (Container, Position),
-     Post   =>
+     Global  => null,
+     Depends => (Container =>+ Position, Position => null),
+     Pre     => Has_Element (Container, Position),
+     Post    =>
        Length (Container) = Length (Container)'Old - 1
 
          --  Position is set to No_Element
index 7b500961d9eb02100850fe3e79b2610bf1dd9783..8a7350895773dad577c8c27124aa59dc73ab9f6f 100644 (file)
@@ -669,9 +669,10 @@ is
                 Find (Container, Key)'Old);
 
    procedure Delete (Container : in out Map; Position : in out Cursor) with
-     Global => null,
-     Pre    => Has_Element (Container, Position),
-     Post   =>
+     Global  => null,
+     Depends => (Container =>+ Position, Position => null),
+     Pre     => Has_Element (Container, Position),
+     Post    =>
        Position = No_Element
          and Length (Container) = Length (Container)'Old - 1
 
index 366735734d968aab1e1ebc82ec1a92ff98940a48..37022cafffcf08e82c738426cb56c866b4977189 100644 (file)
@@ -801,9 +801,10 @@ is
    --  already in the set.)
 
    procedure Delete (Container : in out Set; Position : in out Cursor) with
-     Global => null,
-     Pre    => Has_Element (Container, Position),
-     Post   =>
+     Global  => null,
+     Depends => (Container =>+ Position, Position => null),
+     Pre     => Has_Element (Container, Position),
+     Post    =>
        Position = No_Element
          and Length (Container) = Length (Container)'Old - 1
 
index acedbe4e097394485b5161e37387fc4aab1645a1..99b02a55119f11c9ad2121f1a5d3815164bc9155 100644 (file)
@@ -733,9 +733,10 @@ is
                 Cut   => Find (Keys (Container), Key)'Old);
 
    procedure Delete (Container : in out Map; Position : in out Cursor) with
-     Global => null,
-     Pre    => Has_Element (Container, Position),
-     Post   =>
+     Global  => null,
+     Depends => (Container =>+ Position, Position => null),
+     Pre     => Has_Element (Container, Position),
+     Post    =>
        Position = No_Element
          and Length (Container) = Length (Container)'Old - 1
 
index 77fc0b401d4a6224b98bc059d4b9789a68785685..a818726cad75cdcb97690bf8c9b2978b429fac98 100644 (file)
@@ -858,9 +858,10 @@ is
      (Container : in out Set;
       Position  : in out Cursor)
    with
-     Global => null,
-     Pre    => Has_Element (Container, Position),
-     Post   =>
+     Global  => null,
+     Depends => (Container =>+ Position, Position => null),
+     Pre     => Has_Element (Container, Position),
+     Post    =>
        Position = No_Element
          and Length (Container) = Length (Container)'Old - 1