diff --git a/src/lib/netlist/devices/nlid_truthtable.cpp b/src/lib/netlist/devices/nlid_truthtable.cpp index fdeeb28b7e1..f67a0d1d2bb 100644 --- a/src/lib/netlist/devices/nlid_truthtable.cpp +++ b/src/lib/netlist/devices/nlid_truthtable.cpp @@ -453,7 +453,7 @@ netlist_base_factory_truthtable_t::netlist_base_factory_truthtable_t(const pstri #define ENTRYY(n, m, s) case (n * 100 + m): \ { using xtype = netlist_factory_truthtable_t; \ - ret = plib::palloc(desc.name, desc.classname, desc.def_param, s); } break + ret = plib::make_unique(desc.name, desc.classname, desc.def_param, s); } break #define ENTRY(n, s) ENTRYY(n, 1, s); ENTRYY(n, 2, s); ENTRYY(n, 3, s); \ ENTRYY(n, 4, s); ENTRYY(n, 5, s); ENTRYY(n, 6, s); \ @@ -461,7 +461,7 @@ netlist_base_factory_truthtable_t::netlist_base_factory_truthtable_t(const pstri void tt_factory_create(setup_t &setup, tt_desc &desc, const pstring &sourcefile) { - netlist_base_factory_truthtable_t *ret; + std::unique_ptr ret; switch (desc.ni * 100 + desc.no) { @@ -484,7 +484,7 @@ void tt_factory_create(setup_t &setup, tt_desc &desc, const pstring &sourcefile) ret->m_desc = desc.desc; if (desc.family != "") ret->m_family = setup.family_from_model(desc.family); - setup.factory().register_device(std::unique_ptr(ret)); + setup.factory().register_device(std::move(ret)); } } //namespace devices diff --git a/src/lib/netlist/nl_factory.h b/src/lib/netlist/nl_factory.h index 6314c46d3fa..aca31d4c649 100644 --- a/src/lib/netlist/nl_factory.h +++ b/src/lib/netlist/nl_factory.h @@ -27,7 +27,7 @@ static std::unique_ptr NETLIB_NAME(p_alias ## _c) \ (const pstring &classname) \ { \ - return std::unique_ptr(plib::palloc>(p_name, classname, p_def_param, pstring(__FILE__))); \ + return plib::make_unique>(p_name, classname, p_def_param, pstring(__FILE__)); \ } \ \ factory::constructor_ptr_t decl_ ## p_alias = NETLIB_NAME(p_alias ## _c); @@ -101,7 +101,7 @@ namespace factory { void register_device(const pstring &name, const pstring &classname, const pstring &def_param) { - register_device(std::unique_ptr(plib::palloc>(name, classname, def_param))); + register_device(plib::make_unique>(name, classname, def_param)); } void register_device(std::unique_ptr &&factory); @@ -128,7 +128,7 @@ namespace factory { std::unique_ptr constructor_t(const pstring &name, const pstring &classname, const pstring &def_param) { - return std::unique_ptr(plib::palloc>(name, classname, def_param)); + return plib::make_unique>(name, classname, def_param); } // ----------------------------------------------------------------------------- diff --git a/src/lib/netlist/nl_setup.cpp b/src/lib/netlist/nl_setup.cpp index 282b49697b9..829bfde1b1a 100644 --- a/src/lib/netlist/nl_setup.cpp +++ b/src/lib/netlist/nl_setup.cpp @@ -593,11 +593,12 @@ void setup_t::connect_terminals(detail::core_terminal_t &t1, detail::core_termin { log().debug("adding analog net ...\n"); // FIXME: Nets should have a unique name - auto anet = plib::palloc(netlist(),"net." + t1.name()); - netlist().register_net(plib::owned_ptr(anet, true)); - t1.set_net(anet); - anet->add_terminal(t2); - anet->add_terminal(t1); + auto anet = plib::owned_ptr::Create(netlist(),"net." + t1.name()); + auto anetp = anet.get(); + netlist().register_net(std::move(anet)); + t1.set_net(anetp); + anetp->add_terminal(t2); + anetp->add_terminal(t1); } } @@ -648,8 +649,6 @@ bool setup_t::connect_input_input(detail::core_terminal_t &t1, detail::core_term return ret; } - - bool setup_t::connect(detail::core_terminal_t &t1_in, detail::core_terminal_t &t2_in) { log().debug("Connecting {1} to {2}\n", t1_in.name(), t2_in.name()); diff --git a/src/lib/netlist/solver/nld_matrix_solver.cpp b/src/lib/netlist/solver/nld_matrix_solver.cpp index 8039ac84e2a..3bd55a40d35 100644 --- a/src/lib/netlist/solver/nld_matrix_solver.cpp +++ b/src/lib/netlist/solver/nld_matrix_solver.cpp @@ -100,7 +100,7 @@ void matrix_solver_t::setup_base(analog_net_t::list_t &nets) { m_nets.push_back(net); m_terms.push_back(plib::make_unique()); - m_rails_temp.push_back(plib::palloc()); + m_rails_temp.push_back(plib::make_unique()); } for (std::size_t k = 0; k < nets.size(); k++) @@ -271,12 +271,12 @@ void matrix_solver_t::setup_matrix() m_terms[k]->set_pointers(); } - for (terms_for_net_t *rt : m_rails_temp) + for (auto &rt : m_rails_temp) { rt->clear(); // no longer needed - plib::pfree(rt); // no longer needed } + // free all - no longer needed m_rails_temp.clear(); sort_terms(m_sort); diff --git a/src/lib/netlist/solver/nld_matrix_solver.h b/src/lib/netlist/solver/nld_matrix_solver.h index 63be2d4892a..0d34499f56e 100644 --- a/src/lib/netlist/solver/nld_matrix_solver.h +++ b/src/lib/netlist/solver/nld_matrix_solver.h @@ -207,7 +207,7 @@ protected: std::vector m_nets; std::vector> m_inps; - std::vector m_rails_temp; + std::vector> m_rails_temp; const solver_parameters_t &m_params;