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

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.
parent 63818a3e
......@@ -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 (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()
......
// -*- 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)
......
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