Geza Lore
8daae7336d
Internals: Remove redundant AstNode::addNextStmt
2025-10-21 12:41:50 +01:00
Geza Lore
eb53bca6fd
Internals: Make AstAssignW a procedural statement ( #6280 ) ( #6556 )
...
Initial idea was to remodel AssignW as Assign under Alway. Trying that
uncovered some issues, the most difficult of them was that a delay
attached to a continuous assignment behaves differently from a delay
attached to a blocking assignment statement, so we need to keep the
knowledge of which flavour an assignment was until V3Timing.
So instead of removing AstAssignW, we always wrap it in an AstAlways,
with a special `keyword()` type. This makes it into a proper procedural
statement, which is almost equivalent to AstAssign, except for the case
when they contain a delay. We still gain the benefits of #6280 and can
simplify some code. Every AstNodeStmt should now be under an
AstNodeProcedure - which we should rename to AstProcess, or an
AstNodeFTask). As a result, V3Table can now handle AssignW for free.
Also uncovered and fixed a bug in handling intra-assignment delays if
a function is present on the RHS of an AssignW.
There is more work to be done towards #6280 , and potentially simplifying
AssignW handing, but this is the minimal change required to tick it off
the TODO list for #6280 .
2025-10-14 09:05:19 +01:00
Wilson Snyder
caca1fcef0
Internals: Change order of V3Number constructor args to follow V3Const. No functional change intended.
2025-09-30 22:04:24 -04:00
Igor Zaworski
83f4db956b
Fix side effects when using select ( #6460 )
2025-09-29 08:20:54 -04:00
Wilson Snyder
a647747260
Add IMPLICITSTATIC also on procedure variables.
2025-09-21 19:52:19 -04:00
Wilson Snyder
9187b4d552
Fix internal error on out-of-bounds real array access.
2025-09-16 08:18:51 -04:00
Geza Lore
56927fb955
Fix memory leaks - batch 3 ( #6419 )
2025-09-11 12:01:36 +01:00
Wilson Snyder
ac2859bf24
Internals: Upgrade to clang-format-18 ( #6333 )
2025-08-25 20:47:48 -04:00
Geza Lore
327d55d13d
Internals: Fix remaining cppcheck errors ( #6319 )
...
Fixed the non const-related issue and added suppressions for the const
ones. With that `make cppcheck` should be clean.
2025-08-21 09:43:37 +01:00
Geza Lore
6f69c990fd
Internals: Remove AstCondBound and AstNodeCond ( #6293 ) ( #6294 )
...
Fixes #6293
2025-08-15 15:49:06 -07:00
Wilson Snyder
dca504c706
Internals: Use UINFOTREE istead of dumpTree
2025-08-02 13:44:40 -04:00
Wilson Snyder
5b2dc52681
Fix array bounds checking with class member selects ( #5996 ) ( #5997 ).
2025-06-07 17:20:48 -04:00
Todd Strader
4b041c636f
Fix --x-initial and --x-assign random stability ( #2662 ) ( #5958 ) ( #6018 ) ( #6025 )
2025-05-27 09:31:55 -04:00
Wilson Snyder
46c7b69c64
Internals: UINFO now includes newline itself. No functional change.
2025-05-22 20:29:32 -04:00
Wilson Snyder
640339ec36
Revert 'Fix --x-initial and --x-assign random stability ( #2662 ) ( #5958 ).' See ( #6018 ).
...
Reverts 4581023805 plus line in Changes file
2025-05-17 20:27:03 -04:00
Todd Strader
4581023805
Fix --x-initial and --x-assign random stability ( #2662 ) ( #5958 )
2025-05-16 13:54:51 -04:00
Wilson Snyder
5d0fd8b9a7
Commentary
2025-05-09 21:22:17 -04:00
Wilson Snyder
8fbb725f34
Copyright year update.
2025-01-01 08:30:25 -05:00
Ryszard Rozak
03e8ef0b0f
Fix wildcard equality and inside operators for non-fourstate expressions ( #5673 )
2024-12-12 14:51:48 +01:00
github action
0d5fedce92
Apply 'make format'
2024-11-24 03:02:04 +00:00
sumpster
24b5c641f5
Fix array of struct member overwrites on member update ( #5605 ) ( #5618 ) ( #5628 )
2024-11-23 22:01:02 -05:00
Wilson Snyder
a68da7e220
Internals: Style cleanup. Ignore whitespace if diff. No functional change.
2024-11-10 10:59:18 -05:00
Todd Strader
0f2a8c6c22
Fix BLKANDNBLK for for VARXREFs ( #5569 )
2024-10-29 07:27:40 -04:00
Yilou Wang
8c3cc3af8f
Fix struct array assignment ( #5455 ) ( #5537 )
2024-10-21 09:54:33 -04:00
Todd Strader
76fe224e7c
Fix complex user type problem with --x-assign ( #5543 )
2024-10-18 19:52:25 -04:00
Geza Lore
2890126110
Remove out of range Sel in V3Unknown ( #5443 )
...
Fixes #5393
2024-09-09 14:09:29 +01:00
Wilson Snyder
b66fdd7421
Fix unknown conversion on queues ( #5220 ).
2024-07-08 10:19:51 -04:00
Wilson Snyder
f84592af49
Fix x-valued parameters with `--x-assign unique` ( #5129 ).
2024-05-21 08:07:57 -04:00
Ryszard Rozak
5c0a7e06dc
Fix inout ports of unpacked stuct type ( #5000 )
2024-03-19 06:43:06 -04:00
github action
adfe072b89
Apply 'make format'
2024-03-01 14:15:34 +00:00
Yan Xu
b12f8b3d73
Fix V3Unknown unpacked struct x-assign ( #4934 )
2024-03-01 09:14:49 -05:00
Szymon Gizler
5f52c066e5
Internals: Add serializeOnly() and dumpTreeEitherLevel() ( #4815 ) ( #4715 ). No functional change intended.
2024-01-09 10:35:13 -05:00
Wilson Snyder
e76f29e5ba
Copyright year update
2024-01-01 03:19:59 -05:00
Wilson Snyder
9fd5634778
Internals: Remove unneeded private's. No functional change
2023-11-13 21:37:45 -05:00
Wilson Snyder
b5828a7ce9
Fix header order botched by clang-format in recent commit.
2023-10-18 06:37:46 -04:00
github action
770cd24f27
Apply 'make format'
2023-10-18 02:50:27 +00:00
Wilson Snyder
431bb1ed16
Support compiling Verilator with gcc/clang precompiled headers ( #4579 )
2023-10-17 22:49:28 -04:00
Mariusz Glebocki
28bd7e5b19
Rework multithreading handling to separate by code units that use/never use it. ( #4228 )
2023-09-24 22:12:23 -04:00
Wilson Snyder
24ff3155ae
Support randc ( #4349 ).
2023-09-18 21:17:21 -04:00
Wilson Snyder
761adf1cf0
Internals: Add cloneTreePure to prepare for side effect check.
...
Use cloneTreePure when what is being cloned must be side-effect free.
Use cloneTree when safe to contain side effects (e.g. cloning module).
2023-09-16 22:50:54 -04:00
Wilson Snyder
add68130b8
Internals: Rename to dumpLevel(), to avoid confusion with make-a-dump()
2023-05-03 18:04:10 -04:00
Wilson Snyder
50929e5d43
Fix packed array structure replication.
2023-02-13 07:49:08 -05:00
Wilson Snyder
b24d7c83d3
Copyright year update
2023-01-01 10:18:39 -05:00
Wilson Snyder
2c7f1ef40f
Internals: Cleanup debug dumps so can grep-out leading-dashed lines
2022-11-27 08:31:22 -05:00
Wilson Snyder
73d6de4471
Internals: Fix constructor style.
2022-11-21 20:41:32 -05:00
Wilson Snyder
f44cd9cd48
Internals: Fix constructor style.
2022-11-20 17:40:38 -05:00
Geza Lore
3abb65d732
Strengthen AstNode types to AstNodeExpr
...
Declare every AstNode children and variables as AstNodeExpr where we
statically know this is the appropriate sub-type.
2022-11-20 19:31:28 +00:00
Geza Lore
ddb678cc5b
Merge branch 'master' into develop-v5
2022-09-22 17:33:36 +01:00
Geza Lore
63c694f65f
Streamline dump control options
...
- Rename `--dump-treei` option to `--dumpi-tree`, which itself is now a
special case of `--dumpi-<tag>` where tag can be a magic word, or a
filename
- Control dumping via static `dump*()` functions, analogous to `debug()`
- Make dumping independent of the value of `debug()` (so dumping always
works even without the debug flag)
- Add separate `--dumpi-graph` for dumping V3Graphs, which is again a
special case of `--dumpi-<tag>`
- Alias `--dump-<tag>` to `--dumpi-<tag> 3` as before
2022-09-22 17:24:41 +01:00
Geza Lore
95145038b4
Generate AstNode accessors via astgen
...
Introduce the @astgen directives parsed by astgen, currently used for
the generation child node (operand) accessors. Please see the updated
internal documentation for details.
2022-09-21 14:05:27 +01:00