diff options
author | Bernard Normier <bernard@zeroc.com> | 2003-05-20 21:04:23 +0000 |
---|---|---|
committer | Bernard Normier <bernard@zeroc.com> | 2003-05-20 21:04:23 +0000 |
commit | b508b2561c3ccfa766dd5bd260ce1e130994791e (patch) | |
tree | b9cee941d4d35bd1951f47958105c40db9e4a400 /cpp/src | |
parent | Small fix to release builds (diff) | |
download | ice-b508b2561c3ccfa766dd5bd260ce1e130994791e.tar.bz2 ice-b508b2561c3ccfa766dd5bd260ce1e130994791e.tar.xz ice-b508b2561c3ccfa766dd5bd260ce1e130994791e.zip |
Sun port
Diffstat (limited to 'cpp/src')
-rw-r--r-- | cpp/src/slice2cpp/Gen.cpp | 77 |
1 files changed, 76 insertions, 1 deletions
diff --git a/cpp/src/slice2cpp/Gen.cpp b/cpp/src/slice2cpp/Gen.cpp index d3b940ea33b..e95f8d33beb 100644 --- a/cpp/src/slice2cpp/Gen.cpp +++ b/cpp/src/slice2cpp/Gen.cpp @@ -1311,7 +1311,23 @@ Slice::Gen::ProxyVisitor::visitOperation(const OperationPtr& p) ParamDeclList paramList = p->parameters(); for(ParamDeclList::const_iterator q = paramList.begin(); q != paramList.end(); ++q) { +#if defined(__SUNPRO_CC) && (__SUNPRO_CC==0x550) + // + // Work around for Sun CC 5.5 bug #4853566 + // + string typeString; + if((*q)->isOutParam()) + { + typeString = outputTypeToString((*q)->type()); + } + else + { + typeString = inputTypeToString((*q)->type()); + } +#else string typeString = (*q)->isOutParam() ? outputTypeToString((*q)->type()) : inputTypeToString((*q)->type()); +#endif + string paramName = fixKwd((*q)->name()); params += typeString; @@ -1524,8 +1540,22 @@ Slice::Gen::DelegateVisitor::visitOperation(const OperationPtr& p) ParamDeclList paramList = p->parameters(); for(ParamDeclList::const_iterator q = paramList.begin(); q != paramList.end(); ++q) { +#if defined(__SUNPRO_CC) && (__SUNPRO_CC==0x550) + // + // Work around for Sun CC 5.5 bug #4853566 + // + string typeString; + if((*q)->isOutParam()) + { + typeString = outputTypeToString((*q)->type()); + } + else + { + typeString = inputTypeToString((*q)->type()); + } +#else string typeString = (*q)->isOutParam() ? outputTypeToString((*q)->type()) : inputTypeToString((*q)->type()); - +#endif params += typeString; params += ", "; @@ -1896,7 +1926,22 @@ Slice::Gen::DelegateDVisitor::visitOperation(const OperationPtr& p) ParamDeclList paramList = p->parameters(); for(ParamDeclList::const_iterator q = paramList.begin(); q != paramList.end(); ++q) { +#if defined(__SUNPRO_CC) && (__SUNPRO_CC==0x550) + // + // Work around for Sun CC 5.5 bug #4853566 + // + string typeString; + if((*q)->isOutParam()) + { + typeString = outputTypeToString((*q)->type()); + } + else + { + typeString = inputTypeToString((*q)->type()); + } +#else string typeString = (*q)->isOutParam() ? outputTypeToString((*q)->type()) : inputTypeToString((*q)->type()); +#endif string paramName = fixKwd((*q)->name()); params += typeString; @@ -3323,8 +3368,23 @@ Slice::Gen::ImplVisitor::visitClassDefStart(const ClassDefPtr& p) { H << ',' << nl; } +#if defined(__SUNPRO_CC) && (__SUNPRO_CC==0x550) + // + // Work around for Sun CC 5.5 bug #4853566 + // + string typeString; + if((*q)->isOutParam()) + { + typeString = outputTypeToString((*q)->type()); + } + else + { + typeString = inputTypeToString((*q)->type()); + } +#else string typeString = (*q)->isOutParam() ? outputTypeToString((*q)->type()) : inputTypeToString((*q)->type()); +#endif H << typeString; } if(!p->isLocal()) @@ -3349,8 +3409,23 @@ Slice::Gen::ImplVisitor::visitClassDefStart(const ClassDefPtr& p) { C << ',' << nl; } +#if defined(__SUNPRO_CC) && (__SUNPRO_CC==0x550) + // + // Work around for Sun CC 5.5 bug #4853566 + // + string typeString; + if((*q)->isOutParam()) + { + typeString = outputTypeToString((*q)->type()); + } + else + { + typeString = inputTypeToString((*q)->type()); + } +#else string typeString = (*q)->isOutParam() ? outputTypeToString((*q)->type()) : inputTypeToString((*q)->type()); +#endif C << typeString << ' ' << fixKwd((*q)->name()); } if(!p->isLocal()) |