diff options
Diffstat (limited to 'gcc/ada/a-cdlili.adb')
-rw-r--r-- | gcc/ada/a-cdlili.adb | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/gcc/ada/a-cdlili.adb b/gcc/ada/a-cdlili.adb index ef02e460cce..497a1112d43 100644 --- a/gcc/ada/a-cdlili.adb +++ b/gcc/ada/a-cdlili.adb @@ -1890,21 +1890,23 @@ package body Ada.Containers.Doubly_Linked_Lists is return False; end if; - if Position.Node = L.First then -- eliminates earlier disjunct + -- Eliminate earlier disjunct + + if Position.Node = L.First then return True; end if; - -- If we get here, we know, per disjunctive syllogism (modus - -- tollendo ponens), that this predicate is true: - -- Position.Node.Prev /= null + -- If we get here, we know (disjunctive syllogism) that this + -- predicate is true: Position.Node.Prev /= null + + -- Eliminate earlier disjunct - if Position.Node = L.Last then -- eliminates earlier disjunct + if Position.Node = L.Last then return True; end if; - -- If we get here, we know, per disjunctive syllogism (modus - -- tollendo ponens), that this predicate is true: - -- Position.Node.Next /= null + -- If we get here, we know (disjunctive syllogism) that this + -- predicate is true: Position.Node.Next /= null if Position.Node.Next.Prev /= Position.Node then return False; |