summaryrefslogtreecommitdiff
path: root/cpp/src/slice2cppe/Gen.cpp
diff options
context:
space:
mode:
authorBernard Normier <bernard@zeroc.com>2005-08-03 18:00:48 +0000
committerBernard Normier <bernard@zeroc.com>2005-08-03 18:00:48 +0000
commit19532993c26115b91889f6cefe83354a799a7a22 (patch)
tree2f6b87a3ad4d7062cf723eaaba1d3f9c1e4c0cce /cpp/src/slice2cppe/Gen.cpp
parentuse unique names for test suite proxy properties. (diff)
downloadice-19532993c26115b91889f6cefe83354a799a7a22.tar.bz2
ice-19532993c26115b91889f6cefe83354a799a7a22.tar.xz
ice-19532993c26115b91889f6cefe83354a799a7a22.zip
Added work-around for another instance of the ARM/eVC4 exception bug
Diffstat (limited to 'cpp/src/slice2cppe/Gen.cpp')
-rw-r--r--cpp/src/slice2cppe/Gen.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/cpp/src/slice2cppe/Gen.cpp b/cpp/src/slice2cppe/Gen.cpp
index 94156af12a4..0818310a8e7 100644
--- a/cpp/src/slice2cppe/Gen.cpp
+++ b/cpp/src/slice2cppe/Gen.cpp
@@ -1322,6 +1322,18 @@ Slice::Gen::ProxyVisitor::visitOperation(const OperationPtr& p)
C << sb;
C << nl << "__handleException(__ex, __cnt);";
C << eb;
+
+ C.zeroIndent();
+ C << nl << "#if defined(_MSC_VER) && (_MSC_VER == 1201) && defined(_M_ARM) // EVC4 SP4 bug."; // COMPILERBUG
+ C.restoreIndent();
+ C << nl << "catch(...)";
+ C << sb;
+ C << nl << "throw;";
+ C << eb;
+ C.zeroIndent();
+ C << nl << "#endif";
+ C.restoreIndent();
+
C << eb;
C << eb;
}