Commit Graph

18230 Commits

Author SHA1 Message Date
Xing Guo 3d2bb1db17 verilog_parser: replace manual AST node allocation with typed midrule actions
Use Bison's typed midrule actions to construct AST_FCALL nodes
with std::unique_ptr, replacing manual 'new' and extra->ast_stack
management. This improves type safety, ensures proper ownership, and
eliminates potential memory leaks.

Ref: https://www.gnu.org/software/bison/manual/html_node/Typed-Midrule-Actions.html
2025-09-13 11:23:42 +08:00
github-actions[bot] fa02d71f65 Bump version 2025-09-13 00:20:53 +00:00
Jannis Harder 193b057983
Merge pull request #5341 from rocallahan/more-varargs-conversion
More varargs conversion
2025-09-12 18:09:42 +02:00
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 f4699e2b10 Remove unnecessary c_str() calls from err_at_loc/warn_at_loc 2025-09-12 06:21:56 +00:00
Robert O'Callahan 8cd3c069d6 Use C++ stringf machinery in verilog_error 2025-09-12 06:21:56 +00:00
Robert O'Callahan 733b6f0124 Remove unnecessary usage of .c_str() in parameters to input_error() 2025-09-12 06:03:05 +00:00
Robert O'Callahan ad4ef8b775 Make AstNode::input_error use C++ stringf machinery 2025-09-12 06:01:32 +00:00
Robert O'Callahan ff5177ce8e Remove .c_str() from parameters to btorf() and infof() 2025-09-12 05:53:59 +00:00
Robert O'Callahan 6f0c8f56a3 Convert btorf()/infof() to C++ stringf machinery 2025-09-12 05:53:19 +00: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
Emil J. Tywoniak bc24947a84 tests: replace CC and gcc with CXX and g++ 2025-09-11 16:50:23 +02:00
Akash Levy 5ed83a3833
Merge pull request #89 from Silimate/addsub_c
Addsub c
2025-09-11 05:21:44 -07:00
Akash Levy f39d78c69f Smallfixes 2025-09-11 05:02:58 -07:00
Akash Levy e25492e87a Smallfixes 2025-09-11 04:50:58 -07:00
Akash Levy b1f4d0d8aa Small adjustments 2025-09-11 04:47:28 -07:00
Akash Levy 8f5b20c423
Apply suggestions from code review
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
2025-09-11 04:46:32 -07:00
Akash Levy b70aeea35c Fixups 2025-09-11 04:37:00 -07:00
Akash Levy 54a1862fbe
Apply suggestions from code review
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
2025-09-11 04:32:18 -07:00
Akash Levy c1557950ef Support external fanout for addsub_c 2025-09-11 03:48:14 -07:00
Akash Levy ccf3909982 Initial implementation of addsub_c with no intermediate fanout allowed 2025-09-11 03:28:50 -07:00
Akash Levy a43de44f9d Merge upstream changes 2025-09-10 23:02:15 -07: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
Akash Levy f2aa7cc65b Reduce verbosity of opt_balance_tree 2025-09-10 06:07:15 -07: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
Akash Levy 41dfe4fc61 Run toposort in both directions for better results 2025-09-09 07:45:25 -07:00
Akash Levy 2d5c16b798
Merge branch 'YosysHQ:main' into main 2025-09-09 06:51:28 -07: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