|
@@ -396,12 +396,12 @@ let block_vars ctx e =
|
|
|
and wrap used e =
|
|
|
match e.eexpr with
|
|
|
| TVars vl ->
|
|
|
- let vl = List.map (fun (v,vt,e) ->
|
|
|
+ let vl = List.map (fun (v,vt,ve) ->
|
|
|
if PMap.mem v used then begin
|
|
|
let vt = t.tarray vt in
|
|
|
- v, vt, (match e with None -> None | Some e -> Some (mk (TArrayDecl [wrap used e]) (t.tarray e.etype) e.epos))
|
|
|
+ v, vt, Some (mk (TArrayDecl (match ve with None -> [] | Some e -> [wrap used e])) (t.tarray vt) e.epos)
|
|
|
end else
|
|
|
- v, vt, (match e with None -> None | Some e -> Some (wrap used e))
|
|
|
+ v, vt, (match ve with None -> None | Some e -> Some (wrap used e))
|
|
|
) vl in
|
|
|
{ e with eexpr = TVars vl }
|
|
|
| TLocal v when PMap.mem v used ->
|