summaryrefslogtreecommitdiff
path: root/cpp/demo/Freeze/library/LibraryI.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/demo/Freeze/library/LibraryI.cpp')
-rw-r--r--cpp/demo/Freeze/library/LibraryI.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/cpp/demo/Freeze/library/LibraryI.cpp b/cpp/demo/Freeze/library/LibraryI.cpp
index 72fe7615165..e5188714bd7 100644
--- a/cpp/demo/Freeze/library/LibraryI.cpp
+++ b/cpp/demo/Freeze/library/LibraryI.cpp
@@ -170,7 +170,17 @@ LibraryI::createBook(const ::BookDescription& description, const Ice::Current& c
{
IceUtil::RWRecMutex::WLock sync(*this);
+#if defined(__SUNPRO_CC)
+ //
+ // Strange CC bug (only when optimizing and raising BookExistsException)
+ //
+ BookPrx book;
+ {
+ book = IsbnToBook(c.adapter)(description.isbn);
+ }
+#else
BookPrx book = IsbnToBook(c.adapter)(description.isbn);
+#endif
try
{
book->ice_ping();