This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Explicit Template Expansion syntax
- To: egcs at cygnus dot com
- Subject: Explicit Template Expansion syntax
- From: Jody Winston <jody at sccsi dot com>
- Date: Wed, 10 Dec 1997 12:25:38 -0600
- Reply-To: egcs at cygnus dot com
On SGI Irix 6.2 using egcs-1.00 release I'm having problems with
undefined symbols when using templates. I've added explicit template
expansion for most cases, but I'm having syntax problems with the
following two examples:
ld: ERROR 33: Unresolved text symbol "CppParse_ListT<CppParse_Interface, ilu_interface_s *>::CppParse_ListT(list_s *)" -- 1st referenced by cppmain.o.
I tried:
template class CppParse_ListT<CppParse_Interface, ilu_interface_s *>;
but this failed with the same unresolved symbol.
also I tried:
template class CppParse_ListT<CppParse_Interface, ilu_interface_s *>::CppParse_ListT(list_s *);
but this fails with cppmain.cc:89: parse error before `*'.
If I try the following:
char const * getCacheKey<CppParseName_TypeUsage>(CppParseName_TypeUsage, CppParseName_Scope const *, CppParseName_Scope const *);
The following message from as are generated:
as: Error: /tmp/cca004yi.s, line 4823: stmt extends past logical end
la $25,^PC<^P
as: Error: /tmp/cca004yi.s, line 5140: stmt extends past logical end
.globl ^PC<^P
as: Error: /tmp/cca004yi.s, line 5141: stmt extends past logical end
.ent ^PC<^P
as: Error: /tmp/cca004yi.s, line 5142: undefined assembler operation: ^P
^PC<^P:
as: Error: /tmp/cca004yi.s, line 5158: ')' expected: gp_rel
lui $1,%hi(%neg(%gp_rel(^PC<^P)))
as: Error: /tmp/cca004yi.s, line 5159: ')' expected: gp_rel
addiu $1,$1,%lo(%neg(%gp_rel(^PC<^P)))
as: Error: /tmp/cca004yi.s, line 5377: stmt extends past logical end
.end ^PC<^P
as: Error: /tmp/cca004yi.s, line 9562: stmt extends past logical end
la $25,^PC<^P
gmake: *** [cppparsename.o] Error 1