Rémi Bernon (@rbernon) commented about dlls/windows.devices.enumeration/aqs.y:
+#include "aqs.h" + +WINE_DEFAULT_DEBUG_CHANNEL( aqs ); + +#define YYFPRINTF(file, ...) TRACE(__VA_ARGS__) + +static const PROPVARIANT propval_empty = { VT_EMPTY }; + +static int aqs_error( struct aqs_parser *parser, const char *str ) +{ + if (TRACE_ON( aqs )) ERR( "%s\n", str ); + return 0; +} + +#define GET_COMPARE_EXPR( ctx, op, prop_vt, val_vt, out ) \ + if (FAILED(get_compare_expr( ctx, op, (prop_vt)->pwszVal, val_vt, out ))) YYABORT IMO you should get rid of that macro now, and inline the call. Also, you should pass prop_vt directly and clear it in the call like you do with var_vt. I think prop_vt is leaked otherwise.
-- https://gitlab.winehq.org/wine/wine/-/merge_requests/8890#note_115967