let print_il0lv lv fields =
  let rec continue = function
      [] -> ""
    | [f,t] -> "." ^ f ^ " : "^(print_c_type t)
    | (f,t)::l -> ".(" ^ f ^ " : "^(print_c_type t) ^ ")" ^ continue l
  in
  let fields = continue fields in
  match lv with
    ILlvPtr(id) -> "*" ^ print_tempid id ^ fields
  | ILlvVar(id,typ) -> id ^ " : " ^ print_c_type typ ^ fields
  | ILlvTemp(id) -> print_tempid id ^ fields