summaryrefslogtreecommitdiffstats
path: root/src/lib/netlist/nl_setup.cpp
diff options
context:
space:
mode:
author couriersud <couriersud@gmx.org>2017-01-31 22:37:12 +0100
committer couriersud <couriersud@gmx.org>2017-01-31 22:37:25 +0100
commite02d8cad2bc67ada9b7429c6dc8401a439c0c025 (patch)
treedebc396921388c052757f5da5c020c1f122c8c7d /src/lib/netlist/nl_setup.cpp
parent282a7e76c3a2ca3de90351f6527a5aaa8ffdbd4a (diff)
Fixed a number of issues:
- Fixed crashes on terminals without nets (i.e. connected to a rail) - Reviewed "FIXMEs" and corrected some minor ones. - Made m_cur_analog protected. - Fixed pmf delegates to work with msvc. - More optimizations to the solver code. - Started work on a better signal pipeline in nlwav - Only generate documentation for entities which are documented. [Couriersud]
Diffstat (limited to 'src/lib/netlist/nl_setup.cpp')
-rw-r--r--src/lib/netlist/nl_setup.cpp8
1 files changed, 3 insertions, 5 deletions
diff --git a/src/lib/netlist/nl_setup.cpp b/src/lib/netlist/nl_setup.cpp
index 271811e95d9..0572ec1e693 100644
--- a/src/lib/netlist/nl_setup.cpp
+++ b/src/lib/netlist/nl_setup.cpp
@@ -143,7 +143,6 @@ pstring setup_t::termtype_as_str(detail::core_terminal_t &in) const
case detail::terminal_type::OUTPUT:
return pstring("OUTPUT");
}
- // FIXME: noreturn
log().fatal(MF_1_UNKNOWN_OBJECT_TYPE_1, static_cast<unsigned>(in.type()));
return pstring("Error");
}
@@ -376,12 +375,11 @@ param_t *setup_t::find_param(const pstring &param_in, bool required) const
return (ret == m_params.end() ? nullptr : &ret->second.m_param);
}
-// FIXME avoid dynamic cast here
devices::nld_base_proxy *setup_t::get_d_a_proxy(detail::core_terminal_t &out)
{
nl_assert(out.is_logic());
- logic_output_t &out_cast = dynamic_cast<logic_output_t &>(out);
+ logic_output_t &out_cast = static_cast<logic_output_t &>(out);
devices::nld_base_proxy *proxy = out_cast.get_proxy();
if (proxy == nullptr)
@@ -686,8 +684,8 @@ void setup_t::resolve_inputs()
* We therefore first park connecting inputs and retry
* after all other terminals were connected.
*/
- int tries = 100;
- while (m_links.size() > 0 && tries > 0) // FIXME: convert into constant
+ int tries = NL_MAX_LINK_RESOLVE_LOOPS;
+ while (m_links.size() > 0 && tries > 0)
{
for (auto li = m_links.begin(); li != m_links.end(); )