Skip to content

Conversation

@kroening
Copy link
Collaborator

@kroening kroening commented Dec 1, 2025

This changes the naming of methods and error messages. The term 'integral' includes non-integer types, e.g., time variables. Many operators require operands that are integral but exclude time variables. The standard calls these "bit vector types".

@kroening kroening marked this pull request as ready for review December 1, 2025 21:18
@kroening kroening force-pushed the verilog-integral-to-bit-vector branch from 04cff96 to 5b92aed Compare December 2, 2025 02:52
convert_expr(expr.rhs());
must_be_integral(expr.lhs());
must_be_integral(expr.rhs());
no_bool_ops(expr);
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some change broke two of the regression test, and the omission of no_bool_ops here seems among the most substantial changes. Or is it the removal around line 3088?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Now fixed!

@kroening kroening force-pushed the verilog-integral-to-bit-vector branch from 5b92aed to 3ad22e5 Compare December 2, 2025 16:22
This changes the naming of methods and error messages.  The term 'integral'
includes non-integer types, e.g., time variables.  Many operators require
operands that are integral but exclude time variables.  The standard calls
these "bit vector types".
// The result is always Boolean, and semantically
// a proper equality is performed.
expr.type()=bool_typet();
expr.type()=bool_typet{};
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add whitespace or leave unchanged entirely to keep clang-format happy.

// integral operands only
must_be_integral(expr.lhs());
must_be_integral(expr.rhs());
if(expr.lhs().type().id() == ID_verilog_real || expr.lhs().type().id() == ID_verilog_shortreal)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Line too long

@kroening kroening force-pushed the verilog-integral-to-bit-vector branch from 3ad22e5 to 02076d4 Compare December 2, 2025 16:27
@tautschnig tautschnig merged commit 7eae75c into main Dec 2, 2025
11 checks passed
@tautschnig tautschnig deleted the verilog-integral-to-bit-vector branch December 2, 2025 17:16
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