@@ -40,8 +40,7 @@ void setup_clock_network_wires(const t_arch& Arch, std::vector<t_segment_inf>& s
40
40
for (auto clock_network_arch : clock_networks_arch) {
41
41
switch (clock_network_arch.type ) {
42
42
case e_clock_type::SPINE: {
43
- clock_networks_device.emplace_back (new ClockSpine ());
44
- ClockSpine* spine = dynamic_cast <ClockSpine*>(clock_networks_device.back ().get ());
43
+ std::unique_ptr<ClockSpine> spine = std::make_unique<ClockSpine>();
45
44
46
45
spine->set_clock_name (clock_network_arch.name );
47
46
spine->set_num_instance (clock_network_arch.num_inst );
@@ -65,10 +64,11 @@ void setup_clock_network_wires(const t_arch& Arch, std::vector<t_segment_inf>& s
65
64
spine->set_tap_name (clock_network_arch.tap .name );
66
65
67
66
spine->create_segments (segment_inf);
67
+
68
+ clock_networks_device.push_back (std::move (spine));
68
69
break ;
69
70
} case e_clock_type::RIB: {
70
- clock_networks_device.emplace_back (new ClockRib ());
71
- ClockRib* rib = dynamic_cast <ClockRib*>(clock_networks_device.back ().get ());
71
+ std::unique_ptr<ClockRib> rib = std::make_unique<ClockRib>();
72
72
73
73
rib->set_clock_name (clock_network_arch.name );
74
74
rib->set_num_instance (clock_network_arch.num_inst );
@@ -92,6 +92,7 @@ void setup_clock_network_wires(const t_arch& Arch, std::vector<t_segment_inf>& s
92
92
rib->set_tap_name (clock_network_arch.tap .name );
93
93
94
94
rib->create_segments (segment_inf);
95
+ clock_networks_device.push_back (std::move (rib));
95
96
break ;
96
97
} case e_clock_type::H_TREE: {
97
98
vpr_throw (VPR_ERROR_OTHER, __FILE__, __LINE__, " HTrees not yet supported.\n " );
0 commit comments