diff options
author | Son Ho | 2022-05-15 21:30:49 +0200 |
---|---|---|
committer | Son Ho | 2022-05-15 21:30:49 +0200 |
commit | a25d820b6eb02f573ad2c274a35e3496a9dacd40 (patch) | |
tree | d491994904b8f57b4b5ed993f61cec2127ebe20c /src/SymbolicToPure.ml | |
parent | f8f07a3135e69529407dfd9359197cb09e78776f (diff) |
Treat integer casts in a general manner
Diffstat (limited to 'src/SymbolicToPure.ml')
-rw-r--r-- | src/SymbolicToPure.ml | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/SymbolicToPure.ml b/src/SymbolicToPure.ml index 3ac68365..42479a6e 100644 --- a/src/SymbolicToPure.ml +++ b/src/SymbolicToPure.ml @@ -1177,6 +1177,12 @@ and translate_function_call (config : config) (call : S.call) (e : S.expression) in (ctx, Unop (Neg int_ty), effect_info, args, None) | _ -> raise (Failure "Unreachable")) + | S.Unop (E.Cast (src_ty, tgt_ty)) -> + (* Note that cast can fail *) + let effect_info = + { can_fail = true; input_state = false; output_state = false } + in + (ctx, Unop (Cast (src_ty, tgt_ty)), effect_info, args, None) | S.Binop binop -> ( match args with | [ arg0; arg1 ] -> |