fix unpaired copy-ctor/op= reported by PVS-Stydio
For #192. * bin/common_trans.cc, bin/common_trans.hh, spot/twa/acc.hh: Add an operator= in addition to the copy constructor. * spot/twaalgos/ltl2tgba_fm.cc: Use the default constructor. * spot/ta/taproduct.cc, spot/ta/taproduct.hh: Delete an unused copy constructor.
This commit is contained in:
parent
63818a3e69
commit
d0112a7b8a
6 changed files with 27 additions and 17 deletions
|
|
@ -133,10 +133,22 @@ translator_spec::translator_spec(const char* spec)
|
|||
translator_spec::translator_spec(const translator_spec& other)
|
||||
: spec(other.spec), cmd(other.cmd), name(other.name)
|
||||
{
|
||||
if (name != spec)
|
||||
name = strdup(name);
|
||||
if (cmd != spec)
|
||||
cmd = strdup(cmd);
|
||||
if (name != spec)
|
||||
name = strdup(name);
|
||||
}
|
||||
|
||||
translator_spec& translator_spec::operator=(const translator_spec& other)
|
||||
{
|
||||
spec = other.spec;
|
||||
cmd = other.cmd;
|
||||
if (cmd != spec)
|
||||
cmd = strdup(cmd);
|
||||
name = other.name;
|
||||
if (name != spec)
|
||||
name = strdup(name);
|
||||
return *this;
|
||||
}
|
||||
|
||||
translator_spec::~translator_spec()
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
// -*- coding: utf-8 -*-
|
||||
// Copyright (C) 2015 Laboratoire de Recherche et Développement de
|
||||
// Copyright (C) 2015, 2016 Laboratoire de Recherche et Développement de
|
||||
// l'Epita (LRDE).
|
||||
//
|
||||
// This file is part of Spot, a model checking library.
|
||||
|
|
@ -45,6 +45,7 @@ struct translator_spec
|
|||
|
||||
translator_spec(const char* spec);
|
||||
translator_spec(const translator_spec& other);
|
||||
translator_spec& operator=(const translator_spec& other);
|
||||
~translator_spec();
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -28,12 +28,6 @@ namespace spot
|
|||
////////////////////////////////////////////////////////////
|
||||
// state_ta_product
|
||||
|
||||
state_ta_product::state_ta_product(const state_ta_product& o) :
|
||||
state(), ta_state_(o.get_ta_state()), kripke_state_(
|
||||
o.get_kripke_state()->clone())
|
||||
{
|
||||
}
|
||||
|
||||
state_ta_product::~state_ta_product()
|
||||
{
|
||||
//see ta_product::free_state() method
|
||||
|
|
@ -61,7 +55,7 @@ namespace spot
|
|||
state_ta_product*
|
||||
state_ta_product::clone() const
|
||||
{
|
||||
return new state_ta_product(*this);
|
||||
return new state_ta_product(ta_state_, kripke_state_);
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////
|
||||
|
|
|
|||
|
|
@ -41,8 +41,7 @@ namespace spot
|
|||
{
|
||||
}
|
||||
|
||||
/// Copy constructor
|
||||
state_ta_product(const state_ta_product& o);
|
||||
state_ta_product(const state_ta_product& o) = delete;
|
||||
|
||||
virtual
|
||||
~state_ta_product();
|
||||
|
|
|
|||
|
|
@ -950,6 +950,15 @@ namespace spot
|
|||
{
|
||||
}
|
||||
|
||||
acc_cond& operator=(const acc_cond& o)
|
||||
{
|
||||
num_ = o.num_;
|
||||
all_ = o.all_;
|
||||
code_ = o.code_;
|
||||
uses_fin_acceptance_ = o.uses_fin_acceptance_;
|
||||
return *this;
|
||||
}
|
||||
|
||||
~acc_cond()
|
||||
{
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1856,11 +1856,6 @@ namespace spot
|
|||
{
|
||||
}
|
||||
|
||||
transition(const transition& other)
|
||||
: dest(other.dest), prom(other.prom), cond(other.cond)
|
||||
{
|
||||
}
|
||||
|
||||
bool operator<(const transition& other) const
|
||||
{
|
||||
if (dest < other.dest)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue