summaryrefslogtreecommitdiff
path: root/cpp/src/slice2java/Gen.cpp
diff options
context:
space:
mode:
authorBernard Normier <bernard@zeroc.com>2005-03-02 05:15:22 +0000
committerBernard Normier <bernard@zeroc.com>2005-03-02 05:15:22 +0000
commitdc237ae35d64197b2ab1aabed04a9b13d1d4a364 (patch)
tree0f3e0290f1bf3b7ae67666602fd2e205e4bd5c5c /cpp/src/slice2java/Gen.cpp
parent*** empty log message *** (diff)
downloadice-dc237ae35d64197b2ab1aabed04a9b13d1d4a364.tar.bz2
ice-dc237ae35d64197b2ab1aabed04a9b13d1d4a364.tar.xz
ice-dc237ae35d64197b2ab1aabed04a9b13d1d4a364.zip
work-around for CC 5.5 bug
Diffstat (limited to 'cpp/src/slice2java/Gen.cpp')
-rw-r--r--cpp/src/slice2java/Gen.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/cpp/src/slice2java/Gen.cpp b/cpp/src/slice2java/Gen.cpp
index 8217d2c6e7c..e92cadc18cc 100644
--- a/cpp/src/slice2java/Gen.cpp
+++ b/cpp/src/slice2java/Gen.cpp
@@ -1260,7 +1260,22 @@ Slice::Gen::TieVisitor::visitClassDefStart(const ClassDefPtr& p)
ContainerPtr container = (*r)->container();
ClassDefPtr cl = ClassDefPtr::dynamicCast(container);
bool hasAMD = cl->hasMetaData("amd") || (*r)->hasMetaData("amd");
+#if defined(__SUNPRO_CC) && (__SUNPRO_CC==0x550)
+ //
+ // Work around for Sun CC 5.5 bug #4853566
+ //
+ string opName;
+ if(hasAMD)
+ {
+ opName = (*r)->name() + "_async";
+ }
+ else
+ {
+ opName = fixKwd((*r)->name());
+ }
+#else
string opName = hasAMD ? (*r)->name() + "_async" : fixKwd((*r)->name());
+#endif
TypePtr ret = (*r)->returnType();
string retS = typeToString(ret, TypeModeReturn, package, (*r)->getMetaData());