diff options
author | 2022-05-19 19:40:00 +0200 | |
---|---|---|
committer | 2022-05-19 19:40:00 +0200 | |
commit | 0c258c9d707c7775a8f1943d52c5a54781838c0f (patch) | |
tree | d58a893f89e543437a69458510a9d159d85e4423 /scripts/src | |
parent | 299aa2eda394f50bef88cf6a7ef253c96dbf08ab (diff) |
netlist: Fixes to address PR #9752 and issue #8590 / EMSCRIPTEN (#9773)
netlist: pointer to member function code
- Address PR #9752 and issue #8590
- change comments in ppmf.h
- add support for function desciptors (IA64)
- sizeof(size_t) may be different on build targets
make plib::hash use uint64 to ensure consistent static solver
hashes across platforms (EMSCRIPTEN)
- Moved constructor and member functions outside the class declaration
with the exception of "call" member functions.
- Updated comment on accessing RDX
- Added more test cases
* Removed execution bit on certain files
I have separated out the raw processing code into `ppmf.cpp`. I have
also taken first steps to clean the abi identification.
The code submitted now supports:
a) The unknown virtual inheritance case with specific code for MSVC for
simple (i.e. scalar, void, reference, pointer) return types using the
optimized code. This is the test case only supported under MSVC and
which should return 7. Please have a look at the code. Basically
m_vptr_offset is an index into a pointer table. It needs to be
multiplied by `sizeof(void *)`.
b) If you enable PPMF_EXPERIMENTAL complex return type member functions
for MSVC will also use the optimized code path. This is explained in
detail in the code in ppmf, including caveats and possible solutions.
c) Enabling PPMF_USE_MAME_DELEGATES will use `src/lib/util/delegate.h`
as a replacement for `ppmf.h`. This allows to run the same tests
(`nltool -c tests` from standalone build) as for the ppmf code.
d) The code now also supports `clang-cl`
e) sizeof(size_t) may be different on build targets.
Make plib::hash use uint64 to ensure consistent static solver hashes
across platforms. This fixes loading static solvers (if enabled) on
EMSCRIPTEN.
Diffstat (limited to 'scripts/src')
-rw-r--r-- | scripts/src/netlist.lua | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/scripts/src/netlist.lua b/scripts/src/netlist.lua index b5d569c6279..9c70cacebd7 100644 --- a/scripts/src/netlist.lua +++ b/scripts/src/netlist.lua @@ -92,6 +92,7 @@ project "netlist" MAME_DIR .. "src/lib/netlist/plib/pomp.h", MAME_DIR .. "src/lib/netlist/plib/poptions.cpp", MAME_DIR .. "src/lib/netlist/plib/poptions.h", + MAME_DIR .. "src/lib/netlist/plib/ppmf.cpp", MAME_DIR .. "src/lib/netlist/plib/ppmf.h", MAME_DIR .. "src/lib/netlist/plib/ppreprocessor.cpp", MAME_DIR .. "src/lib/netlist/plib/ppreprocessor.h", |