diff --git a/src/plugins/streamers/lefdef/db_plugin/dbLEFDEFImporter.cc b/src/plugins/streamers/lefdef/db_plugin/dbLEFDEFImporter.cc index 430a31f25..df62aa388 100644 --- a/src/plugins/streamers/lefdef/db_plugin/dbLEFDEFImporter.cc +++ b/src/plugins/streamers/lefdef/db_plugin/dbLEFDEFImporter.cc @@ -72,42 +72,51 @@ LEFDEFReaderOptions::LEFDEFReaderOptions () } LEFDEFReaderOptions::LEFDEFReaderOptions (const LEFDEFReaderOptions &d) - : db::FormatSpecificReaderOptions (d), - m_read_all_layers (d.m_read_all_layers), m_layer_map (d.m_layer_map), - m_dbu (d.m_dbu), - m_produce_net_names (d.m_produce_net_names), - m_net_property_name (d.m_net_property_name), - m_produce_inst_names (d.m_produce_inst_names), - m_inst_property_name (d.m_inst_property_name), - m_produce_pin_names (d.m_produce_pin_names), - m_pin_property_name (d.m_pin_property_name), - m_produce_cell_outlines (d.m_produce_cell_outlines), - m_cell_outline_layer (d.m_cell_outline_layer), - m_produce_placement_blockages (d.m_produce_placement_blockages), - m_placement_blockage_layer (d.m_placement_blockage_layer), - m_produce_regions (d.m_produce_regions), - m_region_layer (d.m_region_layer), - m_produce_via_geometry (d.m_produce_via_geometry), - m_via_geometry_suffix (d.m_via_geometry_suffix), - m_via_geometry_datatype (d.m_via_geometry_datatype), - m_produce_pins (d.m_produce_pins), - m_pins_suffix (d.m_pins_suffix), - m_pins_datatype (d.m_pins_datatype), - m_produce_obstructions (d.m_produce_obstructions), - m_obstructions_suffix (d.m_obstructions_suffix), - m_obstructions_datatype (d.m_obstructions_datatype), - m_produce_blockages (d.m_produce_blockages), - m_blockages_suffix (d.m_blockages_suffix), - m_blockages_datatype (d.m_blockages_datatype), - m_produce_labels (d.m_produce_labels), - m_labels_suffix (d.m_labels_suffix), - m_labels_datatype (d.m_labels_datatype), - m_produce_routing (d.m_produce_routing), - m_routing_suffix (d.m_routing_suffix), - m_routing_datatype (d.m_routing_datatype), - m_lef_files (d.m_lef_files) + : db::FormatSpecificReaderOptions () { - // .. nothing yet .. + operator= (d); +} + +LEFDEFReaderOptions &LEFDEFReaderOptions::operator= (const LEFDEFReaderOptions &d) +{ + if (this != &d) { + db::FormatSpecificReaderOptions::operator= (d); + m_read_all_layers = d.m_read_all_layers; + m_layer_map = d.m_layer_map; + m_dbu = d.m_dbu; + m_produce_net_names = d.m_produce_net_names; + m_net_property_name = d.m_net_property_name; + m_produce_inst_names = d.m_produce_inst_names; + m_inst_property_name = d.m_inst_property_name; + m_produce_pin_names = d.m_produce_pin_names; + m_pin_property_name = d.m_pin_property_name; + m_produce_cell_outlines = d.m_produce_cell_outlines; + m_cell_outline_layer = d.m_cell_outline_layer; + m_produce_placement_blockages = d.m_produce_placement_blockages; + m_placement_blockage_layer = d.m_placement_blockage_layer; + m_produce_regions = d.m_produce_regions; + m_region_layer = d.m_region_layer; + m_produce_via_geometry = d.m_produce_via_geometry; + m_via_geometry_suffix = d.m_via_geometry_suffix; + m_via_geometry_datatype = d.m_via_geometry_datatype; + m_produce_pins = d.m_produce_pins; + m_pins_suffix = d.m_pins_suffix; + m_pins_datatype = d.m_pins_datatype; + m_produce_obstructions = d.m_produce_obstructions; + m_obstructions_suffix = d.m_obstructions_suffix; + m_obstructions_datatype = d.m_obstructions_datatype; + m_produce_blockages = d.m_produce_blockages; + m_blockages_suffix = d.m_blockages_suffix; + m_blockages_datatype = d.m_blockages_datatype; + m_produce_labels = d.m_produce_labels; + m_labels_suffix = d.m_labels_suffix; + m_labels_datatype = d.m_labels_datatype; + m_produce_routing = d.m_produce_routing; + m_routing_suffix = d.m_routing_suffix; + m_routing_datatype = d.m_routing_datatype; + m_lef_files = d.m_lef_files; + } + return *this; } db::FormatSpecificReaderOptions * diff --git a/src/plugins/streamers/lefdef/db_plugin/dbLEFDEFImporter.h b/src/plugins/streamers/lefdef/db_plugin/dbLEFDEFImporter.h index 8058accd0..9a9d63b9c 100644 --- a/src/plugins/streamers/lefdef/db_plugin/dbLEFDEFImporter.h +++ b/src/plugins/streamers/lefdef/db_plugin/dbLEFDEFImporter.h @@ -66,6 +66,7 @@ class DB_PLUGIN_PUBLIC LEFDEFReaderOptions public: LEFDEFReaderOptions (); LEFDEFReaderOptions (const LEFDEFReaderOptions &d); + LEFDEFReaderOptions &operator= (const LEFDEFReaderOptions &d); db::FormatSpecificReaderOptions *clone () const; virtual const std::string &format_name () const; diff --git a/src/plugins/tools/net_tracer/db_plugin/dbNetTracerIO.cc b/src/plugins/tools/net_tracer/db_plugin/dbNetTracerIO.cc index 6354280c5..1394beaea 100644 --- a/src/plugins/tools/net_tracer/db_plugin/dbNetTracerIO.cc +++ b/src/plugins/tools/net_tracer/db_plugin/dbNetTracerIO.cc @@ -501,6 +501,13 @@ NetTracerTechnologyComponent::NetTracerTechnologyComponent (const NetTracerTechn m_symbols = d.m_symbols; } +NetTracerTechnologyComponent &NetTracerTechnologyComponent::operator= (const NetTracerTechnologyComponent &d) +{ + m_connections = d.m_connections; + m_symbols = d.m_symbols; + return *this; +} + NetTracerData NetTracerTechnologyComponent::get_tracer_data (const db::Layout &layout) const { diff --git a/src/plugins/tools/net_tracer/db_plugin/dbNetTracerIO.h b/src/plugins/tools/net_tracer/db_plugin/dbNetTracerIO.h index cc9db7594..714f3016d 100644 --- a/src/plugins/tools/net_tracer/db_plugin/dbNetTracerIO.h +++ b/src/plugins/tools/net_tracer/db_plugin/dbNetTracerIO.h @@ -375,6 +375,7 @@ public: NetTracerTechnologyComponent (); NetTracerTechnologyComponent (const NetTracerTechnologyComponent &d); + NetTracerTechnologyComponent &operator= (const NetTracerTechnologyComponent &d); const_iterator begin () const {