diff options
author | Bernard Normier <bernard@zeroc.com> | 2003-04-29 19:51:33 +0000 |
---|---|---|
committer | Bernard Normier <bernard@zeroc.com> | 2003-04-29 19:51:33 +0000 |
commit | d6b805efcf63a16a759f0a104db74c5e9c009f7d (patch) | |
tree | 2a73b6a3e15c2cf711a0c4f1ab12dd52687e003e /cpp/src/Slice/Parser.cpp | |
parent | file UserExceptionFactory.h was initially added on branch slicing. (diff) | |
download | ice-d6b805efcf63a16a759f0a104db74c5e9c009f7d.tar.bz2 ice-d6b805efcf63a16a759f0a104db74c5e9c009f7d.tar.xz ice-d6b805efcf63a16a759f0a104db74c5e9c009f7d.zip |
Sun: 64 bit + CC 5.3 support
Diffstat (limited to 'cpp/src/Slice/Parser.cpp')
-rw-r--r-- | cpp/src/Slice/Parser.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/cpp/src/Slice/Parser.cpp b/cpp/src/Slice/Parser.cpp index 3976698b4ce..92bd2f0a1dc 100644 --- a/cpp/src/Slice/Parser.cpp +++ b/cpp/src/Slice/Parser.cpp @@ -38,6 +38,7 @@ toLower(string& s) transform(s.begin(), s.end(), s.begin(), ::tolower); } + // ---------------------------------------------------------------------- // SyntaxTreeBase // ---------------------------------------------------------------------- @@ -3021,7 +3022,15 @@ Slice::Const::typesAreCompatible(const string& name, const TypePtr& constType, const UnitPtr& unit) { BuiltinPtr ct = BuiltinPtr::dynamicCast(constType); + +#if defined(__SUNPRO_CC) && (__SUNPRO_CC <= 0x530) +// Strange Sun C++ 5.3 bug + const IceUtil::HandleBase<SyntaxTreeBase>& hb = literalType; + BuiltinPtr lt = BuiltinPtr::dynamicCast(hb); +#else BuiltinPtr lt = BuiltinPtr::dynamicCast(literalType); +#endif + if(ct && lt) { switch(ct->kind()) |