From 633e697d54f371bba90216876674660421bc029e Mon Sep 17 00:00:00 2001 From: David Rose Date: Fri, 4 Nov 2011 16:58:39 +0000 Subject: [PATCH] allow typename keyword in lieu of class, in template declarations --- dtool/src/cppparser/cppBison.yxx | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/dtool/src/cppparser/cppBison.yxx b/dtool/src/cppparser/cppBison.yxx index 025d34f24e..6d533f80d1 100644 --- a/dtool/src/cppparser/cppBison.yxx +++ b/dtool/src/cppparser/cppBison.yxx @@ -1135,6 +1135,14 @@ template_formal_parameter: | KW_CLASS name '=' full_type { $$ = CPPType::new_type(new CPPClassTemplateParameter($2, $4)); +} + | KW_TYPENAME name +{ + $$ = CPPType::new_type(new CPPClassTemplateParameter($2)); +} + | KW_TYPENAME name '=' full_type +{ + $$ = CPPType::new_type(new CPPClassTemplateParameter($2, $4)); } | template_formal_parameter_type formal_parameter_identifier template_parameter_maybe_initialize { @@ -1165,10 +1173,6 @@ template_formal_parameter_type: { $$ = $1->find_type(current_scope, global_scope, false, current_lexer); assert($$ != NULL); -} - | KW_TYPENAME name -{ - $$ = CPPType::new_type(new CPPTBDType($2)); } ;