diff --git a/tools/widl/parser.l b/tools/widl/parser.l index 55d246361a7..ef26b42fa42 100644 --- a/tools/widl/parser.l +++ b/tools/widl/parser.l @@ -236,6 +236,7 @@ static struct keyword { {"in", tIN}, {"include", tINCLUDE}, {"in_line", tINLINE}, + {"input_sync", tINPUTSYNC}, {"int", tINT}, /* ... */ {"interface", tINTERFACE}, diff --git a/tools/widl/parser.y b/tools/widl/parser.y index 69930b3c7d9..8ccc238ef58 100644 --- a/tools/widl/parser.y +++ b/tools/widl/parser.y @@ -140,6 +140,7 @@ static type_t std_uhyper = { "MIDL_uhyper" }; %token tIIDIS %token tIMPORT tIMPORTLIB %token tIN tINCLUDE tINLINE +%token tINPUTSYNC %token tINT tINT64 %token tINTERFACE %token tLENGTHIS tLIBRARY @@ -331,6 +332,7 @@ attribute: | tIDEMPOTENT { $$ = make_attr(ATTR_IDEMPOTENT); } | tIIDIS '(' ident ')' { $$ = make_attrp(ATTR_IIDIS, $3); } | tIN { $$ = make_attr(ATTR_IN); } + | tINPUTSYNC { $$ = make_attr(ATTR_INPUTSYNC); } | tLENGTHIS '(' m_exprs ')' { $$ = make_attrp(ATTR_LENGTHIS, $3); } | tLOCAL { $$ = make_attr(ATTR_LOCAL); } | tOBJECT { $$ = make_attr(ATTR_OBJECT); } diff --git a/tools/widl/widltypes.h b/tools/widl/widltypes.h index 5bb503b5c93..c4843f34821 100644 --- a/tools/widl/widltypes.h +++ b/tools/widl/widltypes.h @@ -67,6 +67,7 @@ enum attr_type ATTR_IDEMPOTENT, ATTR_IIDIS, ATTR_IN, + ATTR_INPUTSYNC, ATTR_LENGTHIS, ATTR_LOCAL, ATTR_OBJECT,