Previous 199869 Revisions Next

r187493 Monday 20th June, 2022 at 18:01:03 UTC by Couriersud
netlist: fix bug, prepare for future changes and improve readability (#9947)

* netlist: fix bug, prepare for future changes and improve readability

- fix a bug where a net processing error may trigger a nullptr access
- applied some clang-tidy recommendations
- add no_return to plib::terminate
- properly encapsulate dynamic_cast usage
- more review of noexcept
- added a clang-format file. Over time, all source files will be
 processed with clang-format
- Used clang format on a number of files

- Rewrote 74174

- all device constructors now use a struct to pass data on
 to base classes. Neither netlist state nor the name are intended
 to be used in a constructor. After the base class was
 constructed, they can be accessed by state() and name().

- The device construction macros can now be removed. Changes to
 the core will not need to be reflected in constructors.

- Change truth table macros so that going forward NETLIST_END and
 TRUTH_TABLE_END can be replaced by a closing curly brace. netlists can
 than use curly braces enclosed blocks.

- more clang-format
- removed some macros completely
- all derived classes from base_device_t now don't use macros
 any longer.
- as a result, delegator_t was removed. This class was only used
 to support macros :-(
[src/devices/machine]netlist.cpp netlist.h
[src/devices/video]fixfreq.cpp
[src/lib/netlist]nl_base.cpp nl_config.h nl_errstr.h nl_factory.cpp nl_factory.h nl_interface.h nl_parser.cpp nl_parser.h nl_setup.cpp nl_setup.h nltypes.h
[src/lib/netlist/analog]nld_bjt.cpp nld_mosfet.cpp nld_opamps.cpp nld_switches.cpp nlid_fourterm.cpp nlid_fourterm.h nlid_twoterm.cpp nlid_twoterm.h
[src/lib/netlist/build].clang-format* makefile
[src/lib/netlist/core]analog.h base_objects.h core_device.h device.h device_macros.h devices.h exec.h logic.h logic_family.h netlist_state.h nets.h param.h queue.h setup.h state_var.h
[src/lib/netlist/devices]nld_4020.cpp nld_4053.cpp nld_4066.cpp nld_4316.cpp nld_74113.cpp nld_74123.cpp nld_74174.cpp nld_7473.cpp nld_74ls629.cpp nld_8277.cpp nld_am2847.cpp nld_log.cpp nld_mm5837.cpp nld_ne555.cpp nld_r2r_dac.cpp nld_roms.cpp nld_schmitt.cpp nlid_proxy.cpp nlid_proxy.h nlid_system.h nlid_truthtable.cpp
[src/lib/netlist/macro]nlm_ttl74xx_lib.cpp
[src/lib/netlist/plib]pexception.cpp pexception.h pfmtlog.cpp pfmtlog.h pgsl.h pmatrix_cr.h poptions.h ppmf.cpp ppmf.h psource.h ptests.h ptokenizer.cpp putil.h
[src/lib/netlist/solver]nld_matrix_solver.cpp nld_matrix_solver.h nld_matrix_solver_ext.h nld_ms_gcr.h nld_solver.cpp nld_solver.h
[src/lib/netlist/tests]test_penum.cpp test_precommit.cpp


Previous 199869 Revisions Next


© 1997-2024 The MAME Team