summaryrefslogtreecommitdiff
path: root/cpp/src
diff options
context:
space:
mode:
authorBernard Normier <bernard@zeroc.com>2003-05-20 21:04:23 +0000
committerBernard Normier <bernard@zeroc.com>2003-05-20 21:04:23 +0000
commitb508b2561c3ccfa766dd5bd260ce1e130994791e (patch)
treeb9cee941d4d35bd1951f47958105c40db9e4a400 /cpp/src
parentSmall fix to release builds (diff)
downloadice-b508b2561c3ccfa766dd5bd260ce1e130994791e.tar.bz2
ice-b508b2561c3ccfa766dd5bd260ce1e130994791e.tar.xz
ice-b508b2561c3ccfa766dd5bd260ce1e130994791e.zip
Sun port
Diffstat (limited to 'cpp/src')
-rw-r--r--cpp/src/slice2cpp/Gen.cpp77
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())