summaryrefslogtreecommitdiff
path: root/cpp/src/slice2cs/Gen.cpp
diff options
context:
space:
mode:
authorBernard Normier <bernard@zeroc.com>2004-06-08 02:22:42 +0000
committerBernard Normier <bernard@zeroc.com>2004-06-08 02:22:42 +0000
commita60f1f651d60e48cc4f4a8e477c5b7813d24418d (patch)
treeab6fb426a1cad77c9ba865799e542fda62e8d4b1 /cpp/src/slice2cs/Gen.cpp
parentRemoved substition ".cpp" -> ".cs". This is now done by slice2cs itself. (diff)
downloadice-a60f1f651d60e48cc4f4a8e477c5b7813d24418d.tar.bz2
ice-a60f1f651d60e48cc4f4a8e477c5b7813d24418d.tar.xz
ice-a60f1f651d60e48cc4f4a8e477c5b7813d24418d.zip
AIX port
Diffstat (limited to 'cpp/src/slice2cs/Gen.cpp')
-rwxr-xr-xcpp/src/slice2cs/Gen.cpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/cpp/src/slice2cs/Gen.cpp b/cpp/src/slice2cs/Gen.cpp
index 20f970ce8f0..520ecfb45fa 100755
--- a/cpp/src/slice2cs/Gen.cpp
+++ b/cpp/src/slice2cs/Gen.cpp
@@ -121,7 +121,18 @@ Slice::CsVisitor::writeDispatch(const ClassDefPtr& p)
string scoped = p->scoped();
ClassList allBases = p->allBases();
StringList ids;
+
+#if defined(__IBMCPP__) && defined(NDEBUG)
+ //
+ // VisualAge C++ 6.0 does not see that ClassDef is a Contained,
+ // when inlining is on. The code below issues a warning: better
+ // than an error!
+ //
+ transform(allBases.begin(), allBases.end(), back_inserter(ids), ::IceUtil::constMemFun<string,ClassDef>(&Contained::scoped));
+#else
transform(allBases.begin(), allBases.end(), back_inserter(ids), ::IceUtil::constMemFun(&Contained::scoped));
+#endif
+
StringList other;
other.push_back(p->scoped());
other.push_back("::Ice::Object");
@@ -418,7 +429,14 @@ Slice::CsVisitor::writeDispatch(const ClassDefPtr& p)
if(!allOps.empty())
{
StringList allOpNames;
+#if defined(__IBMCPP__) && defined(NDEBUG)
+ //
+ // See comment for transform above
+ //
+ transform(allOps.begin(), allOps.end(), back_inserter(allOpNames), ::IceUtil::constMemFun<string,Operation>(&Contained::name));
+#else
transform(allOps.begin(), allOps.end(), back_inserter(allOpNames), ::IceUtil::constMemFun(&Contained::name));
+#endif
allOpNames.push_back("ice_id");
allOpNames.push_back("ice_ids");
allOpNames.push_back("ice_isA");