Commit d7d6b409 authored by Alexandre Duret-Lutz's avatar Alexandre Duret-Lutz
Browse files

minimize_wdba: fix nondeterministic execution

Fixes core/readsave.test and python/automata.ipython
with gcc-snapshot (future gcc 7).

* spot/twaalgos/minimize.cc: Here.
* NEWS: Mention the change.
* tests/core/acc_word.test: Adjust test case.
parent 20cf43b3
......@@ -180,6 +180,9 @@ New in spot 2.0.3a (not yet released)
automata, the error message would report "Comp(Ni)*Comp(Pj)" as
non-empty while the actual culprit was "Comp(Nj)*Comp(Pi)".
* Fix some non-deterministic execution of minimize_wdba(), causing
test-suite failures with the future G++ 7, and clang 3.9.
New in spot 2.0.3 (2016-07-11)
Bug fixes:
......
......@@ -49,9 +49,9 @@
namespace spot
{
// FIXME: do we really want to use unordered_set instead of set here?
// This calls for benchmarking.
typedef state_set hash_set;
// This is called hash_set for historical reason, but we need the
// order inside hash_set to be deterministic.
typedef std::set<const state*, state_ptr_less_than> hash_set;
typedef state_map<unsigned> hash_map;
namespace
......
......@@ -99,13 +99,13 @@ cat >expected <<EOF
HOA: v1.1
name: "Fa & Fb"
States: 4
Start: 2
Start: 3
AP: 2 "a" "b"
acc-name: Buchi
Acceptance: 1 Inf(0)
properties: trans-labels explicit-labels state-acc complete
properties: deterministic stutter-invariant terminal
spot.highlight.edges: 1 3 2 3 5 3 6 3 7 2 8 2
spot.highlight.edges: 1 3 2 3 4 2 7 3 8 2 9 3
--BODY--
State: 0 {0}
[t] 0
......@@ -113,13 +113,13 @@ State: 1
[1] 0
[!1] 1
State: 2
[0] 0
[!0] 2
State: 3
[0&1] 0
[0&!1] 1
[!0&!1] 2
[!0&1] 3
State: 3
[0] 0
[!0] 3
[!0&1] 2
[!0&!1] 3
--END--
EOF
diff expected out
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment