Skip to content
Snippets Groups Projects
  • Andre Maroneze's avatar
    bd6f3f55
    [libc] change internal representation of fd_set_t · bd6f3f55
    Andre Maroneze authored
    Some case studies (e.g. dyad) use some ugly casts from fd_set_t which lead
    to the analysis stopping too early.
    Changing the representation of fd_set_t should also help it better conform to
    the standard (since a fd_set_t should be able to hold FD_SETSIZE elements).
    bd6f3f55
    History
    [libc] change internal representation of fd_set_t
    Andre Maroneze authored
    Some case studies (e.g. dyad) use some ugly casts from fd_set_t which lead
    to the analysis stopping too early.
    Changing the representation of fd_set_t should also help it better conform to
    the standard (since a fd_set_t should be able to hold FD_SETSIZE elements).
MemVar.mli 2.07 KiB
(**************************************************************************)
(*                                                                        *)
(*  This file is part of WP plug-in of Frama-C.                           *)
(*                                                                        *)
(*  Copyright (C) 2007-2018                                               *)
(*    CEA (Commissariat a l'energie atomique et aux energies              *)
(*         alternatives)                                                  *)
(*                                                                        *)
(*  you can redistribute it and/or modify it under the terms of the GNU   *)
(*  Lesser General Public License as published by the Free Software       *)
(*  Foundation, version 2.1.                                              *)
(*                                                                        *)
(*  It is distributed in the hope that it will be useful,                 *)
(*  but WITHOUT ANY WARRANTY; without even the implied warranty of        *)
(*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *)
(*  GNU Lesser General Public License for more details.                   *)
(*                                                                        *)
(*  See the GNU Lesser General Public License version 2.1                 *)
(*  for more details (enclosed in the file licenses/LGPLv2.1).            *)
(*                                                                        *)
(**************************************************************************)

(* -------------------------------------------------------------------------- *)
(* --- No-Aliasing Memory Model                                           --- *)
(* -------------------------------------------------------------------------- *)

open Cil_types

module type VarUsage =
sig
  val datatype : string
  val param : varinfo -> MemoryContext.param
  (** Memory Model Hypotheses *)
  val hypotheses : unit -> MemoryContext.clause list
end

module Make(V : VarUsage)(M : Sigs.Model) : Sigs.Model