2
0
Эх сурвалжийг харах

block_vars bugfix when variable is not initialized directly

Nicolas Cannasse 16 жил өмнө
parent
commit
dc6d88ffa6
1 өөрчлөгдсөн 3 нэмэгдсэн , 3 устгасан
  1. 3 3
      codegen.ml

+ 3 - 3
codegen.ml

@@ -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 ->