Added C++0x support for 'extern' explicit template instantiation without the translation unit.

Added test cases.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2009-matevz@11385 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
Matevz Jekovec 2009-07-11 20:13:36 +00:00
commit e1b5d43cd8
7 changed files with 14 additions and 9 deletions

View file

@ -3850,10 +3850,14 @@ cpp_template_decl : TEMPLATE LESSTHAN template_parms GREATERTHAN { template_para
Namespaceprefix = Swig_symbol_qualifiedscopename(0);
if (error) $$ = 0;
}
| TEMPLATE cpptype idcolon {
| TEMPLATE cpptype idcolon { /* Explicit template instantiation */
Swig_warning(WARN_PARSE_EXPLICIT_TEMPLATE, cparse_file, cparse_line, "Explicit template instantiation ignored.\n");
$$ = 0;
}
}
| EXTERN TEMPLATE cpptype idcolon { /* Explicit template instantiation without the translation unit */
Swig_warning(WARN_PARSE_EXPLICIT_TEMPLATE, cparse_file, cparse_line, "Explicit template instantiation ignored.\n");
$$ = 0;
}
;
cpp_temp_possible: c_decl {