Jannis Harder
b87a33d64e
Merge pull request #5211 from rocallahan/remove-log_str
...
Remove `log_str()` functions and convert their `log_signal()` users t…
2025-09-12 14:10:47 +02:00
Jannis Harder
dd9627ed05
Merge pull request #5336 from rocallahan/remove-log-cstr
...
Remove `.c_str()` calls from `log()`/`log_error()`
2025-09-12 14:09:48 +02:00
Jannis Harder
6d8dfb0750
Merge pull request #5340 from rocallahan/IdString-dead-code
...
When looking up the IdString table, it can never be empty after we've called prepopulate, so remove some dead code.
2025-09-12 14:07:28 +02:00
Jannis Harder
0ddbb5b36c
Merge pull request #5342 from YosysHQ/jix/workflow-updates
...
Updates to the CI workflows
2025-09-12 10:46:38 +02:00
Krystine Sherwin
7e1292dd2d
CI: brew install autoconf for iverilog
2025-09-12 10:41:01 +02:00
Krystine Sherwin
f102b25914
Reapply "Merge pull request #5301 from KrystalDelusion/krys/re_5280"
...
This reverts commit 88eb83a0c3
.
2025-09-12 10:41:01 +02:00
Robert O'Callahan
b98e54416f
When looking up the IdString table, it can never be empty after we've called prepopulate, so remove some dead code.
2025-09-12 05:29:22 +00:00
github-actions[bot]
727998f663
Bump version
2025-09-12 00:22:43 +00:00
Robert O'Callahan
e0ae7b7af4
Remove .c_str() calls from log()/log_error()
...
There are some leftovers, but this is an easy regex-based approach that removes most of them.
2025-09-11 20:59:37 +00:00
Emil J
2ec119854c
Merge pull request #5335 from higuoxing/attr_list
...
verilog_parser: Use unique_ptr<> to store the attribute list.
2025-09-11 17:21:46 +02:00
Robert O'Callahan
c7017f7f79
Remove log_str()
functions and convert their log_signal()
users to return std::string
...
This is a small but easy step towards removing the `log_id_cache`.
See issue #5210 .
2025-09-11 04:00:49 +00:00
Xing Guo
9a6f25fb73
verilog_parser: Use unique_ptr<> to store the attribute list.
...
We can get rid of the new / delete statements and free_attr() and we
don't need to manage the memory manually.
2025-09-11 09:57:45 +08:00
github-actions[bot]
c2291c10a6
Bump version
2025-09-10 00:22:30 +00:00
Emil J
201c40072c
Merge pull request #5327 from YosysHQ/emil/do_insert-dont-build-new-hash
...
hashlib: don't build an unused hash for expired value in do_insert
2025-09-09 21:53:39 +02:00
Emil J
5278b9cfe1
Merge pull request #5332 from YosysHQ/parse_specify-rebased
...
Add state_dependent_path_declaration so that `ifnone` can be parsed (rebased)
2025-09-09 21:53:04 +02:00
Jannis Harder
04de6209da
Merge pull request #5243 from rocallahan/typed-log
...
Make `log` functions variadic templates
2025-09-09 17:38:09 +02:00
Jannis Harder
75a97241fa
Maintain logging ABI compatiblity with YosysHQ Verific Extensions
...
The YosysHQ Verific Extensions are compiled separately using their own
stripped-down version of the Yosys headers. To maintain ABI
compatibility with older extension builds post C++-ification of Yosys's
logging APIs, which are backwards compatible on the API but not ABI
level, this commit adds ABI compatible versions of a subset of the old
logging API used by the extensions.
2025-09-09 15:41:03 +02:00
Robert O'Callahan
a137d03c32
Make log_cmd_error() use variadic templates.
2025-09-09 15:41:03 +02:00
Robert O'Callahan
243f5f5201
Make log_file_error() use variadic templates.
2025-09-09 15:41:03 +02:00
Robert O'Callahan
974455378b
Make log_error() use variadic templates.
2025-09-09 15:41:03 +02:00
Robert O'Callahan
c3924d0616
Move log_abort()'s call to log_error() into an out-of-line non-varargs function
2025-09-09 15:41:03 +02:00
Robert O'Callahan
1b5373de0d
Move log_assert_worker()'s call to log_error() into an out-of-line non-varags function
2025-09-09 15:41:03 +02:00
Robert O'Callahan
ea2bb5b79a
Make log_file_info() use variadic templates.
2025-09-09 15:41:03 +02:00
Robert O'Callahan
ec5f62e6d4
Make log_file_warning() use variadic templates.
2025-09-09 15:41:03 +02:00
Robert O'Callahan
9764fa5c41
Remove superfluous/wasteful .c_str()s in log_file_warning() filename parameter
2025-09-09 15:41:03 +02:00
Robert O'Callahan
2a2c586e2c
Make log_experimental() just take an std::string, since it doesn't need to be varargs.
2025-09-09 15:41:03 +02:00
Robert O'Callahan
25cba6181e
Make log_warning()/log_warning_noprefix() use variadic templates.
2025-09-09 15:41:03 +02:00
Robert O'Callahan
66d2c2af08
Make log_header()
use variadic templates.
2025-09-09 15:41:03 +02:00
Robert O'Callahan
d34ac0c87d
Make log()
use the FmtString
infrastructure.
...
Now `log()` supports `std::string`.
We have to fix a few places where the format parameter was not a compile time constant.
This is mostly trivial.
2025-09-09 15:41:03 +02:00
Robert O'Callahan
3f69a768f4
Hide public logv_
variant declarations that don't need to be public
2025-09-09 15:41:03 +02:00
Jannis Harder
931089c1c9
Merge pull request #5334 from jix/fix-memory_libmap-ubsan
...
memory_libmap: Fix use of uninitialized value for async read ports
2025-09-09 15:40:25 +02:00
Jannis Harder
61a00b9131
memory_libmap: Fix use of uninitialized value for async read ports
...
The code in memory_libmap expects `clk_en` to be initialized for all
`PortVariant`s but the parsing in memlib.cc didn't initialize it for
variants of kind `PortKind::Ar` (async read ports).
While this fixes the immediate CI failure, it would be best to refactor
the code so it becomes obvious if something isn't initialized.
2025-09-09 13:32:46 +02:00
Michael Kupfer
75316e8c49
Add state_dependent_path_declaration so that ifnone
can be parsed
2025-09-09 13:04:52 +02:00
github-actions[bot]
23e4c0e424
Bump version
2025-09-09 00:23:18 +00:00
Jannis Harder
51fb5eed4e
Merge pull request #5324 from rocallahan/IdString-constants
...
Make `IdString` indices known at compile-time for `ID::` constants
2025-09-09 01:35:12 +02:00
Jannis Harder
0116dc4384
Add windows workaround to constids.inc
2025-09-09 10:04:08 +12:00
Jannis Harder
6498265eb0
Add macOS workaround to constids.inc
...
The ID(OVERFLOW) IdString isn't used widely enough that we require a
statically allocated IdString, but I think it's good to have an example
workaround in place in case more collisions come up.
2025-09-09 10:04:08 +12:00
Jannis Harder
985b9164da
Disable flaky arch/anlogic/mux test
2025-09-09 10:04:08 +12:00
Jannis Harder
9213bc5d54
Update kernel/constids.inc to include all literal ids
...
I've used this shell command to obtain the list:
rg -I -t cpp -t yacc -o \
'ID\((\$?[a-zA-Z0-9_]+)\)|ID::($?[a-zA-Z0-9_]+)' -r 'X($1$2)' \
| LC_ALL=C sort -u
This removed the entries X(_TECHMAP_FAIL_) and X(nomem2init).
2025-09-09 09:56:55 +12:00
Jannis Harder
a97381448a
Ensure static IdStrings get prepopulated when initializing yosys
...
An alternative would be to call ensure_prepopulated() in various
IdString methods.
2025-09-09 09:56:55 +12:00
Jannis Harder
b6db32873d
Add IdString const &id_string() const to StaticIdString and IdString
...
The vast majority of ID(...) uses are in a context that is overloaded
for StaticIdString or will cause implicit conversion to an IdString
constant reference. For some sufficently overloaded contexts, implicit
conversion may fail, so it's useful to have a method to force obtaining
a `IdString const &` from an ID(...) use.
When turning all literal IdStrings of the codebase into StaticIdStrings
this was needed in exactly one place, for which this commit adds an
`id_string()` call.
2025-09-09 09:56:55 +12:00
Jannis Harder
3ebecb631c
Add a compile time check that kernel/constids.inc is sorted
...
This is an invariant now required by the ID macro, so it's better to
have an actual check and not rely on a comment at the top of
kernel/constids.inc.
2025-09-09 09:56:55 +12:00
Jannis Harder
2a4a9aedfe
Ensure the ID macro consistently uses YOSYS_NAMESPACE_PREFIX
...
The previous version of the ID macro used this for everything in the
Yosys namespace, so the new version should continue to do so.
2025-09-09 09:56:55 +12:00
Robert O'Callahan
23af52c3c8
Use well-known constants in ID macro and make the constant values known at compile time
2025-09-09 09:56:55 +12:00
Jannis Harder
3d14108a96
Merge pull request #5323 from rocallahan/IdString-references
...
Pass `IdString` by reference in more places
2025-09-08 20:40:24 +02:00
Jannis Harder
c468ee7add
Merge pull request #5304 from rocallahan/idstring-stringf
...
Support `IdString` parameters in `stringf()` and remove `.c_str()` in a lot of places
2025-09-08 20:29:20 +02:00
Emil J
80582e02b0
Merge pull request #5317 from donn/libparse_error_weak
...
libparse/filterlib: mark LibertyParser::error() as weak
2025-09-08 19:59:08 +02:00
George Rennie
8fb3f88842
tests: remove -seq 1 from sat with -tempinduct where possible
...
* When used with -tempinduct mode, -seq <N> causes assertions to be
ignored in the first N steps. While this has uses for reset modelling,
for these test cases it is unnecessary and could lead to failures
slipping through uncaught
2025-09-08 18:04:32 +02:00
github-actions[bot]
012ddc2f1e
Bump version
2025-09-06 00:21:53 +00:00
Emil J
db7aa538f9
Merge pull request #5330 from higuoxing/fix-sva-in-case-expr
...
Fix handling of cases that look like sva labels again.
2025-09-05 20:10:56 +02:00