Dmitry Timoshkov dmitry@baikal.ru wrote:
Huw Davies Huw.Davies@physics.ox.ac.uk wrote:
@@ -2307,9 +2306,7 @@ static void add_entry(msft_typelib_t *typelib, const statement_t *stmt) { const type_list_t *type_entry = stmt->u.type_list; for (; type_entry; type_entry = type_entry->next) {
/* if the type is public then add the typedef, otherwise attempt
* to add the aliased type */
if (is_attr(type_entry->type->attrs, ATTR_PUBLIC))
if (type_get_type(type_entry->type) == TYPE_BASIC) add_typedef_typeinfo(typelib, type_entry->type); else add_type_typeinfo(typelib, type_alias_get_aliasee(type_entry->type));
Doesn't this essentially make [public] a nop? That seems wrong.
The WinHttpRequestOption enum has a [uuid] attribute, so that probably has something to do with it.
I have tested typedefs with various types and was also wondering about [public] attribute: regardless of its existence midl generates identical typelibs.
Forgot to mention that [uuid] attribute also changes nothing for the enum type generation.