acc: make mark_t::operator bool() explicit

This avoids a few conversion problems, and also made the bug of
sbacc (fixed by 37fc948be4) obvious.

Reported by Thomas Medioni.

* spot/twa/acc.hh (mark_t::operator bool): Make it explicit.
* spot/twaalgos/remfin.cc: Adjust.
This commit is contained in:
Alexandre Duret-Lutz 2017-03-03 13:26:33 +01:00
parent 37fc948be4
commit cf5d2c2b32
3 changed files with 9 additions and 3 deletions

View file

@ -260,7 +260,7 @@ namespace spot
i -= f;
for (auto s: states)
{
bool acc = aut->state_acc_sets(s) & i;
bool acc{aut->state_acc_sets(s) & i};
for (auto& t: aut->out(s))
res->new_acc_edge(s, t.dst, t.cond, acc);
}
@ -282,7 +282,7 @@ namespace spot
acc_cond::mark_t acc = aut->state_acc_sets(s);
if (acc.has(r))
continue;
bool jacc = acc & inf_alone;
bool jacc{acc & inf_alone};
bool cacc = fin_alone.has(r) || acc.has(r + 1);
for (auto& t: aut->out(s))
{