aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMichalis Pardalos <m.pardalos@gmail.com>2020-12-01 10:09:25 +0000
committerMichalis Pardalos <m.pardalos@gmail.com>2020-12-01 10:09:25 +0000
commit121a223e8d5be2414698aa4c464e3d8c6fa92f39 (patch)
treecd030cd8d98048a210054f750d2cd8bf78e23d6e /src
parent753ec32951d1a6bbf3d93e02e28e58daa3a070f9 (diff)
downloadvericert-121a223e8d5be2414698aa4c464e3d8c6fa92f39.tar.gz
vericert-121a223e8d5be2414698aa4c464e3d8c6fa92f39.zip
Declare dst reg for call instr
Diffstat (limited to 'src')
-rw-r--r--src/translation/HTLgen.v1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/translation/HTLgen.v b/src/translation/HTLgen.v
index 0a3f08a..c447b89 100644
--- a/src/translation/HTLgen.v
+++ b/src/translation/HTLgen.v
@@ -473,6 +473,7 @@ Definition transf_instr (fin rtrn stack: reg) (ni: node * instruction) : mon uni
| Icall sig (inl fn) args dst n' => error (Errors.msg "Indirect calls are not implemented.")
| Icall sig (inr fn) args dst n' =>
if Z.leb (Z.pos n') Integers.Int.max_unsigned then
+ do _ <- declare_reg None dst 32;
add_instr n n' (HTLcall fn args dst)
else error (Errors.msg "State is larger than 2^32.")
| Itailcall _ _ _ => error (Errors.msg "Tailcalls are not implemented.")