summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKathy Gray2014-06-26 17:18:07 +0100
committerKathy Gray2014-06-26 17:50:07 +0100
commit4b36652baceaadedef22af4f929461dad7992852 (patch)
tree605bc4189872cad927cb56f9308b71cfe831f2a3
parenta0b11f48e6e879eb811cb9f29e1bb817da1b3525 (diff)
range -> vector coerces only on constants and explicit casts
-rw-r--r--src/type_check.ml2
-rw-r--r--src/type_internal.ml2
2 files changed, 2 insertions, 2 deletions
diff --git a/src/type_check.ml b/src/type_check.ml
index 73055541..58df0f14 100644
--- a/src/type_check.ml
+++ b/src/type_check.ml
@@ -1434,7 +1434,7 @@ let check_def envs def =
let i = id_to_string id in
let tannot = into_register d_env (Base(([],t),External (Some i),[],pure_e)) in
(DEF_reg_dec(DEC_aux(DEC_reg(typ,id),(l,tannot))),(Env(d_env,Envmap.insert t_env (i,tannot))))
- | DEF_scattered _ -> raise (Reporting_basic.err_unreachable Unknown "Scattered given to type checker")
+ | DEF_scattered _ -> raise (Reporting_basic.err_unreachable Parse_ast.Unknown "Scattered given to type checker")
(*val check : envs -> tannot defs -> tannot defs*)
diff --git a/src/type_internal.ml b/src/type_internal.ml
index 134aa2c4..049ad398 100644
--- a/src/type_internal.ml
+++ b/src/type_internal.ml
@@ -1445,7 +1445,7 @@ let rec type_coerce_internal co d_env is_explicit t1 cs1 e t2 cs2 =
| [TA_nexp b1;TA_nexp r1;TA_ord o;TA_typ t],_ ->
eq_error l "Cannot convert non-bit vector into an range"
| _,_ -> raise (Reporting_basic.err_unreachable l "vector or range is not properly kinded"))
- | "range","vector",_ ->
+ | "range","vector",true ->
(match args2,args1 with
| [TA_nexp b1;TA_nexp r1;TA_ord {order = Oinc};TA_typ {t=Tid "bit"}],
[TA_nexp b2;TA_nexp r2;] ->