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

Fully quote guards used by neverclaims.

Especially with should write !(p0) and not !p0, because p0 is
usually #define'd by the user and he may have forgotten to quote
the value of the macro.  This issue was discovered by Kristin
Yvonne Rozier and diagnosed by Gerard Holzmann.

* src/tgbaalgos/neverclaim.cc (process_link): Call
to_spin_string(..., true) to fully parentheses the string.
* src/tgbatest/neverclaimread.test: Add a test.
parent 2b5956c2
2011-11-16 Alexandre Duret-Lutz <adl@lrde.epita.fr>
Fully quote guards used by neverclaims.
Especially with should write !(p0) and not !p0, because p0 is
usually #define'd by the user and he may have forgotten to quote
the value of the macro. This issue was discovered by Kristin
Yvonne Rozier and diagnosed by Gerard Holzmann.
* src/tgbaalgos/neverclaim.cc (process_link): Call
to_spin_string(..., true) to fully parentheses the string.
* src/tgbatest/neverclaimread.test: Add a test.
2011-11-11 Alexandre Duret-Lutz <adl@lrde.epita.fr>
Fix a g++-4.7 warning about a variable used only in an assert().
......
We are grateful to these people for their comments, help, or
suggestions.
Gerard J. Holzmann
Heikki Tauriainen
Jean-Michel Couvreur
Jean-Michel Ilié
......
......@@ -186,7 +186,7 @@ namespace spot
os_ << " :: (";
const ltl::formula* f = bdd_to_formula(si->current_condition(),
automata_->get_dict());
to_spin_string(f, os_);
to_spin_string(f, os_, true);
f->destroy();
state* current = si->current_state();
os_ << ") -> goto " << get_state_label(current, out) << std::endl;
......
......@@ -118,5 +118,9 @@ do
run 0 ../ltl2tgba -E -Pf.tgba -XN f.ltl2ba
fi
run 0 ../ltl2tgba -DS -NN -f "$f" > f.spot
# Make sure there is no `!x' occurring in the
# output. Because `x' is usually #define'd, we
# should use `!(x)' in guards.
grep '![^(].*->' f.spot && exit 1
run 0 ../ltl2tgba -E -Pf.tgba -XN f.spot
done <formulae
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