Skip to content

Commit

Permalink
Merge pull request #1313 from goblint/goblint-dune-libs-3
Browse files Browse the repository at this point in the history
Organize constraint system and value domain modules into dune libraries
  • Loading branch information
sim642 authored Dec 29, 2023
2 parents b671ffa + cedbc19 commit 9d1dc02
Show file tree
Hide file tree
Showing 82 changed files with 776 additions and 595 deletions.
2 changes: 1 addition & 1 deletion gobview
2 changes: 2 additions & 0 deletions scripts/goblint-lib-modules.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@

goblint_lib_paths = [
src_root_path / "goblint_lib.ml",
src_root_path / "solver" / "goblint_solver.ml",
src_root_path / "util" / "std" / "goblint_std.ml",
]
goblint_lib_modules = set()
Expand All @@ -33,6 +34,7 @@

# libraries
"Goblint_std",
"Goblint_solver",
"Goblint_timing",
"Goblint_backtrace",
"Goblint_tracing",
Expand Down
2 changes: 1 addition & 1 deletion src/analyses/base.ml
Original file line number Diff line number Diff line change
Expand Up @@ -2871,7 +2871,7 @@ struct
| "once" ->
f (D.bot ())
| "fixpoint" ->
let module DFP = LocalFixpoint.Make (D) in
let module DFP = Goblint_solver.LocalFixpoint.Make (D) in
DFP.lfp f
| _ ->
assert false
Expand Down
File renamed without changes.
71 changes: 71 additions & 0 deletions src/cdomain/value/cdomain_value.mld
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
{0 Library goblint.cdomain.value}
This library is unwrapped and provides the following top-level modules.
For better context, see {!Goblint_lib} which also documents these modules.


{1 Domains}

{2 Analysis-specific}

{3 Value}

{4 Non-relational}

{5 Numeric}
{!modules:
IntDomain
FloatDomain
}

{5 Addresses}
{!modules:
Mval
Offset
StringDomain
AddressDomain
}

{5 Complex}
{!modules:
StructDomain
UnionDomain
ArrayDomain
NullByteSet
JmpBufDomain
}

{5 Combined}
{!modules:
ValueDomain
ValueDomainQueries
}

{3 Concurrency}
{!modules:
MutexAttrDomain
ThreadIdDomain
ConcDomain
}

{3 Other}
{!modules:
Lval
}


{1 I/O}

{2 Witnesses}
{!modules:
Invariant
InvariantCil
}


{1 Utilities}

{2 Analysis-specific}
{!modules:
PrecisionUtil
WideningThresholds
}
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
24 changes: 24 additions & 0 deletions src/cdomain/value/dune
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
(include_subdirs unqualified)

(library
(name goblint_cdomain_value)
(public_name goblint.cdomain.value)
(wrapped false) ; TODO: wrap
(libraries
batteries.unthreaded
goblint_std
goblint_common
goblint_config
goblint_library
goblint_domain
goblint_incremental
goblint-cil)
(flags :standard -open Goblint_std)
(preprocess
(pps
ppx_deriving.std
ppx_deriving_hash
ppx_deriving_yojson))
(instrumentation (backend bisect_ppx)))

(documentation)
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
7 changes: 7 additions & 0 deletions src/common/common.mld
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ CfgTools
{2 Specification}
{!modules:
AnalysisState
AnalysisStateUtil
ControlSpecC
}

Expand All @@ -42,6 +43,7 @@ Messages

{2 General}
{!modules:
IntOps
LazyEval
ResettableLazy
MessageUtil
Expand All @@ -55,6 +57,11 @@ Cilfacade
RichVarinfo
}

{2 Analysis-specific}
{!modules:
ContextUtil
}


{1 Library extensions}

Expand Down
2 changes: 2 additions & 0 deletions src/common/dune
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@
goblint_timing
qcheck-core.runner)
(flags :standard -open Goblint_std)
(foreign_stubs (language c) (names stubs))
(ocamlopt_flags :standard -no-float-const-prop)
(preprocess
(pps
ppx_deriving.std
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
Loading

0 comments on commit 9d1dc02

Please sign in to comment.