Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Organize constraint system and value domain modules into dune libraries #1313

Merged
merged 12 commits into from
Dec 29, 2023
Merged
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
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.
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.
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
Loading