fix problem with template + classforward + default template parameters reported by Bill Spotz

git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@8494 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
Marcelo Matus 2006-01-20 21:47:17 +00:00
commit 2bbe98b57b
2 changed files with 44 additions and 0 deletions

View file

@ -470,7 +470,14 @@ Swig_symbol_cadd(String_or_char *name, Node *n) {
append = n;
} else if (cn && (HashGetAttr(cn,k_symweak))) {
/* The node in the symbol table is weak. Replace it */
if (checkAttribute(cn,k_nodetype,k_template)
&& checkAttribute(cn,k_templatetype,k_classforward)) {
/* The node is a template clasforward declaration, and the
template parameters here take precedence over the new ones */
Setattr(n,k_templateparms,Getattr(cn,k_templateparms));
}
Setattr(ccurrent,name, n);
} else if (cn && (HashGetAttr(n,k_symweak))) {
/* The node being added is weak. Don't worry about it */
} else if (cn && (HashGetAttr(n,k_symtypename))) {