X-Git-Url: https://ecere.com/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=compiler%2Flibec%2Fsrc%2Ftype.y;fp=compiler%2Flibec%2Fsrc%2Ftype.y;h=cf13f683b49a89c6775a22cc9ca757dd44484ae0;hb=1fe01ced1978ecd046accfc810ac6a2735942829;hp=923b771b0bb05c0a0337a284b2d7b48e82903900;hpb=22f4910c35cbe3549e33b75a90399a7fec92de12;p=sdk diff --git a/compiler/libec/src/type.y b/compiler/libec/src/type.y index 923b771..cf13f68 100644 --- a/compiler/libec/src/type.y +++ b/compiler/libec/src/type.y @@ -902,13 +902,15 @@ struct_or_union_specifier_nocompound: ; template_datatype: - declaration_specifiers { $$ = MkTemplateDatatype($1, null); } - | declaration_specifiers abstract_declarator { $$ = MkTemplateDatatype($1, $2); } + guess_declaration_specifiers { $$ = MkTemplateDatatype($1, null); } + | guess_declaration_specifiers abstract_declarator { $$ = MkTemplateDatatype($1, $2); } /*| identifier { $$ = MkTemplateDatatype(MkListOne(MkSpecifierName($1.string)), null); FreeIdentifier($1); }*/ ; template_type_argument: - template_datatype { $$ = MkTemplateTypeArgument($1); } + guess_declaration_specifiers { $$ = MkTemplateTypeArgument(MkTemplateDatatype($1, null)); } + | guess_declaration_specifiers abstract_declarator { $$ = MkTemplateTypeArgument(MkTemplateDatatype($1, $2)); } + //template_datatype { $$ = MkTemplateTypeArgument($1); } ; /*