Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion goblint.opam
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ dev-repo: "git+https://github.com/goblint/analyzer.git"
# on `dune build` goblint.opam will be generated from goblint.opam.template and dune-project
# also remember to generate/adjust goblint.opam.locked!
pin-depends: [
[ "goblint-cil.1.8.2" "git+https://github.com/goblint/cil.git#54b0c220a9cea4213ff596eadff877a6ec9b00fb" ]
[ "goblint-cil.1.8.2" "git+https://github.com/goblint/cil.git#1faa2355fd350c503b150e43c4577873928c30d9" ]
# TODO: add back after release, only pinned for optimization (https://github.com/ocaml-ppx/ppx_deriving/pull/252)
[ "ppx_deriving.5.2.1" "git+https://github.com/ocaml-ppx/ppx_deriving.git#0a89b619f94cbbfc3b0fb3255ab4fe5bc77d32d6" ]
# quoter workaround reverted for release, so no pin needed
Expand Down
2 changes: 1 addition & 1 deletion goblint.opam.locked
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,7 @@ version: "dev"
pin-depends: [
[
"goblint-cil.1.8.2"
"git+https://github.com/goblint/cil.git#54b0c220a9cea4213ff596eadff877a6ec9b00fb"
"git+https://github.com/goblint/cil.git#1faa2355fd350c503b150e43c4577873928c30d9"
]
[
"apron.v0.9.13"
Expand Down
2 changes: 1 addition & 1 deletion goblint.opam.template
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# on `dune build` goblint.opam will be generated from goblint.opam.template and dune-project
# also remember to generate/adjust goblint.opam.locked!
pin-depends: [
[ "goblint-cil.1.8.2" "git+https://github.com/goblint/cil.git#54b0c220a9cea4213ff596eadff877a6ec9b00fb" ]
[ "goblint-cil.1.8.2" "git+https://github.com/goblint/cil.git#1faa2355fd350c503b150e43c4577873928c30d9" ]
# TODO: add back after release, only pinned for optimization (https://github.com/ocaml-ppx/ppx_deriving/pull/252)
[ "ppx_deriving.5.2.1" "git+https://github.com/ocaml-ppx/ppx_deriving.git#0a89b619f94cbbfc3b0fb3255ab4fe5bc77d32d6" ]
# quoter workaround reverted for release, so no pin needed
Expand Down
2 changes: 1 addition & 1 deletion src/analyses/basePriv.mli
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
open Cil
open GoblintCil
(* Cannot use local module substitutions because ppx_import is still stuck at 4.07 AST: https://github.com/ocaml-ppx/ppx_import/issues/50#issuecomment-775817579. *)
(* TODO: try again, because ppx_import is now removed *)

Expand Down
2 changes: 1 addition & 1 deletion src/analyses/baseUtil.mli
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
open Cil
open GoblintCil

val is_global: Queries.ask -> varinfo -> bool
val is_static: varinfo -> bool
Expand Down
1 change: 1 addition & 0 deletions src/analyses/libraryDesc.ml
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
(** Library function descriptor (specification). *)
module Cil = GoblintCil

(** Pointer argument access specification. *)
module Access =
Expand Down
1 change: 1 addition & 0 deletions src/analyses/libraryDsl.mli
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
(** Library function descriptor DSL. *)
open GoblintCil

(** See {!LibraryFunctions} implementation for example usage. *)

Expand Down
2 changes: 2 additions & 0 deletions src/analyses/libraryFunctionEffects.ml
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
open GoblintCil

let effects: (string -> Cil.exp list -> (Cil.lval * _) list option) list ref = ref []
let add_effects f = effects := f :: !effects
let effects_for fname args = List.filter_map (fun f -> f fname args) !effects
2 changes: 2 additions & 0 deletions src/analyses/libraryFunctionEffects.mli
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
(* can't use Base.Main.store b/c of circular build - this is painful... *)
open GoblintCil

val add_effects : (string -> Cil.exp list -> (Cil.lval * ValueDomain.Compound.t) list option) -> unit
val effects_for : string -> Cil.exp list -> (Cil.lval * ValueDomain.Compound.t) list list
1 change: 1 addition & 0 deletions src/analyses/libraryFunctions.mli
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
(** This allows us to query information about library functions. *)
open GoblintCil

val add_lib_funs : string list -> unit

Expand Down
1 change: 1 addition & 0 deletions src/analyses/mCPAccess.ml
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@

open MCPRegistry
module Pretty = GoblintCil.Pretty

(** Access module corresponding to MCP.
Separate to avoid dependency cycle. *)
Expand Down
2 changes: 1 addition & 1 deletion src/cdomains/addressDomain.ml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
open Cil
open GoblintCil
open Pretty
open IntOps

Expand Down
2 changes: 1 addition & 1 deletion src/cdomains/apron/apronDomain.apron.ml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
open Prelude
open Cil
open GoblintCil
open Pretty
(* A binding to a selection of Apron-Domains *)
open Apron
Expand Down
2 changes: 1 addition & 1 deletion src/cdomains/arrayDomain.ml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
open GoblintCil
open Pretty
open Cil
open GobConfig
open FlagHelper

Expand Down
1 change: 1 addition & 0 deletions src/cdomains/arrayDomain.mli
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
open IntOps
open GoblintCil

(** Abstract domains representing arrays. *)
module type S =
Expand Down
2 changes: 1 addition & 1 deletion src/cdomains/baseDomain.ml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
(** domain of the base analysis *)

open Cil
open GoblintCil
module VD = ValueDomain.Compound
module BI = IntOps.BigIntOps

Expand Down
2 changes: 1 addition & 1 deletion src/cdomains/basetype.ml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
module GU = Goblintutil
open Cil
open GoblintCil


(** Location with special alphanumeric output for extraction. *)
Expand Down
2 changes: 1 addition & 1 deletion src/cdomains/floatDomain.ml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
open GoblintCil
open Pretty
open PrecisionUtil
open FloatOps
open Cil

exception ArithmeticOnFloatBot of string

Expand Down
1 change: 1 addition & 0 deletions src/cdomains/floatDomain.mli
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
(** Abstract Domains for floats. These are domains that support the C
* operations on double/float values. *)
open GoblintCil

exception ArithmeticOnFloatBot of string

Expand Down
1 change: 1 addition & 0 deletions src/cdomains/intDomain.ml
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
open GobConfig
open GoblintCil
open Pretty
open PrecisionUtil

Expand Down
1 change: 1 addition & 0 deletions src/cdomains/intDomain.mli
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
(** Abstract Domains for integers. These are domains that support the C
* operations on integer values. *)
open GoblintCil

val should_wrap: Cil.ikind -> bool
val should_ignore_overflow: Cil.ikind -> bool
Expand Down
2 changes: 1 addition & 1 deletion src/cdomains/lockDomain.ml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ module Equ = MusteqDomain.Equ
module Exp = CilType.Exp
module IdxDom = ValueDomain.IndexDomain

open Cil
open GoblintCil

module Mutexes = SetDomain.ToppedSet (Addr) (struct let topname = "All mutexes" end) (* TODO HoareDomain? *)
module Simple = Lattice.Reverse (Mutexes)
Expand Down
2 changes: 1 addition & 1 deletion src/cdomains/lval.ml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
open Cil
open GoblintCil
open Pretty

module GU = Goblintutil
Expand Down
2 changes: 1 addition & 1 deletion src/cdomains/lvalMapDomain.ml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
open Prelude
open Cil
open GoblintCil

module M = Messages

Expand Down
1 change: 1 addition & 0 deletions src/cdomains/mHP.ml
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
include Printable.Std

module TID = ThreadIdDomain.FlagConfiguredTID
module Pretty = GoblintCil.Pretty

type t = {
tid: ThreadIdDomain.ThreadLifted.t;
Expand Down
2 changes: 1 addition & 1 deletion src/cdomains/musteqDomain.ml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
open Cil
open GoblintCil
open Pretty

module V = Basetype.Variables
Expand Down
2 changes: 1 addition & 1 deletion src/cdomains/regionDomain.ml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
open Cil
open GoblintCil
open GobConfig

module GU = Goblintutil
Expand Down
2 changes: 1 addition & 1 deletion src/cdomains/structDomain.ml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
open Cil
open GoblintCil
open GobConfig
open Pretty
open FlagHelper
Expand Down
2 changes: 1 addition & 1 deletion src/cdomains/structDomain.mli
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
(** Abstract domains representing structs. *)

open Cil
open GoblintCil

module type Arg =
sig
Expand Down
2 changes: 1 addition & 1 deletion src/cdomains/symbLocksDomain.ml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
open GoblintCil
open Pretty
open Cil

module Exp =
struct
Expand Down
2 changes: 1 addition & 1 deletion src/cdomains/threadIdDomain.ml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
open Cil
open GoblintCil
open FlagHelper

module type S =
Expand Down
2 changes: 2 additions & 0 deletions src/cdomains/unionDomain.ml
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
open GoblintCil

module type Arg = Lattice.S

module type S =
Expand Down
2 changes: 1 addition & 1 deletion src/cdomains/valueDomain.ml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
open Cil
open GoblintCil
open Pretty
open GobConfig
open PrecisionUtil
Expand Down
2 changes: 1 addition & 1 deletion src/domains/access.ml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
open Batteries
open Cil
open GoblintCil
open Pretty
open GobConfig

Expand Down
2 changes: 1 addition & 1 deletion src/domains/boolDomain.ml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ struct
let relift x = x
let arbitrary () = QCheck.bool *)

let pretty_diff () (x,y) = Pretty.dprintf "%s: %a not leq %a" (name ()) pretty x pretty y
let pretty_diff () (x,y) = GoblintCil.Pretty.dprintf "%s: %a not leq %a" (name ()) pretty x pretty y
end

module MayBool: Lattice.S with type t = bool =
Expand Down
1 change: 1 addition & 0 deletions src/domains/hoareDomain.ml
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
(** Abstract domains with Hoare ordering. *)

module Pretty = GoblintCil.Pretty
open Pretty

exception Unsupported of string
Expand Down
1 change: 1 addition & 0 deletions src/domains/intDomainProperties.ml
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
open GoblintCil
module BI = IntOps.BigIntOps

(* TODO: deduplicate with IntDomain *)
Expand Down
2 changes: 1 addition & 1 deletion src/domains/invariant.ml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
open Cil
open GoblintCil

(** Symbolic (and fully syntactic) expression "lattice". *)
module ExpLat =
Expand Down
2 changes: 1 addition & 1 deletion src/domains/invariantCil.ml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
open Cil
open GoblintCil


let var_replace_original_name vi =
Expand Down
1 change: 1 addition & 0 deletions src/domains/lattice.ml
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
(** The lattice signature and simple functors for building lattices. *)

module Pretty = GoblintCil.Pretty
module GU = Goblintutil

(* module type Rel =
Expand Down
3 changes: 2 additions & 1 deletion src/domains/mapDomain.ml
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
(** Specification and functors for maps. *)

module Pretty = GoblintCil.Pretty
open Pretty
module ME = Messages
module GU = Goblintutil
Expand Down Expand Up @@ -263,7 +264,7 @@ module Timed (M: S) : S with
type key = M.key and
type value = M.value =
struct
let time str f arg = Stats.time (M.name ()) (Stats.time str f) arg
let time str f arg = GoblintCil.Stats.time (M.name ()) (GoblintCil.Stats.time str f) arg

(* Printable.S *)
type t = M.t
Expand Down
1 change: 1 addition & 0 deletions src/domains/myCheck.ml
Original file line number Diff line number Diff line change
Expand Up @@ -56,5 +56,6 @@ struct
let shrinks = List.map shrink arbs in
make ~shrink:(Shrink.sequence shrinks) (Gen.sequence gens)

open GoblintCil
let varinfo: Cil.varinfo arbitrary = QCheck.always (Cil.makeGlobalVar "arbVar" Cil.voidPtrType) (* S TODO: how to generate this *)
end
1 change: 1 addition & 0 deletions src/domains/printable.ml
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
(** Some things are not quite lattices ... *)

module Pretty = GoblintCil.Pretty
open Pretty

module type S =
Expand Down
2 changes: 1 addition & 1 deletion src/domains/queries.ml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
(** Structures for the querying subsystem. *)

open Cil
open GoblintCil

module GU = Goblintutil
module ID =
Expand Down
1 change: 1 addition & 0 deletions src/domains/setDomain.ml
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
(** Abstract domains representing sets. *)
module Pretty = GoblintCil.Pretty
open Pretty

(* Exception raised when the set domain can not support the requested operation.
Expand Down
2 changes: 1 addition & 1 deletion src/framework/analyses.ml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
(** Signatures for analyzers, analysis specifications, and result output. *)

open Prelude
open Cil
open GoblintCil
open Pretty
open GobConfig

Expand Down
2 changes: 1 addition & 1 deletion src/framework/cfgTools.ml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
open MyCFG
open Cil
open GoblintCil
open Pretty
open GobConfig

Expand Down
2 changes: 1 addition & 1 deletion src/framework/constraints.ml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
(** How to generate constraints for a solver using specifications described in [Analyses]. *)

open Prelude
open Cil
open GoblintCil
open MyCFG
open Analyses
open GobConfig
Expand Down
2 changes: 1 addition & 1 deletion src/framework/control.ml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
(** An analyzer that takes the CFG from [MyCFG], a solver from [Selector], constraints from [Constraints] (using the specification from [MCP]) *)

open Prelude
open Cil
open GoblintCil
open MyCFG
open Analyses
open GobConfig
Expand Down
2 changes: 1 addition & 1 deletion src/framework/edge.ml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
open Cil
open GoblintCil
open Pretty

type asm_out = (string option * string * CilType.Lval.t) list [@@deriving eq, to_yojson]
Expand Down
2 changes: 1 addition & 1 deletion src/framework/myCFG.ml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
(** Our Control-flow graph implementation. *)

open Cil
open GoblintCil

(** Re-exported [Node.t] with constructors. See [Node.t] for documentation. *)
type node = Node.t =
Expand Down
2 changes: 1 addition & 1 deletion src/framework/node.ml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
open Cil
open GoblintCil
open Pretty

include Printable.Std
Expand Down
2 changes: 1 addition & 1 deletion src/incremental/compareAST.ml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
open Cil
open GoblintCil
open CilMaps

(* global_type and global_t are implicitly used by GlobalMap to keep GVarDecl apart from GVar and GFun, so do not remove! *)
Expand Down
2 changes: 1 addition & 1 deletion src/incremental/compareCFG.ml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
open MyCFG
open Queue
open Cil
open GoblintCil
open CilMaps
include CompareAST

Expand Down
2 changes: 1 addition & 1 deletion src/incremental/compareCIL.ml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
open Cil
open GoblintCil
open MyCFG
open CilMaps
include CompareAST
Expand Down
Loading