iverilog/vvp
Martin Whitaker c0e9b73d1c vvp: Allocate time structures for cbNextSimTime and cbEndOfSimulation.
Previously they were reusing the pointer supplied when the callback
was registered, which is not guaranteed to still be valid.

Note that the IEEE standard states:

    The only fields in the s_cb_data structure that shall need to
    be set up for simulation action or feature callbacks are the
    reason, cb_rtn, and user_data (if desired) fields.

so for cbEndOfSimulation callbacks we cannot rely on the time pointer
being either valid or null. The standard does not require that the
time structure should be filled in when the callback occurs, but for
backwards compatibility continue to do so, returning a vpiSimTime
value.
2024-02-05 17:51:27 +00:00
..
examples devel: Fix ci build vvp test 2022-12-26 17:16:26 -05:00
Makefile.in Fix for cross compile build 2021-05-12 09:16:11 +02:00
arith.cc vvp: Remove `wid` parameter from `recv_vec{4,8}_pv()` 2022-05-28 15:34:02 +02:00
arith.h vvp: Remove `wid` parameter from `recv_vec{4,8}_pv()` 2022-05-28 15:34:02 +02:00
array.cc vvp: Don't schedule initial value propagation for net array ports 2023-12-28 20:04:01 -08:00
array.h vvp: Remove unused `compile_varw_real()` 2022-06-20 22:59:12 +02:00
array_common.cc Cleanup some cppcheck warnings 2022-12-28 00:00:31 -08:00
array_common.h vvp: Cleaning. 2014-11-28 14:14:39 +01:00
bufif.cc vvp: Remove `wid` parameter from `recv_vec{4,8}_pv()` 2022-05-28 15:34:02 +02:00
bufif.h vvp: Remove `wid` parameter from `recv_vec{4,8}_pv()` 2022-05-28 15:34:02 +02:00
class_type.cc vvp: recognise signed logic types when parsing class properties. 2019-12-23 09:48:07 +00:00
class_type.h Allow class properties to be arrayed. 2014-09-15 17:37:30 -07:00
codes.cc Fix valgrind compile 2016-02-03 22:25:57 -08:00
codes.h vvp: Remove unused function prototypes 2022-06-20 22:52:56 +02:00
compile.cc vvp: execute undriven net initialisation before time 0. 2024-01-07 09:34:44 +00:00
compile.h Improve SDF interconnect support, add -ginterconnect flag 2023-08-23 12:56:11 +02:00
concat.cc vvp: concat: Defer update to end of the current simulation cycle 2024-01-20 10:32:55 -08:00
concat.h vvp: concat: Defer update to end of the current simulation cycle 2024-01-20 10:32:55 -08:00
config.h.in vvp: Fix implementation of strndup for Windows (issue #608). 2022-03-25 20:34:11 +00:00
cppcheck.sup Cleanup some cppcheck warnings 2022-12-28 00:00:31 -08:00
delay.cc Cleanup 2023-08-29 09:54:39 +02:00
delay.h Cleanup 2023-08-29 09:54:39 +02:00
dff.cc vvp: Remove `wid` parameter from `recv_vec{4,8}_pv()` 2022-05-28 15:34:02 +02:00
dff.h vvp: Remove `wid` parameter from `recv_vec{4,8}_pv()` 2022-05-28 15:34:02 +02:00
draw_tt.c Fix some cppcheck warnings 2015-10-02 09:43:54 -07:00
enum_type.cc Remove "using namespace std" from vvp header files and fix the fallout. 2021-11-04 17:02:07 +00:00
enum_type.h Update header files to use a more standard name to prevent rereading 2014-07-23 13:42:56 -07:00
event.cc vvp: Remove `wid` parameter from `recv_vec{4,8}_pv()` 2022-05-28 15:34:02 +02:00
event.h vvp: Remove `wid` parameter from `recv_vec{4,8}_pv()` 2022-05-28 15:34:02 +02:00
extend.cc vvp: Remove `wid` parameter from `recv_vec{4,8}_pv()` 2022-05-28 15:34:02 +02:00
file_line.cc Cleanup vvp with suggestions from cppcheck 2021-01-02 13:53:18 -08:00
island_tran.cc Cleanup some cppcheck warnings 2022-12-28 00:00:31 -08:00
ivl_dlfcn.h Update header files to use a more standard name to prevent rereading 2014-07-23 13:42:56 -07:00
latch.cc vvp: Remove `wid` parameter from `recv_vec{4,8}_pv()` 2022-05-28 15:34:02 +02:00
latch.h vvp: Remove `wid` parameter from `recv_vec{4,8}_pv()` 2022-05-28 15:34:02 +02:00
lexor.lex tgt-vvp: inform vvp about undriven constant values. 2024-01-07 09:34:36 +00:00
logic.cc vvp: Remove `wid` parameter from `recv_vec{4,8}_pv()` 2022-05-28 15:34:02 +02:00
logic.h vvp: Remove `wid` parameter from `recv_vec{4,8}_pv()` 2022-05-28 15:34:02 +02:00
main.cc Update displayed Copyright 2024-01-20 17:52:04 -08:00
npmos.cc vvp: Remove `wid` parameter from `recv_vec{4,8}_pv()` 2022-05-28 15:34:02 +02:00
npmos.h vvp: Remove `wid` parameter from `recv_vec{4,8}_pv()` 2022-05-28 15:34:02 +02:00
parse.y vvp: Add parser rule for unsigned 2-state net arrays 2023-10-15 10:03:10 -07:00
parse_misc.cc updated FSF-address 2012-08-29 10:12:10 -07:00
parse_misc.h Update header files to use a more standard name to prevent rereading 2014-07-23 13:42:56 -07:00
part.cc vvp: Remove bitsr from struct vvp_fun_part_state_s 2024-01-07 17:38:33 -08:00
part.h Add support for annotation of input and output vectors 2023-09-04 09:20:19 +02:00
permaheap.cc updated FSF-address 2012-08-29 10:12:10 -07:00
permaheap.h Update header files to use a more standard name to prevent rereading 2014-07-23 13:42:56 -07:00
reduce.cc vvp: Remove `wid` parameter from `recv_vec{4,8}_pv()` 2022-05-28 15:34:02 +02:00
resolv.cc vvp: Remove `wid` parameter from `recv_vec{4,8}_pv()` 2022-05-28 15:34:02 +02:00
resolv.h vvp: Remove `wid` parameter from `recv_vec{4,8}_pv()` 2022-05-28 15:34:02 +02:00
schedule.cc vvp: enable main event queue before executing cbStartOfSimulation callbacks. 2024-01-14 22:12:52 +00:00
schedule.h Add compiler and the start of vvp support for ->> 2021-02-19 23:21:51 -08:00
sfunc.cc fix broken call-out of real-valued system functions. 2014-01-21 13:31:49 -08:00
sfunc.h Update header files to use a more standard name to prevent rereading 2014-07-23 13:42:56 -07:00
slab.h Cleanup any allocated event queue data 2015-12-14 21:08:17 -08:00
statistics.cc updated FSF-address 2012-08-29 10:12:10 -07:00
statistics.h Update header files to use a more standard name to prevent rereading 2014-07-23 13:42:56 -07:00
stop.cc Fix Typo in vvp's scope search in interactive mode. 2023-08-17 05:44:31 +00:00
substitute.cc vvp: Remove `wid` parameter from `recv_vec{4,8}_pv()` 2022-05-28 15:34:02 +02:00
symbols.cc Fix initialisation of vvp symbol table values. 2019-08-01 12:34:47 +01:00
symbols.h Fix initialisation of vvp symbol table values. 2019-08-01 12:34:47 +01:00
udp.cc Remove "using namespace std" from vvp header files and fix the fallout. 2021-11-04 17:02:07 +00:00
udp.h Remove "using namespace std" from vvp header files and fix the fallout. 2021-11-04 17:02:07 +00:00
ufunc.cc Fix valgrind compile to work with new using std reorg 2021-11-10 18:21:14 -08:00
ufunc.h Add ability to read back return value / Add vec4 stacked user functions. 2016-01-24 18:36:26 -08:00
vpi_bit.cc Update the user visible copyright to be 2020 2020-05-31 13:41:38 -07:00
vpi_callback.cc vvp: Allocate time structures for cbNextSimTime and cbEndOfSimulation. 2024-02-05 17:51:27 +00:00
vpi_cobject.cc Cleanup some cppcheck warnings 2022-12-28 00:00:31 -08:00
vpi_const.cc vvp: Handle null-bytes in the string literal VPI support 2023-01-02 15:35:34 -08:00
vpi_darray.cc Cleanup some cppcheck warnings 2022-12-28 00:00:31 -08:00
vpi_event.cc Implement vpi_put_value() for named events (GitHub issue #158). 2017-06-15 08:47:29 +01:00
vpi_iter.cc Fix new/free mismatch in vvp. 2012-08-30 19:33:25 -07:00
vpi_mcd.cc Update vpi_mcd_close() to return the correct value 2020-05-16 19:19:45 -07:00
vpi_modules.cc vvp: Only support one path separator in IVERILOG_VPI_MODULE_PATH (issue #608) 2022-03-25 22:04:43 +00:00
vpi_priv.cc vvp: concat: Defer update to end of the current simulation cycle 2024-01-20 10:32:55 -08:00
vpi_priv.h Add support for annotation of input and output vectors 2023-09-04 09:20:19 +02:00
vpi_real.cc Cleanup some cppcheck warnings 2022-12-28 00:00:31 -08:00
vpi_scope.cc vpiFullname of a package should have a "::" after the name 2023-12-28 18:53:11 -08:00
vpi_signal.cc vpiFullname of a package should have a "::" after the name 2023-12-28 18:53:11 -08:00
vpi_string.cc Cleanup some cppcheck warnings 2022-12-28 00:00:31 -08:00
vpi_tasks.cc Cleanup vvp with suggestions from cppcheck 2021-01-02 13:53:18 -08:00
vpi_time.cc Clean up warnings 2022-12-18 10:18:10 -05:00
vpi_vthr_vector.cc Fix some compile issues 2024-01-20 12:42:55 -08:00
vpip_bin.cc Fix implicit fallthrough warnings when building with recent GCC. 2018-10-06 20:15:42 +01:00
vpip_format.cc updated FSF-address 2012-08-29 10:12:10 -07:00
vpip_hex.cc Fix implicit fallthrough warnings when building with recent GCC. 2018-10-06 20:15:42 +01:00
vpip_oct.cc Fix implicit fallthrough warnings when building with recent GCC. 2018-10-06 20:15:42 +01:00
vpip_to_dec.cc updated FSF-address 2012-08-29 10:12:10 -07:00
vthread.cc Merge pull request #930 from larsclausen/fix-fn-partial-oob-write 2023-06-10 18:00:06 -07:00
vthread.h vvp: Handle %fork in `final` procedures 2023-04-16 09:20:31 -07:00
vvp.def Fix memory leak and add vpi_release_handle() 2023-09-04 15:20:31 +02:00
vvp.man.in Update man page dates 2024-01-20 17:46:02 -08:00
vvp_cleanup.h Kill a bunch of __vpiScope struct vs class warnings. 2015-12-27 11:37:10 -08:00
vvp_cobject.cc Allow class properties to be arrayed. 2014-09-15 17:37:30 -07:00
vvp_cobject.h Allow class properties to be arrayed. 2014-09-15 17:37:30 -07:00
vvp_darray.cc Cleanup cppcheck warnings in vvp 2021-01-01 00:20:26 -08:00
vvp_darray.h Remove "using namespace std" from vvp header files and fix the fallout. 2021-11-04 17:02:07 +00:00
vvp_island.cc Cleanup some cppcheck warnings 2022-12-28 00:00:31 -08:00
vvp_island.h vvp: Remove `wid` parameter from `recv_vec{4,8}_pv()` 2022-05-28 15:34:02 +02:00
vvp_net.cc tgt-vvp: inform vvp about undriven constant values. 2024-01-07 09:34:36 +00:00
vvp_net.h vvp: concat: Defer update to end of the current simulation cycle 2024-01-20 10:32:55 -08:00
vvp_net_sig.cc vvp: Initialize automatic 2-state vectors to 0 2023-07-29 06:17:47 -07:00
vvp_net_sig.h vvp: Initialize automatic 2-state vectors to 0 2023-07-29 06:17:47 -07:00
vvp_object.cc Fix dynamic array assignment to make a copy of the rvalue. 2020-11-26 12:52:06 -08:00
vvp_object.h Fix dynamic array assignment to make a copy of the rvalue. 2020-11-26 12:52:06 -08:00
vvp_vpi.cc Remove malloc.h support and for C++ files use <c...> include files. 2010-06-01 08:56:30 -07:00
vvp_vpi_callback.h Fix for br1019 - allow multiple array words to be attached to a vpi callback. 2017-08-12 12:23:43 +01:00
words.cc vvp: Initialize automatic 2-state vectors to 0 2023-07-29 06:17:47 -07:00