let replace_label_localdecl (stype, typ, id, init) =
match stype, typ.ct_ty with
(Auto | Register), (Tbuiltin _ | Tpointer _) -> begin
(* auto scalar variable *)
match init with
None -> [make_il0 (IL0stmtDeclAutoScalar(stype, typ, id, None))]
| Some (CTTMinitExp e) ->
let v, st = translate_mexpr e in
let st2 = make_il0 (IL0stmtDeclAutoScalar(stype, typ, id, Some v)) in
[st; st2]
| Some (CTTMinitList e) ->
assert false
end
| _ ->
[make_il0 (IL0stmtDeclBulk( stype, typ, id, init ))]