Commit graph

5577 commits

Author SHA1 Message Date
Etienne Renault
a9178fbe64 modelcheck: update output and documentation
Fixes #330.

* tests/ltsmin/README,
tests/ltsmin/modelcheck.cc: here.
2020-06-03 10:33:54 +02:00
Etienne Renault
2bd08d956a mc: please Werror=noexcept
* spot/mc/intersect.hh: here.
2020-06-03 10:33:54 +02:00
Etienne Renault
011115cb1d tests: include missing config.h
* spot/mc/unionfind.cc,
spot/twacube/cube.cc,
spot/twacube/twacube.cc,
spot/twacube_algos/convert.cc,
tests/core/bricks.cc,
tests/core/cube.cc,
tests/core/twacube.cc: here.
2020-06-03 10:33:54 +02:00
Etienne Renault
fe694e2ba2 debian: fix corrupted profile info
* debian/rules: here.
2020-06-03 10:33:54 +02:00
Etienne Renault
34b9e89f5d tests: please modelcheck interface
* tests/ltsmin/finite3.test: here.
2020-06-03 10:33:54 +02:00
Etienne Renault
f777e96890 mc: recycle iterators in bloemen
* spot/mc/bloemen.hh: here.
2020-06-03 10:33:54 +02:00
Etienne Renault
f397def03e tests: add tests for parallel algorithms
* tests/ltsmin/check.test: here.
2020-06-03 10:33:54 +02:00
Etienne Renault
63a4b4085a mc: bloemen count unique states
* spot/mc/bloemen.hh, tests/ltsmin/modelcheck.cc: here.
2020-06-03 10:33:54 +02:00
Etienne Renault
80746e4332 modelcheck: update tests
* tests/ltsmin/check.test,
tests/ltsmin/check2.test,
tests/ltsmin/check3.test,
tests/ltsmin/finite2.test,
tests/ltsmin/finite3.test: here.
2020-06-03 10:33:54 +02:00
Etienne Renault
0b917af762 mc: please sanity.test
* spot/mc/bloemen.hh, spot/mc/mc.hh: here.
2020-06-03 10:33:54 +02:00
Etienne Renault
e6e3b568ca mc: parallel version of bloemen
* spot/mc/bloemen.hh,
tests/ltsmin/modelcheck.cc: here.
2020-06-03 10:33:54 +02:00
Etienne Renault
01093f992e mc: sequential version of Bloemen
* spot/mc/Makefile.am, spot/mc/bloemen.hh,
spot/mc/mc.hh, tests/ltsmin/modelcheck.cc: here.
2020-06-03 10:33:54 +02:00
Etienne Renault
15e72e90cc mc: add swarmed deadlock-detection
* spot/mc/Makefile.am, spot/mc/deadlock.hh,
spot/mc/mc.hh, tests/ltsmin/modelcheck.cc: here.
2020-06-03 10:33:54 +02:00
Etienne Renault
f486dab241 ltsmin: move modelchek in mc directory
* spot/ltsmin/ltsmin.cc, spot/ltsmin/ltsmin.hh,
spot/mc/Makefile.am, tests/ltsmin/modelcheck.cc,
spot/mc/mc.hh: here.
2020-06-03 10:33:54 +02:00
Etienne Renault
1d4cb26235 ltsmin: remove shared table at model level
Experiments shows  that this table slows down algorithms
since the management is also tracked at higher lever by
algorithms

* spot/ltsmin/spins_kripke.hh,
spot/ltsmin/spins_kripke.hxx: here.
2020-06-03 10:33:54 +02:00
Etienne Renault
d2549334f9 modelcheck: please gcc catch-value errors
* tests/ltsmin/modelcheck.cc: here.
2020-06-03 10:33:54 +02:00
Etienne Renault
a147fd65dc tests: add pthread library
* tests/Makefile.am: here.
2020-06-03 10:33:54 +02:00
Etienne Renault
f9b0044623 ltsmin: please private.test
* spot/ltsmin/Makefile.am, spot/ltsmin/spins_interface.hh: here.
* spot/ltsmin/spins_interface.cc: delete.
2020-06-03 10:33:54 +02:00
Etienne Renault
32b79818dc kripke: avoir internal compiler error
gcc snapshot yield internal compiler error: tree check: accessed elt 2
of tree_vec with 1 elts in tsubst, at cp/pt.c:13693

