verilator/include
Geza Lore c99aa8ede5
Fix erroneous implicit conversions of VlWide (#7642)
Change WDataInP/WDataOutP to be opaque handles types instead of aliases
to raw pointers. This subsequently eliminates needing an implicit cast
operator in VlWide, which is replaced with implicit constructors of
WDataInP/WDataOutP that can create a handle from a VlWide. This
eliminates some unsafe conversions that the previous implicit cast
operator unintentionally enabled (e.g. #7618). It also eliminates
having to insert ".data()" in various places int he generated code, which
simplifies internals (the only place ".data()" should be needed is in
calls to variadic functions where the expected type of the argument is
not WDataInP/WDataOutP).

The handles otherwise behave like pointers, implementing the minimal
amount of operators required to code the runtime. The handle is still
only a single pointer, and will be passed in registers as before, so
this patch should be performance neutral.

As part of this removed WData, which used to be an alias for EData.
All uses are now either EData*, WDataInP, WDataOutP, or VlWide directly.
2026-05-22 20:05:08 +01:00
..
fstcpp Support new FST writer API (#6871) (#6992) 2026-05-12 07:39:43 -04:00
vltstd Add SPDX copyright identifiers, and get 'reuse' clean. No functional change. 2026-01-26 20:24:34 -05:00
.gitignore Support VPI product info, warning calls, etc, bug588. 2013-01-17 21:40:37 -05:00
verilated.cpp Fix erroneous implicit conversions of VlWide (#7642) 2026-05-22 20:05:08 +01:00
verilated.h Fix erroneous implicit conversions of VlWide (#7642) 2026-05-22 20:05:08 +01:00
verilated.mk.in Support new FST writer API (#6871) (#6992) 2026-05-12 07:39:43 -04:00
verilated.v Add SPDX copyright identifiers, and get 'reuse' clean. No functional change. 2026-01-26 20:24:34 -05:00
verilated_config.h.in Add SPDX copyright identifiers, and get 'reuse' clean. No functional change. 2026-01-26 20:24:34 -05:00
verilated_cov.cpp Support native FSM state and arc coverage (#7412) 2026-04-22 15:18:59 -04:00
verilated_cov.h Support native FSM state and arc coverage (#7412) 2026-04-22 15:18:59 -04:00
verilated_cov_key.h Support native FSM state and arc coverage (#7412) 2026-04-22 15:18:59 -04:00
verilated_dpi.cpp Fix erroneous implicit conversions of VlWide (#7642) 2026-05-22 20:05:08 +01:00
verilated_dpi.h Fix erroneous implicit conversions of VlWide (#7642) 2026-05-22 20:05:08 +01:00
verilated_force.h Fix erroneous implicit conversions of VlWide (#7642) 2026-05-22 20:05:08 +01:00
verilated_fst_c.cpp Fix erroneous implicit conversions of VlWide (#7642) 2026-05-22 20:05:08 +01:00
verilated_fst_c.h Fix erroneous implicit conversions of VlWide (#7642) 2026-05-22 20:05:08 +01:00
verilated_fst_sc.cpp Add SPDX copyright identifiers, and get 'reuse' clean. No functional change. 2026-01-26 20:24:34 -05:00
verilated_fst_sc.h Add SPDX copyright identifiers, and get 'reuse' clean. No functional change. 2026-01-26 20:24:34 -05:00
verilated_funcs.h Fix erroneous implicit conversions of VlWide (#7642) 2026-05-22 20:05:08 +01:00
verilated_imp.h Internals: clangtidy cleanups. No functional change intended (#7343) 2026-03-27 23:14:18 -04:00
verilated_intrinsics.h Add SPDX copyright identifiers, and get 'reuse' clean. No functional change. 2026-01-26 20:24:34 -05:00
verilated_probdist.cpp Internals: clangtidy cleanups. No functional change intended (#7343) 2026-03-27 23:14:18 -04:00
verilated_profiler.cpp Internals: clangtidy cleanups. No functional change intended (#7343) 2026-03-27 23:14:18 -04:00
verilated_profiler.h Add SPDX copyright identifiers, and get 'reuse' clean. No functional change. 2026-01-26 20:24:34 -05:00
verilated_random.cpp Fix erroneous implicit conversions of VlWide (#7642) 2026-05-22 20:05:08 +01:00
verilated_random.h Support rand_mode() on static rand class members (#7484) (#7510) 2026-04-29 17:07:27 -04:00
verilated_saif_c.cpp Fix erroneous implicit conversions of VlWide (#7642) 2026-05-22 20:05:08 +01:00
verilated_saif_c.h Fix erroneous implicit conversions of VlWide (#7642) 2026-05-22 20:05:08 +01:00
verilated_saif_sc.h Add SPDX copyright identifiers, and get 'reuse' clean. No functional change. 2026-01-26 20:24:34 -05:00
verilated_save.cpp Internals: clangtidy cleanups. No functional change intended (#7343) 2026-03-27 23:14:18 -04:00
verilated_save.h Add SPDX copyright identifiers, and get 'reuse' clean. No functional change. 2026-01-26 20:24:34 -05:00
verilated_sc.h Add SPDX copyright identifiers, and get 'reuse' clean. No functional change. 2026-01-26 20:24:34 -05:00
verilated_sc_trace.h Add SPDX copyright identifiers, and get 'reuse' clean. No functional change. 2026-01-26 20:24:34 -05:00
verilated_std.sv IEEE-compliant, fair `std::semaphore` (#7435) (#7605) 2026-05-18 11:11:42 +02:00
verilated_std_waiver.vlt Add SPDX copyright identifiers, and get 'reuse' clean. No functional change. 2026-01-26 20:24:34 -05:00
verilated_sym_props.h Fix std::unique_ptr with incomplete type for clang (#7501) (#7526) 2026-05-02 12:14:54 -04:00
verilated_syms.h Add SPDX copyright identifiers, and get 'reuse' clean. No functional change. 2026-01-26 20:24:34 -05:00
verilated_threads.cpp Fix cpu pinning when no 'core id' present in /proc/cpuinfo (#7599) 2026-05-15 14:45:39 -04:00
verilated_threads.h Internals: clangtidy cleanups. No functional change intended (#7343) 2026-03-27 23:14:18 -04:00
verilated_timing.cpp Support per-process RNG for process::srandom() and object seeding (#7408) (#7415) 2026-04-13 13:58:53 -04:00
verilated_timing.h Fix `$finish` to immediately stop executing code from non-final blocks (#7213 partial) (#7390). 2026-04-09 17:49:57 -04:00
verilated_trace.h Fix erroneous implicit conversions of VlWide (#7642) 2026-05-22 20:05:08 +01:00
verilated_trace_imp.h Fix erroneous implicit conversions of VlWide (#7642) 2026-05-22 20:05:08 +01:00
verilated_types.h Fix erroneous implicit conversions of VlWide (#7642) 2026-05-22 20:05:08 +01:00
verilated_vcd_c.cpp Fix erroneous implicit conversions of VlWide (#7642) 2026-05-22 20:05:08 +01:00
verilated_vcd_c.h Fix erroneous implicit conversions of VlWide (#7642) 2026-05-22 20:05:08 +01:00
verilated_vcd_sc.cpp Add SPDX copyright identifiers, and get 'reuse' clean. No functional change. 2026-01-26 20:24:34 -05:00
verilated_vcd_sc.h Add SPDX copyright identifiers, and get 'reuse' clean. No functional change. 2026-01-26 20:24:34 -05:00
verilated_vpi.cpp Fix uvm_hdl_release_and_read not reading release value or checking for success (#7425) 2026-04-19 08:24:07 -04:00
verilated_vpi.h Add SPDX copyright identifiers, and get 'reuse' clean. No functional change. 2026-01-26 20:24:34 -05:00
verilatedos.h Fix erroneous implicit conversions of VlWide (#7642) 2026-05-22 20:05:08 +01:00
verilatedos_c.h Support TERMUX (#7559). [Laurent CHARRIER] 2026-05-10 08:20:32 -04:00