[ice] refresh all patches
Haïkel Guémar
hguemar at fedoraproject.org
Tue May 29 15:47:54 UTC 2012
commit f198c48aa1b4f2e2ec951e5d69ca141e69a1464f
Author: Haïkel Guémar <hguemar at fedoraproject.org>
Date: Tue May 29 16:45:09 2012 +0200
refresh all patches
Ice-3.3-dont-build-demo-test.patch | 24 -
ice-3.4.1-no-mono.patch | 16 -
ice-3.4.2-declfix.patch | 495 ---------
ice-3.4.2-dont-build-demo-test.patch | 39 +
ice-3.4.2-gcc46.patch | 19 +
ice-3.4.2-gcc47.patch | 1499 +++++++++++++++++++++++++-
ice-3.4.2-java7.patch | 12 +
ice-3.4.2-jgoodies.patch | 14 +
ice-3.4.2-no-mono.patch | 29 +
ice-3.4.2-php54.patch | 39 +
Ice-3.4.0-s390.patch => ice-3.4.2-s390.patch | 19 +-
ice-3.4.2-slice2cpp.patch | 4 +-
ice.spec | 38 +-
13 files changed, 1672 insertions(+), 575 deletions(-)
---
diff --git a/ice-3.4.2-dont-build-demo-test.patch b/ice-3.4.2-dont-build-demo-test.patch
new file mode 100644
index 0000000..351b85f
--- /dev/null
+++ b/ice-3.4.2-dont-build-demo-test.patch
@@ -0,0 +1,39 @@
+From 1921c9eae58f5141824996cbc85b599073e6ac7c Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Ha=C3=AFkel=20Gu=C3=A9mar?= <hguemar at fedoraproject.org>
+Date: Tue, 29 May 2012 12:36:42 +0200
+Subject: [PATCH 4/9] don't build demo test
+
+---
+ cpp/Makefile | 2 +-
+ cs/Makefile | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/cpp/Makefile b/cpp/Makefile
+index a5de57d..c623a80 100644
+--- a/cpp/Makefile
++++ b/cpp/Makefile
+@@ -11,7 +11,7 @@ top_srcdir = .
+
+ include $(top_srcdir)/config/Make.rules
+
+-SUBDIRS = config src include test demo
++SUBDIRS = config src include
+
+ INSTALL_SUBDIRS = $(install_bindir) $(install_libdir) $(install_includedir) $(install_configdir)
+
+diff --git a/cs/Makefile b/cs/Makefile
+index 5179b44..49b4743 100644
+--- a/cs/Makefile
++++ b/cs/Makefile
+@@ -11,7 +11,7 @@ top_srcdir = .
+
+ include $(top_srcdir)/config/Make.rules.cs
+
+-SUBDIRS = src test demo
++SUBDIRS = src
+
+ install:: install-common
+ @if test ! -d $(install_bindir) ; \
+--
+1.7.10.2
+
diff --git a/ice-3.4.2-gcc46.patch b/ice-3.4.2-gcc46.patch
index 9a2e639..de6cfdb 100644
--- a/ice-3.4.2-gcc46.patch
+++ b/ice-3.4.2-gcc46.patch
@@ -1,3 +1,19 @@
+From ecb9147b36cdd7ed72af555556ae7c34df542b36 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Ha=C3=AFkel=20Gu=C3=A9mar?= <hguemar at fedoraproject.org>
+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
@@ -98,3 +114,6 @@ index f4da896..912aed1 100644
#include <functional>
using namespace std;
+--
+1.7.10.2
+
diff --git a/ice-3.4.2-gcc47.patch b/ice-3.4.2-gcc47.patch
index 1f5255f..343250f 100644
--- a/ice-3.4.2-gcc47.patch
+++ b/ice-3.4.2-gcc47.patch
@@ -1,29 +1,1498 @@
+From 3bf59648721e8b63ccc76cb47a77d45ab4924484 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Ha=C3=AFkel=20Gu=C3=A9mar?= <hguemar at fedoraproject.org>
+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 <cstddef>
+ #include <Ice/Config.h>
+
+ #include <cstddef>
+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<charT>::cleanupKey(void* val)
+ template<typename charT> /*static*/ void
+ IconvStringConverter<charT>::close(std::pair<iconv_t, iconv_t> 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<AsyncResult> 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<T>(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<T, CT>(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<T>(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<T, CT>(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 <Ice/Proxy.h>
+ #include <IceUtil/Shared.h>
+
++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<StreamTraitTypeByteEnum>
+ {
+ if(static_cast<int>(v) < 0 || static_cast<int>(v) >= StreamTrait<T>::enumLimit)
+ {
+- throw MarshalException(__FILE__, __LINE__, "enumerator out of range");
++ IceInternal::delegateThrowMarshalException(__FILE__, __LINE__, "enumerator out of range");
+ }
+ outS->write(static_cast<Byte>(v));
+ }
+@@ -558,7 +561,7 @@ struct StreamReader<StreamTraitTypeByteEnum>
+ inS->read(val);
+ if(val > StreamTrait<T>::enumLimit)
+ {
+- throw MarshalException(__FILE__, __LINE__, "enumerator out of range");
++ IceInternal::delegateThrowMarshalException(__FILE__, __LINE__, "enumerator out of range");
+ }
+ v = static_cast<T>(val);
+ }
+@@ -573,7 +576,7 @@ struct StreamWriter<StreamTraitTypeShortEnum>
+ {
+ if(static_cast<int>(v) < 0 || static_cast<int>(v) >= StreamTrait<T>::enumLimit)
+ {
+- throw MarshalException(__FILE__, __LINE__, "enumerator out of range");
++ IceInternal::delegateThrowMarshalException(__FILE__, __LINE__, "enumerator out of range");
+ }
+ outS->write(static_cast<Short>(v));
+ }
+@@ -589,7 +592,7 @@ struct StreamReader<StreamTraitTypeShortEnum>
+ inS->read(val);
+ if(val < 0 || val > StreamTrait<T>::enumLimit)
+ {
+- throw MarshalException(__FILE__, __LINE__, "enumerator out of range");
++ IceInternal::delegateThrowMarshalException(__FILE__, __LINE__, "enumerator out of range");
+ }
+ v = static_cast<T>(val);
+ }
+@@ -603,7 +606,7 @@ struct StreamWriter<StreamTraitTypeIntEnum>
+ {
+ if(static_cast<int>(v) < 0 || static_cast<int>(v) >= StreamTrait<T>::enumLimit)
+ {
+- throw MarshalException(__FILE__, __LINE__, "enumerator out of range");
++ IceInternal::delegateThrowMarshalException(__FILE__, __LINE__, "enumerator out of range");
+ }
+ outS->write(static_cast<Int>(v));
+ }
+@@ -619,7 +622,7 @@ struct StreamReader<StreamTraitTypeIntEnum>
+ inS->read(val);
+ if(val < 0 || val > StreamTrait<T>::enumLimit)
+ {
+- throw MarshalException(__FILE__, __LINE__, "enumerator out of range");
++ IceInternal::delegateThrowMarshalException(__FILE__, __LINE__, "enumerator out of range");
+ }
+ v = static_cast<T>(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<int>(_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 <Ice/Stream.h>
++#include <Ice/LocalException.h>
+
+ 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<string, ConnectionPtr>::value_type(category, con)).second;
++ _categoryToConnection.insert(map<string, ConnectionPtr>::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<typename Dict> Dict
+-getDictUpdatedElts(const Dict& ldict, const Dict& rdict)
+-{
+-#if defined(_MSC_VER) && (_MSC_VER < 1300)
+- return getDictUpdatedEltsWithEq(ldict, rdict, equal_to<Dict::mapped_type>());
+-#else
+- return getDictUpdatedEltsWithEq(ldict, rdict, equal_to<typename Dict::mapped_type>());
+-#endif
+-}
+
+ template<typename EqFunc, typename Dict> 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<typename Dict> Dict
++getDictUpdatedElts(const Dict& ldict, const Dict& rdict)
++{
++#if defined(_MSC_VER) && (_MSC_VER < 1300)
++ return getDictUpdatedEltsWithEq(ldict, rdict, equal_to<Dict::mapped_type>());
++#else
++ return getDictUpdatedEltsWithEq(ldict, rdict, equal_to<typename Dict::mapped_type>());
++#endif
++}
++
+ template <typename Dict> 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<Allocatable> AllocatablePtr;
+ class SessionI;
+ typedef IceUtil::Handle<SessionI> 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..4f2f9c5 100644
+index 1c1b974..b861e19 100644
--- a/cpp/src/IceUtil/FileUtil.cpp
+++ b/cpp/src/IceUtil/FileUtil.cpp
-@@ -14,6 +14,11 @@
- #include <climits>
- #include <string.h>
+@@ -26,6 +26,10 @@
+ # include <dir.h>
+ #endif
-+#ifdef __linux
-+# include <sys/types.h>
++#if defined(__FreeBSD__) || defined(__linux)
+# include <unistd.h>
+#endif
+
- #ifdef _WIN32
- # include <process.h>
- #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..4ebf1ab 100644
+index af009fe..3966934 100644
--- a/cpp/src/Slice/FileTracker.cpp
+++ b/cpp/src/Slice/FileTracker.cpp
-@@ -9,7 +9,7 @@
+@@ -17,6 +17,10 @@
+ # include <direct.h>
+ #endif
- #include <Slice/FileTracker.h>
++#if defined(__FreeBSD__) || defined(__linux)
++# include <unistd.h>
++#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 << "*);";
+- }
+ }
--#ifdef __sun
-+#if defined(__sun) || defined(__linux)
- # include <unistd.h>
+ 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<string> 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 <io.h>
+ #endif
+
++#if defined(__FreeBSD__) || defined(__linux)
++# include <unistd.h>
++#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<typename T>
++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 <stdlib.h>
+ #endif
+
++#if defined(__FreeBSD__)
++# include <sys/types.h>
++# include <sys/sysctl.h>
++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-3.4.2-java7.patch b/ice-3.4.2-java7.patch
index dce14d5..5350947 100644
--- a/ice-3.4.2-java7.patch
+++ b/ice-3.4.2-java7.patch
@@ -1,3 +1,12 @@
+From 54a3ab16ea3deaea6a6eb7e5d318dd497572e116 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Ha=C3=AFkel=20Gu=C3=A9mar?= <hguemar at fedoraproject.org>
+Date: Tue, 29 May 2012 12:38:17 +0200
+Subject: [PATCH 7/9] java 7 fix
+
+---
+ java/src/IceInternal/OutgoingConnectionFactory.java | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
diff --git a/java/src/IceInternal/OutgoingConnectionFactory.java b/java/src/IceInternal/OutgoingConnectionFactory.java
index 2036c08..c4bc58f 100644
--- a/java/src/IceInternal/OutgoingConnectionFactory.java
@@ -24,3 +33,6 @@ index 2036c08..c4bc58f 100644
return connection;
}
+--
+1.7.10.2
+
diff --git a/ice-3.4.2-jgoodies.patch b/ice-3.4.2-jgoodies.patch
index ac2c299..93698e4 100644
--- a/ice-3.4.2-jgoodies.patch
+++ b/ice-3.4.2-jgoodies.patch
@@ -1,3 +1,14 @@
+From d9a46c2ff4796851028999d0ce9d365d373444b7 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Ha=C3=AFkel=20Gu=C3=A9mar?= <hguemar at fedoraproject.org>
+Date: Tue, 29 May 2012 12:34:08 +0200
+Subject: [PATCH 1/9] jgoodies fix
+
+---
+ java/config/build.properties | 6 +++---
+ java/src/IceGridGUI/ApplicationPane.java | 1 -
+ java/src/IceGridGUI/SimpleInternalFrame.java | 4 ++--
+ 3 files changed, 5 insertions(+), 6 deletions(-)
+
diff --git a/java/config/build.properties b/java/config/build.properties
index 6d53b7b..224b16b 100644
--- a/java/config/build.properties
@@ -42,3 +53,6 @@ index 8f3b017..a60689a 100644
return c != null
? c
: UIManager.getColor("InternalFrame.activeTitleBackground");
+--
+1.7.10.2
+
diff --git a/ice-3.4.2-no-mono.patch b/ice-3.4.2-no-mono.patch
new file mode 100644
index 0000000..2a8fc13
--- /dev/null
+++ b/ice-3.4.2-no-mono.patch
@@ -0,0 +1,29 @@
+From e8f47eb281bb031d78b5ff744bac7019beff53a8 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Ha=C3=AFkel=20Gu=C3=A9mar?= <hguemar at fedoraproject.org>
+Date: Tue, 29 May 2012 12:37:19 +0200
+Subject: [PATCH 5/9] no mono
+
+---
+ Makefile | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 6ea41de..94a4c1a 100644
+--- a/Makefile
++++ b/Makefile
+@@ -7,10 +7,10 @@
+ #
+ # **********************************************************************
+
+-SUBDIRS = cpp java cs py rb php
++SUBDIRS = cpp java py rb php
+ CLEAN_SUBDIRS = java cs py rb php cpp
+ DEPEND_SUBDIRS = cpp cs py rb php
+-INSTALL_SUBDIRS = cpp java cs py rb php
++INSTALL_SUBDIRS = cpp java py rb php
+
+ all::
+ @for subdir in $(SUBDIRS); \
+--
+1.7.10.2
+
diff --git a/ice-3.4.2-php54.patch b/ice-3.4.2-php54.patch
index 215918b..eaecd6a 100644
--- a/ice-3.4.2-php54.patch
+++ b/ice-3.4.2-php54.patch
@@ -1,3 +1,39 @@
+From 1e6cb0adb9566e6beeb27d7b9d8b6bc48ab08c4b Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Ha=C3=AFkel=20Gu=C3=A9mar?= <hguemar at fedoraproject.org>
+Date: Tue, 29 May 2012 12:37:56 +0200
+Subject: [PATCH 6/9] php 5.4 fix
+
+---
+ php/src/IcePHP/Communicator.cpp | 18 ++++++--
+ php/src/IcePHP/Communicator.h | 18 --------
+ php/src/IcePHP/Connection.cpp | 12 ++---
+ php/src/IcePHP/Endpoint.cpp | 12 ++---
+ php/src/IcePHP/Init.cpp | 65 +++++++++++++++++++++++++++-
+ php/src/IcePHP/Logger.cpp | 7 +--
+ php/src/IcePHP/Operation.cpp | 27 +++++++-----
+ php/src/IcePHP/Operation.h | 3 --
+ php/src/IcePHP/Properties.cpp | 7 +--
+ php/src/IcePHP/Properties.h | 10 -----
+ php/src/IcePHP/Proxy.cpp | 17 +++++++-
+ php/src/IcePHP/Types.cpp | 10 +++--
+ php/src/IcePHP/Types.h | 12 -----
+ php/src/IcePHP/Util.cpp | 12 +++--
+ php/src/IcePHP/Util.h | 14 ------
+ php/test/Ice/binding/Client.php | 2 +-
+ php/test/Ice/checksum/Client.php | 2 +-
+ php/test/Ice/exceptions/Client.php | 2 +-
+ php/test/Ice/facets/Client.php | 2 +-
+ php/test/Ice/info/Client.php | 2 +-
+ php/test/Ice/inheritance/Client.php | 2 +-
+ php/test/Ice/objects/Client.php | 2 +-
+ php/test/Ice/operations/Client.php | 2 +-
+ php/test/Ice/proxy/Client.php | 2 +-
+ php/test/Ice/slicing/exceptions/Client.php | 2 +-
+ php/test/Ice/slicing/objects/Client.php | 2 +-
+ php/test/Slice/keyword/Client.php | 2 +-
+ php/test/Slice/structure/Client.php | 2 +-
+ 28 files changed, 161 insertions(+), 109 deletions(-)
+
diff --git a/php/src/IcePHP/Communicator.cpp b/php/src/IcePHP/Communicator.cpp
index fced1eb..781e175 100644
--- a/php/src/IcePHP/Communicator.cpp
@@ -777,3 +813,6 @@ index 8cb1c03..0c73fae 100644
allTests($communicator);
$communicator->destroy();
+--
+1.7.10.2
+
diff --git a/Ice-3.4.0-s390.patch b/ice-3.4.2-s390.patch
similarity index 65%
rename from Ice-3.4.0-s390.patch
rename to ice-3.4.2-s390.patch
index 819b18a..fbc8d86 100644
--- a/Ice-3.4.0-s390.patch
+++ b/ice-3.4.2-s390.patch
@@ -1,6 +1,16 @@
-diff -up Ice-3.4.0/cpp/include/IceUtil/Config.h.s390 Ice-3.4.0/cpp/include/IceUtil/Config.h
---- Ice-3.4.0/cpp/include/IceUtil/Config.h.s390 2010-06-20 10:57:34.000000000 +0200
-+++ Ice-3.4.0/cpp/include/IceUtil/Config.h 2010-06-20 10:59:38.000000000 +0200
+From 7ae86b6ebcb6891f3d94edd9a2b70a91babc7926 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Ha=C3=AFkel=20Gu=C3=A9mar?= <hguemar at fedoraproject.org>
+Date: Tue, 29 May 2012 12:36:01 +0200
+Subject: [PATCH 3/9] s390 fix
+
+---
+ cpp/include/IceUtil/Config.h | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/cpp/include/IceUtil/Config.h b/cpp/include/IceUtil/Config.h
+index 94e72f1..bcf16a6 100644
+--- a/cpp/include/IceUtil/Config.h
++++ b/cpp/include/IceUtil/Config.h
@@ -26,7 +26,7 @@
# define ICE_LITTLE_ENDIAN
#elif defined(__sparc) || defined(__sparc__) || defined(__hppa) || \
@@ -19,3 +29,6 @@ diff -up Ice-3.4.0/cpp/include/IceUtil/Config.h.s390 Ice-3.4.0/cpp/include/IceUt
defined(__hppa) && defined(__LP64__) || \
defined(_ARCH_COM) && defined(__64BIT__) || \
defined(__alpha__) || \
+--
+1.7.10.2
+
diff --git a/ice-3.4.2-slice2cpp.patch b/ice-3.4.2-slice2cpp.patch
index 6499d6d..1c775b6 100644
--- a/ice-3.4.2-slice2cpp.patch
+++ b/ice-3.4.2-slice2cpp.patch
@@ -1,7 +1,7 @@
-From d6f9a9c6afa570c08465e8f00ffc1fc12b6b0017 Mon Sep 17 00:00:00 2001
+From 4d353b987ea908c0630fb69ac7262648466b84a9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ha=C3=AFkel=20Gu=C3=A9mar?= <hguemar at fedoraproject.org>
Date: Mon, 16 Apr 2012 08:54:15 +0200
-Subject: [PATCH] slice2cpp float literals generation fix (RHBZ #812156)
+Subject: [PATCH 8/9] slice2cpp float literals generation fix (RHBZ #812156)
---
cpp/src/slice2cpp/Gen.cpp | 10 +++++++++-
diff --git a/ice.spec b/ice.spec
index ba8a858..d525718 100644
--- a/ice.spec
+++ b/ice.spec
@@ -7,7 +7,7 @@
Name: ice
Version: 3.4.2
-Release: 13%{?dist}
+Release: 14%{?dist}
Summary: ZeroC Object-Oriented middleware
Group: System Environment/Libraries
@@ -32,27 +32,22 @@ Patch0: ice-3.4.2-jgoodies.patch
# fix gcc46 issue
Patch1: ice-3.4.2-gcc46.patch
# Add support for the s390/s390x architecture
-Patch2: Ice-3.4.0-s390.patch
+Patch2: ice-3.4.2-s390.patch
# don't build demo/test
# TODO: should we keep it or not ?
# significantly reduce compile time but shipping demos could be useful
-Patch3: Ice-3.3-dont-build-demo-test.patch
+Patch3: ice-3.4.2-dont-build-demo-test.patch
# disable the CSharp interface
-Patch4: ice-3.4.1-no-mono.patch
+Patch4: ice-3.4.2-no-mono.patch
# fix java 7 compilation
Patch5: ice-3.4.2-java7.patch
# fix php 5.4 compilation (from upstream)
Patch6: ice-3.4.2-php54.patch
-Patch7: ice-3.4.2-gcc47.patch
-# fix this issue, seen in mumble:
-# error: 'upCast' was not declared in this scope, and no declarations
-# were found by argument-dependent lookup at the point of instantiation
-# [-fpermissive]
-# See: http://www.zeroc.com/forums/patches/5647-patch-compiling-ice-clang-gcc4-7-a.html
-Patch8: ice-3.4.2-declfix.patch
# fixed slice2cpp float literals generation fixed upstream in next release RHBZ #812156
# http://www.zeroc.com/forums/bug-reports/5431-default-vaules-slice.html
-Patch9: ice-3.4.2-slice2cpp.patch
+Patch7: ice-3.4.2-slice2cpp.patch
+# See: http://www.zeroc.com/forums/patches/5647-patch-compiling-ice-clang-gcc4-7-a.html
+Patch8: ice-3.4.2-gcc47.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
# Ice doesn't officially support ppc64 at all
@@ -213,17 +208,17 @@ Tools for developing Ice applications in PHP.
%prep
%setup -q -n Ice-%{version}
-%patch0 -p1
-%patch1 -p1
-%patch2 -p1
-%patch3 -p1
+%patch0 -p1 -b .jgoodies
+%patch1 -p1 -b .gcc46
+%patch2 -p1 -b .s390
+%patch3 -p1 -b .demo
%if ! 0%{?with_mono}
-%patch4 -p1
+%patch4 -p1 -b .no-mono
%endif
-%patch5 -p1
+%patch5 -p1 -b .java7
%patch6 -p1 -b .php54
-%patch7 -p1
-%patch8 -p1 -b .declfix
+%patch7 -p1 -b .slice2cpp
+%patch8 -p1 -b .gcc47
%{__tar} xf %{SOURCE1}
rm -f ice-3.4.2-man-pages/slice2docbook.1
@@ -607,6 +602,9 @@ fi
%changelog
+* Tue May 29 2012 Haïkel Guémar <hguemar at fedoraproject.org> - 3.4.2-14
+- refresh all patches
+
* Tue May 22 2012 Haïkel Guémar <hguemar at fedoraproject.org> - 3.4.2-13
- fix slice2cpp patch
More information about the scm-commits
mailing list