let do_labels wenv e obj = 
    let do_lab l o =
      Wp_parameters.debug ~level:3 "[do_label] process %a@." 
        Macros.pp_logic_label l;
      W.process_at_vars wenv l o
    in
    let do_llab lname obj = do_lab (LogicLabel lname) obj in
    let obj = do_llab "Here" obj in
      (* TODO : what about \old in statement contracts *)
    let v = CFG.E.dst e in
    match !v with
      | Cil2cfg.Vstart _ -> assert false
      | Cil2cfg.VfctIn _ -> do_llab "Pre" obj
      | Cil2cfg.VfctOut _ -> do_llab "Post" obj
      | Cil2cfg.Vexit _ -> obj
      | _ -> do_lab (StmtLabel (ref (Cil2cfg.VL.stmt v))) obj