let wp_stmt wenv s obj = match s.skind with
  | Return (r, _) -> W.return wenv r obj
  | Instr i ->
      begin match i with
      | (Set (lv, e, _)) -> W.assign wenv lv e obj
      | (Call _) -> assert false
      | (Asm _) ->
          Wp_parameters.warning
            "Unsupported inline assembler. Assuming no effects.@.";
          obj
      | Skip _ | Code_annot _ -> obj
      end
  | Break _ | Continue _ | Goto _ -> obj
  | Loop _-> (* this is not a real loop (exit before looping)
                just ignore it ! *)
 obj
  | If _ -> assert false
  | Switch _-> assert false
  | Block _-> assert false
  | UnspecifiedSequence _-> assert false
  | TryExcept _ | TryFinally _ -> assert false