Skip to content

SMV: lower typecasts between enumeration types#1815

Open
kroening wants to merge 1 commit intomainfrom
kroening/smv-enum-typecast-lowering
Open

SMV: lower typecasts between enumeration types#1815
kroening wants to merge 1 commit intomainfrom
kroening/smv-enum-typecast-lowering

Conversation

@kroening
Copy link
Copy Markdown
Collaborator

@kroening kroening commented Apr 21, 2026

Typecasts between SMV enumeration types (e.g., assigning a variable of type {a, b} to one of type {a, b, c}) are not handled by the flattening solver.

This lowers these typecasts to cond expressions in lower_node() that map each source element constant to the corresponding destination element constant.

  • regression/smv/enums/enum4.desc promoted from KNOWNBUG to CORE

@kroening kroening force-pushed the kroening/smv-enum-typecast-lowering branch 2 times, most recently from 2ee0456 to fb01a7e Compare April 21, 2026 02:49
Typecasts between SMV enumeration types (e.g., assigning a variable of
type {a, b} to one of type {a, b, c}) are not handled by the
flattening.

Lower these typecasts to cond expressions that map each source element
constant to the corresponding destination element constant.
@kroening kroening force-pushed the kroening/smv-enum-typecast-lowering branch from fb01a7e to f11196f Compare April 21, 2026 03:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant