Author: shuston
Date: Wed Feb  4 17:37:19 2015
New Revision: 1657338

URL: http://svn.apache.org/r1657338
Log:
Apply patches for QPID-6312 to get Qpid building on AIX with XL C++ 13.1

Modified:
    qpid/trunk/qpid/cpp/CMakeLists.txt
    qpid/trunk/qpid/cpp/INSTALL
    qpid/trunk/qpid/cpp/src/CMakeLists.txt
    qpid/trunk/qpid/cpp/src/config.h.cmake
    qpid/trunk/qpid/cpp/src/qpid/InlineAllocator.h
    qpid/trunk/qpid/cpp/src/qpid/Options.cpp
    qpid/trunk/qpid/cpp/src/qpid/RangeSet.h
    qpid/trunk/qpid/cpp/src/qpid/RefCounted.h
    qpid/trunk/qpid/cpp/src/qpid/SessionId.h
    qpid/trunk/qpid/cpp/src/qpid/amqp/MapEncoder.h
    qpid/trunk/qpid/cpp/src/qpid/broker/QueueRegistry.h
    qpid/trunk/qpid/cpp/src/qpid/broker/TopicKeyNode.h
    qpid/trunk/qpid/cpp/src/qpid/broker/amqp/Filter.h
    qpid/trunk/qpid/cpp/src/qpid/store/MessageStorePlugin.h
    qpid/trunk/qpid/cpp/src/qpid/sys/FreeBSD/uuid.cpp
    qpid/trunk/qpid/cpp/src/qpid/sys/Thread.h
    qpid/trunk/qpid/cpp/src/qpid/sys/posix/AsynchIO.cpp
    qpid/trunk/qpid/cpp/src/qpid/sys/posix/Thread.cpp
    qpid/trunk/qpid/cpp/src/qpid/sys/posix/Time.cpp
    qpid/trunk/qpid/cpp/src/qpid/sys/unordered_map.h
    qpid/trunk/qpid/cpp/src/qpid/types/Variant.cpp
    qpid/trunk/qpid/cpp/src/tests/TimerTest.cpp

