open Obc open C open Idents open Names let async_global_var_name od = "g_async__" ^ (name od.o_ident) let filter_async_objs cd = List.filter (fun od -> match od.o_ack with | Some _ -> true | None -> false) cd.cd_objs let async_global_objs_defs cd = List.map (fun od -> let name = async_global_var_name od in let ty = Cty_id (qn_append od.o_class "_async") in Cvardef (name, ty)) (filter_async_objs cd)