Commit Graph

8900 Commits

Author SHA1 Message Date
Matthew Ballance e4e8d04b13 Backed out previous changes to Broken and Ast.
The AstVar for __Vtask_wrap__1__Vfuncout was being deleted during V3Const’s constant-folding of the
dead if (has && obj != null) block (has is constant 0), but its corresponding AstVarScope (which
lives on the scope’s varsp() list, not under the deleted subtree) was left behind, causing both the
ASAN UAF and the --debug “Broken link” on AstVarScope::m_varp.

In src/V3Const.cpp, when visit(AstNodeIf*) folds a constant-condition if, and when
visit(AstExprStmt*) drops the statement side, we now collect any AstVar declarations under the
soon-to-be-deleted subtree using foreachAndNext, and unlink/delete the matching AstVarScopes from the
current AstScope::varsp() list before pushDeletep(nodep).

Signed-off-by: Matthew Ballance <matt.ballance@gmail.com>
2025-12-21 17:08:49 +00:00
Matthew Ballance e0eb99e8ae Merge remote-tracking branch 'refs/remotes/origin/fix/broken-varscope-linkable' into fix/broken-varscope-linkable 2025-12-20 21:35:28 +00:00
Matthew Ballance aff401ef04 Update testcase copyright and remove local path comments 2025-12-20 21:34:36 +00:00
github action 1487f6e98a Apply 'make format' 2025-12-20 21:26:04 +00:00
Matthew Ballance b4a131e9b6 Update fix
Signed-off-by: Matthew Ballance <matt.ballance@gmail.com>
2025-12-20 21:25:05 +00:00
Matthew Ballance 9229b8ea2f Fix UAF in V3Dead by deferring AstVar deletion in deleteTreeIter 2025-12-20 21:22:33 +00:00
Matthew Ballance 6250c0e123 Merge remote-tracking branch 'refs/remotes/origin/fix/broken-varscope-linkable' into fix/broken-varscope-linkable 2025-12-20 21:07:32 +00:00
Matthew Ballance d4019b9809 Cleanup
Signed-off-by: Matthew Ballance <matt.ballance@gmail.com>
2025-12-20 21:07:23 +00:00
github action 5089d9dc70 Apply 'make format' 2025-12-20 21:04:15 +00:00
Matthew Ballance 7d68400421 test: add regression for debug broken-link assert 2025-12-20 21:02:57 +00:00
Matthew Ballance d5a28e7f8c Docs: describe min_uaf_repro_real assert and fix 2025-12-20 20:54:51 +00:00
Matthew Ballance 03aa9da925 V3Broken: treat VarScope->var as linkable 2025-12-20 20:49:17 +00:00
Geza Lore f990dd747e
Change metacomments to not enable warnings disabled in control file (#6836) (#6842)
Track the location based message/feature enable bits separately for code
and control file directives. A message/feature is disabled if disabled
either in the control file, or in code directives/metacomments. That is,
enabled only if both agree should be enabled.
2025-12-20 06:33:46 -05:00
em2machine 3ceac0b37e
Fix parameterized class module parameters (#6754) (#6834) 2025-12-19 12:57:15 -05:00
Pawel Kojma 5244766b7b
Support reduction or in constraints (#6840) 2025-12-19 12:37:20 -05:00
Yangyu Chen 47d1a50aa4
Fix setting thread count in VerilatedContext (#6826 partial) (#6841) 2025-12-19 10:59:43 -05:00
Wilson Snyder 5cee225022 Add NUMA example commentary (#6839 partial) 2025-12-19 07:47:13 -05:00
Oleh Maksymenko a098e4894f
Fix JSON dump missing output ports (#6751) (#6831) 2025-12-19 07:30:33 -05:00
Wilson Snyder be08862109
CI: Add format-yaml (#6838) 2025-12-18 21:45:43 -05:00
Wilson Snyder c2c00888d6 Fix firing array selects of events (#6829). 2025-12-18 20:45:22 -05:00
Wilson Snyder 24e43f4ddd Internals: Add assertion at expected expressions (#6829 partial) 2025-12-18 20:37:11 -05:00
Geza Lore 04a7b31b84
Fix false IMPLICITSTATIC on localparam (#6835) 2025-12-18 12:51:31 +00:00
Yilou Wang 41937ecbe4
Fix member select of variable without randmode (#6800) (#6833) 2025-12-18 06:49:04 -05:00
Wilson Snyder b90865a08a Change `--lint-only` and `--json-only` to imply `--timing` (#6790). 2025-12-17 19:24:43 -05:00
Wilson Snyder 12ff481689 REVERT 612237b7: Optimize trace code for faster compiles on repeated types (#6707) (#6832 partial). 2025-12-17 17:37:35 -05:00
Todd Strader d10e841b56
Skip properties for expression coverage (#6830) 2025-12-17 13:51:40 -05:00
Yangyu Chen bd38775ad2
V3DfgPasses: Optimize mux with UInt To OneHot (#6822)
Signed-off-by: Yangyu Chen <cyy@cyyself.name>
2025-12-17 12:07:21 -05:00
em2machine 6f43ad8607
Fix type deduction for variable parameterized classes (#6281) (#6813) 2025-12-17 08:08:44 -05:00
github action fe5d6b213c Apply 'make format' 2025-12-17 02:18:36 +00:00
Wilson Snyder 7e5c5d677f Tests: Remove old benchmarksim, should use rtlmeter instead 2025-12-16 21:17:27 -05:00
Thomas Dybdahl Ahle 5115be6e6b Fix duplicate name error with interface initial blocks (#6804) (#6805). 2025-12-16 20:57:58 -05:00
Wilson Snyder 41c4f948fe Support assert under assert (#6146). 2025-12-16 20:45:31 -05:00
Wilson Snyder f1ee434dca Commentary: Changes update 2025-12-16 20:43:08 -05:00
Luca Colagrande a9ef4b3ff1
Fix nested struct within parameter port list (#6818) (#6824) 2025-12-16 18:08:49 -05:00
Todd Strader 35dcf70f48
Optimize trace code for faster compiles on repeated types (#6707) 2025-12-16 17:52:00 -05:00
Dan Ruelas-Petrisko 394d9cf168
Support `-libmap` (#5891 partial) (#6764) 2025-12-16 11:21:46 -05:00
Wilson Snyder 66b3790444 Commentary: Changes update 2025-12-16 08:14:37 -05:00
Wilson Snyder ef3fdbdcba Tests: Favor --binary. No test change. 2025-12-16 08:14:25 -05:00
Geza Lore 47a4f7fb9b
Improve reusability of --dump-inputs output (#6812) 2025-12-16 11:08:19 +00:00
Ryszard Rozak 25f72e4305
Support force assignments to unpacked array elements of simple types (partial #4735) (#6787) 2025-12-16 08:35:59 +01:00
Krzysztof Bieganski 7e67f73844
Fix process reference giving no return statement error (#6767) (#6823) 2025-12-15 18:09:45 -05:00
dependabot[bot] 2f9e1fa454
Bump actions/cache from 4 to 5 (#6819) 2025-12-15 11:37:46 -05:00
dependabot[bot] 9bb3e9dd45
Bump actions/download-artifact from 6 to 7 (#6820) 2025-12-15 11:37:39 -05:00
dependabot[bot] bcc661c116
Bump actions/upload-artifact from 5 to 6 (#6821) 2025-12-15 11:37:29 -05:00
Alex Solomatnikov 8da8ca4203
Fix error on resized lvalues with warning suppressed (#6497) (#6816) 2025-12-15 06:49:32 -05:00
Geza Lore a1cd7d1f3a
Add 'make venv' target (#6775)
Fixes #6775
2025-12-14 11:18:32 +00:00
Wilson Snyder dc00bf2484 Fix 'void(' mis-throwing assertion 2025-12-13 21:43:27 -05:00
Wilson Snyder 27558c9349 Internals: Reorganize system function/task parse rules. No functional change. 2025-12-13 21:34:28 -05:00
Wilson Snyder 5634795140 Improve message on cast assertion failure. 2025-12-13 20:51:13 -05:00
em2machine aff501f5c4
Fix resolution of specialized typedefs (#6754) (#6808) 2025-12-12 15:20:15 -05:00