work around some g++-7.3 issues

* spot/twaalgos/langmap.cc, spot/ltsmin/ltsmin.cc: Add asserts to hide
spurious "potential null pointer dereference" messages.
* spot/twaalgos/tau03opt.cc (color_ref): Initialize pc to nullptr
even when is_cyan is true so that valgrind does not report pc being
used uninitialized in is_white().
This commit is contained in:
Alexandre Duret-Lutz 2018-03-27 22:20:49 +02:00
parent 095d019940
commit fc205c1883
3 changed files with 6 additions and 1 deletions

View file

@ -234,6 +234,7 @@ namespace spot
fixed_size_pool* p = static_cast<fixed_size_pool*>(ctx->pool);
spins_state* out =
new(p->allocate()) spins_state(ctx->state_size, p);
assert(out != nullptr);
memcpy(out->vars, dst, ctx->state_size * sizeof(int));
out->compute_hash();
ctx->transitions.emplace_back(out);
@ -251,6 +252,7 @@ namespace spot
- sizeof(spins_compressed_state::vars)
+ sizeof(int) * csize);
spins_compressed_state* out = new(mem) spins_compressed_state(csize, p);
assert(out != nullptr);
memcpy(out->vars, ctx->compressed, csize * sizeof(int));
out->compute_hash();
ctx->transitions.emplace_back(out);
@ -711,6 +713,7 @@ namespace spot
+ sizeof(int) * csize);
spins_compressed_state* res = new(mem)
spins_compressed_state(csize, p);
assert(res != nullptr);
memcpy(res->vars, compressed_, csize * sizeof(int));
res->compute_hash();
return res;
@ -719,6 +722,7 @@ namespace spot
{
fixed_size_pool* p = const_cast<fixed_size_pool*>(&statepool_);
spins_state* res = new(p->allocate()) spins_state(state_size_, p);
assert(res != nullptr);
d_->get_initial_state(res->vars);
res->compute_hash();
return res;