This fixes type format string generation for the following IDL:
typedef int *intp;
[pointer_default(ref)] interface IRef {
void a(intp *a);
}
[pointer_default(unique)] interface IUnique {
void b(intp *a);
}
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
In particular, don't allow them after cpp_quote and without a statement.
Update the rules for importlib, library definition, dispinterface
definition, interface definition, coclass definition and module
definition to optionally allow a semicolon postfix.
Call pop_import from the parser instead of the lexer to ensure that
pop_import is only called after the last statement in the imported file
has been parsed.
names "DUMMYUNIONNAME" and "DUMMYSTRUCTNAME" for anonymous unions and
structs. Support const and extern definitions. Retain tokens (and
whether numbers are hex or not) used for computing constant
expressions, so that the full expression can be written to the header
file instead of the computed integer result of the expression. Parse
the sizeof() operator. Compute and remember constant definitions and
enum values so they can be used in expressions. Improved identifier
lookup speed. Fixed some bugs.