|
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.
|