WIP: fixed some compiler issues on certain systems.

This commit is contained in:
Matthias Koefferlein 2019-01-12 00:24:31 +01:00
parent baf50bd0b1
commit 3b0f4b3d78
12 changed files with 27 additions and 9 deletions

View File

@ -45,7 +45,7 @@ Circuit::Circuit ()
}
Circuit::Circuit (const Circuit &other)
: mp_netlist (0),
: gsi::ObjectBase (other), tl::Object (other), mp_netlist (0),
m_device_by_id (this, &Circuit::begin_devices, &Circuit::end_devices),
m_subcircuit_by_id (this, &Circuit::begin_subcircuits, &Circuit::end_subcircuits),
m_net_by_cluster_id (this, &Circuit::begin_nets, &Circuit::end_nets),

View File

@ -52,7 +52,7 @@ Device::Device (DeviceClass *device_class, const std::string &name)
}
Device::Device (const Device &other)
: mp_device_class (0), m_id (0), mp_circuit (0)
: tl::Object (other), mp_device_class (0), m_id (0), mp_circuit (0)
{
operator= (other);
}

View File

@ -35,7 +35,7 @@ DeviceClass::DeviceClass ()
}
DeviceClass::DeviceClass (const DeviceClass &other)
: mp_netlist (0)
: gsi::ObjectBase (other), tl::Object (other), tl::UniqueId (other), mp_netlist (0)
{
operator= (other);
}

View File

@ -114,6 +114,10 @@ public:
virtual RegionDelegate *merged_in_place ();
virtual RegionDelegate *merged_in_place (bool min_coherence, unsigned int min_wc);
virtual RegionDelegate *merged () const;
virtual RegionDelegate *merged (bool min_coherence, unsigned int min_wc) const
{
return db::AsIfFlatRegion::merged (min_coherence, min_wc);
}
virtual RegionDelegate *filter_in_place (const PolygonFilterBase &filter);

View File

@ -185,6 +185,12 @@ LocalProcessorCellContext::LocalProcessorCellContext ()
// .. nothing yet ..
}
LocalProcessorCellContext::LocalProcessorCellContext (const LocalProcessorCellContext &other)
: m_propagated (other.m_propagated), m_drops (other.m_drops)
{
// .. nothing yet ..
}
void
LocalProcessorCellContext::add (db::LocalProcessorCellContext *parent_context, db::Cell *parent, const db::ICplxTrans &cell_inst)
{

View File

@ -141,6 +141,7 @@ public:
typedef std::pair<const db::Cell *, db::ICplxTrans> parent_inst_type;
LocalProcessorCellContext ();
LocalProcessorCellContext (const LocalProcessorCellContext &other);
void add (db::LocalProcessorCellContext *parent_context, db::Cell *parent, const db::ICplxTrans &cell_inst);
void propagate (const std::unordered_set<db::PolygonRef> &res);
@ -212,6 +213,12 @@ public:
// .. nothing yet ..
}
LocalProcessorContexts (const LocalProcessorContexts &other)
: m_contexts_per_cell (other.m_contexts_per_cell), m_subject_layer (other.m_subject_layer), m_intruder_layer (other.m_intruder_layer)
{
// .. nothing yet ..
}
void clear ()
{
m_contexts_per_cell.clear ();

View File

@ -167,7 +167,7 @@ Net::Net (const std::string &name)
}
Net::Net (const Net &other)
: m_cluster_id (0), mp_circuit (0)
: tl::Object (other), m_cluster_id (0), mp_circuit (0)
{
operator= (other);
}

View File

@ -40,7 +40,7 @@ Netlist::Netlist ()
}
Netlist::Netlist (const Netlist &other)
: m_valid_topology (false), m_lock_count (0),
: gsi::ObjectBase (other), tl::Object (other), m_valid_topology (false), m_lock_count (0),
m_circuit_by_name (this, &Netlist::begin_circuits, &Netlist::end_circuits),
m_circuit_by_cell_index (this, &Netlist::begin_circuits, &Netlist::end_circuits)
{

View File

@ -51,7 +51,7 @@ SubCircuit::SubCircuit (Circuit *circuit, const std::string &name)
}
SubCircuit::SubCircuit (const SubCircuit &other)
: m_id (0), mp_circuit (0)
: tl::Object (other), m_id (0), mp_circuit (0)
{
operator= (other);
}

View File

@ -509,7 +509,7 @@ public:
virtual bool combine_devices (db::Device *a, db::Device *b) const
{
if (cb_combine_devices.can_issue ()) {
return cb_combine_devices.issue<const db::DeviceClass, bool, db::Device *, db::Device *> (&db::DeviceClass::combine_devices, a, b);
return cb_combine_devices.issue<db::DeviceClass, bool, db::Device *, db::Device *> (&db::DeviceClass::combine_devices, a, b);
} else {
return db::DeviceClass::combine_devices (a, b);
}

View File

@ -80,7 +80,7 @@ public:
virtual db::Connectivity get_connectivity (const db::Layout &layout, const std::vector<unsigned int> &layers) const
{
if (cb_get_connectivity.can_issue ()) {
return cb_get_connectivity.issue<const GenericDeviceExtractor, db::Connectivity, const db::Layout &, const std::vector<unsigned int> &> (&GenericDeviceExtractor::get_connectivity_fb, layout, layers);
return cb_get_connectivity.issue<GenericDeviceExtractor, db::Connectivity, const db::Layout &, const std::vector<unsigned int> &> (&GenericDeviceExtractor::get_connectivity_fb, layout, layers);
} else {
return db::NetlistDeviceExtractor::get_connectivity (layout, layers);
}

View File

@ -303,6 +303,7 @@ public:
list_impl () { }
list_impl (const list_impl &other)
: list_impl<C, tl::false_tag> (other)
{
operator= (other);
}
@ -522,6 +523,6 @@ public:
}
};
};
}
#endif