diff options
Diffstat (limited to 'cpp/src/slice2java/Gen.cpp')
-rw-r--r-- | cpp/src/slice2java/Gen.cpp | 15 |
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()); |