Skip to content

Conversation

@kroening
Copy link
Collaborator

The code for assignment conversions (1800-2017 10.8) is required for converting the arguments of function calls, and hence, when type checking expressions.

This moves the code for assignment conversions from verilog_typecheck.cpp to verilog_typecheck_expr.cpp, and replaces the use of propagate_type by assignment_conversion. The propagate_type method is then no longer needed.

This adds a test for function input ports that demonstrates that function
input ports are assignment-like contexts.
The code for assignment conversions (1800-2017 10.8) is required for
converting the arguments of function calls, and hence, when type checking
expressions.

This moves the code for assignment conversions from verilog_typecheck.cpp to
verilog_typecheck_expr.cpp, and replaces the use of propagate_type by
assignment_conversion.  The propagate_type method is then no longer needed.
@kroening kroening marked this pull request as ready for review October 13, 2025 19:44
@tautschnig tautschnig merged commit 308845b into main Oct 13, 2025
11 checks passed
@tautschnig tautschnig deleted the move-assignment-conversion branch October 13, 2025 20:30
kroening added a commit that referenced this pull request Oct 17, 2025
This deletes the assignment conversion code from verilog_typecheck.cpp,
which was omitted from #1318.
tautschnig added a commit that referenced this pull request Oct 18, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants