unabbreviate_wm: fix a segfault.

* src/ltlvisit/wmunabbrev.cc: Fix clone() order.
* src/ltltest/equals.cc: Add a mode for unabbreviate_wm().
* src/ltltest/unabbrevwm.test: New file.
* src/ltltest/Makefile.am: Add it.
This commit is contained in:
Alexandre Duret-Lutz 2012-10-23 22:00:17 +02:00
parent aede62d123
commit 1f12ad8765
4 changed files with 50 additions and 6 deletions

View file

@ -28,6 +28,7 @@
#include "ltlvisit/lunabbrev.hh"
#include "ltlvisit/tunabbrev.hh"
#include "ltlvisit/dump.hh"
#include "ltlvisit/wmunabbrev.hh"
#include "ltlvisit/nenoform.hh"
#include "ltlast/allnodes.hh"
#include "ltlvisit/simplify.hh"
@ -70,7 +71,7 @@ main(int argc, char** argv)
int exit_code;
{
#if (defined LUNABBREV) || (defined TUNABBREV) || (defined NENOFORM)
#if defined LUNABBREV || defined TUNABBREV || defined NENOFORM || defined WM
const spot::ltl::formula* tmp;
#endif
#ifdef LUNABBREV
@ -87,6 +88,13 @@ main(int argc, char** argv)
spot::ltl::dump(std::cout, f1);
std::cout << std::endl;
#endif
#ifdef WM
tmp = f1;
f1 = spot::ltl::unabbreviate_wm(f1);
tmp->destroy();
spot::ltl::dump(std::cout, f1);
std::cout << std::endl;
#endif
#ifdef NENOFORM
tmp = f1;
f1 = spot::ltl::negative_normal_form(f1);