Fixed some build warnings with msvc2017 (maybe real issues and memory leaks)

This commit is contained in:
Matthias Köfferlein 2019-07-15 23:17:24 +02:00
parent 89ce2be5c2
commit 9a371b8fd2
3 changed files with 43 additions and 0 deletions

View File

@ -2018,6 +2018,11 @@ NetlistComparer::NetlistComparer (NetlistCompareLogger *logger)
m_max_n_branch = 100;
}
NetlistComparer::~NetlistComparer ()
{
// .. nothing yet ..
}
void
NetlistComparer::exclude_caps (double threshold)
{

View File

@ -147,6 +147,11 @@ public:
* "a" is null if there is no match for b and vice versa.
*/
virtual void subcircuit_mismatch (const db::SubCircuit * /*a*/, const db::SubCircuit * /*b*/) { }
private:
// No copying
NetlistCompareLogger (const NetlistCompareLogger &);
NetlistCompareLogger &operator= (const NetlistCompareLogger &);
};
/**
@ -160,6 +165,11 @@ public:
*/
NetlistComparer (NetlistCompareLogger *logger = 0);
/**
* @brief Destructor
*/
~NetlistComparer ();
/**
* @brief Mark two nets as identical
*
@ -266,6 +276,11 @@ public:
*/
bool compare (const db::Netlist *a, const db::Netlist *b, db::NetlistCompareLogger *logger) const;
private:
// No copying
NetlistComparer (const NetlistComparer &);
NetlistComparer &operator= (const NetlistComparer &);
protected:
bool compare_circuits (const db::Circuit *c1, const db::Circuit *c2, db::DeviceCategorizer &device_categorizer, db::CircuitCategorizer &circuit_categorizer, db::CircuitPinMapper &circuit_pin_mapper, const std::vector<std::pair<const Net *, const Net *> > &net_identity, bool &pin_mismatch, std::map<const db::Circuit *, CircuitMapper> &c12_circuit_and_pin_mapping, std::map<const db::Circuit *, CircuitMapper> &c22_circuit_and_pin_mapping) const;
bool all_subcircuits_verified (const db::Circuit *c, const std::set<const db::Circuit *> &verified_circuits) const;
@ -294,6 +309,13 @@ template<> struct type_traits<db::NetlistComparer> : public tl::type_traits<void
typedef tl::false_tag has_default_constructor;
};
template<> struct type_traits<db::NetlistCompareLogger> : public tl::type_traits<void>
{
// mark "NetlistDeviceExtractor" as having a default ctor and no copy ctor
typedef tl::false_tag has_copy_constructor;
typedef tl::false_tag has_default_constructor;
};
}
#endif

View File

@ -269,6 +269,10 @@ public:
}
private:
// No copying
NetlistCrossReference (const db::NetlistCrossReference &);
NetlistCrossReference &operator= (const db::NetlistCrossReference &);
tl::weak_ptr<db::Netlist> mp_netlist_a, mp_netlist_b;
std::vector<std::pair<const db::Circuit *, const db::Circuit *> > m_circuits;
std::list<PerCircuitData> m_per_circuit_data;
@ -296,4 +300,16 @@ private:
}
namespace tl
{
template<> struct type_traits<db::NetlistCrossReference> : public tl::type_traits<void>
{
// mark "NetlistDeviceExtractor" as having a default ctor and no copy ctor
typedef tl::false_tag has_copy_constructor;
typedef tl::false_tag has_default_constructor;
};
}
#endif