* spot/kripke/kripke.hh: here.
2020-06-03 10:33:54 +02:00
Etienne Renault
7bac705e83 twacube: please gcc null-dereference
* spot/twacube/twacube.hh: here.
2020-06-03 10:33:54 +02:00
Etienne Renault
b8258ac638 twacube: move useless unsigned int to unsigned
* spot/twacube/twacube.cc,
spot/twacube/twacube.hh: here.
2020-06-03 10:33:54 +02:00
Etienne Renault
cb343ff02d twacube: more documentation
* spot/twacube/twacube.hh: here.
2020-06-03 10:33:54 +02:00
Etienne Renault
fbf9d98e15 Fix typo
* spot/mc/ec.hh: here.
2020-06-03 10:33:54 +02:00
Etienne Renault
d95428d245 ltsmin: remove ltdl from public headers
* spot/ltsmin/Makefile.am,
spot/ltsmin/spins_interface.cc,
spot/ltsmin/spins_interface.hh: here.
2020-06-03 10:33:54 +02:00
Etienne Renault
d3b143574b bricks: please gcc error=noexcept option
* bricks/brick-shmem: here.
2020-06-03 10:33:54 +02:00
Etienne Renault
1fc3d7f935 bricks: gcc-7 doesn't align variables up to a maximum of 16 bytes
* bricks/brick-shmem: here.
2020-06-03 10:33:54 +02:00
Etienne Renault
ad005121ae bricks: please gcc-4.8 for auto specifier
* bricks/brick-hashset: here.
2020-06-03 10:33:53 +02:00
Etienne Renault
941608060e ltsmin: fix call to destructor
* spot/ltsmin/spins_kripke.hxx: here
2020-06-03 10:33:53 +02:00
Etienne Renault
3c868c228b ltsmin: do not take iterators by copy
* spot/ltsmin/spins_kripke.hxx: here.
2020-06-03 10:33:53 +02:00
Etienne Renault
df872ce6d9 ltsmin: placement new requires placement delete
This commit fixes a bug that (randomly) occurs when
calling destructor of kripkecube.

*  spot/ltsmin/spins_kripke.hxx: here.
2020-06-03 10:33:53 +02:00
Etienne Renault
47c4f19e22 bricks: please gcc Werror=noexcept option
* bricks/brick-shmem: here.
2020-06-03 10:33:53 +02:00
Etienne Renault
44041efc51 bricks: please gcc Wmacro-redefined option
* bricks/brick-assert: here.
2020-06-03 10:33:53 +02:00
Etienne Renault
7ae7e2e831 includes: must not check *.hxx
* tests/sanity/includes.test: here.
2020-06-03 10:33:53 +02:00
Etienne Renault
0be3630218 ltsmin: extract kripkecube to ease manipulation
* spot/ltsmin/Makefile.am,
spot/ltsmin/ltsmin.cc,
spot/ltsmin/ltsmin.hh
spot/ltsmin/spins_kripke.hh,
spot/ltsmin/spins_kripke.hxx: here.
2020-06-03 10:33:53 +02:00
Etienne Renault
5445007070 ltsmin: extract spins interface
* spot/ltsmin/Makefile.am, spot/ltsmin/ltsmin.cc,
spot/ltsmin/ltsmin.hh,
spot/ltsmin/spins_interface.hh: here.
2020-06-03 10:33:53 +02:00
Etienne Renault
8a930c7572 ltsmin: simplify iterator
* spot/ltsmin/ltsmin.cc: here.
2020-06-03 10:33:53 +02:00
Etienne Renault
ac54acbb9d brick: please gcc pedantic option
* bricks/brick-assert: here.
2020-06-03 10:33:53 +02:00
Etienne Renault
03ff789324 mark_t::operator bool() is now explicit
Follows up cf5d2c2b.

