-
Notifications
You must be signed in to change notification settings - Fork 20
Verilog: fix integral vs. bit vector terminology #1449
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
04cff96 to
5b92aed
Compare
| convert_expr(expr.rhs()); | ||
| must_be_integral(expr.lhs()); | ||
| must_be_integral(expr.rhs()); | ||
| no_bool_ops(expr); |
There was a problem hiding this comment.
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?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Now fixed!
5b92aed to
3ad22e5
Compare
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{}; |
There was a problem hiding this comment.
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) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Line too long
3ad22e5 to
02076d4
Compare
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".