10 Sep
2025
10 Sep
'25
4:49 p.m.
Looking a bit deeper into the details I'm thinking you should probably generate the DEVPROP_FILTER_EXPRESSION directly while parsing, instead of using a separate IR. You could have: ``` struct aqs_expr { DEVPROP_FILTER_EXPRESSION *filters; UINT filters_len; }; ``` And get rid of pretty much all the accessory stuff. `get_boolean_expr` would allocate a 1 filter expression, `get_compare_expr` would reallocate lhs filters to grow and append rhs, with the open/close ops around. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/8890#note_115573