From: Jan Rękorajski Date: Sun, 13 Jul 2014 10:29:14 +0000 (+0200) Subject: - started update to 3.5.1 X-Git-Tag: auto/th/ice-3.5.1-1~7 X-Git-Url: http://git.pld-linux.org/gitweb.cgi?a=commitdiff_plain;h=56a96b270b23b0ece72f1ae93860d4c9b1db9f03;p=packages%2Fice.git - started update to 3.5.1 - removed obsolete patches --- diff --git a/dont-build-demo-test.patch b/dont-build-demo-test.patch index 97c691f..3b67510 100644 --- a/dont-build-demo-test.patch +++ b/dont-build-demo-test.patch @@ -6,11 +6,11 @@ diff -ur Ice-3.3.0.orig/cpp/Makefile Ice-3.3.0/cpp/Makefile include $(top_srcdir)/config/Make.rules --SUBDIRS = config src include test demo +-SUBDIRS = config src include test +SUBDIRS = config src include - INSTALL_SUBDIRS = $(install_bindir) $(install_libdir) $(install_includedir) $(install_configdir) - + ifeq ($(shell uname | grep MINGW),) + SUBDIRS := $(SUBDIRS) demo diff -ur Ice-3.3.0.orig/cs/Makefile Ice-3.3.0/cs/Makefile --- Ice-3.3.0.orig/cs/Makefile 2008-05-16 18:24:01.000000000 +0100 +++ Ice-3.3.0/cs/Makefile 2008-05-21 11:18:22.000000000 +0100 diff --git a/ice-db.patch b/ice-db.patch deleted file mode 100644 index 1e2c8d0..0000000 --- a/ice-db.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- Ice-3.4.2/cpp/src/Freeze/MapI.cpp~ 2012-09-06 12:24:18.042948870 +0200 -+++ Ice-3.4.2/cpp/src/Freeze/MapI.cpp 2012-09-06 12:28:20.686273643 +0200 -@@ -1497,7 +1497,7 @@ - - try - { --#if DB_VERSION_MAJOR != 4 -+#if DB_VERSION_MAJOR < 4 - #error Freeze requires DB 4.x - #endif - #if DB_VERSION_MINOR < 3 diff --git a/ice-format-security.patch b/ice-format-security.patch deleted file mode 100644 index 7c78528..0000000 --- a/ice-format-security.patch +++ /dev/null @@ -1,40 +0,0 @@ ---- Ice-3.4.2/py/modules/IcePy/Operation.cpp.orig 2012-11-19 01:04:19.920721630 +0100 -+++ Ice-3.4.2/py/modules/IcePy/Operation.cpp 2012-11-19 01:05:20.854052813 +0100 -@@ -1872,7 +1872,7 @@ - // IllegalArgumentException can propagate directly. - // (Raised by checkAsyncTwowayOnly) - // -- PyErr_Format(PyExc_RuntimeError, STRCAST(ex.reason().c_str())); -+ PyErr_Format(PyExc_RuntimeError, "%s", STRCAST(ex.reason().c_str())); - return 0; - } - catch(const Ice::Exception&) -@@ -1957,7 +1957,7 @@ - } - catch(const IceUtil::IllegalArgumentException& ex) - { -- PyErr_Format(PyExc_RuntimeError, STRCAST(ex.reason().c_str())); -+ PyErr_Format(PyExc_RuntimeError, "%s", STRCAST(ex.reason().c_str())); - } - catch(const Ice::Exception& ex) - { -@@ -2604,7 +2604,7 @@ - } - catch(const IceUtil::IllegalArgumentException& ex) - { -- PyErr_Format(PyExc_RuntimeError, STRCAST(ex.reason().c_str())); -+ PyErr_Format(PyExc_RuntimeError, "%s", STRCAST(ex.reason().c_str())); - } - catch(const Ice::Exception& ex) - { ---- Ice-3.4.2/rb/src/IceRuby/Operation.cpp~ 2011-06-15 21:44:00.000000000 +0200 -+++ Ice-3.4.2/rb/src/IceRuby/Operation.cpp 2012-11-19 01:14:40.380699743 +0100 -@@ -240,7 +240,7 @@ - - if(!_deprecateMessage.empty()) - { -- rb_warning(_deprecateMessage.c_str()); -+ rb_warning("%s", _deprecateMessage.c_str()); - _deprecateMessage.clear(); // Only show the warning once. - } - diff --git a/ice-gcc46.patch b/ice-gcc46.patch deleted file mode 100644 index de6cfdb..0000000 --- a/ice-gcc46.patch +++ /dev/null @@ -1,119 +0,0 @@ -From ecb9147b36cdd7ed72af555556ae7c34df542b36 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Ha=C3=AFkel=20Gu=C3=A9mar?= -Date: Tue, 29 May 2012 12:35:23 +0200 -Subject: [PATCH 2/9] gcc46 fix - ---- - cpp/include/Freeze/Map.h | 2 +- - cpp/include/Ice/Buffer.h | 2 ++ - cpp/src/Ice/ConnectionFactory.cpp | 1 + - cpp/src/Ice/ConnectionI.cpp | 1 + - cpp/src/Ice/Reference.cpp | 2 +- - cpp/src/IceGrid/Util.h | 1 + - cpp/src/slice2freeze/Main.cpp | 1 + - cpp/test/Ice/binding/AllTests.cpp | 2 +- - 8 files changed, 9 insertions(+), 3 deletions(-) - -diff --git a/cpp/include/Freeze/Map.h b/cpp/include/Freeze/Map.h -index 2ec759d..d8ef692 100644 ---- a/cpp/include/Freeze/Map.h -+++ b/cpp/include/Freeze/Map.h -@@ -15,7 +15,7 @@ - #include - #include - #include -- -+#include - // - // Berkeley DB's DbEnv - // -diff --git a/cpp/include/Ice/Buffer.h b/cpp/include/Ice/Buffer.h -index 6f7ebab..9501f08 100644 ---- a/cpp/include/Ice/Buffer.h -+++ b/cpp/include/Ice/Buffer.h -@@ -12,6 +12,8 @@ - - #include - -+#include -+ - namespace IceInternal - { - -diff --git a/cpp/src/Ice/ConnectionFactory.cpp b/cpp/src/Ice/ConnectionFactory.cpp -index ee201fd..c5cfae1 100644 ---- a/cpp/src/Ice/ConnectionFactory.cpp -+++ b/cpp/src/Ice/ConnectionFactory.cpp -@@ -26,6 +26,7 @@ - #include - #include - #include -+#include - - using namespace std; - using namespace Ice; -diff --git a/cpp/src/Ice/ConnectionI.cpp b/cpp/src/Ice/ConnectionI.cpp -index 2d942ca..a864509 100644 ---- a/cpp/src/Ice/ConnectionI.cpp -+++ b/cpp/src/Ice/ConnectionI.cpp -@@ -26,6 +26,7 @@ - #include // For createProxy(). - #include // For createProxy(). - #include -+#include - - using namespace std; - using namespace Ice; -diff --git a/cpp/src/Ice/Reference.cpp b/cpp/src/Ice/Reference.cpp -index 875b64e..6f84069 100644 ---- a/cpp/src/Ice/Reference.cpp -+++ b/cpp/src/Ice/Reference.cpp -@@ -28,7 +28,7 @@ - #include - #include - #include -- -+#include - #include - - using namespace std; -diff --git a/cpp/src/IceGrid/Util.h b/cpp/src/IceGrid/Util.h -index 72ffded..0047e57 100644 ---- a/cpp/src/IceGrid/Util.h -+++ b/cpp/src/IceGrid/Util.h -@@ -16,6 +16,7 @@ - #include - #include - #include -+#include - - namespace IceGrid - { -diff --git a/cpp/src/slice2freeze/Main.cpp b/cpp/src/slice2freeze/Main.cpp -index 7e2afb2..af68a7d 100644 ---- a/cpp/src/slice2freeze/Main.cpp -+++ b/cpp/src/slice2freeze/Main.cpp -@@ -19,6 +19,7 @@ - #include - #include - #include -+#include - - using namespace std; - using namespace IceUtil; -diff --git a/cpp/test/Ice/binding/AllTests.cpp b/cpp/test/Ice/binding/AllTests.cpp -index f4da896..912aed1 100644 ---- a/cpp/test/Ice/binding/AllTests.cpp -+++ b/cpp/test/Ice/binding/AllTests.cpp -@@ -12,7 +12,7 @@ - #include - #include - #include -- -+#include - #include - - using namespace std; --- -1.7.10.2 - diff --git a/ice-gcc47.patch b/ice-gcc47.patch deleted file mode 100644 index 343250f..0000000 --- a/ice-gcc47.patch +++ /dev/null @@ -1,1498 +0,0 @@ -From 3bf59648721e8b63ccc76cb47a77d45ab4924484 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Ha=C3=AFkel=20Gu=C3=A9mar?= -Date: Tue, 29 May 2012 16:39:46 +0200 -Subject: [PATCH 9/9] gcc47 fix - ---- - cpp/allTests.py | 7 ++--- - cpp/include/Freeze/Map.h | 2 +- - cpp/include/Ice/Buffer.h | 1 + - cpp/include/Ice/ConnectionIF.h | 2 +- - cpp/include/Ice/IconvStringConverter.h | 10 +++++-- - cpp/include/Ice/IncomingAsyncF.h | 6 ----- - cpp/include/Ice/LocalObjectF.h | 6 ----- - cpp/include/Ice/ObjectF.h | 11 -------- - cpp/include/Ice/OutgoingAsyncF.h | 2 +- - cpp/include/Ice/Proxy.h | 12 ++++----- - cpp/include/Ice/ProxyF.h | 40 ++++++++++++---------------- - cpp/include/Ice/Stream.h | 21 ++++++++------- - cpp/include/Ice/StreamF.h | 6 ----- - cpp/include/IceUtil/Mutex.h | 5 +++- - cpp/src/Freeze/MapDb.cpp | 6 ++++- - cpp/src/Freeze/MapI.cpp | 16 +++++++++--- - cpp/src/Freeze/SharedDbEnv.cpp | 5 +++- - cpp/src/Ice/ConnectionI.cpp | 4 ++- - cpp/src/Ice/IncomingAsync.cpp | 2 +- - cpp/src/Ice/LocalObject.cpp | 2 +- - cpp/src/Ice/Object.cpp | 2 +- - cpp/src/Ice/OutgoingAsync.cpp | 2 +- - cpp/src/Ice/ProxyFactory.cpp | 1 + - cpp/src/Ice/Service.cpp | 15 ++++++++--- - cpp/src/Ice/Stream.cpp | 13 ++++++++-- - cpp/src/IceGrid/AdminCallbackRouter.cpp | 7 ++++- - cpp/src/IceGrid/DescriptorHelper.cpp | 19 +++++++------- - cpp/src/IceGrid/ReplicaCache.cpp | 2 +- - cpp/src/IceGrid/SessionI.h | 2 +- - cpp/src/IceSSL/Instance.cpp | 2 +- - cpp/src/IceSSL/InstanceF.h | 2 +- - cpp/src/IceSSL/TrustManager.cpp | 2 +- - cpp/src/IceSSL/TrustManagerF.h | 2 +- - cpp/src/IceSSL/Util.cpp | 2 +- - cpp/src/IceSSL/UtilF.h | 2 +- - cpp/src/IceStorm/NodeI.cpp | 5 ---- - cpp/src/IceUtil/Cond.cpp | 5 +++- - cpp/src/IceUtil/CountDownLatch.cpp | 10 +++++-- - cpp/src/IceUtil/CtrlCHandler.cpp | 20 +++++++++++--- - cpp/src/IceUtil/FileUtil.cpp | 4 +++ - cpp/src/IceUtil/RecMutex.cpp | 10 +++++-- - cpp/src/Slice/CPlusPlusUtil.cpp | 4 +-- - cpp/src/Slice/FileTracker.cpp | 4 +++ - cpp/src/slice2cpp/Gen.cpp | 43 +++++++++++++++++-------------- - cpp/src/slice2cs/Gen.cpp | 12 +-------- - cpp/src/slice2java/Gen.cpp | 4 +-- - cpp/test/Glacier2/ssl/Server.cpp | 19 ++++++++++---- - cpp/test/Ice/background/EndpointI.h | 2 +- - cpp/test/Ice/custom/AllTests.cpp | 9 ++++--- - cpp/test/Ice/info/AllTests.cpp | 15 +++++++---- - cpp/test/Ice/properties/run.py | 2 +- - cpp/test/IceUtil/unicode/Client.cpp | 4 +++ - cpp/test/Slice/keyword/Client.cpp | 4 +++ - cpp/test/include/TestCommon.h | 16 ++++++++++++ - scripts/TestUtil.py | 27 +++++++++++++++++++ - 55 files changed, 287 insertions(+), 173 deletions(-) - -diff --git a/cpp/allTests.py b/cpp/allTests.py -index 33b7d88..8a5effd 100755 ---- a/cpp/allTests.py -+++ b/cpp/allTests.py -@@ -25,6 +25,7 @@ from scripts import * - # List of all basic tests. - # - tests = [ -+ - ("IceUtil/condvar", ["once", "win32only"]), - ("IceUtil/thread", ["once"]), - ("IceUtil/unicode", ["once"]), -@@ -62,7 +63,7 @@ tests = [ - ("Ice/servantLocator", ["core"]), - ("Ice/interceptor", ["core"]), - ("Ice/stringConverter", ["core"]), -- ("Ice/udp", ["core"]), -+ ("Ice/udp", ["core", "nofreebsdjail"]), - ("Ice/defaultServant", ["core"]), - ("Ice/defaultValue", ["core"]), - ("Ice/invoke", ["core", "novc6"]), -@@ -106,8 +107,8 @@ tests = [ - # - if TestUtil.isWin32() or os.getuid() == 0: - tests += [ -- ("IceUtil/priority", ["core", "nodarwin"]), -- ("Ice/threadPoolPriority", ["core", "nodarwin"]) -+ ("IceUtil/priority", ["core", "nodarwin", "nofreebsd"]), -+ ("Ice/threadPoolPriority", ["core", "nodarwin", "nofreebsd"]) - ] - - if __name__ == "__main__": -diff --git a/cpp/include/Freeze/Map.h b/cpp/include/Freeze/Map.h -index d8ef692..901b3bc 100644 ---- a/cpp/include/Freeze/Map.h -+++ b/cpp/include/Freeze/Map.h -@@ -426,7 +426,7 @@ public: - - ConstIterator(MapHelper& mapHelper, const Ice::CommunicatorPtr& communicator) : - _helper(IteratorHelper::create(mapHelper, true)), -- _communicator(_communicator), -+ _communicator(communicator), - _refValid(false) - { - } -diff --git a/cpp/include/Ice/Buffer.h b/cpp/include/Ice/Buffer.h -index 9501f08..8679d03 100644 ---- a/cpp/include/Ice/Buffer.h -+++ b/cpp/include/Ice/Buffer.h -@@ -10,6 +10,7 @@ - #ifndef ICEE_BUFFER_H - #define ICEE_BUFFER_H - -+#include - #include - - #include -diff --git a/cpp/include/Ice/ConnectionIF.h b/cpp/include/Ice/ConnectionIF.h -index ca954c0..81ceb01 100644 ---- a/cpp/include/Ice/ConnectionIF.h -+++ b/cpp/include/Ice/ConnectionIF.h -@@ -17,13 +17,13 @@ namespace Ice - { - - class ConnectionI; -+ICE_API Ice::LocalObject* upCast(Ice::ConnectionI*); - - } - - namespace IceInternal - { - --ICE_API Ice::LocalObject* upCast(Ice::ConnectionI*); - - enum AsyncStatus - { -diff --git a/cpp/include/Ice/IconvStringConverter.h b/cpp/include/Ice/IconvStringConverter.h -index 017fb1e..68aa54b 100644 ---- a/cpp/include/Ice/IconvStringConverter.h -+++ b/cpp/include/Ice/IconvStringConverter.h -@@ -225,10 +225,16 @@ IconvStringConverter::cleanupKey(void* val) - template /*static*/ void - IconvStringConverter::close(std::pair cdp) - { -- int rs = iconv_close(cdp.first); -+#ifndef NDEBUG -+ int rs = -+#endif -+ iconv_close(cdp.first); - assert(rs == 0); - -- rs = iconv_close(cdp.second); -+#ifndef NDEBUG -+ rs = -+#endif -+ iconv_close(cdp.second); - assert(rs == 0); - } - -diff --git a/cpp/include/Ice/IncomingAsyncF.h b/cpp/include/Ice/IncomingAsyncF.h -index 7d9228a..d861180 100644 ---- a/cpp/include/Ice/IncomingAsyncF.h -+++ b/cpp/include/Ice/IncomingAsyncF.h -@@ -28,12 +28,6 @@ namespace Ice - - class AMD_Object_ice_invoke; - class AMD_Array_Object_ice_invoke; -- --} -- --namespace IceInternal --{ -- - ICE_API IceUtil::Shared* upCast(::Ice::AMD_Object_ice_invoke*); - ICE_API IceUtil::Shared* upCast(::Ice::AMD_Array_Object_ice_invoke*); - -diff --git a/cpp/include/Ice/LocalObjectF.h b/cpp/include/Ice/LocalObjectF.h -index 69a28d3..6e613b7 100644 ---- a/cpp/include/Ice/LocalObjectF.h -+++ b/cpp/include/Ice/LocalObjectF.h -@@ -18,12 +18,6 @@ namespace Ice - { - - class LocalObject; -- --} -- --namespace IceInternal --{ -- - ICE_API IceUtil::Shared* upCast(::Ice::LocalObject*); - - } -diff --git a/cpp/include/Ice/ObjectF.h b/cpp/include/Ice/ObjectF.h -index eaabadd..2baff11 100644 ---- a/cpp/include/Ice/ObjectF.h -+++ b/cpp/include/Ice/ObjectF.h -@@ -17,19 +17,8 @@ namespace Ice - { - - class Object; -- --} -- --namespace IceInternal --{ -- - ICE_API IceUtil::Shared* upCast(::Ice::Object*); - --} -- --namespace Ice --{ -- - typedef IceInternal::Handle< Object > ObjectPtr; - - void ICE_API __patch__ObjectPtr(void*, ObjectPtr&); -diff --git a/cpp/include/Ice/OutgoingAsyncF.h b/cpp/include/Ice/OutgoingAsyncF.h -index 0e9398c..334ca7a 100644 ---- a/cpp/include/Ice/OutgoingAsyncF.h -+++ b/cpp/include/Ice/OutgoingAsyncF.h -@@ -19,13 +19,13 @@ namespace Ice - - class AsyncResult; - typedef IceInternal::Handle AsyncResultPtr; -+ICE_API IceUtil::Shared* upCast(::Ice::AsyncResult*); - - } - - namespace IceInternal - { - --ICE_API IceUtil::Shared* upCast(::Ice::AsyncResult*); - - class OutgoingAsync; - ICE_API IceUtil::Shared* upCast(OutgoingAsync*); -diff --git a/cpp/include/Ice/Proxy.h b/cpp/include/Ice/Proxy.h -index 250c700..0ae9e72 100644 ---- a/cpp/include/Ice/Proxy.h -+++ b/cpp/include/Ice/Proxy.h -@@ -38,6 +38,8 @@ namespace Ice - - class Locator; - class Router; -+ICE_API ::IceProxy::Ice::Object* upCast(::IceProxy::Ice::Locator*); -+ICE_API ::IceProxy::Ice::Object* upCast(::IceProxy::Ice::Router*); - - } - -@@ -46,8 +48,6 @@ class Router; - namespace IceInternal - { - --ICE_API ::IceProxy::Ice::Object* upCast(::IceProxy::Ice::Locator*); --ICE_API ::IceProxy::Ice::Object* upCast(::IceProxy::Ice::Router*); - - class LocalExceptionWrapper; - -@@ -1172,7 +1172,7 @@ public: - - TwowayCallbackNC(const TPtr& instance, bool cb, Exception excb, Sent sentcb) : CallbackNC(instance, excb, sentcb) - { -- checkCallback(instance, cb || excb != 0); -+ this->checkCallback(instance, cb || excb != 0); - } - }; - -@@ -1188,7 +1188,7 @@ public: - - TwowayCallback(const TPtr& instance, bool cb, Exception excb, Sent sentcb) : Callback(instance, excb, sentcb) - { -- checkCallback(instance, cb || excb != 0); -+ this->checkCallback(instance, cb || excb != 0); - } - }; - -@@ -1209,7 +1209,7 @@ public: - OnewayCallbackNC(const TPtr& instance, Response cb, Exception excb, Sent sentcb) : - CallbackNC(instance, excb, sentcb), response(cb) - { -- checkCallback(instance, cb != 0 || excb != 0); -+ this->checkCallback(instance, cb != 0 || excb != 0); - } - - virtual void __completed(const ::Ice::AsyncResultPtr& result) const -@@ -1254,7 +1254,7 @@ public: - OnewayCallback(const TPtr& instance, Response cb, Exception excb, Sent sentcb) : - Callback(instance, excb, sentcb), response(cb) - { -- checkCallback(instance, cb != 0 || excb != 0); -+ this->checkCallback(instance, cb != 0 || excb != 0); - } - - virtual void __completed(const ::Ice::AsyncResultPtr& result) const -diff --git a/cpp/include/Ice/ProxyF.h b/cpp/include/Ice/ProxyF.h -index 27b7ec6..67b2b05 100644 ---- a/cpp/include/Ice/ProxyF.h -+++ b/cpp/include/Ice/ProxyF.h -@@ -22,6 +22,11 @@ namespace Ice - { - - class Object; -+inline ::IceProxy::Ice::Object* -+upCast(::IceProxy::Ice::Object* o) -+{ -+ return o; -+} - - } - -@@ -34,6 +39,11 @@ namespace Ice - { - - class Object; -+inline ::IceDelegate::Ice::Object* -+upCast(::IceDelegate::Ice::Object* o) -+{ -+ return o; -+} - - } - -@@ -47,6 +57,12 @@ namespace Ice - - class Object; - -+inline ::IceDelegateM::Ice::Object* -+upCast(::IceDelegateM::Ice::Object* o) -+{ -+ return o; -+} -+ - } - - } -@@ -58,36 +74,12 @@ namespace Ice - { - - class Object; -- --} -- --} -- --namespace IceInternal --{ -- --inline ::IceProxy::Ice::Object* --upCast(::IceProxy::Ice::Object* o) --{ -- return o; --} -- --inline ::IceDelegate::Ice::Object* --upCast(::IceDelegate::Ice::Object* o) --{ -- return o; --} -- - inline ::IceDelegateD::Ice::Object* - upCast(::IceDelegateD::Ice::Object* o) - { - return o; - } - --inline ::IceDelegateM::Ice::Object* --upCast(::IceDelegateM::Ice::Object* o) --{ -- return o; - } - - } -diff --git a/cpp/include/Ice/Stream.h b/cpp/include/Ice/Stream.h -index 40cd611..36ab56b 100644 ---- a/cpp/include/Ice/Stream.h -+++ b/cpp/include/Ice/Stream.h -@@ -17,6 +17,12 @@ - #include - #include - -+namespace IceInternal -+{ -+ // Forward declaration required for writer specializations. -+ void delegateThrowMarshalException(const char*, int, const ::std::string&); -+} -+ - namespace Ice - { - -@@ -45,9 +51,6 @@ enum StreamTraitType - StreamTraitTypeUnknown - }; - --// Forward declaration required for writer specializations. --class MarshalException; -- - // - // Base trait template. This doesn't actually do anything -- we just - // use it as a template that we can specialize. -@@ -542,7 +545,7 @@ struct StreamWriter - { - if(static_cast(v) < 0 || static_cast(v) >= StreamTrait::enumLimit) - { -- throw MarshalException(__FILE__, __LINE__, "enumerator out of range"); -+ IceInternal::delegateThrowMarshalException(__FILE__, __LINE__, "enumerator out of range"); - } - outS->write(static_cast(v)); - } -@@ -558,7 +561,7 @@ struct StreamReader - inS->read(val); - if(val > StreamTrait::enumLimit) - { -- throw MarshalException(__FILE__, __LINE__, "enumerator out of range"); -+ IceInternal::delegateThrowMarshalException(__FILE__, __LINE__, "enumerator out of range"); - } - v = static_cast(val); - } -@@ -573,7 +576,7 @@ struct StreamWriter - { - if(static_cast(v) < 0 || static_cast(v) >= StreamTrait::enumLimit) - { -- throw MarshalException(__FILE__, __LINE__, "enumerator out of range"); -+ IceInternal::delegateThrowMarshalException(__FILE__, __LINE__, "enumerator out of range"); - } - outS->write(static_cast(v)); - } -@@ -589,7 +592,7 @@ struct StreamReader - inS->read(val); - if(val < 0 || val > StreamTrait::enumLimit) - { -- throw MarshalException(__FILE__, __LINE__, "enumerator out of range"); -+ IceInternal::delegateThrowMarshalException(__FILE__, __LINE__, "enumerator out of range"); - } - v = static_cast(val); - } -@@ -603,7 +606,7 @@ struct StreamWriter - { - if(static_cast(v) < 0 || static_cast(v) >= StreamTrait::enumLimit) - { -- throw MarshalException(__FILE__, __LINE__, "enumerator out of range"); -+ IceInternal::delegateThrowMarshalException(__FILE__, __LINE__, "enumerator out of range"); - } - outS->write(static_cast(v)); - } -@@ -619,7 +622,7 @@ struct StreamReader - inS->read(val); - if(val < 0 || val > StreamTrait::enumLimit) - { -- throw MarshalException(__FILE__, __LINE__, "enumerator out of range"); -+ IceInternal::delegateThrowMarshalException(__FILE__, __LINE__, "enumerator out of range"); - } - v = static_cast(val); - } -diff --git a/cpp/include/Ice/StreamF.h b/cpp/include/Ice/StreamF.h -index d94ba2b..f114206 100644 ---- a/cpp/include/Ice/StreamF.h -+++ b/cpp/include/Ice/StreamF.h -@@ -19,12 +19,6 @@ namespace Ice - - class InputStream; - class OutputStream; -- --} -- --namespace IceInternal --{ -- - ICE_API IceUtil::Shared* upCast(::Ice::InputStream*); - ICE_API IceUtil::Shared* upCast(::Ice::OutputStream*); - -diff --git a/cpp/include/IceUtil/Mutex.h b/cpp/include/IceUtil/Mutex.h -index 2726c74..5d72113 100644 ---- a/cpp/include/IceUtil/Mutex.h -+++ b/cpp/include/IceUtil/Mutex.h -@@ -251,8 +251,11 @@ Mutex::init(MutexProtocol protocol) - inline - Mutex::~Mutex() - { -+#ifndef NDEBUG - int rc = 0; -- rc = pthread_mutex_destroy(&_mutex); -+ rc = -+#endif -+ pthread_mutex_destroy(&_mutex); - assert(rc == 0); - } - -diff --git a/cpp/src/Freeze/MapDb.cpp b/cpp/src/Freeze/MapDb.cpp -index ad573cf..397151e 100644 ---- a/cpp/src/Freeze/MapDb.cpp -+++ b/cpp/src/Freeze/MapDb.cpp -@@ -229,7 +229,11 @@ Freeze::MapDb::MapDb(const ConnectionIPtr& connection, - #ifndef NDEBUG - bool inserted = - #endif -- _indices.insert(IndexMap::value_type(indexBase->name(), indexI.get())).second; -+ _indices.insert(IndexMap::value_type(indexBase->name(), indexI.get())) -+#ifndef NDEBUG -+ .second -+#endif -+ ; - assert(inserted); - - indexBase->_impl = indexI.release(); -diff --git a/cpp/src/Freeze/MapI.cpp b/cpp/src/Freeze/MapI.cpp -index c7f0719..820cef8 100644 ---- a/cpp/src/Freeze/MapI.cpp -+++ b/cpp/src/Freeze/MapI.cpp -@@ -749,8 +749,11 @@ Freeze::IteratorHelperI::set(const Value& value) - - try - { -+#ifndef NDEBUG - int err; -- err = _dbc->put(&dbKey, &dbValue, DB_CURRENT); -+ err = -+#endif -+ _dbc->put(&dbKey, &dbValue, DB_CURRENT); - assert(err == 0); - } - catch(const ::DbDeadlockException& dx) -@@ -1023,7 +1026,11 @@ Freeze::MapHelperI::MapHelperI(const ConnectionIPtr& connection, - #ifndef NDEBUG - bool inserted = - #endif -- _indices.insert(IndexMap::value_type(indexBase->name(), indexBase)).second; -+ _indices.insert(IndexMap::value_type(indexBase->name(), indexBase)) -+#ifndef NDEBUG -+ .second -+#endif -+ ; - assert(inserted); - indexBase->_map = this; - } -@@ -1360,8 +1367,11 @@ Freeze::MapHelperI::clear() - try - { - u_int32_t count; -+#ifndef NDEBUG - int err; -- err = _db->truncate(txn, &count, txn != 0 ? 0 : DB_AUTO_COMMIT); -+ err = -+#endif -+ _db->truncate(txn, &count, txn != 0 ? 0 : DB_AUTO_COMMIT); - assert(err == 0); - break; - } -diff --git a/cpp/src/Freeze/SharedDbEnv.cpp b/cpp/src/Freeze/SharedDbEnv.cpp -index 1365e7f..8cadc0c 100644 ---- a/cpp/src/Freeze/SharedDbEnv.cpp -+++ b/cpp/src/Freeze/SharedDbEnv.cpp -@@ -336,8 +336,11 @@ void Freeze::SharedDbEnv::__decRef() - // Remove from map - // - -+#ifndef NDEBUG - size_t one; -- one = sharedDbEnvMap->erase(key); -+ one = -+#endif -+ sharedDbEnvMap->erase(key); - assert(one == 1); - - if(sharedDbEnvMap->size() == 0) -diff --git a/cpp/src/Ice/ConnectionI.cpp b/cpp/src/Ice/ConnectionI.cpp -index a864509..2577a56 100644 ---- a/cpp/src/Ice/ConnectionI.cpp -+++ b/cpp/src/Ice/ConnectionI.cpp -@@ -32,7 +32,7 @@ using namespace std; - using namespace Ice; - using namespace IceInternal; - --Ice::LocalObject* IceInternal::upCast(ConnectionI* p) { return p; } -+Ice::LocalObject* Ice::upCast(ConnectionI* p) { return p; } - - namespace - { -@@ -601,6 +601,7 @@ Ice::ConnectionI::sendAsyncRequest(const OutgoingAsyncPtr& out, bool compress, b - } - catch(const LocalException& ex) - { -+ status = IceInternal::AsyncStatusQueued; // this is only to apeace the compiler - setState(StateClosed, ex); - assert(_exception.get()); - _exception->ice_throw(); -@@ -972,6 +973,7 @@ Ice::ConnectionI::flushAsyncBatchRequests(const BatchOutgoingAsyncPtr& outAsync) - } - catch(const Ice::LocalException& ex) - { -+ status = IceInternal::AsyncStatusQueued; // this is only to apeace the compiler - setState(StateClosed, ex); - assert(_exception.get()); - _exception->ice_throw(); -diff --git a/cpp/src/Ice/IncomingAsync.cpp b/cpp/src/Ice/IncomingAsync.cpp -index ca108ee..91c0580 100644 ---- a/cpp/src/Ice/IncomingAsync.cpp -+++ b/cpp/src/Ice/IncomingAsync.cpp -@@ -24,7 +24,7 @@ using namespace Ice; - using namespace IceInternal; - - IceUtil::Shared* IceInternal::upCast(IncomingAsync* p) { return p; } --IceUtil::Shared* IceInternal::upCast(AMD_Object_ice_invoke* p) { return p; } -+IceUtil::Shared* Ice::upCast(AMD_Object_ice_invoke* p) { return p; } - - namespace - { -diff --git a/cpp/src/Ice/LocalObject.cpp b/cpp/src/Ice/LocalObject.cpp -index 77bee3d..ee74c0b 100644 ---- a/cpp/src/Ice/LocalObject.cpp -+++ b/cpp/src/Ice/LocalObject.cpp -@@ -13,7 +13,7 @@ using namespace std; - using namespace Ice; - using namespace IceInternal; - --IceUtil::Shared* IceInternal::upCast(LocalObject* obj) { return obj; } -+IceUtil::Shared* Ice::upCast(LocalObject* obj) { return obj; } - - bool - Ice::LocalObject::operator==(const LocalObject& r) const -diff --git a/cpp/src/Ice/Object.cpp b/cpp/src/Ice/Object.cpp -index fa7793a..9705ce9 100644 ---- a/cpp/src/Ice/Object.cpp -+++ b/cpp/src/Ice/Object.cpp -@@ -19,7 +19,7 @@ using namespace std; - using namespace Ice; - using namespace IceInternal; - --IceUtil::Shared* IceInternal::upCast(Object* p) { return p; } -+IceUtil::Shared* Ice::upCast(Object* p) { return p; } - - bool - Ice::Object::operator==(const Object& r) const -diff --git a/cpp/src/Ice/OutgoingAsync.cpp b/cpp/src/Ice/OutgoingAsync.cpp -index 527d29c..d707321 100644 ---- a/cpp/src/Ice/OutgoingAsync.cpp -+++ b/cpp/src/Ice/OutgoingAsync.cpp -@@ -30,7 +30,7 @@ using namespace std; - using namespace Ice; - using namespace IceInternal; - --IceUtil::Shared* IceInternal::upCast(AsyncResult* p) { return p; } -+IceUtil::Shared* Ice::upCast(AsyncResult* p) { return p; } - - IceUtil::Shared* IceInternal::upCast(OutgoingAsyncMessageCallback* p) { return p; } - IceUtil::Shared* IceInternal::upCast(OutgoingAsync* p) { return p; } -diff --git a/cpp/src/Ice/ProxyFactory.cpp b/cpp/src/Ice/ProxyFactory.cpp -index c68b3e3..db0fe72 100644 ---- a/cpp/src/Ice/ProxyFactory.cpp -+++ b/cpp/src/Ice/ProxyFactory.cpp -@@ -229,6 +229,7 @@ IceInternal::ProxyFactory::checkRetryAfterException(const LocalException& ex, - } - else if(cnt > static_cast(_retryIntervals.size())) - { -+ interval = 0; // apeace compiler - if(traceLevels->retry >= 1) - { - Trace out(logger, traceLevels->retryCat); -diff --git a/cpp/src/Ice/Service.cpp b/cpp/src/Ice/Service.cpp -index dd28221..cc95541 100644 ---- a/cpp/src/Ice/Service.cpp -+++ b/cpp/src/Ice/Service.cpp -@@ -2136,17 +2136,26 @@ Ice::Service::runDaemon(int argc, char* argv[], const InitializationData& initDa - // - // Associate stdin, stdout and stderr with /dev/null. - // -+#ifndef NDEBUG - int fd; -- fd = open("/dev/null", O_RDWR); -+ fd = -+#endif -+ open("/dev/null", O_RDWR); - assert(fd == 0); - if(stdOut.empty()) - { -- fd = dup2(0, 1); -+#ifndef NDEBUG -+ fd = -+#endif -+ dup2(0, 1); - assert(fd == 1); - } - if(stdErr.empty()) - { -- fd = dup2(1, 2); -+#ifndef NDEBUG -+ fd = -+#endif -+ dup2(1, 2); - assert(fd == 2); - } - } -diff --git a/cpp/src/Ice/Stream.cpp b/cpp/src/Ice/Stream.cpp -index 9924da0..2ecdc08 100644 ---- a/cpp/src/Ice/Stream.cpp -+++ b/cpp/src/Ice/Stream.cpp -@@ -8,10 +8,19 @@ - // ********************************************************************** - - #include -+#include - - using namespace std; - using namespace Ice; - using namespace IceInternal; - --IceUtil::Shared* IceInternal::upCast(InputStream* p) { return p; } --IceUtil::Shared* IceInternal::upCast(OutputStream* p) { return p; } -+IceUtil::Shared* Ice::upCast(InputStream* p) { return p; } -+IceUtil::Shared* Ice::upCast(OutputStream* p) { return p; } -+ -+namespace IceInternal -+{ -+ void delegateThrowMarshalException(const char* file, int line , const ::std::string& message) -+ { -+ throw Ice::MarshalException(file, line, message); -+ } -+} -diff --git a/cpp/src/IceGrid/AdminCallbackRouter.cpp b/cpp/src/IceGrid/AdminCallbackRouter.cpp -index e4d21ef..ce63c9f 100644 ---- a/cpp/src/IceGrid/AdminCallbackRouter.cpp -+++ b/cpp/src/IceGrid/AdminCallbackRouter.cpp -@@ -49,7 +49,12 @@ IceGrid::AdminCallbackRouter::addMapping(const string& category, const Connectio - #ifndef NDEBUG - bool inserted = - #endif -- _categoryToConnection.insert(map::value_type(category, con)).second; -+ _categoryToConnection.insert(map::value_type(category, con)) -+#ifndef NDEBUG -+ .second -+#endif -+ ; -+ - - assert(inserted == true); - } -diff --git a/cpp/src/IceGrid/DescriptorHelper.cpp b/cpp/src/IceGrid/DescriptorHelper.cpp -index 9126c2f..0bc0111 100644 ---- a/cpp/src/IceGrid/DescriptorHelper.cpp -+++ b/cpp/src/IceGrid/DescriptorHelper.cpp -@@ -198,15 +198,6 @@ updateSeqElts(const Seq& seq, const Seq& update, const Ice::StringSeq& remove, G - return result; - } - --template Dict --getDictUpdatedElts(const Dict& ldict, const Dict& rdict) --{ --#if defined(_MSC_VER) && (_MSC_VER < 1300) -- return getDictUpdatedEltsWithEq(ldict, rdict, equal_to()); --#else -- return getDictUpdatedEltsWithEq(ldict, rdict, equal_to()); --#endif --} - - template Dict - getDictUpdatedEltsWithEq(const Dict& ldict, const Dict& rdict, EqFunc eq) -@@ -223,6 +214,16 @@ getDictUpdatedEltsWithEq(const Dict& ldict, const Dict& rdict, EqFunc eq) - return result; - } - -+template Dict -+getDictUpdatedElts(const Dict& ldict, const Dict& rdict) -+{ -+#if defined(_MSC_VER) && (_MSC_VER < 1300) -+ return getDictUpdatedEltsWithEq(ldict, rdict, equal_to()); -+#else -+ return getDictUpdatedEltsWithEq(ldict, rdict, equal_to()); -+#endif -+} -+ - template Ice::StringSeq - getDictRemovedElts(const Dict& ldict, const Dict& rdict) - { -diff --git a/cpp/src/IceGrid/ReplicaCache.cpp b/cpp/src/IceGrid/ReplicaCache.cpp -index 53ad03e..154853d 100644 ---- a/cpp/src/IceGrid/ReplicaCache.cpp -+++ b/cpp/src/IceGrid/ReplicaCache.cpp -@@ -40,7 +40,7 @@ ReplicaCache::add(const string& name, const ReplicaSessionIPtr& session) - Lock sync(*this); - - ReplicaEntryPtr entry; -- while(entry = getImpl(name)) -+ while((entry = getImpl(name))) - { - ReplicaSessionIPtr session = entry->getSession(); - if(session->isDestroyed()) -diff --git a/cpp/src/IceGrid/SessionI.h b/cpp/src/IceGrid/SessionI.h -index 3c67e20..f5c1b2e 100644 ---- a/cpp/src/IceGrid/SessionI.h -+++ b/cpp/src/IceGrid/SessionI.h -@@ -35,7 +35,7 @@ typedef IceUtil::Handle AllocatablePtr; - class SessionI; - typedef IceUtil::Handle SessionIPtr; - --class BaseSessionI : virtual Ice::Object, public IceUtil::Mutex -+class BaseSessionI : virtual public Ice::Object, public IceUtil::Mutex - { - public: - -diff --git a/cpp/src/IceSSL/Instance.cpp b/cpp/src/IceSSL/Instance.cpp -index 5eb4c58..585620c 100644 ---- a/cpp/src/IceSSL/Instance.cpp -+++ b/cpp/src/IceSSL/Instance.cpp -@@ -38,7 +38,7 @@ using namespace std; - using namespace Ice; - using namespace IceSSL; - --IceUtil::Shared* IceInternal::upCast(IceSSL::Instance* p) { return p; } -+IceUtil::Shared* IceSSL::upCast(IceSSL::Instance* p) { return p; } - - namespace - { -diff --git a/cpp/src/IceSSL/InstanceF.h b/cpp/src/IceSSL/InstanceF.h -index d08a3a9..b03d995 100644 ---- a/cpp/src/IceSSL/InstanceF.h -+++ b/cpp/src/IceSSL/InstanceF.h -@@ -18,13 +18,13 @@ namespace IceSSL - { - - class Instance; -+IceUtil::Shared* upCast(IceSSL::Instance*); - - } - - namespace IceInternal - { - --IceUtil::Shared* upCast(IceSSL::Instance*); - - } - -diff --git a/cpp/src/IceSSL/TrustManager.cpp b/cpp/src/IceSSL/TrustManager.cpp -index 0ec6e28..c4549b9 100644 ---- a/cpp/src/IceSSL/TrustManager.cpp -+++ b/cpp/src/IceSSL/TrustManager.cpp -@@ -20,7 +20,7 @@ - using namespace std; - using namespace IceSSL; - --IceUtil::Shared* IceInternal::upCast(IceSSL::TrustManager* p) { return p; } -+IceUtil::Shared* IceSSL::upCast(IceSSL::TrustManager* p) { return p; } - - TrustManager::TrustManager(const Ice::CommunicatorPtr& communicator) : - _communicator(communicator) -diff --git a/cpp/src/IceSSL/TrustManagerF.h b/cpp/src/IceSSL/TrustManagerF.h -index 346775c..e1af0d1 100644 ---- a/cpp/src/IceSSL/TrustManagerF.h -+++ b/cpp/src/IceSSL/TrustManagerF.h -@@ -18,13 +18,13 @@ namespace IceSSL - { - - class TrustManager; -+IceUtil::Shared* upCast(IceSSL::TrustManager*); - - } - - namespace IceInternal - { - --IceUtil::Shared* upCast(IceSSL::TrustManager*); - - } - -diff --git a/cpp/src/IceSSL/Util.cpp b/cpp/src/IceSSL/Util.cpp -index fc7e19c..63f6b44 100644 ---- a/cpp/src/IceSSL/Util.cpp -+++ b/cpp/src/IceSSL/Util.cpp -@@ -175,7 +175,7 @@ convertDH(unsigned char* p, int plen, unsigned char* g, int glen) - return dh; - } - --IceUtil::Shared* IceInternal::upCast(IceSSL::DHParams* p) { return p; } -+IceUtil::Shared* IceSSL::upCast(IceSSL::DHParams* p) { return p; } - - IceSSL::DHParams::DHParams() : - _dh512(0), _dh1024(0), _dh2048(0), _dh4096(0) -diff --git a/cpp/src/IceSSL/UtilF.h b/cpp/src/IceSSL/UtilF.h -index 4c06e1f..5bad4c8 100644 ---- a/cpp/src/IceSSL/UtilF.h -+++ b/cpp/src/IceSSL/UtilF.h -@@ -21,13 +21,13 @@ namespace IceSSL - { - - class DHParams; -+IceUtil::Shared* upCast(IceSSL::DHParams*); - - } - - namespace IceInternal - { - --IceUtil::Shared* upCast(IceSSL::DHParams*); - - } - -diff --git a/cpp/src/IceStorm/NodeI.cpp b/cpp/src/IceStorm/NodeI.cpp -index 0c9511e..b9788f4 100644 ---- a/cpp/src/IceStorm/NodeI.cpp -+++ b/cpp/src/IceStorm/NodeI.cpp -@@ -18,11 +18,6 @@ using namespace std; - namespace - { - --bool operator==(const GroupNodeInfo& info, int id) --{ -- return info.id == id; --} -- - class CheckTask : public IceUtil::TimerTask - { - const NodeIPtr _node; -diff --git a/cpp/src/IceUtil/Cond.cpp b/cpp/src/IceUtil/Cond.cpp -index 6a8bd3d..a18fd61 100644 ---- a/cpp/src/IceUtil/Cond.cpp -+++ b/cpp/src/IceUtil/Cond.cpp -@@ -330,8 +330,11 @@ IceUtil::Cond::Cond() - - IceUtil::Cond::~Cond() - { -+#ifndef NDEBUG - int rc = 0; -- rc = pthread_cond_destroy(&_cond); -+ rc = -+#endif -+ pthread_cond_destroy(&_cond); - assert(rc == 0); - } - -diff --git a/cpp/src/IceUtil/CountDownLatch.cpp b/cpp/src/IceUtil/CountDownLatch.cpp -index bd60766..86e8d2c 100644 ---- a/cpp/src/IceUtil/CountDownLatch.cpp -+++ b/cpp/src/IceUtil/CountDownLatch.cpp -@@ -44,10 +44,16 @@ IceUtilInternal::CountDownLatch::~CountDownLatch() - #ifdef _WIN32 - CloseHandle(_event); - #else -+#ifndef NDEBUG - int rc = 0; -- rc = pthread_mutex_destroy(&_mutex); -+ rc = -+#endif -+ pthread_mutex_destroy(&_mutex); - assert(rc == 0); -- rc = pthread_cond_destroy(&_cond); -+#ifndef NDEBUG -+ rc = -+#endif -+ pthread_cond_destroy(&_cond); - assert(rc == 0); - #endif - } -diff --git a/cpp/src/IceUtil/CtrlCHandler.cpp b/cpp/src/IceUtil/CtrlCHandler.cpp -index f4d150c..575537a 100644 ---- a/cpp/src/IceUtil/CtrlCHandler.cpp -+++ b/cpp/src/IceUtil/CtrlCHandler.cpp -@@ -219,18 +219,27 @@ CtrlCHandler::CtrlCHandler(CtrlCHandlerCallback callback) - sigaddset(&ctrlCLikeSignals, SIGHUP); - sigaddset(&ctrlCLikeSignals, SIGINT); - sigaddset(&ctrlCLikeSignals, SIGTERM); -- int rc = pthread_sigmask(SIG_BLOCK, &ctrlCLikeSignals, 0); -+#ifndef NDEBUG -+ int rc = -+#endif -+ pthread_sigmask(SIG_BLOCK, &ctrlCLikeSignals, 0); - assert(rc == 0); - - // Joinable thread -- rc = pthread_create(&_tid, 0, sigwaitThread, 0); -+#ifndef NDEBUG -+ rc = -+#endif -+ pthread_create(&_tid, 0, sigwaitThread, 0); - assert(rc == 0); - } - } - - CtrlCHandler::~CtrlCHandler() - { -- int rc = pthread_cancel(_tid); -+#ifndef NDEBUG -+ int rc = -+#endif -+ pthread_cancel(_tid); - assert(rc == 0); - #if defined(__APPLE__) - // -@@ -241,7 +250,10 @@ CtrlCHandler::~CtrlCHandler() - //assert(rc == 0); For some reaosns, this assert is sometime triggered - #endif - void* status = 0; -- rc = pthread_join(_tid, &status); -+#ifndef NDEBUG -+ rc = -+#endif -+ pthread_join(_tid, &status); - assert(rc == 0); - #if !defined(__APPLE__) - assert(status == PTHREAD_CANCELED); -diff --git a/cpp/src/IceUtil/FileUtil.cpp b/cpp/src/IceUtil/FileUtil.cpp -index 1c1b974..b861e19 100644 ---- a/cpp/src/IceUtil/FileUtil.cpp -+++ b/cpp/src/IceUtil/FileUtil.cpp -@@ -26,6 +26,10 @@ - # include - #endif - -+#if defined(__FreeBSD__) || defined(__linux) -+# include -+#endif -+ - using namespace std; - - // -diff --git a/cpp/src/IceUtil/RecMutex.cpp b/cpp/src/IceUtil/RecMutex.cpp -index f3b1376..ce719ad 100644 ---- a/cpp/src/IceUtil/RecMutex.cpp -+++ b/cpp/src/IceUtil/RecMutex.cpp -@@ -148,8 +148,11 @@ IceUtil::RecMutex::init(const MutexProtocol protocol) - IceUtil::RecMutex::~RecMutex() - { - assert(_count == 0); -+#ifndef NDEBUG - int rc = 0; -- rc = pthread_mutex_destroy(&_mutex); -+ rc = -+#endif -+ pthread_mutex_destroy(&_mutex); - assert(rc == 0); - } - -@@ -196,8 +199,11 @@ IceUtil::RecMutex::unlock() const - { - if(--_count == 0) - { -+#ifndef NDEBUG - int rc = 0; // Prevent warnings when NDEBUG is defined. -- rc = pthread_mutex_unlock(&_mutex); -+ rc = -+#endif -+ pthread_mutex_unlock(&_mutex); - assert(rc == 0); - } - } -diff --git a/cpp/src/Slice/CPlusPlusUtil.cpp b/cpp/src/Slice/CPlusPlusUtil.cpp -index f0d6a51..0d5024d 100644 ---- a/cpp/src/Slice/CPlusPlusUtil.cpp -+++ b/cpp/src/Slice/CPlusPlusUtil.cpp -@@ -631,7 +631,7 @@ Slice::writeMarshalUnmarshalCode(Output& out, const TypePtr& type, const string& - string scope = fixKwd(cl->scope()); - if(marshal) - { -- out << nl << stream << deref << "write(::Ice::ObjectPtr(::IceInternal::upCast(" << fixedParam -+ out << nl << stream << deref << "write(::Ice::ObjectPtr(" << scope << "upCast(" << fixedParam - << ".get())));"; - } - else -@@ -649,7 +649,7 @@ Slice::writeMarshalUnmarshalCode(Output& out, const TypePtr& type, const string& - string scope = fixKwd(px->_class()->scope()); - if(marshal) - { -- out << nl << stream << deref << "write(::Ice::ObjectPrx(::IceInternal::upCast(" << fixedParam -+ out << nl << stream << deref << "write(::Ice::ObjectPrx(::IceProxy" << scope << "upCast(" << fixedParam - << ".get())));"; - } - else -diff --git a/cpp/src/Slice/FileTracker.cpp b/cpp/src/Slice/FileTracker.cpp -index af009fe..3966934 100644 ---- a/cpp/src/Slice/FileTracker.cpp -+++ b/cpp/src/Slice/FileTracker.cpp -@@ -17,6 +17,10 @@ - # include - #endif - -+#if defined(__FreeBSD__) || defined(__linux) -+# include -+#endif -+ - using namespace std; - - Slice::FileException::FileException(const char* file, int line, const string& r) : -diff --git a/cpp/src/slice2cpp/Gen.cpp b/cpp/src/slice2cpp/Gen.cpp -index 8ec5aa5..63d6c83 100644 ---- a/cpp/src/slice2cpp/Gen.cpp -+++ b/cpp/src/slice2cpp/Gen.cpp -@@ -1952,8 +1952,10 @@ Slice::Gen::ProxyDeclVisitor::visitClassDecl(const ClassDeclPtr& p) - } - - string name = fixKwd(p->name()); -+ string scoped = fixKwd(p->scoped()); - - H << sp << nl << "class " << name << ';'; -+ H << nl << _dllExport << "::IceProxy::Ice::Object* upCast(::IceProxy" << scoped << "*);"; - } - - Slice::Gen::ProxyVisitor::ProxyVisitor(Output& h, Output& c, const string& dllExport) : -@@ -3699,10 +3701,22 @@ void - Slice::Gen::ObjectDeclVisitor::visitClassDecl(const ClassDeclPtr& p) - { - string name = fixKwd(p->name()); -+ string scoped = fixKwd(p->scoped()); - - H << sp << nl << "class " << name << ';'; - H << nl << "bool operator==(const " << name << "&, const " << name << "&);"; - H << nl << "bool operator<(const " << name << "&, const " << name << "&);"; -+ -+ H << sp; -+ -+ if(!p->isLocal()) -+ { -+ H << nl << _dllExport << "::Ice::Object* upCast(" << scoped << "*);"; -+ } -+ else -+ { -+ H << nl << _dllExport << "::Ice::LocalObject* upCast(" << scoped << "*);"; -+ } - } - - void -@@ -4930,13 +4944,13 @@ Slice::Gen::ObjectVisitor::emitGCInsertCode(const TypePtr& p, const string& pref - { - if((BuiltinPtr::dynamicCast(p) && BuiltinPtr::dynamicCast(p)->kind() == Builtin::KindObject) - || ClassDeclPtr::dynamicCast(p)) -- { -- C << nl << "if(" << prefix << name << ')'; -+ { C << nl << "if(" << prefix << name << ')'; - C << sb; - ClassDeclPtr decl = ClassDeclPtr::dynamicCast(p); - if(decl) - { -- C << nl << "::IceInternal::upCast(" << prefix << name << ".get())->__addObject(_c);"; -+ string scope = fixKwd(decl->scope()); -+ C << nl << scope << "upCast(" << prefix << name << ".get())->__addObject(_c);"; - } - else - { -@@ -4999,9 +5013,10 @@ Slice::Gen::ObjectVisitor::emitGCClearCode(const TypePtr& p, const string& prefi - ClassDeclPtr decl = ClassDeclPtr::dynamicCast(p); - if(decl) - { -- C << nl << "if(" << "::IceInternal::upCast(" << prefix << name << ".get())->__usesClasses())"; -+ string scope = fixKwd(decl->scope()); -+ C << nl << "if(" << scope << "upCast(" << prefix << name << ".get())->__usesClasses())"; - C << sb; -- C << nl << "::IceInternal::upCast(" << prefix << name << ".get())->__decRefUnsafe();"; -+ C << nl << scope << "upCast(" << prefix << name << ".get())->__decRefUnsafe();"; - C << nl << prefix << name << ".__clearHandleUnsafe();"; - - } -@@ -5637,40 +5652,30 @@ Slice::Gen::IceInternalVisitor::visitClassDecl(const ClassDeclPtr& p) - { - string scoped = fixKwd(p->scoped()); - -- H << sp; -- -- if(!p->isLocal()) -- { -- H << nl << _dllExport << "::Ice::Object* upCast(" << scoped << "*);"; -- H << nl << _dllExport << "::IceProxy::Ice::Object* upCast(::IceProxy" << scoped << "*);"; -- } -- else -- { -- H << nl << _dllExport << "::Ice::LocalObject* upCast(" << scoped << "*);"; -- } - } - - bool - Slice::Gen::IceInternalVisitor::visitClassDefStart(const ClassDefPtr& p) - { - string scoped = fixKwd(p->scoped()); -+ string scope = fixKwd(p->scope()); - - C << sp; - if(!p->isLocal()) - { - C << nl - << (_dllExport.empty() ? "" : "ICE_DECLSPEC_EXPORT ") -- << "::Ice::Object* IceInternal::upCast(" << scoped << "* p) { return p; }"; -+ << "::Ice::Object* " << scope << "upCast(" << scoped << "* p) { return p; }"; - C << nl - << (_dllExport.empty() ? "" : "ICE_DECLSPEC_EXPORT ") -- << "::IceProxy::Ice::Object* IceInternal::upCast(::IceProxy" << scoped -+ << "::IceProxy::Ice::Object* IceProxy" << scope << "upCast(::IceProxy" << scoped - << "* p) { return p; }"; - } - else - { - C << nl - << (_dllExport.empty() ? "" : "ICE_DECLSPEC_EXPORT ") -- << "::Ice::LocalObject* IceInternal::upCast(" << scoped << "* p) { return p; }"; -+ << "::Ice::LocalObject* " << scope << "upCast(" << scoped << "* p) { return p; }"; - } - - return true; -diff --git a/cpp/src/slice2cs/Gen.cpp b/cpp/src/slice2cs/Gen.cpp -index 90d3136..dd5cf4f 100644 ---- a/cpp/src/slice2cs/Gen.cpp -+++ b/cpp/src/slice2cs/Gen.cpp -@@ -1281,7 +1281,7 @@ Slice::CsVisitor::writeConstantValue(const TypePtr& type, const SyntaxTreeBasePt - { - _out << value << "F"; - } -- else if(ep = EnumPtr::dynamicCast(type)) -+ else if((ep = EnumPtr::dynamicCast(type))) - { - string enumName = fixId(ep->scoped()); - string::size_type colon = value.rfind(':'); -@@ -3914,16 +3914,6 @@ Slice::Gen::ProxyVisitor::visitOperation(const OperationPtr& p) - ClassDefPtr cl = ClassDefPtr::dynamicCast(p->container()); - string name = fixId(p->name(), DotNet::ICloneable, true); - vector params = getParams(p); -- bool hasOutParams = false; -- ParamDeclList paramList = p->parameters(); -- for(ParamDeclList::const_iterator pli = paramList.begin(); pli != paramList.end(); ++pli) -- { -- if((*pli)->isOutParam()) -- { -- hasOutParams = true; -- break; -- } -- } - - _out << sp; - -diff --git a/cpp/src/slice2java/Gen.cpp b/cpp/src/slice2java/Gen.cpp -index e0ac391..5dd7226 100644 ---- a/cpp/src/slice2java/Gen.cpp -+++ b/cpp/src/slice2java/Gen.cpp -@@ -1246,7 +1246,7 @@ Slice::JavaVisitor::writeConstantValue(Output& out, const TypePtr& type, const S - { - BuiltinPtr bp; - EnumPtr ep; -- if(bp = BuiltinPtr::dynamicCast(type)) -+ if((bp = BuiltinPtr::dynamicCast(type))) - { - switch(bp->kind()) - { -@@ -1349,7 +1349,7 @@ Slice::JavaVisitor::writeConstantValue(Output& out, const TypePtr& type, const S - } - - } -- else if(ep = EnumPtr::dynamicCast(type)) -+ else if((ep = EnumPtr::dynamicCast(type))) - { - string val = value; - string::size_type pos = val.rfind(':'); -diff --git a/cpp/test/Glacier2/ssl/Server.cpp b/cpp/test/Glacier2/ssl/Server.cpp -index 4fb14f5..1b0c6a5 100644 ---- a/cpp/test/Glacier2/ssl/Server.cpp -+++ b/cpp/test/Glacier2/ssl/Server.cpp -@@ -31,9 +31,15 @@ void testContext(bool ssl, const Ice::Context& context) - test(ctx["_con.type"] == "ssl"); - test(ctx["_con.localPort"] == "12348"); - } -- test(ctx["_con.localAddress"] == "127.0.0.1"); -+ if (!inFreeBSDJail()) -+ { -+ test(ctx["_con.localAddress"] == "127.0.0.1"); -+ } - test(ctx["_con.remotePort"] != ""); -- test(ctx["_con.remoteAddress"] == "127.0.0.1"); -+ if (!inFreeBSDJail()) -+ { -+ test(ctx["_con.remoteAddress"] == "127.0.0.1"); -+ } - } - - } -@@ -99,7 +105,7 @@ public: - } - - virtual void -- ice_ping(const Ice::Current& current) -+ ice_ping(const Ice::Current& current) const - { - testContext(_ssl, current.ctx); - } -@@ -133,8 +139,11 @@ public: - { - testContext(true, current.ctx); - -- test(info.remoteHost == "127.0.0.1"); -- test(info.localHost == "127.0.0.1"); -+ if (!inFreeBSDJail()) -+ { -+ test(info.remoteHost == "127.0.0.1"); -+ test(info.localHost == "127.0.0.1"); -+ } - test(info.localPort == 12348); - - try -diff --git a/cpp/test/Ice/background/EndpointI.h b/cpp/test/Ice/background/EndpointI.h -index f38a280..4d35f7d 100644 ---- a/cpp/test/Ice/background/EndpointI.h -+++ b/cpp/test/Ice/background/EndpointI.h -@@ -48,7 +48,7 @@ protected: - - virtual Ice::Int hashInit() const; - #if !defined(_MSC_VER) || _MSC_VER > 1300 -- using IceInternal::EndpointI::connectors; -+ using ::IceInternal::EndpointI::connectors; - #endif - - private: -diff --git a/cpp/test/Ice/custom/AllTests.cpp b/cpp/test/Ice/custom/AllTests.cpp -index bf66fa9..9907e6b 100644 ---- a/cpp/test/Ice/custom/AllTests.cpp -+++ b/cpp/test/Ice/custom/AllTests.cpp -@@ -1384,7 +1384,8 @@ public: - const ::Test::ClassStructSeq& seq, - const InParamPtr& cookie) - { -- pair< ::Test::ClassStructPtr, ::Test::ClassStructSeq> in = getIn(in, cookie); -+ pair< ::Test::ClassStructPtr, ::Test::ClassStructSeq> in; -+ in = getIn(in, cookie); - test(ret == in.first); - test(cs1 == in.first); - test(seq == in.second); -@@ -1432,7 +1433,8 @@ public: - - void throwExcept1(const Ice::AsyncResultPtr& result) - { -- wstring in = getIn(in, InParamPtr::dynamicCast(result->getCookie())); -+ wstring in; -+ in = getIn(in, InParamPtr::dynamicCast(result->getCookie())); - try - { - Test1::WstringClassPrx t = Test1::WstringClassPrx::uncheckedCast(result->getProxy()); -@@ -1451,7 +1453,8 @@ public: - - void throwExcept2(const Ice::AsyncResultPtr& result) - { -- wstring in = getIn(in, InParamPtr::dynamicCast(result->getCookie())); -+ wstring in; -+ in = getIn(in, InParamPtr::dynamicCast(result->getCookie())); - try - { - Test2::WstringClassPrx t = Test2::WstringClassPrx::uncheckedCast(result->getProxy()); -diff --git a/cpp/test/Ice/info/AllTests.cpp b/cpp/test/Ice/info/AllTests.cpp -index 3e9c229..7f92b7f 100644 ---- a/cpp/test/Ice/info/AllTests.cpp -+++ b/cpp/test/Ice/info/AllTests.cpp -@@ -141,9 +141,11 @@ allTests(const Ice::CommunicatorPtr& communicator) - test(info->adapterName.empty()); - test(info->localPort > 0); - test(info->remotePort == 12010); -- test(info->remoteAddress == defaultHost); -- test(info->localAddress == defaultHost); -- -+ if (!inFreeBSDJail()) -+ { -+ test(info->remoteAddress == defaultHost); -+ test(info->localAddress == defaultHost); -+ } - ostringstream os; - - Ice::Context ctx = testIntf->getConnectionInfoAsContext(); -@@ -163,8 +165,11 @@ allTests(const Ice::CommunicatorPtr& communicator) - test(info->adapterName.empty()); - test(info->localPort > 0); - test(info->remotePort == 12010); -- test(info->remoteAddress ==defaultHost); -- test(info->localAddress == defaultHost); -+ if (!inFreeBSDJail()) -+ { -+ test(info->remoteAddress == defaultHost); -+ test(info->localAddress == defaultHost); -+ } - } - cout << "ok" << endl; - -diff --git a/cpp/test/Ice/properties/run.py b/cpp/test/Ice/properties/run.py -index 18f78f0..955295e 100755 ---- a/cpp/test/Ice/properties/run.py -+++ b/cpp/test/Ice/properties/run.py -@@ -26,7 +26,7 @@ client = os.path.join(os.getcwd(), "client") - # - # Write config - # --configPath = u"./config/中国_client.config" -+configPath = u"./config/中国_client.config".encode("utf-8") - - TestUtil.createConfig(configPath, - ["# Automatically generated by Ice test driver.", -diff --git a/cpp/test/IceUtil/unicode/Client.cpp b/cpp/test/IceUtil/unicode/Client.cpp -index 6370c9e..c5b73fb 100644 ---- a/cpp/test/IceUtil/unicode/Client.cpp -+++ b/cpp/test/IceUtil/unicode/Client.cpp -@@ -15,6 +15,10 @@ - # include - #endif - -+#if defined(__FreeBSD__) || defined(__linux) -+# include -+#endif -+ - using namespace IceUtil; - using namespace std; - -diff --git a/cpp/test/Slice/keyword/Client.cpp b/cpp/test/Slice/keyword/Client.cpp -index 0714a17..edcfe00 100644 ---- a/cpp/test/Slice/keyword/Client.cpp -+++ b/cpp/test/Slice/keyword/Client.cpp -@@ -73,6 +73,9 @@ public: - virtual void ice_response(Ice::Int) {} - virtual void ice_exception(const ::Ice::Exception&) {} - }; -+ -+template -+void unused(T const &) { } - - // - // This section of the test is present to ensure that the C++ types -@@ -86,6 +89,7 @@ testtypes() - - _cpp_and::_cpp_auto b; - b._cpp_default = 0; -+ unused(b); - - _cpp_and::deletePtr c = new _cpp_and::_cpp_delete(); - c->_cpp_else = ""; -diff --git a/cpp/test/include/TestCommon.h b/cpp/test/include/TestCommon.h -index 651a885..ca603d4 100644 ---- a/cpp/test/include/TestCommon.h -+++ b/cpp/test/include/TestCommon.h -@@ -17,6 +17,22 @@ - #include - #endif - -+#if defined(__FreeBSD__) -+# include -+# include -+inline bool inFreeBSDJail() -+{ -+ int jailed; -+ size_t size = sizeof(jailed); -+ return (sysctlbyname("security.jail.jailed", &jailed, &size, NULL, 0) != -1 || jailed); -+} -+#else -+inline bool inFreeBSDJail() -+{ -+ return false; -+} -+#endif -+ - void - inline testFailed(const char* expr, const char* file, unsigned int line) - { -diff --git a/scripts/TestUtil.py b/scripts/TestUtil.py -index e02da06..9b5f497 100755 ---- a/scripts/TestUtil.py -+++ b/scripts/TestUtil.py -@@ -74,6 +74,25 @@ def isDarwin(): - def isLinux(): - return sys.platform.startswith("linux") - -+def isFreeBSD(): -+ return sys.platform.startswith("freebsd") -+ -+def sysctl(key): -+ p = subprocess.Popen("sysctl "+key, shell=1, stdout=subprocess.PIPE) -+ try: -+ result = p.communicate()[0].strip().split()[1] -+ except IndexError: -+ return 0 -+ if sys.version_info >= (3,): -+ result = str(result, sys.stdout.encoding) -+ try: -+ return int(result) -+ except ValueError: -+ return result -+ -+def isFreeBSDJail(): -+ return isFreeBSD() and sysctl("security.jail.jailed") -+ - def getCppCompiler(): - compiler = "" - if os.environ.get("CPP_COMPILER", "") != "": -@@ -1590,7 +1609,15 @@ def runTests(start, expanded, num = 0, script = False): - if isDarwin() and "nodarwin" in config: - print "%s*** test not supported under Darwin%s" % (prefix, suffix) - continue -+ -+ if isFreeBSD() and "nofreebsd" in config: -+ print "%s*** test not supported under FreeBSD%s" % (prefix, suffix) -+ continue - -+ if isFreeBSDJail() and "nofreebsdjail" in config: -+ print "%s*** test not supported within a FreeBSD Jail%s" % (prefix, suffix) -+ continue -+ - if not isWin32() and "win32only" in config: - print "%s*** test only supported under Win32%s" % (prefix, suffix) - continue --- -1.7.10.2 - diff --git a/ice.spec b/ice.spec index b53216b..7f92db4 100644 --- a/ice.spec +++ b/ice.spec @@ -22,28 +22,21 @@ %{?with_java:%include /usr/lib/rpm/macros.java} Summary: The Ice base runtime and services Name: ice -Version: 3.4.2 -Release: 7 +Version: 3.5.1 +Release: 0.1 License: GPL v2 with exceptions (see ICE_LICENSE) Group: Applications -Source0: http://www.zeroc.com/download/Ice/3.4/Ice-%{version}.tar.gz -# Source0-md5: e97672eb4a63c6b8dd202d0773e19dc7 -# Extracted from http://zeroc.com/download/Ice/3.4/ice-3.4.0-1.src.rpm -Source1: Ice-rpmbuild-3.4.0.tar.gz -# Source1-md5: 869cc60645e7e2b4115584a5ab17d1e9 +Source0: http://www.zeroc.com/download/Ice/3.5/Ice-%{version}.tar.gz +# Source0-md5: f00c59983cc904bca977133c0a9b3e80 +# Extracted from http://zeroc.com/download/Ice/3.5/ice-3.5.1-1.src.rpm +Source1: Ice-rpmbuild-%{version}.tar.gz +# Source1-md5: 247ce2f92caf8d0615d4d35120421a7b # Man pages courtesy of Francisco Moya's Debian packages -Source2: Ice-3.3.0-man-pages.tbz2 -# Source2-md5: c6c17ee1be2e6b615af5b40edae88b75 Source3: %{name}gridgui Source4: IceGridAdmin.desktop Patch0: %{name}-build.patch Patch1: dont-build-demo-test.patch -Patch2: java-build.patch Patch3: jgoodies.patch -Patch4: %{name}-gcc46.patch -Patch5: %{name}-gcc47.patch -Patch6: %{name}-db.patch -Patch7: %{name}-format-security.patch URL: http://www.zeroc.com/ BuildRequires: bzip2-devel BuildRequires: db-cxx-devel @@ -173,28 +166,10 @@ Requires: %{name} = %{version}-%{release} The Ice runtime for PHP applications. %prep -%setup -q -n Ice-%{version} -a1 -a2 +%setup -q -n Ice-%{version} -a1 %patch0 -p0 %patch1 -p1 -%patch2 -p1 %patch3 -p1 -%patch4 -p1 -%patch5 -p1 -%patch6 -p1 -%patch7 -p1 - -# no longer included in 3.4 -rm -f *man-pages/slice2docbook.1 - -# Fix the encoding and line-endings of all the IceGridAdmin documentation files -cd java/resources/IceGridAdmin -%undos -f js,css - -for f in helpman_topicinit.js icegridadmin_navigation.js IceGridAdmin_popup_html.js zoom_pageinfo.js; do - iconv -f ISO88591 -t UTF8 $f -o $f.tmp - mv $f.tmp $f -done -cd - %{__sed} -i -e '1s,/usr/bin/env python,%{__python},' cpp/src/ca/iceca @@ -298,9 +273,9 @@ mv $RPM_BUILD_ROOT/%{_lib}/* $RPM_BUILD_ROOT%{_libdir} mv $RPM_BUILD_ROOT/config/* $RPM_BUILD_ROOT%{_datadir}/Ice -# Copy the man pages into the correct directory -install -d $RPM_BUILD_ROOT%{_mandir}/man1 -cp -a *man-pages/*.1 $RPM_BUILD_ROOT%{_mandir}/man1 +## Copy the man pages into the correct directory +#install -d $RPM_BUILD_ROOT%{_mandir}/man1 +#cp -a *man-pages/*.1 $RPM_BUILD_ROOT%{_mandir}/man1 %if %{with java} %{__make} -C java install \ diff --git a/java-build.patch b/java-build.patch deleted file mode 100644 index 43782c1..0000000 --- a/java-build.patch +++ /dev/null @@ -1,56 +0,0 @@ -Don't put manifest in jar; don't build demo or test; use system jgoodies - -diff -ur Ice-3.4.0.orig/java/build.xml Ice-3.4.0/java/build.xml ---- Ice-3.4.0.orig/java/build.xml 2010-03-12 12:51:00.743391980 +0000 -+++ Ice-3.4.0/java/build.xml 2010-03-12 12:54:01.002548076 +0000 -@@ -230,7 +230,6 @@ - - - -- - - - -@@ -508,17 +507,12 @@ - - - -- -- -- -- -- -+ - - - - - -- - - - -@@ -607,8 +601,6 @@ - - - -- -- - - - ---- Ice-3.4.1/java/config/build.properties~ 2010-06-03 19:48:34.000000000 +0300 -+++ Ice-3.4.1/java/config/build.properties 2010-06-10 11:01:36.101008204 +0300 -@@ -31,9 +31,9 @@ - # These properties only need to be set if you want to build the - # standalone jar for the IceGrid GUI. - # --jgoodies.common = /usr/share/java/jgoodies-common-1.2.0.jar --jgoodies.forms = /usr/share/java/jgoodies-forms-1.4.1.jar --jgoodies.looks = /usr/share/java/jgoodies-looks-2.4.1.jar -+jgoodies.common = /usr/share/java/jgoodies-common.jar -+jgoodies.forms = /usr/share/java/jgoodies-forms.jar -+jgoodies.looks = /usr/share/java/jgoodies-looks.jar - #jgoodies.common = C:/Program\ Files/ZeroC/Ice-${ice.version}-ThirdParty/lib/jgoodies-common-1.2.0.jar - #jgoodies.forms = C:/Program\ Files/ZeroC/Ice-${ice.version}-ThirdParty/lib/jgoodies-forms-1.4.1.jar - #jgoodies.looks = C:/Program\ Files/ZeroC/Ice-${ice.version}-ThirdParty/lib/jgoodies-looks-2.4.1.jar