Prefix many algorithms with runtime_error for unexpected acceptance

* src/tgba/tgbagraph.cc (merge_transitions): Disable acceptance
merging if Fin acceptance is used.
* src/tgbaalgos/degen.cc, src/tgbaalgos/dtbasat.cc,
src/tgbaalgos/dtgbasat.cc, src/tgbaalgos/isweakscc.cc,
src/tgbaalgos/lbtt.cc, src/tgbaalgos/minimize.cc,
src/tgbaalgos/neverclaim.cc, src/tgbaalgos/safety.cc,
src/tgbaalgos/sccfilter.cc, src/tgbaalgos/simulation.cc: Throw an
exception if an unsupported type of acceptance is received.
This commit is contained in:
Alexandre Duret-Lutz 2015-02-25 22:59:33 +01:00
parent da2ccdb2ed
commit f0b1b9438f
11 changed files with 52 additions and 7 deletions

View file

@ -204,7 +204,9 @@ namespace spot
never_claim_reachable(std::ostream& os, const const_tgba_ptr& g,
const char* options)
{
assert(g->acc().num_sets() <= 1);
if (!(g->acc().is_buchi() || g->acc().is_true()))
throw std::runtime_error
("Never claim output only supports Büchi acceptance");
never_claim_output d(os, options);
auto aut = std::dynamic_pointer_cast<const tgba_digraph>(g);
if (!aut)