summaryrefslogtreecommitdiff
path: root/cpp/src/slice2cpp
diff options
context:
space:
mode:
authorMichi Henning <michi@zeroc.com>2008-04-03 12:36:57 +1000
committerMichi Henning <michi@zeroc.com>2008-04-03 12:36:57 +1000
commit27a24cf07fa7646c5a27cbbfb60d6e4a86184ebc (patch)
tree4d825c1cb800b154ea4b33b238027f1ff9a13531 /cpp/src/slice2cpp
parentFixed comment for GCShared (wrong namespace). (diff)
parentMerge branch 'master' of cvs:/home/git/ice (diff)
downloadice-27a24cf07fa7646c5a27cbbfb60d6e4a86184ebc.tar.bz2
ice-27a24cf07fa7646c5a27cbbfb60d6e4a86184ebc.tar.xz
ice-27a24cf07fa7646c5a27cbbfb60d6e4a86184ebc.zip
Merge branch 'master' of ssh://cvs.zeroc.com/home/git/ice
Diffstat (limited to 'cpp/src/slice2cpp')
-rwxr-xr-xcpp/src/slice2cpp/Gen.cpp7
-rw-r--r--cpp/src/slice2cpp/Makefile.mak2
2 files changed, 7 insertions, 2 deletions
diff --git a/cpp/src/slice2cpp/Gen.cpp b/cpp/src/slice2cpp/Gen.cpp
index ddf90893d2b..85662dff609 100755
--- a/cpp/src/slice2cpp/Gen.cpp
+++ b/cpp/src/slice2cpp/Gen.cpp
@@ -2694,7 +2694,12 @@ Slice::Gen::DelegateMVisitor::visitOperation(const OperationPtr& p)
}
C << nl << "catch(const ::Ice::UserException& __ex)";
C << sb;
- C << nl << "throw ::Ice::UnknownUserException(__FILE__, __LINE__, __ex.ice_name());";
+ //
+ // COMPILERFIX: Don't throw UnknownUserException directly. This is causing access
+ // violation errors with Visual C++ 64bits optimized builds. See bug #2962.
+ //
+ C << nl << "::Ice::UnknownUserException __uue(__FILE__, __LINE__, __ex.ice_name());";
+ C << nl << "throw __uue;";
C << eb;
C << eb;
diff --git a/cpp/src/slice2cpp/Makefile.mak b/cpp/src/slice2cpp/Makefile.mak
index 16b28dacd30..433bcac6e89 100644
--- a/cpp/src/slice2cpp/Makefile.mak
+++ b/cpp/src/slice2cpp/Makefile.mak
@@ -22,7 +22,7 @@ SRCS = $(OBJS:.obj=.cpp)
CPPFLAGS = -I. $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
-!if "$(CPP_COMPILER)" != "BCC2006" && "$(OPTIMIZE)" != "yes"
+!if "$(GENERATE_PDB)" == "yes"
PDBFLAGS = /pdb:$(NAME:.exe=.pdb)
!endif