Krzysztof Boroński
fb0d735f68
Tests: Skip t_suspendable_deep if coroutines are not supported by CXX toolchain ( #4217 )
2023-05-23 14:02:40 -04:00
Krzysztof Boroński
167a30be1c
Fix deep traversal of class inheritance timing ( #4216 )
2023-05-23 09:01:57 -04:00
Wilson Snyder
5982528274
Fix duplicate std:: declaration with -I ( #4215 ).
2023-05-22 20:32:20 -04:00
Krzysztof Boroński
de3095e3b4
Fix missing class forward declarations ( #4151 )
2023-05-22 08:29:01 -04:00
Wilson Snyder
8e0682f442
Fix V3Expand ignoring side effects
2023-05-21 21:02:39 -04:00
Wilson Snyder
140994d2c4
Internals: Cleanup more VL_RESTORER. No functional change intended.
2023-05-21 14:06:39 -04:00
Wilson Snyder
950e29d56e
Internals: Cleanup some missing VL_RESTORER in V3Gate. No functional change intended.
2023-05-21 12:49:07 -04:00
Wilson Snyder
65667356b6
wip
2023-05-21 12:24:00 -04:00
Wilson Snyder
6b393e9d7c
Internals: Allow statement-in-statement recursion in V3Premit
2023-05-21 12:03:13 -04:00
Wilson Snyder
4818130e4f
Internals: Remove dead code, addBeforeStmt
2023-05-20 22:37:28 -04:00
Ryszard Rozak
9da3aacd08
Fix bit selections under parameterized classes ( #4210 )
2023-05-18 20:01:36 -04:00
Krzysztof Bieganski
729f8b9334
Move suspendable detection to a separate visitor ( #4208 )
...
This makes the implementation of the detection and propagation of the
suspendable property simpler and easier to read. More importantly, there are no
more jumps around the AST with the `visit` functions, which in some cases could
result in incorrect visitor context while in the `visit` function. See the added
test, which would cause Verilator to segfault before this patch.
In testing, verilation performance was not shown to be affected by this change.
Though there is a slight performance improvement from this patch, due to adding
one more check before refreshing class member cache.
Signed-off-by: Krzysztof Bieganski <kbieganski@antmicro.com>
2023-05-17 17:09:33 +00:00
Ryszard Rozak
279216048b
Fix dotted references in parameterized classes ( #4206 )
2023-05-16 07:40:02 -04:00
Ryszard Rozak
2ce7a348df
Fix references to members of parameterized base classes ( #4196 )
2023-05-15 19:50:04 -04:00
Wilson Snyder
46f719ceaa
Tests: Fix some coverage holes
2023-05-13 20:15:03 -04:00
Mariusz Glebocki
949be301de
Internals: Fix unbalanced V3LockGuard locking ( #4193 )
2023-05-13 10:32:33 -04:00
Mariusz Glebocki
be429a5800
Internals: Lock the same mutex reference as specified in VL_ACQUIRE. ( #4194 )
2023-05-13 10:28:34 -04:00
Mariusz Glebocki
e7714e0902
Internals: Add additional clang's thread safety analysis annotations ( #4195 )
...
* Simplify some Clang-specific attribute defines.
* Add `VL_RETURN_CAPABILITY` and `VL_PT_GUARDED_BY`.
2023-05-12 09:06:36 -04:00
Krzysztof Bieganski
4835ed6967
Fix forced assignments that override non-continuous assignments ( #4183 ) ( #4192 )
...
Only assign forced value on release if it was forced in the first place.
2023-05-12 06:57:12 -04:00
Ryszard Rozak
0198a3fc52
Use unchanged copy of parameterized class for instantation ( #4179 )
2023-05-11 09:56:15 +02:00
Krzysztof Boroński
e095bf1af0
Support inside expressions with strings and doubles ( #4138 ) ( #4139 )
2023-05-10 20:36:41 -04:00
Aylon Chaim Porat
d5de67c6dc
Fix wide structure VL_TOSTRING_W generation ( #4188 ) ( #4189 )
...
* V3Common.cpp::makeVlToString: fix `VL_TOSTRING_W` statement generation to include width argument
* fix contribution name
* add testcase for long struct `VL_TO_STRING_W` bug
2023-05-10 20:34:44 -04:00
Ryszard Rozak
2267db093f
Fix hashes of instances of parameterized classes ( #4182 )
2023-05-10 18:34:29 -04:00
Ryszard Rozak
5aecfa98a1
Internals: Add param value string to hash in V3Param.cpp ( #4186 )
2023-05-10 17:52:17 -04:00
Wilson Snyder
485e230dd8
Commentary ( #4187 )
2023-05-10 17:51:22 -04:00
Wilson Snyder
befb415f27
Fix mod/div/round argument side effects
2023-05-07 22:31:31 -04:00
Wilson Snyder
c0490627bf
Tests: Update historical
2023-05-07 22:00:52 -04:00
Wilson Snyder
d269fbb446
Add creating __inputs.vpp file with --debug ( #4177 ).
2023-05-07 17:58:14 -04:00
Wilson Snyder
444020f7c7
Fix super.new missing data type ( #4147 ).
2023-05-07 16:47:34 -04:00
Wilson Snyder
6188083baa
Tests: Improve randc tests
2023-05-07 15:08:44 -04:00
Wilson Snyder
c2a524d80b
Commentary ( #4175 )
2023-05-07 08:36:03 -04:00
Wilson Snyder
e6f5a0495f
Fix $fscanf of decimals overflowing variables ( #4174 ).
2023-05-07 08:25:10 -04:00
Wilson Snyder
0606a29f13
Fix arrays of unpacked structs ( #4173 ).
2023-05-06 21:41:17 -04:00
Wilson Snyder
c6052830e1
Fix C++17 requirement on previous commit.
2023-05-06 20:23:35 -04:00
Wilson Snyder
4bb876aee5
Fix false IMPLICITSTATIC on package functions.
2023-05-06 19:48:22 -04:00
Wilson Snyder
a3640c1767
Support get_randstate/set_randstate class method function.
2023-05-06 19:09:19 -04:00
Wilson Snyder
250c6950cf
Fix randomize missing simple class rand members.
2023-05-06 18:33:08 -04:00
Wilson Snyder
76f5de6e54
Replace flake8 with ruff for Python linting
2023-05-06 06:08:32 -04:00
Wilson Snyder
1a1c5c5d44
Internals: Fix pylint warning
2023-05-06 06:05:11 -04:00
Wilson Snyder
4ae80f9a9f
Commentary
2023-05-05 22:50:28 -04:00
github action
8a3cb8daa8
Apply 'make format'
2023-05-06 02:37:42 +00:00
Ethan Sifferman
64ab537b68
Add NEWERSTD warning when using feature in newer language standard ( #4168 ) ( #4172 ).
2023-05-05 22:36:51 -04:00
Wilson Snyder
fdea386727
Fix false WIDTHEXPAND on array declarations ( #3959 ).
2023-05-05 22:05:19 -04:00
Wilson Snyder
28944ed862
Fix crash on duplicate imported modules ( #3231 ).
2023-05-05 20:31:48 -04:00
Wilson Snyder
3250ee5707
Commentary: Changes update
2023-05-05 20:24:45 -04:00
Wilson Snyder
d308a561e4
Fix detection of wire/reg duplicates
2023-05-05 20:16:27 -04:00
Wilson Snyder
584f8cc9e7
Internal: With --xml-only support --debug-exit-uvm
2023-05-05 13:47:34 -04:00
Kamil Rakoczy
61e1483b74
Add multi-threaded Verilating at emit stage ( #3608 )
2023-05-05 08:36:20 -04:00
Wilson Snyder
3bb4e34044
Commentary
2023-05-04 19:04:38 -04:00
Kamil Rakoczy
832b17d4d2
clang_check_attributes: fix mt-safe checks for global objects in constructor context ( #4171 )
2023-05-04 14:00:30 -04:00