View Single Post
  #1 (permalink)  
Old 02-21-2003
marlowa marlowa is offline
Registered User
 
 
Join Date: Feb 2003
Location: London
Posts: 64
weird template compilation error on solaris

I am trying to compile Slice on Solaris using Forte 6.2. It fails to compile Grammar.cpp due to some weird template problem. I wonder if anyone else could shed some light on this please. Here is the error msg:

"Grammar.y", line 1394: Error: Cannot assign std::pair<IceUtil::Handle<Slice::Builtin>, std::string>
to std::pair<IceUtil::Handle<Slice::SyntaxTreeBase>, std::string> without "std::pair<IceUtil::Handle<Slice::SyntaxTreeBa se>, std::string>::operator=(const std::pair<IceUtil::Handle<Slice::SyntaxTreeB
ase>, std::string>&)";.
"Grammar.y", line 1404: Error: Cannot assign std::pair<IceUtil::Handle<Slice::Builtin>, std::string>
to std::pair<IceUtil::Handle<Slice::SyntaxTreeBase>, std::string> without "std::pair<IceUtil::Handle<Slice::SyntaxTreeBa se>, std::string>::operator=(const std::pair<IceUtil::Handle<Slice::SyntaxTreeB
ase>, std::string>&)";.

It looks to me like it thinks there is no assignment operator defined for the Handle class (but there is). This may be a Forte compiler bug. I note that Handle.h has a fix for a Win32 template problem in this area. This fix does not work for Forte.

Any ideas?

Andrew M.
__________________
You are in a maze of twisty little passages, all different.
Reply With Quote