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

fix a spurious assertion

* src/twaalgos/totgba.cc: Here.
* NEWS: Mention it.
parent 0143f0d4
......@@ -24,6 +24,8 @@ New in spot 1.99.2a (not yet released)
escaping routine used by the two styles of LaTeX output was
slightly off. For instance ^ was incorrectly escaped, and the
double quotes where not always properly rendered.
- A spurious assertion was triggered by streett_to_generalized_buchi(),
but only when compiled in DEBUG mode.
New in spot 1.99.2 (2015-07-18)
......
......@@ -166,6 +166,9 @@ namespace spot
bool sbacc = in->has_state_based_acc();
// States of the original automaton are marked with s.pend == -1U.
const acc_cond::mark_t orig_copy(-1U);
while (!todo.empty())
{
s = todo.front();
......@@ -187,7 +190,7 @@ namespace spot
bool maybe_acc = maybe_acc_scc && (scc_src == si.scc_of(t.dst));
if (pend != -1U)
if (pend != orig_copy)
{
if (!maybe_acc)
continue;
......@@ -239,7 +242,7 @@ namespace spot
// that only once per cycle. As an approximation, we
// only to that for transition where t.src >= t.dst as
// this has to occur at least once per cycle.
if (pend == -1U && (t.src >= t.dst) && maybe_acc && !no_fin)
if (pend == orig_copy && (t.src >= t.dst) && maybe_acc && !no_fin)
{
acc_cond::mark_t pend = 0U;
if (sbacc)
......@@ -273,7 +276,7 @@ namespace spot
// {
// std::cerr << s.second << " ("
// << s.first.s << ", ";
// if (s.first.pend == -1U)
// if (s.first.pend == orig_copy)
// std::cerr << "-)\n";
// else
// std::cerr << s.first.pend << ")\n";
......
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