diff options
| author | Kathy Gray | 2014-11-24 16:14:59 +0000 |
|---|---|---|
| committer | Kathy Gray | 2014-11-24 16:14:59 +0000 |
| commit | 8cfaffa0f71488640d815b5f991799625ef76ce5 (patch) | |
| tree | dd104e31c788e4f8a2c0a0e58dd73e01c844f904 /src | |
| parent | 8c4dc0522f2dd075563abc4932022cebb0399417 (diff) | |
Missing patterns in pattern matches
Diffstat (limited to 'src')
| -rw-r--r-- | src/lem_interp/interp.lem | 8 | ||||
| -rw-r--r-- | src/lem_interp/interp_lib.lem | 3 |
2 files changed, 10 insertions, 1 deletions
diff --git a/src/lem_interp/interp.lem b/src/lem_interp/interp.lem index 467d98d1..f8d85cec 100644 --- a/src/lem_interp/interp.lem +++ b/src/lem_interp/interp.lem @@ -2181,7 +2181,13 @@ and create_write_message_or_update mode t_level value l_env l_mem is_top_level ( ((Action (Write_reg regform Nothing (update_vector_start start_pos reg_size value)) (Thunk_frame (E_aux (E_lit (L_aux L_unit l)) (l,intern_annot annot)) t_level l_env l_mem Top), l_mem,l_env),Nothing) - | (V_register regform,false,Just lexp_builder) -> + | (V_track (V_register regform) _,true,_) -> + let start_pos = reg_start_pos regform in + let reg_size = reg_size regform in + ((Action (Write_reg regform Nothing (update_vector_start start_pos reg_size value)) + (Thunk_frame (E_aux (E_lit (L_aux L_unit l)) (l,intern_annot annot)) t_level l_env l_mem Top), + l_mem,l_env),Nothing) + | (V_track (V_register regform) _,false,Just lexp_builder) -> let start_pos = reg_start_pos regform in let reg_size = reg_size regform in ((Action (Write_reg regform Nothing (update_vector_start start_pos reg_size value)) diff --git a/src/lem_interp/interp_lib.lem b/src/lem_interp/interp_lib.lem index 8ebf37ec..9ee54b16 100644 --- a/src/lem_interp/interp_lib.lem +++ b/src/lem_interp/interp_lib.lem @@ -166,6 +166,7 @@ let rec to_vec_inc (V_tuple[v1;v2]) = match (v1,v2) with | ((V_lit(L_aux (L_num n) ln)),V_unknown) -> V_vector 0 true (List.replicate (natFromInteger n) V_unknown) | (_,V_unknown) -> V_unknown + | (V_unknown,_) -> V_unknown | _ -> Assert_extra.failwith ("to_vec_inc parameters were " ^ (string_of_value (V_tuple[v1;v2]))) end ;; @@ -179,6 +180,8 @@ let rec to_vec_dec (V_tuple([v1;v2])) = match (v1,v2) with | ((V_lit(L_aux (L_num n) ln)),V_unknown) -> V_vector (n-1) false (List.replicate (natFromInteger n) V_unknown) | (_,V_unknown) -> V_unknown + | (V_unknown,_) -> V_unknown + | _ -> Assert_extra.failwith ("to_vec_dec parameters were " ^ (string_of_value (V_tuple[v1;v2]))) end ;; let to_vec ord len n = |
