diff options
author | Andrew Stitcher <astitcher@apache.org> | 2011-05-09 19:56:00 +0000 |
---|---|---|
committer | Andrew Stitcher <astitcher@apache.org> | 2011-05-09 19:56:00 +0000 |
commit | b66bd995ff224ee7c34fbd1d9eae87d908707a60 (patch) | |
tree | 7f042ad2a1c7952effcc69f90fea1470a9131615 | |
parent | 0a27dd86ee5a454a20520d10c987de793be0a4e3 (diff) | |
download | qpid-python-b66bd995ff224ee7c34fbd1d9eae87d908707a60.tar.gz |
QPID-3004: Get Clang to compile qpid c++
- Finish getting boost::intrusive_ptr working (may be compiler bug)
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1101181 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r-- | qpid/cpp/src/qmf/PrivateImplRef.h | 2 | ||||
-rw-r--r-- | qpid/cpp/src/qpid/RefCounted.h | 6 | ||||
-rw-r--r-- | qpid/cpp/src/qpid/cluster/Connection.h | 3 | ||||
-rw-r--r-- | qpid/cpp/src/qpid/cluster/types.h | 1 | ||||
-rw-r--r-- | qpid/cpp/src/qpid/framing/MethodBodyFactory.h | 1 |
5 files changed, 9 insertions, 4 deletions
diff --git a/qpid/cpp/src/qmf/PrivateImplRef.h b/qpid/cpp/src/qmf/PrivateImplRef.h index 8b698c4199..960cbb2e09 100644 --- a/qpid/cpp/src/qmf/PrivateImplRef.h +++ b/qpid/cpp/src/qmf/PrivateImplRef.h @@ -23,8 +23,8 @@ */ #include "qmf/ImportExport.h" -#include <boost/intrusive_ptr.hpp> #include "qpid/RefCounted.h" +#include <boost/intrusive_ptr.hpp> namespace qmf { diff --git a/qpid/cpp/src/qpid/RefCounted.h b/qpid/cpp/src/qpid/RefCounted.h index e7a9bf31c1..f9e0107103 100644 --- a/qpid/cpp/src/qpid/RefCounted.h +++ b/qpid/cpp/src/qpid/RefCounted.h @@ -53,8 +53,10 @@ protected: // intrusive_ptr support. namespace boost { -inline void intrusive_ptr_add_ref(const qpid::RefCounted* p) { p->addRef(); } -inline void intrusive_ptr_release(const qpid::RefCounted* p) { p->release(); } +template <typename T> +inline void intrusive_ptr_add_ref(const T* p) { p->qpid::RefCounted::addRef(); } +template <typename T> +inline void intrusive_ptr_release(const T* p) { p->qpid::RefCounted::release(); } } diff --git a/qpid/cpp/src/qpid/cluster/Connection.h b/qpid/cpp/src/qpid/cluster/Connection.h index b290824805..a0da9efbb8 100644 --- a/qpid/cpp/src/qpid/cluster/Connection.h +++ b/qpid/cpp/src/qpid/cluster/Connection.h @@ -24,10 +24,10 @@ #include "types.h" #include "OutputInterceptor.h" -#include "EventFrame.h" #include "McastFrameHandler.h" #include "UpdateReceiver.h" +#include "qpid/RefCounted.h" #include "qpid/broker/Connection.h" #include "qpid/broker/SecureConnection.h" #include "qpid/broker/SemanticState.h" @@ -55,6 +55,7 @@ class TxAccept; namespace cluster { class Cluster; class Event; +struct EventFrame; /** Intercept broker::Connection calls for shadow and local cluster connections. */ class Connection : diff --git a/qpid/cpp/src/qpid/cluster/types.h b/qpid/cpp/src/qpid/cluster/types.h index 0795e5e77a..bfb4fd5b9e 100644 --- a/qpid/cpp/src/qpid/cluster/types.h +++ b/qpid/cpp/src/qpid/cluster/types.h @@ -24,6 +24,7 @@ #include "config.h" #include "qpid/Url.h" +#include "qpid/RefCounted.h" #include "qpid/sys/IntegerTypes.h" #include <boost/intrusive_ptr.hpp> #include <utility> diff --git a/qpid/cpp/src/qpid/framing/MethodBodyFactory.h b/qpid/cpp/src/qpid/framing/MethodBodyFactory.h index 607ec9d959..88bc444795 100644 --- a/qpid/cpp/src/qpid/framing/MethodBodyFactory.h +++ b/qpid/cpp/src/qpid/framing/MethodBodyFactory.h @@ -22,6 +22,7 @@ * */ #include "qpid/framing/amqp_types.h" +#include "qpid/framing/AMQBody.h" #include <boost/intrusive_ptr.hpp> namespace qpid { |