diff --git a/NEWS b/NEWS index 2504817b0..085bdfe34 100644 --- a/NEWS +++ b/NEWS @@ -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: diff --git a/spot/twaalgos/minimize.cc b/spot/twaalgos/minimize.cc index bb4e427ca..7a80fbf56 100644 --- a/spot/twaalgos/minimize.cc +++ b/spot/twaalgos/minimize.cc @@ -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 hash_set; typedef state_map hash_map; namespace diff --git a/tests/core/acc_word.test b/tests/core/acc_word.test index 01a61607c..882e72a17 100644 --- a/tests/core/acc_word.test +++ b/tests/core/acc_word.test @@ -99,13 +99,13 @@ cat >expected <