[PATCH v2 1/4] widl: Support WinRT mta threading attribute parsing.

Rémi Bernon rbernon at codeweavers.com
Tue Jan 26 08:36:29 CST 2021


As an alias to free-threaded model.

Signed-off-by: Rémi Bernon <rbernon at codeweavers.com>
---

v2: Do not mark mta as WinRT-specific, to use it as a possible
    replacement to the threading(free) widl extension.

I've kept the enum name as it was, as it matches the typelib output,
which I understand should not be renamed in any case.

Supersedes: 198642-198646

 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..2f5f55905c5 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,                       0},
 	{"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:
-- 
2.30.0




More information about the wine-devel mailing list