diff options
Diffstat (limited to 'cpp')
-rw-r--r-- | cpp/INSTALL.HP-UX | 172 | ||||
-rw-r--r-- | cpp/demo/Freeze/casino/BankI.h | 2 | ||||
-rw-r--r-- | cpp/demo/Freeze/casino/BetResolver.h | 2 | ||||
-rw-r--r-- | cpp/demo/Freeze/casino/Server.cpp | 2 | ||||
-rw-r--r-- | cpp/src/Freeze/TransactionalEvictorContext.cpp | 19 | ||||
-rw-r--r-- | cpp/src/Freeze/TransactionalEvictorI.cpp | 8 | ||||
-rw-r--r-- | cpp/src/Glacier2/Instance.h | 26 | ||||
-rw-r--r-- | cpp/src/Glacier2/RequestQueue.cpp | 1 | ||||
-rw-r--r-- | cpp/src/Glacier2/SessionRouterI.h | 4 | ||||
-rw-r--r-- | cpp/src/Ice/EndpointI.h | 2 | ||||
-rw-r--r-- | cpp/src/IceGrid/DescriptorHelper.cpp | 8 | ||||
-rw-r--r-- | cpp/test/Ice/background/EndpointI.h | 2 | ||||
-rw-r--r-- | cpp/test/Ice/gc/Client.cpp | 4 |
13 files changed, 20 insertions, 232 deletions
diff --git a/cpp/INSTALL.HP-UX b/cpp/INSTALL.HP-UX deleted file mode 100644 index f3ae870364c..00000000000 --- a/cpp/INSTALL.HP-UX +++ /dev/null @@ -1,172 +0,0 @@ -====================================================================== -Unsupported Platform -====================================================================== - -Ice is no longer supported on HP-UX. The following instructions are -believed to be correct, but are provided without any guarantee. - -====================================================================== -Requirements -====================================================================== - - -Operating System ----------------- - -HP-UX 11i (11.11) on PA-RISC. - -You also need the "HP-UX Strong Random Number Generator", available -for free from http://software.hp.com. - - -C++ compiler ------------- - -HP aC++ A.03.56 - -More recent versions of aC++ are likely to work as well. - - -C compiler ----------- - -HP C/ANSI C compiler (cc). - - -Third-party libraries ---------------------- - -Ice has dependencies on a number of third-party libraries: - -- Berkeley DB 4.6.21 -- expat 1.95.7 or 2.0.0 -- OpenSSL 0.9.7 or later (OpenSSL 0.9.8 or later recommended) -- bzip2 1.0.x -- mcpp 2.7.2 - -We recommend downloading the Ice third-party source archive from - - http://www.zeroc.com/download.html - -This archive contains the source distributions for each of the -third-party dependencies, as well as required source patches and -configuration instructions. - -For more information about these dependencies, please refer to -the links below: - -Berkeley DB http://www.oracle.com/database/berkeley-db/index.html -expat http://expat.sourceforge.net -OpenSSL http://www.openssl.org -bzip2 http://sources.redhat.com/bzip2 -mcpp http://mcpp.sourceforge.net - - -GNU Make 3.80 -------------- - -GNU Make 3.80 is required to build Ice on HP-UX. You can download GNU -Make from the "Software Porting And Archive Centre for HP-UX", -http://hpux.cs.utah.edu. - - - - -====================================================================== -Compilation and Testing -====================================================================== - -Extract the Ice archive in any directory you like (for example, in -your home directory): - -$ gunzip -c Ice-@ver@.tar.gz | tar xvf - - -Change the working directory to Ice-@ver@/cpp: - -$ cd Ice-@ver@/cpp - -Edit config/Make.rules to establish your build configuration. The -comments in the file provide more information. Pay particular -attention to the variables that define the locations of the third- -party libraries. - -Now you're ready to build Ice: - -$ gmake - -This will build the Ice core libraries, services, tests and examples. - -Python is required to run the test suite: - - http://www.python.org/download - -After a successful build, you can run the test suite: - -$ gmake test - -This is equivalent to: - -$ python allTests.py - -If everything worked out, you should see lots of "ok" messages. In -case of a failure, the tests abort with "failed". - -If you want to try out any of the demos, make sure to update your PATH -environment variable to add the "bin" directory, and your SHLIB_PATH -environment variable to add the "lib" directory. For 64-bit builds, -add "lib" to LD_LIBRARY_PATH: - -$ export PATH=`pwd`/bin:$PATH -$ export SHLIB_PATH=`pwd`/lib:$SHLIB_PATH -$ export LD_LIBRARY_PATH=`pwd`/lib:$LD_LIBRARY_PATH - - -====================================================================== -64-bit builds -====================================================================== - -To build Ice in 64-bit mode, you need to: - -- Obtain or build all the third-party dependencies, and put the 64-bit - libraries in the "lib/pa20_64" directories. For example, put - Berkeley DB 64-bit libraries in $DB_HOME/lib/pa20_64. - -- Set the environment variable LP64 to yes, as shown below: - - $ export LP64=yes - -- Build and test as described above. - - -====================================================================== -IPv6 Multicast -====================================================================== - -Unlike on other platforms, interface indexes cannot be used to -configure the interface to use for a IPv6 multicast endpoint. Instead -the IP address must be used instead. - - -====================================================================== -Installation -====================================================================== - -Simply run "gmake install". This will install Ice in the directory -specified by the "prefix" variable in config/Make.rules. - -After installation, make sure that the <prefix>/bin directory is in -your PATH, and the <prefix>/lib directory is in your SHLIB_PATH. When -compiling Ice programs, you must pass the location of the -<prefix>/include directory to the compiler with the -I option, and the -location of the <prefix>/lib directory with the -L option. - -If you built in 64-bit mode, the libraries are installed in -<prefix>/lib/pa20_64 and the binaries are installed in -<prefix>/bin/pa20_64. No other changes are necessary. - -====================================================================== -Usage -====================================================================== - -Ice is built with _XOPEN_SOURCE and _XOPEN_SOURCE_EXTENDED defined; -therefore all Ice-based programs need to be linked with -lxnet. diff --git a/cpp/demo/Freeze/casino/BankI.h b/cpp/demo/Freeze/casino/BankI.h index 51e81b1f521..6b932d3165c 100644 --- a/cpp/demo/Freeze/casino/BankI.h +++ b/cpp/demo/Freeze/casino/BankI.h @@ -55,7 +55,7 @@ private: std::vector<CasinoStore::PersistentBetPrx> getBets(const Ice::ObjectAdapterPtr&) const; -#if defined(__hpux) || (defined(_MSC_VER) && (_MSC_VER < 1300)) || defined(__BCPLUSPLUS__) +#if (defined(_MSC_VER) && (_MSC_VER < 1300)) || defined(__BCPLUSPLUS__) // // Some compilers don't let local classes access private data members // diff --git a/cpp/demo/Freeze/casino/BetResolver.h b/cpp/demo/Freeze/casino/BetResolver.h index 5567b422c78..a7f559232f9 100644 --- a/cpp/demo/Freeze/casino/BetResolver.h +++ b/cpp/demo/Freeze/casino/BetResolver.h @@ -30,7 +30,7 @@ public: int getBetCount() const; -#if !defined(__hpux) && (!defined(_MSC_VER) || (_MSC_VER >= 1300)) && (!defined(__BCPLUSPLUS__)) +#if (!defined(_MSC_VER) || (_MSC_VER >= 1300)) && (!defined(__BCPLUSPLUS__)) // // Some compilers don't let local classes access private members // diff --git a/cpp/demo/Freeze/casino/Server.cpp b/cpp/demo/Freeze/casino/Server.cpp index 4c85714f4e1..aa552402483 100644 --- a/cpp/demo/Freeze/casino/Server.cpp +++ b/cpp/demo/Freeze/casino/Server.cpp @@ -30,7 +30,7 @@ private: map<string, string> createTypeMap(const string&); const string _envName; -#if defined(__hpux) || (defined(_MSC_VER) && (_MSC_VER < 1300)) || defined(__BCPLUSPLUS__) +#if (defined(_MSC_VER) && (_MSC_VER < 1300)) || defined(__BCPLUSPLUS__) // // Some compilers don't let local classes access private data members // diff --git a/cpp/src/Freeze/TransactionalEvictorContext.cpp b/cpp/src/Freeze/TransactionalEvictorContext.cpp index 9123b732557..bc5dca6ee9d 100644 --- a/cpp/src/Freeze/TransactionalEvictorContext.cpp +++ b/cpp/src/Freeze/TransactionalEvictorContext.cpp @@ -273,15 +273,6 @@ Freeze::TransactionalEvictorContext::ServantHolder::ServantHolder() : Freeze::TransactionalEvictorContext::ServantHolder::~ServantHolder() { -#ifdef __HP_aCC -// -// The HP aCC compiler has a tendency to run dtors several times when an exception is raised: -// a very nasty bug! -// - try - { -#endif - if(_ownBody && _body.ownServant) { const TransactionalEvictorContextPtr& ctx = *(_body.ctx); @@ -302,16 +293,6 @@ Freeze::TransactionalEvictorContext::ServantHolder::~ServantHolder() } ctx->_stack.pop_front(); } -#ifdef __HP_aCC - _body.rec.servant = 0; - } - catch(...) - { - _body.rec.servant = 0; - throw; - } -#endif - } diff --git a/cpp/src/Freeze/TransactionalEvictorI.cpp b/cpp/src/Freeze/TransactionalEvictorI.cpp index c659cfdf198..f9b0a627e89 100644 --- a/cpp/src/Freeze/TransactionalEvictorI.cpp +++ b/cpp/src/Freeze/TransactionalEvictorI.cpp @@ -557,14 +557,6 @@ Freeze::TransactionalEvictorI::dispatch(Request& request) return dispatchStatus; } -#ifdef __HP_aCC - // COMPILER BUG - catch(const std::exception&) - { - ctx->rollback(); - throw; - } -#endif catch(...) { // diff --git a/cpp/src/Glacier2/Instance.h b/cpp/src/Glacier2/Instance.h index f1762b24b46..9ed1c814e24 100644 --- a/cpp/src/Glacier2/Instance.h +++ b/cpp/src/Glacier2/Instance.h @@ -17,13 +17,11 @@ #include <Glacier2/RequestQueue.h> #include <Glacier2/ProxyVerifier.h> +#include <Glacier2/SessionRouterI.h> namespace Glacier2 { -class SessionRouterI; -typedef IceUtil::Handle<SessionRouterI> SessionRouterIPtr; - class Instance : public IceUtil::Shared { public: @@ -31,20 +29,16 @@ public: Instance(const Ice::CommunicatorPtr&, const Ice::ObjectAdapterPtr&, const Ice::ObjectAdapterPtr&); ~Instance(); - // - // COMPILERFIX: returning const& is necessary on HP-UX (otherwise, it crashes in the Blobject - // constructor). - // - const Ice::CommunicatorPtr& communicator() const { return _communicator; } - const Ice::ObjectAdapterPtr& clientObjectAdapter() const { return _clientAdapter; } - const Ice::ObjectAdapterPtr& serverObjectAdapter() const { return _serverAdapter; } - const Ice::PropertiesPtr& properties() const { return _properties; } - const Ice::LoggerPtr& logger() const { return _logger; } + Ice::CommunicatorPtr communicator() const { return _communicator; } + Ice::ObjectAdapterPtr clientObjectAdapter() const { return _clientAdapter; } + Ice::ObjectAdapterPtr serverObjectAdapter() const { return _serverAdapter; } + Ice::PropertiesPtr properties() const { return _properties; } + Ice::LoggerPtr logger() const { return _logger; } - const RequestQueueThreadPtr& clientRequestQueueThread() const { return _clientRequestQueueThread; } - const RequestQueueThreadPtr& serverRequestQueueThread() const { return _serverRequestQueueThread; } - const ProxyVerifierPtr& proxyVerifier() const { return _proxyVerifier; } - const SessionRouterIPtr& sessionRouter() const { return _sessionRouter; } + RequestQueueThreadPtr clientRequestQueueThread() const { return _clientRequestQueueThread; } + RequestQueueThreadPtr serverRequestQueueThread() const { return _serverRequestQueueThread; } + ProxyVerifierPtr proxyVerifier() const { return _proxyVerifier; } + SessionRouterIPtr sessionRouter() const { return _sessionRouter; } void destroy(); diff --git a/cpp/src/Glacier2/RequestQueue.cpp b/cpp/src/Glacier2/RequestQueue.cpp index 61f85b2c34a..904f3d6c578 100644 --- a/cpp/src/Glacier2/RequestQueue.cpp +++ b/cpp/src/Glacier2/RequestQueue.cpp @@ -8,6 +8,7 @@ // ********************************************************************** #include <Glacier2/RequestQueue.h> +#include <Glacier2/Instance.h> #include <Glacier2/SessionRouterI.h> #include <set> diff --git a/cpp/src/Glacier2/SessionRouterI.h b/cpp/src/Glacier2/SessionRouterI.h index 5eed65fb77b..87ebd7a5a80 100644 --- a/cpp/src/Glacier2/SessionRouterI.h +++ b/cpp/src/Glacier2/SessionRouterI.h @@ -15,7 +15,6 @@ #include <Ice/Ice.h> #include <Glacier2/PermissionsVerifierF.h> #include <Glacier2/Router.h> -#include <Glacier2/Instance.h> #include <set> #include <IceUtil/DisableWarnings.h> @@ -33,6 +32,9 @@ typedef IceUtil::Handle<FilterManager> FilterManagerPtr; class CreateSession; typedef IceUtil::Handle<CreateSession> CreateSessionPtr; + +class Instance; +typedef IceUtil::Handle<Instance> InstancePtr; class CreateSession : public IceUtil::Shared { diff --git a/cpp/src/Ice/EndpointI.h b/cpp/src/Ice/EndpointI.h index 4f9a16ccffe..c22a00d6763 100644 --- a/cpp/src/Ice/EndpointI.h +++ b/cpp/src/Ice/EndpointI.h @@ -155,7 +155,7 @@ protected: private: -#if defined(__SUNPRO_CC) || defined(__HP_aCC) +#if defined(__SUNPRO_CC) // // COMPILERFIX: prevent the compiler from emitting a warning about // hidding these operators. diff --git a/cpp/src/IceGrid/DescriptorHelper.cpp b/cpp/src/IceGrid/DescriptorHelper.cpp index 5fb6b0f8f49..1692300df84 100644 --- a/cpp/src/IceGrid/DescriptorHelper.cpp +++ b/cpp/src/IceGrid/DescriptorHelper.cpp @@ -2712,14 +2712,8 @@ ApplicationHelper::update(const ApplicationUpdateDescriptor& updt) const NodeHelperDict::const_iterator q = _nodes.find(p->name); if(q != _nodes.end()) // Updated node { - // - // COMPILERBUG: AIX xlC (Visual Age 6, 64bit builds) - // requires the `desc' temporary here. We can't do the - // update call in the make_pair call directly (this - // results in a SEGFAULT at runtime). - // NodeDescriptor desc = q->second.update(*p, resolve); - def.nodes.insert(make_pair(p->name, desc)); + def.nodes.insert(make_pair(p->name, q->second.update(*p, resolve))); } else // New node { diff --git a/cpp/test/Ice/background/EndpointI.h b/cpp/test/Ice/background/EndpointI.h index 65c7d47f158..62f420c6ff9 100644 --- a/cpp/test/Ice/background/EndpointI.h +++ b/cpp/test/Ice/background/EndpointI.h @@ -53,7 +53,7 @@ private: EndpointI(const IceInternal::EndpointIPtr&); friend class EndpointFactory; -#if defined(__SUNPRO_CC) || defined(__HP_aCC) +#if defined(__SUNPRO_CC) // // COMPILERFIX: prevent the compiler from emitting a warning about // hidding these operators. diff --git a/cpp/test/Ice/gc/Client.cpp b/cpp/test/Ice/gc/Client.cpp index 0936f6b2b50..42a7f051f98 100644 --- a/cpp/test/Ice/gc/Client.cpp +++ b/cpp/test/Ice/gc/Client.cpp @@ -614,10 +614,6 @@ MyApplication::run(int argc, char* argv[]) cout << "ok" << endl; -#if defined(_AIX) - cout << "The following test may take a long time (like one full minute); please be patient." << endl; -#endif - cout << "testing for race conditions... " << flush; string seedfile = argv[1]; ofstream file(seedfile.c_str()); |