summaryrefslogtreecommitdiff
path: root/cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp')
-rw-r--r--cpp/CHANGES2
-rw-r--r--cpp/config/Make.rules.OSF138
-rw-r--r--cpp/demo/Ice/throughput/Client.cpp2
-rw-r--r--cpp/demo/Ice/throughput/ThroughputI.cpp2
-rw-r--r--cpp/include/IceUtil/AutoArray.h6
-rw-r--r--cpp/src/Ice/Application.cpp8
-rw-r--r--cpp/src/Ice/Network.h2
-rw-r--r--cpp/src/IceGrid/DescriptorHelper.h60
-rw-r--r--cpp/src/slice2freeze/Main.cpp5
-rw-r--r--cpp/src/slice2freezej/Main.cpp5
-rw-r--r--cpp/test/Ice/operations/BatchOneways.cpp6
11 files changed, 89 insertions, 47 deletions
diff --git a/cpp/CHANGES b/cpp/CHANGES
index a4431a5463b..305f2dcdf7c 100644
--- a/cpp/CHANGES
+++ b/cpp/CHANGES
@@ -1,6 +1,8 @@
Changes since version 3.0.1
---------------------------
+- Integrated contributed updates for Tru64.
+
- Added a new method addProxies() to Ice::Router, which can return
evicted proxies. The old method addProxy() is now deprecated. Note
that this is an internal interface for communications between
diff --git a/cpp/config/Make.rules.OSF1 b/cpp/config/Make.rules.OSF1
index d9a7e0fe80c..59d256ee42d 100644
--- a/cpp/config/Make.rules.OSF1
+++ b/cpp/config/Make.rules.OSF1
@@ -12,25 +12,47 @@
#
#
-# Default compiler is g++
+# Default compiler is Compaq C++
#
ifeq ($(CXX),)
- CXX = g++
+ CXX = cxx
endif
+CC = /usr/ucb/cc -D__osf1__
-ifeq ($(CXX),g++)
+
+ifeq ($(CXX),cxx)
+
+ CXXFLAGS = $(CXXARCHFLAGS) -pthread -std gnu -D_REENTRANT -D__USE_STD_IOSTREAM -D__osf1__ -msg_display_tag -msg_disable codeunreachable,codcauunr,labelnotreach
+
+ ifeq ($(OPTIMIZE),yes)
+ CXXFLAGS = -O2 -DNDEBUG -tune host
+ else
+ CXXFLAGS = -g
+ endif
+
+ #
+ # C++ run-time libraries, necessary for linking some shared libraries.
+ #
+ CXXLIBS =
+
+ mkshlib = $(CXX) -shared $(LDFLAGS) -o $(1) -soname $(2) $(3) $(4) -lpthread
+
+ mklib = ar cr $(1) $(2)
+endif
+
+ifeq ($(CXX),g)
CXXFLAGS = $(CXXARCHFLAGS) -ftemplate-depth-128 -Wall -D_REENTRANT
ifeq ($(STATICLIBS),)
- CXXFLAGS += -fPIC
+ CXXFLAGS = -fPIC
endif
ifeq ($(OPTIMIZE),yes)
- CXXFLAGS += -O3 -DNDEBUG
+ CXXFLAGS = -O3 -DNDEBUG
else
- CXXFLAGS += -g
+ CXXFLAGS = -g
endif
#
@@ -47,7 +69,7 @@ endif
BASELIBS = -lIceUtil -lpthread
LIBS = -lIce $(BASELIBS)
-ICEUTIL_OS_LIBS =
-ICE_OS_LIBS = -ldl
+ICEUTIL_OS_LIBS = -lrt
+ICE_OS_LIBS =
export LD_LIBRARY_PATH := $(libdir):$(LD_LIBRARY_PATH)
diff --git a/cpp/demo/Ice/throughput/Client.cpp b/cpp/demo/Ice/throughput/Client.cpp
index 11dbd0facf3..2fafd41a5c6 100644
--- a/cpp/demo/Ice/throughput/Client.cpp
+++ b/cpp/demo/Ice/throughput/Client.cpp
@@ -54,7 +54,7 @@ ThroughputClient::run(int argc, char* argv[])
}
ThroughputPrx throughputOneway = ThroughputPrx::uncheckedCast(throughput->ice_oneway());
- ByteSeq byteSeq(ByteSeqSize, 0);
+ ByteSeq byteSeq(ByteSeqSize);
pair<const Ice::Byte*, const Ice::Byte*> byteArr;
byteArr.first = &byteSeq[0];
byteArr.second = byteArr.first + byteSeq.size();
diff --git a/cpp/demo/Ice/throughput/ThroughputI.cpp b/cpp/demo/Ice/throughput/ThroughputI.cpp
index a04a20d3cfe..b769c6c54de 100644
--- a/cpp/demo/Ice/throughput/ThroughputI.cpp
+++ b/cpp/demo/Ice/throughput/ThroughputI.cpp
@@ -11,7 +11,7 @@
#include <Ice/Ice.h>
ThroughputI::ThroughputI() :
- _byteSeq(Demo::ByteSeqSize, 0),
+ _byteSeq(Demo::ByteSeqSize),
_stringSeq(Demo::StringSeqSize, "hello"),
_structSeq(Demo::StringDoubleSeqSize),
_fixedSeq(Demo::FixedSeqSize)
diff --git a/cpp/include/IceUtil/AutoArray.h b/cpp/include/IceUtil/AutoArray.h
index 3f59392a0e9..65e29510b6b 100644
--- a/cpp/include/IceUtil/AutoArray.h
+++ b/cpp/include/IceUtil/AutoArray.h
@@ -7,8 +7,8 @@
//
// **********************************************************************
-#ifndef ICEE_AUTO_ARRAY_H
-#define ICEE_AUTO_ARRAY_H
+#ifndef ICE_UTIL_AUTO_ARRAY_H
+#define ICE_UTIL_AUTO_ARRAY_H
namespace IceUtil
{
@@ -62,6 +62,6 @@ private:
T* _ptr;
};
-}; // End of namespace IceUtil
+} // End of namespace IceUtil
#endif
diff --git a/cpp/src/Ice/Application.cpp b/cpp/src/Ice/Application.cpp
index de1b38b2efe..074f9f690bc 100644
--- a/cpp/src/Ice/Application.cpp
+++ b/cpp/src/Ice/Application.cpp
@@ -51,6 +51,14 @@ const DWORD SIGHUP = CTRL_LOGOFF_EVENT;
#endif
//
+// Compaq C++ defines signal() as a macro, causing problems with the _condVar->signal()
+// statement, which the compiler for some reason replaces by the macro.
+//
+#if defined (__digital__) && defined (__unix__)
+# undef signal
+#endif
+
+//
// CtrlCHandler callbacks.
//
diff --git a/cpp/src/Ice/Network.h b/cpp/src/Ice/Network.h
index c35d899089a..f81fc8c03e8 100644
--- a/cpp/src/Ice/Network.h
+++ b/cpp/src/Ice/Network.h
@@ -36,7 +36,7 @@ typedef int ssize_t;
# include <netdb.h>
#endif
-#ifdef _WIN32
+#if defined(_WIN32) || defined(__osf__)
typedef int socklen_t;
#endif
diff --git a/cpp/src/IceGrid/DescriptorHelper.h b/cpp/src/IceGrid/DescriptorHelper.h
index 413b81b0832..5396a27b9d5 100644
--- a/cpp/src/IceGrid/DescriptorHelper.h
+++ b/cpp/src/IceGrid/DescriptorHelper.h
@@ -135,36 +135,6 @@ private:
};
typedef IceUtil::Handle<ServerHelper> ServerHelperPtr;
-class ServiceInstanceHelper;
-
-class IceBoxHelper : public ServerHelper
-{
-public:
-
- IceBoxHelper(const IceBoxDescriptorPtr&);
- IceBoxHelper() { }
-
- bool operator==(const IceBoxHelper&) const;
- bool operator!=(const IceBoxHelper&) const;
-
- virtual ServerDescriptorPtr instantiate(const Resolver&) const;
-
- virtual void getIds(std::multiset<std::string>&, std::multiset<Ice::Identity>&) const;
-
- void print(IceUtil::Output&) const;
- void print(IceUtil::Output&, const std::string&, const std::string&) const;
-
-protected:
-
- void instantiateImpl(const IceBoxDescriptorPtr&, const Resolver&) const;
-
-private:
-
- IceBoxDescriptorPtr _desc;
-
- std::vector<ServiceInstanceHelper> _services;
-};
-
class InstanceHelper
{
protected:
@@ -176,6 +146,7 @@ protected:
const std::map<std::string, std::string>&) const;
};
+
class ServiceInstanceHelper : public InstanceHelper
{
public:
@@ -198,6 +169,35 @@ private:
mutable ServiceHelper _service;
};
+
+class IceBoxHelper : public ServerHelper
+{
+public:
+
+ IceBoxHelper(const IceBoxDescriptorPtr&);
+ IceBoxHelper() { }
+
+ bool operator==(const IceBoxHelper&) const;
+ bool operator!=(const IceBoxHelper&) const;
+
+ virtual ServerDescriptorPtr instantiate(const Resolver&) const;
+
+ virtual void getIds(std::multiset<std::string>&, std::multiset<Ice::Identity>&) const;
+
+ void print(IceUtil::Output&) const;
+ void print(IceUtil::Output&, const std::string&, const std::string&) const;
+
+protected:
+
+ void instantiateImpl(const IceBoxDescriptorPtr&, const Resolver&) const;
+
+private:
+
+ IceBoxDescriptorPtr _desc;
+
+ std::vector<ServiceInstanceHelper> _services;
+};
+
class ServerInstanceHelper : public InstanceHelper
{
public:
diff --git a/cpp/src/slice2freeze/Main.cpp b/cpp/src/slice2freeze/Main.cpp
index ce84b94782d..992289e0f14 100644
--- a/cpp/src/slice2freeze/Main.cpp
+++ b/cpp/src/slice2freeze/Main.cpp
@@ -30,6 +30,11 @@ struct DictIndex
{
return member == rhs.member;
}
+
+ bool operator!=(const DictIndex& rhs) const
+ {
+ return member != rhs.member;
+ }
};
struct Dict
diff --git a/cpp/src/slice2freezej/Main.cpp b/cpp/src/slice2freezej/Main.cpp
index 56ec6c74a7f..e631b8bf955 100644
--- a/cpp/src/slice2freezej/Main.cpp
+++ b/cpp/src/slice2freezej/Main.cpp
@@ -24,6 +24,11 @@ struct DictIndex
{
return member == rhs.member;
}
+
+ bool operator!=(const DictIndex& rhs) const
+ {
+ return member != rhs.member;
+ }
};
struct Dict
diff --git a/cpp/test/Ice/operations/BatchOneways.cpp b/cpp/test/Ice/operations/BatchOneways.cpp
index 733ba3fceb5..7749e88be68 100644
--- a/cpp/test/Ice/operations/BatchOneways.cpp
+++ b/cpp/test/Ice/operations/BatchOneways.cpp
@@ -16,9 +16,9 @@ using namespace std;
void
batchOneways(const Test::MyClassPrx& p)
{
- const Test::ByteS bs1(10 * 1024, 0);
- const Test::ByteS bs2(99 * 1024, 0);
- const Test::ByteS bs3(100 * 1024, 0);
+ const Test::ByteS bs1(10 * 1024);
+ const Test::ByteS bs2(99 * 1024);
+ const Test::ByteS bs3(100 * 1024);
try
{