diff options
Diffstat (limited to 'src/kompsos.adb')
| -rw-r--r-- | src/kompsos.adb | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/src/kompsos.adb b/src/kompsos.adb index ae7848d..87c8555 100644 --- a/src/kompsos.adb +++ b/src/kompsos.adb @@ -591,7 +591,18 @@ package body Kompsos is if Subst.Actual.Is_Empty then return Empty_Term; else - return Subst.Actual.First_Element.Elem.Resolve (Subst); + declare + Min_Pos : Long_Positive := Subst.Actual.First_Index; + Min_Var : Variable := Subst.Actual.First_Element.Key; + begin + for Index in Subst.Actual.First_Index + 1 .. Subst.Actual.Last_Index loop + if Subst.Actual (Index).Key < Min_Var then + Min_Pos := Index; + Min_Var := Subst.Actual (Index).Key; + end if; + end loop; + return Subst.Actual (Min_Pos).Elem.Resolve (Subst); + end; end if; end Resolve_First; |