* spot/mc/ec.hh: here.
2020-06-03 10:33:53 +02:00
Etienne Renault
6d282bbc6b ltsmin: update usage of brick-hashset
From a discussion with Petr Rockai: "the possibly non-intuitive bit
that you probably didn't notice is that the hashset is supposed to be
passed to each thread by value. The copy semantics of the entire
hashset are that of a shared pointer: multiple copies share the same
underlying data. Each thread *must* have its own private copy of the
hashset object (there are bits of state that each thread needs for
bookkeeping and those must not be shared)."

*  spot/ltsmin/ltsmin.cc: here.
2020-06-03 10:33:53 +02:00
Etienne Renault
1a37a08ba4 bricks: update
* bricks/brick-hashset: here.
2020-06-03 10:33:53 +02:00
Etienne Renault
8ced74f8e6 bricks: please pedantic option for gcc
* bricks/brick-bitlevel: here.
2020-06-03 10:33:53 +02:00
Etienne Renault
606e4fc88c please pedantic option for gcc
* spot/kripke/kripke.hh: here.
2020-06-03 10:33:53 +02:00
Etienne Renault
a308d1a60a bricks: add support for gcc prior to 4.9
* bricks/brick-bitlevel, bricks/brick-hashset,
bricks/brick-shmem, bricks/brick-types: here.
2020-06-03 10:33:53 +02:00
Etienne Renault
6c5c308ea8 bricks: adapt with the new bricks
* bricks/brick-hash, tests/core/bricks.cc: here.
2020-06-03 10:33:53 +02:00
Etienne Renault
bb9fa4e910 bricks: update and move to c++14
* Makefile.am, bricks/brick-assert,
bricks/brick-assert.h, spot/ltsmin/ltsmin.cc,
spot/mc/ec.hh: here.

* bricks/brick-bitlevel.h, bricks/brick-hash.h,
bricks/brick-hashset.h, bricks/brick-shmem.h,
bricks/brick-types.h: Rename as ...
* bricks/brick-bitlevel, bricks/brick-hash,
bricks/brick-hashset, bricks/brick-shmem,
bricks/brick-types: ... these
2020-06-03 10:33:53 +02:00
Etienne Renault
9208726d97 reachability: improve support for callbacks
* spot/mc/reachability.hh: here.
2020-06-03 10:33:53 +02:00
Etienne Renault
72948661e9 swarming: add support everywhere
Swarming implies that a single instance of the kripke
structure (or product) will be explored by diffrent threads
with their own exploration order. Most of the modification
aims to have a thread safe kripke structure.

* spot/kripke/kripke.hh, spot/ltsmin/ltsmin.cc,
spot/ltsmin/ltsmin.hh, spot/mc/ec.hh,
spot/mc/intersect.hh, spot/mc/reachability.hh,
spot/misc/hash.hh, spot/twacube/twacube.hh,
tests/core/twacube.test, tests/ltsmin/modelcheck.cc: here.
2020-06-03 10:33:53 +02:00
Etienne Renault
ae1a3601e6 bricks: propagate use of SPOT_FALLTHROUGH
* bricks/brick-hash.h, bricks/brick-hashset.h: here.
2020-06-03 10:33:53 +02:00
Etienne Renault
fb4ef40d11 Use SPOT_ASSERT() instead of assert() in public headers
* spot/mc/ec.hh, spot/mc/intersect.hh,
spot/mc/reachability.hh, spot/mc/utils.hh: here.
2020-06-03 10:33:53 +02:00
Etienne Renault
c515ee92e2 bricks: add missing override
* bricks/brick-assert.h, bricks/brick-hashset.h,
bricks/brick-shmem.h: here.
2020-06-03 10:33:53 +02:00