summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/lem_interp/interp_inter_imp.lem9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/lem_interp/interp_inter_imp.lem b/src/lem_interp/interp_inter_imp.lem
index bfca32d3..7b96aef5 100644
--- a/src/lem_interp/interp_inter_imp.lem
+++ b/src/lem_interp/interp_inter_imp.lem
@@ -336,13 +336,14 @@ let rec find_reg_name reg = function
| [] -> Nothing
| (reg_name,v)::registers ->
match (reg,reg_name) with
- | (Reg i, Reg n) -> if i = n then v else find_reg_name reg registers
+ | (Reg i, Reg n) -> if i = n then (Just v) else find_reg_name reg registers
| (Reg_slice i (p1,p2), Reg_slice n (p3,p4)) ->
- if i=n && p1=p3 && p2 = p4 then v else find_reg_name reg registers
+ if i=n && p1=p3 && p2 = p4 then (Just v) else find_reg_name reg registers
| (Reg_field i f _,Reg_field n fn _) ->
- if i=n && f = fn then v else find_reg_name reg registers
+ if i=n && f = fn then (Just v) else find_reg_name reg registers
| (Reg_f_slice i f _ (p1,p2), Reg_f_slice n fn _ (p3,p4)) ->
- if i=n && f=fn && p1=p3 && p2=p3 then v else find_reg_name reg registers
+ if i=n && f=fn && p1=p3 && p2=p3 then (Just v) else find_reg_name reg registers
+ | _ -> find_reg_name reg registers
end end
let rec ie_loop mode register_values i_state =