aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/libgnat
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/ada/libgnat')
-rw-r--r--gcc/ada/libgnat/a-ciorma.adb7
-rw-r--r--gcc/ada/libgnat/a-ciormu.adb7
-rw-r--r--gcc/ada/libgnat/a-ciorse.adb7
-rw-r--r--gcc/ada/libgnat/a-coorma.adb7
-rw-r--r--gcc/ada/libgnat/a-coormu.adb7
-rw-r--r--gcc/ada/libgnat/a-coorse.adb7
6 files changed, 42 insertions, 0 deletions
diff --git a/gcc/ada/libgnat/a-ciorma.adb b/gcc/ada/libgnat/a-ciorma.adb
index a981f72..000851a 100644
--- a/gcc/ada/libgnat/a-ciorma.adb
+++ b/gcc/ada/libgnat/a-ciorma.adb
@@ -541,6 +541,13 @@ package body Ada.Containers.Indefinite_Ordered_Maps is
"Position cursor of function Element is bad";
end if;
+ if Checks and then
+ (Left (Position.Node) = Position.Node
+ or else Right (Position.Node) = Position.Node)
+ then
+ raise Program_Error with "dangling cursor";
+ end if;
+
pragma Assert (Vet (Position.Container.Tree, Position.Node),
"Position cursor of function Element is bad");
diff --git a/gcc/ada/libgnat/a-ciormu.adb b/gcc/ada/libgnat/a-ciormu.adb
index 2420788..5c3e9f7 100644
--- a/gcc/ada/libgnat/a-ciormu.adb
+++ b/gcc/ada/libgnat/a-ciormu.adb
@@ -545,6 +545,13 @@ package body Ada.Containers.Indefinite_Ordered_Multisets is
raise Program_Error with "Position cursor is bad";
end if;
+ if Checks and then
+ (Left (Position.Node) = Position.Node
+ or else Right (Position.Node) = Position.Node)
+ then
+ raise Program_Error with "dangling cursor";
+ end if;
+
pragma Assert (Vet (Position.Container.Tree, Position.Node),
"bad cursor in Element");
diff --git a/gcc/ada/libgnat/a-ciorse.adb b/gcc/ada/libgnat/a-ciorse.adb
index e656513..7394a4a 100644
--- a/gcc/ada/libgnat/a-ciorse.adb
+++ b/gcc/ada/libgnat/a-ciorse.adb
@@ -534,6 +534,13 @@ package body Ada.Containers.Indefinite_Ordered_Sets is
raise Program_Error with "Position cursor is bad";
end if;
+ if Checks and then
+ (Left (Position.Node) = Position.Node
+ or else Right (Position.Node) = Position.Node)
+ then
+ raise Program_Error with "dangling cursor";
+ end if;
+
pragma Assert (Vet (Position.Container.Tree, Position.Node),
"bad cursor in Element");
diff --git a/gcc/ada/libgnat/a-coorma.adb b/gcc/ada/libgnat/a-coorma.adb
index 05eea5b..5fd3ec6 100644
--- a/gcc/ada/libgnat/a-coorma.adb
+++ b/gcc/ada/libgnat/a-coorma.adb
@@ -481,6 +481,13 @@ package body Ada.Containers.Ordered_Maps is
"Position cursor of function Element equals No_Element";
end if;
+ if Checks and then
+ (Left (Position.Node) = Position.Node
+ or else Right (Position.Node) = Position.Node)
+ then
+ raise Program_Error with "dangling cursor";
+ end if;
+
pragma Assert (Vet (Position.Container.Tree, Position.Node),
"Position cursor of function Element is bad");
diff --git a/gcc/ada/libgnat/a-coormu.adb b/gcc/ada/libgnat/a-coormu.adb
index 0fc1063..c114cf9 100644
--- a/gcc/ada/libgnat/a-coormu.adb
+++ b/gcc/ada/libgnat/a-coormu.adb
@@ -502,6 +502,13 @@ package body Ada.Containers.Ordered_Multisets is
raise Constraint_Error with "Position cursor equals No_Element";
end if;
+ if Checks and then
+ (Left (Position.Node) = Position.Node
+ or else Right (Position.Node) = Position.Node)
+ then
+ raise Program_Error with "dangling cursor";
+ end if;
+
pragma Assert (Vet (Position.Container.Tree, Position.Node),
"bad cursor in Element");
diff --git a/gcc/ada/libgnat/a-coorse.adb b/gcc/ada/libgnat/a-coorse.adb
index 606938e..1f96d39 100644
--- a/gcc/ada/libgnat/a-coorse.adb
+++ b/gcc/ada/libgnat/a-coorse.adb
@@ -480,6 +480,13 @@ package body Ada.Containers.Ordered_Sets is
raise Constraint_Error with "Position cursor equals No_Element";
end if;
+ if Checks and then
+ (Left (Position.Node) = Position.Node
+ or else Right (Position.Node) = Position.Node)
+ then
+ raise Program_Error with "dangling cursor";
+ end if;
+
pragma Assert (Vet (Position.Container.Tree, Position.Node),
"bad cursor in Element");