summaryrefslogtreecommitdiffstatshomepage
path: root/src/lib/netlist/plib/pexception.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Fix compilation against musl (#12000) Elaine Gibson2024-02-031-1/+1
|
* netlist: fix bug, prepare for future changes and improve readability (#9947) couriersud2022-06-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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 :-(
* netlist: fix bugs and more cpp instead of macros (#9897) couriersud2022-06-101-13/+13
| | | | | | | | | | | | | | | | | * netlist: fix bugs and more cpp instead of macros - C-style comments converted to c++ - Fix crash in state saving code when an abort queue processing event is pending. - Fix a bug where a net could be twice in the queue. - Convert more macros to c++ - fixed SUBTARGET=nl build - fixed potential bugs which would allow a terminal to belong to more than one net. This is not possible even for a short time. - moved some member function definitions out-of-class. - moved code out-of-class - added constexpr where appropriate - fixed mamenl build - Cleanup and indentation
* netlist: static solver work and improve code readability (#9841) couriersud2022-05-301-6/+6
| | | | | | | | | | | - nltool: Added support for building individual static solver files. - Added pre-built documentation files for nltool and nlwav. - plib: Extended typed_version to have patchlevel as well. - plib: Compile more of ppmf.h with nvcc. - create_devinc.py: Add include guards to the generated files. - makefile: Recreate generated files when python code has changed. - Reduced nld_base.h usage in the core. - <oved extern template class declarations to where they belong. - Generally improved code readability and fixed a lot of issues cspell reported.
* netlist: More c++, less macros, added support for cspell (#9794) couriersud2022-05-221-1/+1
| | | | | | | | | | | | | | | | | - More c++, less macros * Significantly reduced the use of unused_var and replaced it with [[maybe_unused]] * use enum class in ppmf.h - Changes to testing code in ptest.h * Catch exceptions in more places * The verbosity of the output can now be controlled * Display of test stats totals - added support for cspell - fixed various typos - fixed SUBTARGET=nl build - fixed more file permissions - srcclean and add fix_permissions target to netlist makefile
* netlist: Relicensing of the GPL code to BSD-3 with the blessing of the Olivier Galibert2021-03-091-1/+1
| | | | | | | | | | copyright owners. Much thanks for that Couriersud, the main creator and contributor, but also to Jonathan Gevaryahu and Sergey Svishchev. There are small remnants in machine/NL_*, specifially breakout, pong doubles and rebound that are also copyrighted by the DICE team, whoever that means. They're not critical since they only concern these drivers and not an important core subsystem.
* netlist: more clang lint fixes. couriersud2020-10-021-1/+1
|
* netlist: Rewrote frontier documentation. couriersud2020-09-301-1/+2
| | | | * Also includes a small optimization for FP signal code.
* netlist: applied some clang tidy recommendations couriersud2020-09-301-1/+0
|
* netlist: Performance improvement and refactoring. [Couriersud] couriersud2020-06-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Kidniki now achieves up to 910% when run with static solvers and with nltool. That is significant better than the 860% we have seen previously. This increase is driven by using a global memory pool in the solver code. In addition the following refactoring and code maintenance work is included. Please excuse the large commit, some of this took interfered with other work and the detail development steps were ugly. - gsl support: This commit adds pgsl.h which implements a very limited number of the functionality of the gsl header described in the c++ core guidelines. - clang-tidy fixes - A significant refactoring of palloc.h. Aligned hints were removed, they added complexity without a significant performance gain. Vector operations should better be done on special spans/views. The code has been tested on linux with g++-7, g++-9, clang-11. On Windows mingw-10 and VS2019, OSX clang-11.
* netlist: remove more macro usage, fix win float exceptions. (nw) couriersud2020-06-061-0/+26
|
* netlist: code maintenance. (nw) couriersud2019-11-131-2/+25
| | | | | | - move memory pool to netlist_state_t removing one static allocation. - add memory allocation stats to verbose output - nl_assert no longer throws, first step to remove NL_EXCEPT macro.
* netlist: code maintenance and bug fixes. (nw) couriersud2019-11-081-4/+0
| | | | | | | - comment style migration continues. - Fixed a two bugs in the truthtable ignore inputs code - refactored the truthtable code a bit for better readability. - updated netlist specific gitignore.
* netlist: less cpp - more headers (nw) couriersud2019-09-291-1/+1
| | | | - move more code in headers - delete some cpp files.
* (nw) Clean up the mess on master Vas Crabb2019-03-261-114/+101
| | | | | | | | | | | | | This effectively reverts b380514764cf857469bae61c11143a19f79a74c5 and c24473ddff715ecec2e258a6eb38960cf8c8e98e, restoring the state at 598cd5227223c3b04ca31f0dbc1981256d9ea3ff. Before pushing, please check that what you're about to push is sane. Check your local commit log and ensure there isn't anything out-of-place before pushing to mainline. When things like this happen, it wastes everyone's time. I really don't need this in a week when real work™ is busting my balls and I'm behind where I want to be with preparing for MAME release.
* Revert "conflict resolution (nw)" andreasnaive2019-03-251-101/+114
| | | | | This reverts commit c24473ddff715ecec2e258a6eb38960cf8c8e98e, reversing changes made to 009cba4fb8102102168ef32870892438327f3705.
* netlist: fix visibility issues and more issues reported by tidy. (nw) couriersud2019-02-221-1/+1
|
* netlist: tick off some issues clang-tidy highlights. (nw) couriersud2019-02-181-71/+84
|
* netlist: Refactoring after adding clang-tidy support to netlist makefile couriersud2019-02-071-27/+1
| | | | | | | - convert macros to c++ code. - order of device creation should not depend on std lib. - some state saving cleanup. - added support for clang-tidy to makefile. - modifications triggered by clang-tidy-9.
* More cppcheck fixes. (nw) Couriersud2017-03-051-2/+2
|
* Fix some cppcheck warnings. (nw) Couriersud2017-03-051-1/+1
|
* Reorder include order to comply with best practices. (nw) couriersud2017-02-101-2/+2
|
* srcclean (nw) Vas Crabb2017-01-221-2/+2
|
* Fix clang "-Wno-weak-vtables" warnings in netlist source. Refactored couriersud2017-01-051-1/+35
| | | code along the way. (nw)
* Fix some pedantic clang warnings. (nw) couriersud2017-01-051-1/+1
|
* Added SIGFPE enabling code to plib/pexception.*. Moved plib exceptions couriersud2017-01-041-0/+109
into these files as well. The code uses <cfenv> which is part of c++11 standard. Non-standard glib extensions are currently only used on linux and (i386 or x86_64). (nw)