aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/kompsos.adb13
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;