https://bugs.winehq.org/show_bug.cgi?id=47050
Bug ID: 47050 Summary: typedef'd anonymous structs typedef'd names are not used in interface methods Product: Wine Version: 4.5 Hardware: x86 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: rpc Assignee: wine-bugs@winehq.org Reporter: richard@torproject.org Distribution: ---
The widl (and midl) tool generate a unique name for anonymous structs, but midl also includes the typedef'd name and uses it for interface methods. With the following struct definition:
typedef struct { long data; } Bar;
widl function signatures like this:
void _stdcall doBaz([in] __WIDL_TypedefBug_generated_name_00000000* b);
while midl generates this:
void _stdcall doBaz([in] Bar* b);
min-repro:
https://github.com/pospeselr/mingw-widl-bug/tree/typedef_bug
Includes tlb generated by widl 4.5 and midl 8.01.0622