bin: release all subformulas between runs

Fixes #262, reported by Maximilien Colange.

* bin/common_output.cc, bin/common_aoutput.cc, bin/common_aoutput.hh:
Clear the set of atomic propositions if --stats=%[...]x was used.
* spot/twa/bdddict.cc: Release any formula associated to a BDD when it
is unregistered, do not wait for the dictionary's destruction.  This
was the main culprit for #262.
* tests/core/ltl2tgba.test: Add test cases.
* NEWS: Mention the bug.
This commit is contained in:
Alexandre Duret-Lutz 2017-05-18 16:46:11 +02:00
parent b9c250894b
commit f6607f1a2c
6 changed files with 41 additions and 12 deletions

View file

@ -239,7 +239,13 @@ namespace
size_ = spot::length(f);
if (has('h'))
class_ = spot::mp_class(f);
return format(format_);
auto& res = format(format_);
// Make sure we do not store the formula until the next one is
// printed, as the order in which APs are registered may
// influence the automata output.
fl_ = nullptr;
ap_.clear();
return res;
}
private: