[PATCH 3/6] widl: Support WinRT mta threading attribute parsing.

Rémi Bernon rbernon at codeweavers.com
Tue Jan 26 01:56:54 CST 2021


On 1/25/21 12:35 PM, Rémi Bernon wrote:
> As a WinRT specific alias to free-threaded model.
> 
> Signed-off-by: Rémi Bernon <rbernon at codeweavers.com>
> ---
>   tools/widl/parser.l | 1 +
>   tools/widl/parser.y | 2 ++
>   2 files changed, 3 insertions(+)
> 
> diff --git a/tools/widl/parser.l b/tools/widl/parser.l
> index 01c6f800a08..067966a85d4 100644
> --- a/tools/widl/parser.l
> +++ b/tools/widl/parser.l
> @@ -385,6 +385,7 @@ static const struct keyword attr_keywords[] =
>   	{"marshaling_behavior",         tMARSHALINGBEHAVIOR,        1},
>   	{"maybe",                       tMAYBE,                     0},
>   	{"message",                     tMESSAGE,                   0},
> +	{"mta" ,                        tMTA,                       1},
>   	{"neutral",                     tNEUTRAL,                   0},
>   	{"nocode",                      tNOCODE,                    0},
>   	{"nonbrowsable",                tNONBROWSABLE,              0},
> diff --git a/tools/widl/parser.y b/tools/widl/parser.y
> index 48f180cdb49..4ce84cc2440 100644
> --- a/tools/widl/parser.y
> +++ b/tools/widl/parser.y
> @@ -222,6 +222,7 @@ static typelib_t *current_typelib;
>   %token tMAYBE tMESSAGE
>   %token tMETHODS
>   %token tMODULE
> +%token tMTA
>   %token tNAMESPACE
>   %token tNOCODE tNONBROWSABLE
>   %token tNONCREATABLE
> @@ -1154,6 +1155,7 @@ threading_type:
>   	| tSINGLE				{ $$ = THREADING_SINGLE; }
>   	| tFREE					{ $$ = THREADING_FREE; }
>   	| tBOTH					{ $$ = THREADING_BOTH; }
> +	| tMTA					{ $$ = THREADING_FREE; }
>   	;
>   
>   pointer_type:
> 

So, should I just remove the WinRT-specific flag here, so mta could be 
used instead of free? Does it make sense to rename the enum too to make 
it more consistent?
-- 
Rémi Bernon <rbernon at codeweavers.com>



More information about the wine-devel mailing list