Modified: qpid/trunk/qpid/cpp/CMakeLists.txt
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/CMakeLists.txt?rev=1657338&r1=1657337&r2=1657338&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/CMakeLists.txt (original)
+++ qpid/trunk/qpid/cpp/CMakeLists.txt Wed Feb  4 17:37:19 2015
@@ -182,6 +182,11 @@ if (CMAKE_CXX_COMPILER_ID STREQUAL SunPr
   set (HIDE_SYMBOL_FLAGS "")
 endif (CMAKE_CXX_COMPILER_ID STREQUAL SunPro)
 
+# XL is IBM XL C/C++
+if (CMAKE_CXX_COMPILER_ID MATCHES XL)
+  set (COMPILER_FLAGS "-qtls -qrtti")
+endif (CMAKE_CXX_COMPILER_ID MATCHES XL)
+
 if (CMAKE_SYSTEM_NAME STREQUAL Windows)
   # Allow MSVC user to select 'WinXP-SP3/Windows Server 2003' as build target 
version
   set (win32_winnt_default OFF)

Modified: qpid/trunk/qpid/cpp/INSTALL
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/INSTALL?rev=1657338&r1=1657337&r2=1657338&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/INSTALL (original)
+++ qpid/trunk/qpid/cpp/INSTALL Wed Feb  4 17:37:19 2015
@@ -91,7 +91,7 @@ Or if you have only have a command line
 
 2.1 Building as C++11 (Experimental)
 ====================================
-Currently the Qpoid project uses C++ that conforms to the C++03 standard, as 
currently
+Currently the Qpid project uses C++ that conforms to the C++03 standard, as 
currently
 this is the C++ standard that is supported the most widely, so any new code 
must also
 compile as C++03. As an experiment (and to support a few extra platforms) the 
Qpid code
 will also now build as C++11.
@@ -141,6 +141,23 @@ If you want to use the ports version of
 Which will allow cmake to find libraries installed in /usr/local (which is 
where cyrus-sasl gets
 installed by ports).
 
+2.4 Building on AIX
+===================
+Qpid has been tested on AIX 7.1 with XL C++ 13.1 and Boost 1.55.0. The
+thread-using variant of the compiler must be used but it isn't the default
+picked up by cmake. Thus, the compiler must be specified at cmake time.
+For example (assuming PATH includes the compiler binaries):
+
+ # CXX=xlC_r CC=cc_r cmake ..
+
+Warnings from Boost header files are expected and can be ignored.
+
+It is normal to see (lots of) multiply-defined symbol warnings when linking
+the shared libraries built as part of Qpid.
+
+The mktemp package must be installed separately in order to execute the
+Qpid test suite.
+
 3. Building a Repository Working Copy
 =====================================
 To get the source code from the subversion repository (trunk) do:

Modified: qpid/trunk/qpid/cpp/src/CMakeLists.txt
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/CMakeLists.txt?rev=1657338&r1=1657337&r2=1657338&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/CMakeLists.txt (original)
+++ qpid/trunk/qpid/cpp/src/CMakeLists.txt Wed Feb  4 17:37:19 2015
@@ -42,6 +42,7 @@ include(CheckIncludeFiles)
 include(CheckIncludeFileCXX)
 include(CheckLibraryExists)
 include(CheckSymbolExists)
+include(CheckSizeTNativeType)
 
 find_package(PkgConfig)
 find_package(Ruby)
@@ -350,6 +351,8 @@ if (NOT CMAKE_SYSTEM_NAME STREQUAL Windo
   mark_as_advanced(QPID_POLLER)
 endif (NOT CMAKE_SYSTEM_NAME STREQUAL Windows)
 
+check_size_t_native_type (QPID_SIZE_T_NATIVE)
+
 option(BUILD_SASL "Build with Cyrus SASL support" ${SASL_FOUND})
 if (BUILD_SASL)
   if (NOT SASL_FOUND)
@@ -684,6 +687,12 @@ else (CMAKE_SYSTEM_NAME STREQUAL Windows
     )
   endif (CMAKE_SYSTEM_NAME STREQUAL SunOS)
 
+  if (CMAKE_SYSTEM_NAME STREQUAL AIX)
+    set (qpid_system_module
+      qpid/sys/aix/SystemInfo.cpp
+    )
+  endif (CMAKE_SYSTEM_NAME STREQUAL AIX)
+
   if (CMAKE_CXX_COMPILER_ID STREQUAL SunPro)
     # -lmalloc needed for mallinfo.
     set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -lmalloc")
@@ -1145,6 +1154,9 @@ set_target_properties (qpidbroker PROPER
                        VERSION ${qpidbroker_version}
                        SOVERSION ${qpidbroker_version_major}
                        COMPILE_DEFINITIONS _IN_QPID_BROKER)
+if (CMAKE_CXX_COMPILER_ID MATCHES XL)
+  set_target_properties (qpidbroker PROPERTIES LINK_FLAGS -Wl,-bbigtoc)
+endif (CMAKE_CXX_COMPILER_ID MATCHES XL)
 
 if (MSVC)
   set_target_properties (qpidbroker PROPERTIES COMPILE_FLAGS /wd4290)

Modified: qpid/trunk/qpid/cpp/src/config.h.cmake
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/config.h.cmake?rev=1657338&r1=1657337&r2=1657338&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/config.h.cmake (original)
+++ qpid/trunk/qpid/cpp/src/config.h.cmake Wed Feb  4 17:37:19 2015
@@ -56,6 +56,7 @@
 #cmakedefine HAVE_SYS_SDT_H ${HAVE_SYS_SDT_H}
 #cmakedefine HAVE_LOG_AUTHPRIV
 #cmakedefine HAVE_LOG_FTP
+#cmakedefine QPID_SIZE_T_NATIVE
 #cmakedefine HAVE_PROTON_TRACER
 #cmakedefine USE_PROTON_TRANSPORT_CONDITION
 #cmakedefine HAVE_PROTON_EVENTS

Modified: qpid/trunk/qpid/cpp/src/qpid/InlineAllocator.h
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/InlineAllocator.h?rev=1657338&r1=1657337&r2=1657338&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/InlineAllocator.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/InlineAllocator.h Wed Feb  4 17:37:19 2015
@@ -47,7 +47,7 @@ class InlineAllocator : public BaseAlloc
     InlineAllocator() : allocated(false) {}
     InlineAllocator(const InlineAllocator& x) : BaseAllocator(x), 
allocated(false) {}
 
-    pointer allocate(size_type n) {
+    pointer allocate(size_type n, std::allocator<void>::const_pointer = 0) {
         if (n <= Max && !allocated) {
             allocated=true;
             return reinterpret_cast<value_type*>(address());

Modified: qpid/trunk/qpid/cpp/src/qpid/Options.cpp
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/Options.cpp?rev=1657338&r1=1657337&r2=1657338&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/Options.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/Options.cpp Wed Feb  4 17:37:19 2015
@@ -16,6 +16,7 @@
  *
  */
 
+#include "config.h"
 #include "qpid/Options.h"
 #include "qpid/OptionsTemplates.h"
 #include "qpid/Exception.h"
@@ -145,6 +146,9 @@ template QPID_COMMON_EXTERN po::value_se
 template QPID_COMMON_EXTERN po::value_semantic* create_value(uint16_t& val, 
const std::string& arg);
 template QPID_COMMON_EXTERN po::value_semantic* create_value(uint32_t& val, 
const std::string& arg);
 template QPID_COMMON_EXTERN po::value_semantic* create_value(uint64_t& val, 
const std::string& arg);
+#ifdef QPID_SIZE_T_NATIVE
+template QPID_COMMON_EXTERN po::value_semantic* create_value(size_t& val, 
const std::string& arg);
+#endif
 template QPID_COMMON_EXTERN po::value_semantic* create_value(double& val, 
const std::string& arg);
 
 template QPID_COMMON_EXTERN po::value_semantic* create_value(string& val, 
const std::string& arg);

Modified: qpid/trunk/qpid/cpp/src/qpid/RangeSet.h
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/RangeSet.h?rev=1657338&r1=1657337&r2=1657338&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/RangeSet.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/RangeSet.h Wed Feb  4 17:37:19 2015
@@ -96,9 +96,9 @@ class Range {
  */
 template <class T>
 class RangeSet
-    : boost::additive1<RangeSet<T>,
-                       boost::additive2<RangeSet<T>, Range<T>,
-                                        boost::additive2<RangeSet<T>, T> > >
+    : private boost::additive1<RangeSet<T>,
+                               boost::additive2<RangeSet<T>, Range<T>,
+                                                boost::additive2<RangeSet<T>, 
T> > >
 {
     typedef InlineVector<Range<T>, 3> Ranges; // TODO aconway 2008-04-21: 
what's the optimial inlined value?
 

Modified: qpid/trunk/qpid/cpp/src/qpid/RefCounted.h
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/RefCounted.h?rev=1657338&r1=1657337&r2=1657338&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/RefCounted.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/RefCounted.h Wed Feb  4 17:37:19 2015
@@ -33,7 +33,7 @@ namespace qpid {
  * to the class that has mixed this in not the class itself (as that would 
sidestep
  * the reference counting)
  */
-class RefCounted : boost::noncopyable {
+class RefCounted : private boost::noncopyable {
     mutable boost::detail::atomic_count count;
 
 public:

Modified: qpid/trunk/qpid/cpp/src/qpid/SessionId.h
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/SessionId.h?rev=1657338&r1=1657337&r2=1657338&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/SessionId.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/SessionId.h Wed Feb  4 17:37:19 2015
@@ -39,7 +39,7 @@ namespace qpid {
  * The name must be unique among sessions with the same authentication
  * principal.
  */
-class SessionId : boost::totally_ordered1<SessionId> {
+class SessionId : private boost::totally_ordered1<SessionId> {
     std::string userId;
     std::string name;
   public:

Modified: qpid/trunk/qpid/cpp/src/qpid/amqp/MapEncoder.h
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/amqp/MapEncoder.h?rev=1657338&r1=1657337&r2=1657338&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/amqp/MapEncoder.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/amqp/MapEncoder.h Wed Feb  4 17:37:19 2015
@@ -31,7 +31,7 @@ struct Descriptor;
 /**
  * Encode map like data
  */
-class MapEncoder : public MapHandler, Encoder
+class MapEncoder : public MapHandler, private Encoder
 {
   public:
     MapEncoder(char* data, size_t size);

Modified: qpid/trunk/qpid/cpp/src/qpid/broker/QueueRegistry.h
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/QueueRegistry.h?rev=1657338&r1=1657337&r2=1657338&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/broker/QueueRegistry.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/broker/QueueRegistry.h Wed Feb  4 17:37:19 2015
@@ -44,7 +44,7 @@ class OwnershipToken;
  * are deleted when and only when they are no longer in use.
  *
  */
-class QueueRegistry : QueueFactory {
+class QueueRegistry : private QueueFactory {
   public:
     QPID_BROKER_EXTERN QueueRegistry(Broker* b = 0);
     QPID_BROKER_EXTERN ~QueueRegistry();

Modified: qpid/trunk/qpid/cpp/src/qpid/broker/TopicKeyNode.h
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/TopicKeyNode.h?rev=1657338&r1=1657337&r2=1657338&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/broker/TopicKeyNode.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/broker/TopicKeyNode.h Wed Feb  4 17:37:19 2015
@@ -166,7 +166,7 @@ class QPID_BROKER_CLASS_EXTERN TopicKeyN
     bool isHash;
 
     // children
-    typedef std::map<const std::string, typename TopicKeyNode::shared_ptr> 
ChildMap;
+    typedef std::map<std::string, typename TopicKeyNode::shared_ptr> ChildMap;
     ChildMap childTokens;
     typename TopicKeyNode::shared_ptr starChild;  // "*" subtree
     typename TopicKeyNode::shared_ptr hashChild;  // "#" subtree

Modified: qpid/trunk/qpid/cpp/src/qpid/broker/amqp/Filter.h
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/amqp/Filter.h?rev=1657338&r1=1657337&r2=1657338&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/broker/amqp/Filter.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/broker/amqp/Filter.h Wed Feb  4 17:37:19 2015
@@ -37,7 +37,7 @@ struct QueueSettings;
 namespace amqp {
 class Outgoing;
 
-class Filter : qpid::amqp::MapReader
+class Filter : private qpid::amqp::MapReader
 {
   public:
     Filter();

Modified: qpid/trunk/qpid/cpp/src/qpid/store/MessageStorePlugin.h
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/store/MessageStorePlugin.h?rev=1657338&r1=1657337&r2=1657338&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/store/MessageStorePlugin.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/store/MessageStorePlugin.h Wed Feb  4 17:37:19 
2015
@@ -267,7 +267,7 @@ class MessageStorePlugin :
     };
     StoreOptions options;
 
-    typedef std::map<const std::string, StorageProvider*> ProviderMap;
+    typedef std::map<std::string, StorageProvider*> ProviderMap;
     ProviderMap providers;
     ProviderMap::const_iterator provider;
 

Modified: qpid/trunk/qpid/cpp/src/qpid/sys/FreeBSD/uuid.cpp
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/sys/FreeBSD/uuid.cpp?rev=1657338&r1=1657337&r2=1657338&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/sys/FreeBSD/uuid.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/sys/FreeBSD/uuid.cpp Wed Feb  4 17:37:19 2015
@@ -40,5 +40,5 @@ void uuid_generate (uint8_t out[qpid::sy
     out[7] = (uuid.time_hi_and_version & 0x00ff);
     out[8] = uuid.clock_seq_hi_and_reserved;
     out[9] = uuid.clock_seq_low;
-    ::memcpy(&out[10], &uuid.node, _UUID_NODE_LEN);
+    ::memcpy(&out[10], &uuid.node, sizeof(uuid.node));
 }

Modified: qpid/trunk/qpid/cpp/src/qpid/sys/Thread.h
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/sys/Thread.h?rev=1657338&r1=1657337&r2=1657338&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/sys/Thread.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/sys/Thread.h Wed Feb  4 17:37:19 2015
@@ -34,6 +34,8 @@
 #  define QPID_TSS __thread
 #elif defined (__SUNPRO_CC)
 #  define QPID_TSS __thread
+#elif defined (__IBMCPP__)
+#  define QPID_TSS __thread
 #else
 #  error "Dont know how to define QPID_TSS for this platform"
 #endif

Modified: qpid/trunk/qpid/cpp/src/qpid/sys/posix/AsynchIO.cpp
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/sys/posix/AsynchIO.cpp?rev=1657338&r1=1657337&r2=1657338&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/sys/posix/AsynchIO.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/sys/posix/AsynchIO.cpp Wed Feb  4 17:37:19 2015
@@ -93,7 +93,7 @@ private:
 AsynchAcceptor::AsynchAcceptor(const Socket& s,
                                AsynchAcceptor::Callback callback) :
     acceptedCallback(callback),
-    handle(s, boost::bind(&AsynchAcceptor::readable, this, _1), 0, 0),
+    handle((const IOHandle&)s, boost::bind(&AsynchAcceptor::readable, this, 
_1), 0, 0),
     socket(s) {
 
     s.setNonblocking();
@@ -167,7 +167,7 @@ AsynchConnector::AsynchConnector(const S
                                  const std::string& port,
                                  ConnectedCallback connCb,
                                  FailedCallback failCb) :
-    DispatchHandle(s,
+    DispatchHandle((const IOHandle&)s,
                    0,
                    boost::bind(&AsynchConnector::connComplete, this, _1),
                    boost::bind(&AsynchConnector::connComplete, this, _1)),
@@ -308,7 +308,7 @@ AsynchIO::AsynchIO(const Socket& s,
                    ReadCallback rCb, EofCallback eofCb, DisconnectCallback 
disCb,
                    ClosedCallback cCb, BuffersEmptyCallback eCb, IdleCallback 
iCb) :
 
-    DispatchHandle(s, 
+    DispatchHandle((const IOHandle&)s,
                    boost::bind(&AsynchIO::readable, this, _1),
                    boost::bind(&AsynchIO::writeable, this, _1),
                    boost::bind(&AsynchIO::disconnected, this, _1)),

Modified: qpid/trunk/qpid/cpp/src/qpid/sys/posix/Thread.cpp
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/sys/posix/Thread.cpp?rev=1657338&r1=1657337&r2=1657338&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/sys/posix/Thread.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/sys/posix/Thread.cpp Wed Feb  4 17:37:19 2015
@@ -59,7 +59,7 @@ Thread::operator bool() {
 }
 
 bool Thread::operator==(const Thread& t) const {
-    return ::pthread_equal(impl->thread, t.impl->thread) != 0;
+    return pthread_equal(impl->thread, t.impl->thread) != 0;
 }
 
 bool Thread::operator!=(const Thread& t) const {

Modified: qpid/trunk/qpid/cpp/src/qpid/sys/posix/Time.cpp
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/sys/posix/Time.cpp?rev=1657338&r1=1657337&r2=1657338&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/sys/posix/Time.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/sys/posix/Time.cpp Wed Feb  4 17:37:19 2015
@@ -24,6 +24,7 @@
 #include "qpid/sys/Time.h"
 #include <ostream>
 #include <istream>
+#include <sstream>
 #include <time.h>
 #include <stdio.h>
 #include <sys/time.h>
@@ -106,13 +107,14 @@ std::istream& operator>>(std::istream& i
     if (i.eof() || std::isspace(i.peek())) // No suffix
         d = int64_t(number*TIME_SEC);
     else {
-        std::string suffix;
-        i >> suffix;
+        std::stringbuf suffix;
+        i >> &suffix;
         if (i.fail()) return i;
-        if (suffix.compare("s") == 0) d = int64_t(number*TIME_SEC);
-        else if (suffix.compare("ms") == 0) d = int64_t(number*TIME_MSEC);
-        else if (suffix.compare("us") == 0) d = int64_t(number*TIME_USEC);
-        else if (suffix.compare("ns") == 0) d = int64_t(number*TIME_NSEC);
+       std::string suffix_str = suffix.str();
+        if (suffix_str.compare("s") == 0) d = int64_t(number*TIME_SEC);
+        else if (suffix_str.compare("ms") == 0) d = int64_t(number*TIME_MSEC);
+        else if (suffix_str.compare("us") == 0) d = int64_t(number*TIME_USEC);
+        else if (suffix_str.compare("ns") == 0) d = int64_t(number*TIME_NSEC);
         else i.setstate(std::ios::failbit);
     }
     return i;

Modified: qpid/trunk/qpid/cpp/src/qpid/sys/unordered_map.h
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/sys/unordered_map.h?rev=1657338&r1=1657337&r2=1657338&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/sys/unordered_map.h (original)
+++ qpid/trunk/qpid/cpp/src/qpid/sys/unordered_map.h Wed Feb  4 17:37:19 2015
@@ -23,7 +23,7 @@
 
 #if defined(_MSC_VER) || defined(_LIBCPP_VERSION) || __cplusplus >= 201103L
 #  include <unordered_map>
-#elif defined(__SUNPRO_CC)
+#elif defined(__SUNPRO_CC) || defined(__IBMCPP__)
 #  include <boost/tr1/unordered_map.hpp>
 #else
 #  include <tr1/unordered_map>

Modified: qpid/trunk/qpid/cpp/src/qpid/types/Variant.cpp
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/types/Variant.cpp?rev=1657338&r1=1657337&r2=1657338&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/types/Variant.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/types/Variant.cpp Wed Feb  4 17:37:19 2015
@@ -188,13 +188,13 @@ bool caseInsensitiveMatch(const std::str
     return a.size() == b.size() && std::equal(a.begin(), a.end(), b.begin(), 
&same_char);
 }
 
-const std::string TRUE("True");
-const std::string FALSE("False");
+const std::string TRUE_STRING("True");
+const std::string FALSE_STRING("False");
 
 bool toBool(const std::string& s)
 {
-    if (caseInsensitiveMatch(s, TRUE)) return true;
-    if (caseInsensitiveMatch(s, FALSE)) return false;
+    if (caseInsensitiveMatch(s, TRUE_STRING)) return true;
+    if (caseInsensitiveMatch(s, FALSE_STRING)) return false;
     try { return boost::lexical_cast<int>(s); } catch(const 
boost::bad_lexical_cast&) {}
     throw InvalidConversion(QPID_MSG("Cannot convert " << s << " to bool"));
 }
@@ -494,7 +494,7 @@ std::string VariantImpl::asString() cons
 {
     switch(type) {
       case VAR_VOID: return EMPTY;
-      case VAR_BOOL: return value.b ? TRUE : FALSE;
+      case VAR_BOOL: return value.b ? TRUE_STRING : FALSE_STRING;
       case VAR_UINT8: return boost::lexical_cast<std::string>((int) value.ui8);
       case VAR_UINT16: return boost::lexical_cast<std::string>(value.ui16);
       case VAR_UINT32: return boost::lexical_cast<std::string>(value.ui32);

Modified: qpid/trunk/qpid/cpp/src/tests/TimerTest.cpp
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/tests/TimerTest.cpp?rev=1657338&r1=1657337&r2=1657338&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/tests/TimerTest.cpp (original)
+++ qpid/trunk/qpid/cpp/src/tests/TimerTest.cpp Wed Feb  4 17:37:19 2015
@@ -82,7 +82,7 @@ class TestTask : public TimerTask
         uint64_t difference = _abs64(expected - actual);
 #elif defined(_WIN32)
         uint64_t difference = labs(expected - actual);
-#elif defined(__SUNPRO_CC)
+#elif defined(__SUNPRO_CC) || defined (__IBMCPP__)
         uint64_t difference = llabs(expected - actual);
 #else
         uint64_t difference = abs(expected - actual);



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@qpid.apache.org
For additional commands, e-mail: commits-h...@qpid.apache.org

Reply via email to